diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 6b46bfa09d..0000000000 --- a/ChangeLog +++ /dev/null @@ -1,36698 +0,0 @@ -2019-07-30 Joseph Myers - - * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S - (__CONTEXT_FUNC_NAME): Restore setting of r31. - -2019-07-30 Florian Weimer - - * nptl/tst-pthread-getattr.c (allocate_and_test): Change return - type to uintptr_t. Update comment. - (check_stack_top): Adjust. - -2019-07-29 Florian Weimer - - Linux: Move declaration of getdents64 to . - * bits/dirent_ext.h: New file. - * dirent/Makefile (headers): Add bits/dirent_ext.h. - * dirent/dirent.h: Include . - * sysdeps/unix/sysv/linux/bits/dirent_ext.h: New file. - * sysdeps/unix/sysv/linux/bits/unistd_ext.h (getdents64): Remove - declaration. - * manual/filesys.texi (Low-level Directory Access): Update header - to dirent.h. - -2019-07-29 DJ Delorie - Tulio Magno Quites Machado Filho - - [BZ #24794] - * Makeconfig (all-subdirs): Improved source comments. - * Makefile (testroot.pristine/install.stamp): Pass - subdirs='$(sorted-subdirs)' to make install. - -2019-07-25 Florian Weimer - - [BZ #24677] - * iconv/gconv_cache.c (__gconv_release_cache): Check reference - counter before freeing array. - -2019-07-24 H.J. Lu - - [BZ #24603] - * sysdeps/x86_64/configure.ac: Check if -mprefer-vector-width=128 - works. - * sysdeps/x86_64/configure: Regenerated. - * sysdeps/x86_64/fpu/Makefile (CFLAGS-branred.c): New. Set - to -mprefer-vector-width=128 if supported. - -2019-07-24 Florian Weimer - - * scripts/build-many-glibcs.py (Context.checkout): Default to - Linux 5.2. - -2019-07-24 Florian Weimer - - [BZ #24532] - Linux: Use in-tree copy of SO_ constants for !__USE_MISC. - * sysdeps/unix/sysv/linux/Makefile [$(subdir) == socket] - (sysdep_headers): Add bits/socket-constants.h. - (tests-special): Add tst-socket-consts.out. - (tst-socket-consts.out): New target. - * sysdeps/unix/sysv/linux/bits/socket.h: Remove macro tracking - around . - [__USE_MISC]: Include before . - [!__USE_MISC]: Include instead of - . - * sysdeps/unix/sysv/linux/bits/tst-socket-consts.py: New file. - * sysdeps/unix/sysv/linux/bits/socket-constants.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/socket-constants.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/socket-constants.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/socket-constants.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h: - Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/socket-constants.h: Likewise. - -2019-07-23 Tulio Magno Quites Machado Filho - - [BZ #24794] - * Makefile (testroot.pristine/install.stamp): Pass - subdirs='$(all-subdirs)' to make install. - - * Makefile (testroot.pristine/install.stamp): Execute ld.so with - the same arguments used in all tests. - -2019-07-22 Szabolcs Nagy - - * NEWS: Mention the AArch64 IFUNC resolver ABI change. - -2019-07-20 Egor Kobylkin - - [BZ #2872] - * locale/C-translit.h.in: Add Cyrillic transliteration. - -2019-07-19 Florian Weimer - - * sysdeps/unix/sysv/linux/syscall-names.list: Add system calls - from Linux 5.2. - (fsconfig): Add system call name. - (fsmount): Likewise. - (fsopen): Likewise. - (fspick): Likewise. - (move_mount): Likewise. - (open_tree): Likewise. - -2019-07-18 Carlos O'Donell - - * po/libc.pot: Regenerate. - -2019-07-18 Mike Crowe - - * sysdeps/unix/sysv/linux/hppa/pthread.h: Add declarations of - functions recently added to sysdeps/nptl/pthread.h: - pthread_mutex_clocklock, pthread_rwlock_clockrdlock, - pthread_rwlock_clockwrlock and pthread_cond_clockwait. - - * nptl/forward.c: Remove unnecessary __pthread_cond_clockwait and - pthread_cond_clockwait forwarding functions. There are no internal - users, so it is unnecessary to expose these functions in libc.so. - * sysdeps/nptl/pthread-functions.h (pthread_functions): Remove - unnecessary ptr___pthread_cond_clockwait member. - * nptl/nptl-init.c (pthread_functions): Remove assignment of - removed member. - -2019-07-17 Rafal Luzynski - - [BZ #21897] - * localedata/locales/aa_DJ (abday): Update from CLDR, all words - begin with an uppercase letter now. - (abmon): Likewise. - (mon): Update from CLDR, reword February from "Kudo" to - "Naharsi Kudo", April from "Agda Baxisso" to "Agda Baxis", - and August from "Liiqen" to "Leqeeni". - * localedata/locales/aa_ER (mon): Update from CLDR, reword - April from "Agda Baxisso" to "Agda Baxis" and August from - "Leqeeni" to "Liiqen". - * localedata/locales/aa_ER@saaho (mon): Likewise. - * localedata/locales/aa_ET (abmon): Update from CLDR, reword - abbreviated February from "Kud" to "Nah". - (mon): Update from CLDR, reword February from "Kudo" to - "Naharsi Kudo" and April from "Agda Baxisso" to "Agda Baxis". - -2019-07-17 Rafal Luzynski - - [BZ #23996] - * localedata/locales/nl_BE (LC_NAME): Replace with “copy "nl_NL"”. - -2019-07-17 PanderMusubi - - [BZ #23996] - * localedata/locales/nl_BE (LC_NAME): Add name_gen, name_mr, - name_mrs, name_miss, and name_ms. - * localedata/locales/nl_NL (LC_NAME): Likewise. - -2019-07-17 Daniil Zhilin - - [BZ #24200] - * localedata/locales/ga_IE (first_weekday): Add, set to 2 (Monday). - * localedata/locales/en_IE (first_weekday): Likewise. - -2019-07-12 Mike Crowe - - * nptl/pthread_cond_wait.c: (__pthread_cond_clockwait): Remove code - that is only useful if futex_supports_exact_relative_timeouts () - returns false. - * nptl/pthread_condattr_setclock.c: (pthread_condattr_setclock): - Likewise. - * sysdeps/nptl/futex-internal.h: Remove comment about relative - timeouts potentially being imprecise since it's no longer true. - Remove declaration of futex_supports_exact_relative_timeouts. - * sysdeps/unix/sysv/linux/futex-internal.h: Remove implementation - of futex_supports_exact_relative_timeouts. - - * NEWS: Mention recently-added pthread_cond_clockwait, - pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and - sem_clockwait functions. - - nptl: Add POSIX-proposed pthread_mutex_clocklock function that - works like pthread_mutex_timedlock but takes a clockid parameter to - measure the abstime parameter against. - * sysdeps/nptl/pthread.h: Add pthread_mutex_clocklock. - * nptl/DESIGN-systemtap-probes.txt: Likewise. - * nptl/pthread_mutex_timedlock.c - (__pthread_mutex_clocklock_common): Rename from - __pthread_mutex_timedlock and add clockid parameter. Pass this - parameter to lll_clocklock and lll_clocklock_elision in place of - CLOCK_REALTIME. (__pthread_mutex_clocklock): New function to add - LIBC_PROBE and validate clockid parameter before calling - __pthread_mutex_clocklock_common. (__pthread_mutex_timedlock): New - implementation to add LIBC_PROBE and calls - __pthread_mutex_clocklock_common passing CLOCK_REALTIME as the - clockid. - * nptl/Makefile: Add tst-mutex11.c. - * nptl/tst-abstime.c (th): Add tests for pthread_mutex_clocklock. - * nptl/tst-mutex11.c: New tests for passing invalid and unsupported - clockid parameters to pthread_mutex_clocklock. - * nptl/tst-mutex5.c (do_test_clock): Rename from do_test and take - clockid parameter to indicate which clock to be used. Call - pthread_mutex_timedlock or pthread_mutex_clocklock as appropriate. - (do_test): Call do_test_clock to separately test - pthread_mutex_timedlock, pthread_mutex_clocklock(CLOCK_REALTIME) - and pthread_mutex_clocklock(CLOCK_MONOTONIC). - * nptl/tst-mutex9.c: Likewise. - * nptl/Versions (GLIBC_2.30): Add pthread_mutex_clocklock. - * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist - (GLIBC_2.30): Likewise. - - nptl: Rename lll_timedlock to lll_clocklock and add clockid - parameter to indicate the clock that the abstime parameter should - be measured against in preparation for adding - pthread_mutex_clocklock. - * sysdeps/nptl/lowlevellock.h (lll_clocklock): Rename from - lll_timedlock and add clockid parameter. (__lll_clocklock): Rename - from __lll_timedlock and add clockid parameter. - * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_clocklock): - Likewise. - * nptl/lll_timedlock_wait.c (__lll_clocklock_wait): Rename from - __lll_timedlock_wait and add clockid parameter. Use __clock_gettime - rather than __gettimeofday so that clockid can be used. This means - that conversion from struct timeval is no longer required. - * sysdeps/sparc/sparc32/lowlevellock.c (lll_clocklock_wait): - Likewise. - * sysdeps/sparc/sparc32/lll_timedlock_wait.c: Update comment to - refer to __lll_clocklock_wait rather than __lll_timedlock_wait. - * nptl/pthread_mutex_timedlock.c (lll_clocklock_elision): Rename - from lll_timedlock_elision, add clockid parameter and use - meaningful names for other parameters. (__pthread_mutex_timedlock): - Pass CLOCK_REALTIME where necessary to lll_clocklock and - lll_clocklock_elision. - * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h - (lll_clocklock_elision): Rename from lll_timedlock_elision and add - clockid parameter. (__lll_clocklock_elision): Rename from - __lll_timedlock_elision and add clockid parameter. - * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/x86/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/elision-timed.c - (__lll_lock_elision): Call __lll_clocklock_elision rather than - __lll_timedlock_elision. (EXTRAARG): Add clockid parameter. - (LLL_LOCK): Likewise. - * sysdeps/unix/sysv/linux/s390/elision-timed.c: Likewise. - * sysdeps/unix/sysv/linux/x86/elision-timed.c: Likewise. - - nptl: Add POSIX-proposed pthread_rwlock_clockrdlock & - pthread_rwlock_clockwrlock which behave like - pthread_rwlock_timedrdlock and pthread_rwlock_timedwrlock - respectively, except they always measure abstime against the - supplied clockid. The functions currently support CLOCK_REALTIME - and CLOCK_MONOTONIC and return EINVAL if any other clock is - specified. - * sysdeps/nptl/pthread.h: Add pthread_rwlock_clockrdlock and - pthread_wrlock_clockwrlock. - * nptl/Makefile: Build pthread_rwlock_clockrdlock.c and - pthread_rwlock_clockwrlock.c. - * nptl/pthread_rwlock_clockrdlock.c: Implement - pthread_rwlock_clockrdlock. - * nptl/pthread_rwlock_clockwrlock.c: Implement - pthread_rwlock_clockwrlock. - * nptl/pthread_rwlock_common.c (__pthread_rwlock_rdlock_full): Add - clockid parameter and verify that it indicates a supported clock on - entry so that we fail even if it doesn't end up being used. Pass - that clock on to futex_abstimed_wait when necessary. - (__pthread_rwlock_wrlock_full): Likewise. - * nptl/pthread_rwlock_rdlock.c: (__pthread_rwlock_rdlock): Pass - CLOCK_REALTIME to __pthread_rwlock_rdlock_full even though it won't - be used because there's no timeout. - * nptl/pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Pass - CLOCK_REALTIME to __pthread_rwlock_wrlock_full even though it won't - be used because there is no timeout. - * nptl/pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): - Pass CLOCK_REALTIME to __pthread_rwlock_rdlock_full since abstime - uses that clock. - * nptl/pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): - Pass CLOCK_REALTIME to __pthread_rwlock_wrlock_full since abstime - uses that clock. - * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist - (GLIBC_2.30): Likewise. - * nptl/tst-abstime.c (th): Add pthread_rwlock_clockrdlock and - pthread_rwlock_clockwrlock timeout tests to match the existing - pthread_rwlock_timedrdloock and pthread_rwlock_timedwrlock tests. - * nptl/tst-rwlock14.c (do_test): Likewise. - * nptl/tst-rwlock6.c Invent verbose_printf macro, and use for - ancillary output throughout. (tf): Accept thread_args structure so - that rwlock, a clockid and function name can be passed to the - thread. (do_test_clock): Rename from do_test. Accept clockid - parameter to specify test clock. Use the magic clockid value of - CLOCK_USE_TIMEDLOCK to indicate that pthread_rwlock_timedrdlock and - pthread_rwlock_timedwrlock should be tested, otherwise pass the - specified clockid to pthread_rwlock_clockrdlock and - pthread_rwlock_clockwrlock. Use xpthread_create and xpthread_join. - (do_test): Call do_test_clock to test each clockid in turn. - * nptl/tst-rwlock7.c: Likewise. - * nptl/tst-rwlock9.c (writer_thread, reader_thread): Accept - thread_args structure so that the (now int) thread number, the - clockid and the function name can be passed to the thread. - (do_test_clock): Renamed from do_test. Pass the necessary - thread_args when creating the reader and writer threads. Use - xpthread_create and xpthread_join. - (do_test): Call do_test_clock to test each clockid in turn. - * manual/threads.texi: Add documentation for - pthread_rwlock_clockrdlock and pthread_rwlock_clockwrclock. - - nptl: pthread_rwlock: Move timeout validation into _full functions - * nptl/pthread_rwlock_common.c (__pthread_rwlock_rdlock_full): - Check validity of abstime parameter. - (__pthread_rwlock_rwlock_full): Likewise. - * nptl/pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): - Remove check for validity of abstime parameter. - * nptl/pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): - Likewise. - - nptl: Add POSIX-proposed pthread_cond_clockwait which behaves just - like pthread_cond_timedwait except it always measures abstime - against the supplied clockid. - * nptl/Makefile: Add tst-cond26 and tst-cond27 - * nptl/Versions (GLIBC_2.30): Add pthread_cond_clockwait - * sysdeps/nptl/pthread.h: Likewise - * nptl/forward.c: Add __pthread_cond_clockwait - * nptl/forward.c: Likewise - * nptl/pthreadP.h: Likewise - * sysdeps/nptl/pthread-functions.h: Likewise - * nptl/pthread_cond_wait.c (__pthread_cond_wait_common): Add - clockid parameter and comment describing why we don't need to check - its value. Use that value when calling - futex_abstimed_wait_cancelable rather than reading the clock from - the flags. (__pthread_cond_wait): Pass unused clockid parameter. - (__pthread_cond_timedwait): Read clock from flags and pass it to - __pthread_cond_wait_common. (__pthread_cond_clockwait): Add new - function with weak alias from pthread_cond_clockwait. - * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist - (GLIBC_2.30): Likewise. - * nptl/tst-cond11.c (run_test): Support testing - pthread_cond_clockwait too by using a special magic - CLOCK_USE_ATTR_CLOCK value to determine whether to call - pthread_cond_timedwait or pthread_cond_clockwait. (do_test): Pass - CLOCK_USE_ATTR_CLOCK for existing tests, and add new tests using - all combinations of CLOCK_MONOTONIC and CLOCK_REALTIME. - * ntpl/tst-cond26.c: New test for passing unsupported and invalid - clocks to pthread_cond_clockwait. - * nptl/tst-cond27.c: Add test similar to tst-cond5.c, but using - struct timespec and pthread_cond_clockwait. - * manual/threads.texi: Document pthread_cond_clockwait. - - nptl: Add POSIX-proposed sem_clockwait which behaves just like - sem_timedwait, but measures abstime against the specified clock. - * nptl/sem_waitcommon.c (do_futex_wait, __new_sem_wait_slow): Add - clockid parameters to indicate the clock which abstime should be - measured against. - * nptl/sem_timedwait.c (sem_timedwait), nptl/sem_wait.c - (__new_sem_wait): Pass CLOCK_REALTIME as clockid to - __new_sem_wait_slow. - * nptl/sem_clockwait.c: New file to implement sem_clockwait based - on sem_timedwait.c. - * nptl/Makefile: Add sem_clockwait.c source file. Add CFLAGS for - sem_clockwait.c to match those used for sem_timedwait.c. - * sysdeps/pthread/semaphore.h: Add sem_clockwait. - * nptl/Versions (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist - (GLIBC_2.30): Likewise. - * nptl/tst-sem17.c: Add new test for passing invalid clock to - sem_clockwait. - * nptl/tst-sem13.c, nptl/tst-sem5.c: Modify existing sem_timedwait - tests to also test sem_clockwait. - * manual/threads.texi: Document sem_clockwait. - - nptl: Add clockid parameter to futex timed wait calls - * sysdeps/nptl/lowlevellock-futex.h, - sysdeps/unix/sysv/linux/lowlevellock-futex.h: Replace - lll_futex_timed_wait_bitset with lll_futex_clock_wait_bitset that - takes a clockid rather than a special clockbit. - * sysdeps/nptl/lowlevellock-futex.h: Add - lll_futex_supported_clockid so that client functions can check - whether their clockid parameter is valid even if they don't - ultimately end up calling lll_futex_clock_wait_bitset. - * sysdeps/nptl/futex-internal.h, - sysdeps/unix/sysv/linux/futex-internal.h - (futex_abstimed_wait, futex_abstimed_wait_cancelable): Add - clockid_t parameter to indicate which clock the absolute time - passed should be measured against. Pass that clockid onto - lll_futex_clock_wait_bitset. Add invalid clock as reason for - returning -EINVAL. - * sysdeps/nptl/futex-internal.h, - sysdeps/unix/sysv/linux/futex-internal.h: Introduce - futex_abstimed_supported_clockid so that client functions can check - whether their clockid parameter is valid even if they don't - ultimately end up calling futex_abstimed_wait. - * nptl/pthread_cond_wait.c (__pthread_cond_wait_common): Remove - code to calculate relative timeout for - __PTHREAD_COND_CLOCK_MONOTONIC_MASK and just pass CLOCK_MONOTONIC - or CLOCK_REALTIME as required to futex_abstimed_wait_cancelable. - * nptl/pthread_rwlock_common (__pthread_rwlock_rdlock_full) - (__pthread_wrlock_full), nptl/sem_waitcommon (do_futex_wait): Pass - additional CLOCK_REALTIME to futex_abstimed_wait_cancelable. - * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): - Switch to lll_futex_clock_wait_bitset and pass CLOCK_REALTIME - -2019-07-10 Adhemerval Zanella - - [BZ #24699] - * posix/tst-mmap-offset.c: Mention BZ #24699. - (do_test_bz21270): Rename to do_test_large_offset and use - mmap64_maximum_offset to check for maximum expected offset value. - * sysdeps/generic/mmap_info.h: New file. - * sysdeps/unix/sysv/linux/mips/mmap_info.h: Likewise. - * sysdeps/unix/sysv/linux/mmap64.c (MMAP_OFF_HIGH_MASK): Define iff - __NR_mmap2 is used. - -2019-07-10 DJ Delorie - Sergei Trofimovich - - [BZ #24696] - [BZ #24695] - * nss/nss_db/db-open.c (internal_endent): Protect against NULL - mappings. - * nss/tst-nss-db-endgrent.c: New. - * nss/tst-nss-db-endgrent.root: New. - * nss/tst-nss-db-endpwent.c: New. - * nss/tst-nss-db-endpwent.root: New. - * nss/Makefile: Add new tests. - * support/links-dso-program-c.c: Add selinux dependency. - * support/links-dso-program.cc: Add selinux dependency. - * support/Makefile: Build those with -lselinux if enabled. - -2019-07-10 Szabolcs Nagy - - * sysdeps/aarch64/dl-machine.h (elf_machine_runtime_setup): Remove the - DT_AARCH64_VARIANT_PCS check. - (elf_machine_lazy_rel): Use l_info[DT_AARCH64 (VARIANT_PCS)]. - * sysdeps/aarch64/linkmap.h (struct link_map_machine): Remove - variant_pcs. - -2019-07-10 Andreas Schwab - - [BZ #23352] - * malloc/malloc.h (__malloc_check_init): Don't declare. - * include/malloc.h (__malloc_check_init): Likewise. - * malloc/malloc-internal.h (__malloc_check_init): Declare it here. - * manual/memory.texi (__malloc_check_init): Don't mention it. - -2019-07-10 Mao Han - - * locale/Makefile: Fix tst-locale-locpath arguments passing. - -2019-07-09 Paul A. Clarke - - * sysdeps/powerpc/fpu/fenv_libc.h (_FPU_GET_RC): Protect use of - __builtin_cpu_supports with __BUILTIN_CPU_SUPPORTS__. - -2019-07-08 DJ Delorie - - [BZ #23501] - * io/ftw.c (process_entry): Fill in statbuf for dangling links. - * io/tst-ftw-lnk.c: New test. - * io/Makefile: Run it. - -2019-07-08 Adhemerval Zanella - - * sysdeps/powerpc/power7/fpu/s_logb.c: Move to ... - * sysdeps/powerpc/fpu/s_logb.c: ... here. Use inline FP constants. - * sysdeps/powerpc/power7/fpu/s_logbf.c: Move to ... - * sysdeps/powerpc/fpu/s_logbf.c: ... here. Use inline FP constants. - * sysdeps/powerpc/power7/fpu/s_logbl.c: Move to ... - * sysdeps/powerpc/fpu/s_logbl.c: ... here. Use inline FP constants. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb-power7.c: - Adjust implementation path. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logbf-power7.c: - Adjust implementation path. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logbl-power7.c: - Adjust implementation path. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_log* objects. - (CFLAGS-s_logbf-power7.c, CFLAGS-s_logbl-power7.c, - CFLAGS-s_logb-power7.c): New fule. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-power7.c: Move - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logb-power7.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-ppc64.c: Move - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logb-ppc64.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logb.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf-power7.c: Move - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbf-power7.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf-ppc64.c: Move - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbf-ppc64.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbf.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl-power7.c: Move - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbl-power7.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl-ppc64.c: Move - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbl-ppc64.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbl.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Remove file. - * sysdeps/powerpc/powerpc64/power7/fpu/s_logb.c: Remove file. - * sysdeps/powerpc/powerpc64/power7/fpu/s_logbf.c: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/s_logbl.c: Likewise. - - * sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c: Move to ... - * sysdeps/ieee754/dbl-64/s_logb.c: ... here. Add work around for - powerpc32 integer 0 converting to -0. - - * benchtests/Makefile (bench-math): Add logb. - * benchtests/logb-inputs: New file. - * benchtests/logbf-inputs: New file. - - * sysdeps/powerpc/power5+/fpu/s_modf.c: Move to ... - * sysdeps/powerpc/fpu/s_modf.c: ... here. Add ISA 2.07 optimization. - * sysdeps/powerpc/power5+/fpu/s_modff.c: Move to ... - * sysdeps/powerpc/fpu/s_modff.c: ... here. Add ISA 2.07 optimization. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c: - Adjust include. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c: - Likewise. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile (sysdep_calls, - sysdep_routines): Add s_modf* objects. - (CFLAGS-s_modf-power5+.c, CFLAGS-s_modff-power5+.c, - CFLAGS-s_modf-ppc64.c, CFLAGS-s_modff-ppc64.c): New rule. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c: Move - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c: Movo - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c: Move - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-power5+.c: Move - to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-ppc64.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-ppc64.c: - ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff.c: ... here. - - * sysdeps/powerpc/fpu/e_hypot.c (two60, two500, two600, two1022, - twoM500, twoM600, two60factor, pdnum): Remove. - (TEST_INFO_NAN, GET_TW0_HIGH_WORD): Remove macro. - (__ieee754_hypot): Replace static variables with inline definition, - remove ununsed branches. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove e_hypot-* objects. - (CFLAGS-e_hypot-power7.c, CFLAGS-e_hypotf-power7.c): Remove rule. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-power7.c: Remove - file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-power7.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf.c: Likewise. - - * benchtests/Makefile (bench-math): Add hypot. - * benchtests/hypot-inputs: New file. - -2019-07-08 Vincent Chen - - * sysdeps/unix/sysv/linux/dl-vdso.h - (VDSO_NAME_LINUX_4, VDSO_HASH_LINUX_4): New defines. - -2019-07-04 Andreas Schwab - - [BZ #24484] - * sysdeps/riscv/ldsodefs.h (DL_RO_DYN_SECTION): Define. - -2019-07-04 Szabolcs Nagy - - * sysdeps/aarch64/Makefile: Install sys/ifunc.h and add tests. - * sysdeps/aarch64/dl-irel.h (elf_ifunc_invoke): Update to new ABI. - * sysdeps/aarch64/sys/ifunc.h: New file. - * sysdeps/aarch64/tst-ifunc-arg-1.c: New file. - * sysdeps/aarch64/tst-ifunc-arg-2.c: New file. - -2019-07-01 Florian Weimer - - [BZ #20188] - * nptl/Versions (libpthread): Remove __fork from GLIBC_2.0. - Replace __vfork with __libpthread_version_placeholder for - GLIBC_2.1.2. - (libc): Remove __libc_vfork from GLIBC_PRIVATE. - * nptl/Makefile (libpthread-routines): Remove pt-vfork. Add - libpthread-compat. - * nptl/pt-vfork.c: Remove file. - * sysdeps/unix/sysv/linux/aarch64/pt-vfork.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/csky/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/hppa/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/ia64/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/m68k/pt-vfork.c: Likewise. - * sysdeps/unix/sysv/linux/microblaze/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/mips/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/nios2/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/riscv/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/s390/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/sh/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/sparc/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): - Remove vfork, __vfork. - * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): - Remove vfork. - (GLIBC_2.1.2): Replace __vfork with - __libpthread_version_placeholder. - * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4): - Remove vfork, __vfork. - * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): - Likewise. - * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): - Remove vfork. - (GLIBC_2.1.2): Replace __vfork with - __libpthread_version_placeholder. - * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): - Remove vfork. - * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist - (GLIBC_2.4): Remove vfork, __vfork. - * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist - (GLIBC_2.0): Remove vfork. - (GLIBC_2.1.2): Replace __vfork with - __libpthread_version_placeholder. - * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist - (GLIBC_2.18): Remove vfork, __vfork. - * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist - (GLIBC_2.0): Remove vfork. - (GLIBC_2.2): Remove __vfork. - * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: - (GLIBC_2.2): Remove vfork, __vfork. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: - (GLIBC_2.0): Remove vfork. - (GLIBC_2.1.2): Replace __vfork with - __libpthread_version_placeholder. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist - (GLIBC_2.3): Remove vfork, __vfork. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist - (GLIBC_2.17): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist - (GLIBC_2.0): Remove vfork. - (GLIBC_2.1.2): Replace __vfork with - __libpthread_version_placeholder. - * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist - (GLIBC_2.2): Remove vfork, __vfork. - * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2): - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist - (GLIBC_2.0): Remove vfork. - (GLIBC_2.1.2): Replace __vfork with - __libpthread_version_placeholder. - * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist - (GLIBC_2.2): Remove vfork, __vfork. - * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist - (GLIBC_2.2.5): Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist - (GLIBC_2.16): Likewise. - * sysdeps/unix/sysv/linux/hppa/localplt.data (libpthread.so): - Remove __errno_location. - -2019-07-02 Florian Weimer - - [BZ #24757] - * malloc/Depend: Add nptl and htl, due to potential indirect - libpthread dependency of memusagestat. - -2019-07-02 Stefan Liebler - - * resolv/res_send.c (__res_context_send): Disable maybe-uninitialized - warning. - -2019-07-01 Florian Weimer - - * scripts/build-many-glibcs.py (Context.add_all_configs): Add v4t - variant for arm-linux-gnueabi. - -2019-07-01 H.J. Lu - - [BZ #24259] - * elf/dl-open.c (dl_open_worker): Call _dl_open_check after - relocation. - * sysdeps/x86/Makefile (tests): Add tst-cet-legacy-5a, - tst-cet-legacy-5b, tst-cet-legacy-6a and tst-cet-legacy-6b. - (modules-names): Add tst-cet-legacy-mod-5a, tst-cet-legacy-mod-5b, - tst-cet-legacy-mod-5c, tst-cet-legacy-mod-6a, tst-cet-legacy-mod-6b - and tst-cet-legacy-mod-6c. - (CFLAGS-tst-cet-legacy-5a.c): New. - (CFLAGS-tst-cet-legacy-5b.c): Likewise. - (CFLAGS-tst-cet-legacy-mod-5a.c): Likewise. - (CFLAGS-tst-cet-legacy-mod-5b.c): Likewise. - (CFLAGS-tst-cet-legacy-mod-5c.c): Likewise. - (CFLAGS-tst-cet-legacy-6a.c): Likewise. - (CFLAGS-tst-cet-legacy-6b.c): Likewise. - (CFLAGS-tst-cet-legacy-mod-6a.c): Likewise. - (CFLAGS-tst-cet-legacy-mod-6b.c): Likewise. - (CFLAGS-tst-cet-legacy-mod-6c.c): Likewise. - ($(objpfx)tst-cet-legacy-5a): Likewise. - ($(objpfx)tst-cet-legacy-5a.out): Likewise. - ($(objpfx)tst-cet-legacy-mod-5a.so): Likewise. - ($(objpfx)tst-cet-legacy-mod-5b.so): Likewise. - ($(objpfx)tst-cet-legacy-5b): Likewise. - ($(objpfx)tst-cet-legacy-5b.out): Likewise. - (tst-cet-legacy-5b-ENV): Likewise. - ($(objpfx)tst-cet-legacy-6a): Likewise. - ($(objpfx)tst-cet-legacy-6a.out): Likewise. - ($(objpfx)tst-cet-legacy-mod-6a.so): Likewise. - ($(objpfx)tst-cet-legacy-mod-6b.so): Likewise. - ($(objpfx)tst-cet-legacy-6b): Likewise. - ($(objpfx)tst-cet-legacy-6b.out): Likewise. - (tst-cet-legacy-6b-ENV): Likewise. - * sysdeps/x86/tst-cet-legacy-5.c: New file. - * sysdeps/x86/tst-cet-legacy-5a.c: Likewise. - * sysdeps/x86/tst-cet-legacy-5b.c: Likewise. - * sysdeps/x86/tst-cet-legacy-6.c: Likewise. - * sysdeps/x86/tst-cet-legacy-6a.c: Likewise. - * sysdeps/x86/tst-cet-legacy-6b.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-5.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-5a.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-5b.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-5c.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-6.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-6a.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-6b.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-6c.c: Likewise. - -2019-06-30 Paul A. Clarke - - * sysdeps/powerpc/bits/fenvinline.h (__fegetround): Use - __fegetround_ISA300() or __fegetround_ISA2() as appropriate. - (__fegetround_ISA300) New. - (__fegetround_ISA2) New. - * sysdeps/powerpc/fpu_control.h (IS_ISA300): New. - (_FPU_MFFS): Move implementation... - (_FPU_GETCW): Here. - (_FPU_MFFSL): Move implementation.... - (_FPU_GET_RC_ISA300): Here. New. - (_FPU_GET_RC): Use _FPU_GET_RC_ISA300() or _FPU_GETCW() as appropriate. - * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_status_ISA300): New. - (fegetenv_status): New. - * sysdeps/powerpc/fpu/fegetmode.c (fegetmode): Use fegetenv_status() - instead of fegetenv_register(). - * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Likewise. - -2019-06-28 Wilco Dijkstra - - * benchtests/bench-math-inlines.c: Increase iterations. - * benchtests/bench-memcmp.c: Likewise. - * benchtests/bench-rawmemchr.c: Likewise. - * benchtests/bench-strcmp.c: Likewise. - * benchtests/bench-strcpy_chk.c: Likewise. - * benchtests/bench-string.h (INNER_LOOP_ITERS8): Add define. - (INNER_LOOP_ITERS_MEDIUM): Increase iterations. - (INNER_LOOP_ITERS_SMALL): Likewise. - * benchtests/bench-strncat.c: Increase iterations. - * benchtests/bench-strncmp.c: Increase iterations. - * benchtests/bench-strncpy.c: Reduce iterations for wide strings. - * benchtests/bench-strrchr.c: Increase iterations. - * benchtests/bench-strstr.c: Keep iterations unchanged. - * benchtests/bench-strtod.c: Increase iterations. - -2019-06-28 Anton Youdkevitch - - * benchtests/bench-memccpy.c: Replace INNER_LOOP_ITERS - with INNER_LOOP_ITERS_LARGE. - * benchtests/bench-memchr.c: Likewise. - * benchtests/bench-rawmemchr.c: Likewise. - * benchtests/bench-strcat.c: Likewise. - * benchtests/bench-strchr.c: Likewise. - * benchtests/bench-string.h: Likewise. - * benchtests/bench-strlen.c: Likewise. - * benchtests/bench-strncpy.c: Likewise. - * benchtests/bench-strnlen.c: Likewise. - -2019-06-28 Florian Weimer - - * sysdeps/unix/sysv/linux/tst-getdents64.c (large_buffer_checks): - Use mmap instead of malloc. malloc with M_PERTURB writes to the - entire allocated memory range. - -2019-06-28 Tobias Klauser - - * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. - (prepare_version_base): New helper inline function. - (prepare_version): New macro replacing PREPARE_VERSION. - (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. - -2019-06-28 Florian Weimer - - [BZ #24741] - * elf/dl-lookup.c (do_lookup_x): Do not fail if there is a soname - mismatch in a versioned symbol reference. - (_dl_lookup_symbol_x): Do not report soname mismatch failures. - * elf/Makefile [$(build-shared)] (tests): Add tst-sonamemove-link, - tst-sonamemove-dlopen. - (module-names): Add tst-sonamemove-linkmod1, - tst-sonamemove-runmod1, tst-sonamemove-runmod2. - (LDFLAGS-tst-sonamemove-linkmod1.so): Set. - (LDFLAGS-tst-sonamemove-runmod1.so): Likewise. - (LDFLAGS-tst-sonamemove-runmod2.so): Likewise. - (tst-sonamemove-runmod1.so): Link against - tst-sonamemove-runmod2.so. - (tst-sonamemove-link): Link against tst-sonamemove-linkmod1.so. - (tst-sonamemove-link.out): Depend on tst-sonamemove-runmod1.so, - tst-sonamemove-runmod2.so. - (tst-sonamemove-dlopen): Link with -ldl. - (tst-sonamemove-dlopen.out): Likewise. - * elf/tst-sonamemove-link.c: New file. - * elf/tst-sonamemove-dlopen.c: Likewise. - * elf/tst-sonamemove-linkmod1.c: Likewise. - * elf/tst-sonamemove-linkmod1.map: Likewise. - * elf/tst-sonamemove-runmod1.c: Likewise. - * elf/tst-sonamemove-runmod1.map: Likewise. - * elf/tst-sonamemove-runmod2.c: Likewise. - * elf/tst-sonamemove-runmod2.map: Likewise. - -2019-06-28 Florian Weimer - - * support/xdlfcn.h (xdlvsym): Declare function. - * support/xdlfcn.c (xdlvsym): Define funciton. - -2019-06-28 Florian Weimer - - [BZ #24744] - io: Remove the copy_file_range emulation. - * sysdeps/unix/sysv/linux/copy_file_range.c (copy_file_range): Do - not define and call copy_file_range_compat. - * io/Makefile (tests-static, tests-internal): Do not add - tst-copy_file_range-compat. - * io/copy_file_range-compat.c: Remove file. - * io/copy_file_range.c (copy_file_range): Define as stub. - * io/tst-copy_file_range-compat.c: Remove file. - * io/tst-copy_file_range.c (xdevfile): Remove variable. - (typical_sizes): Update comment. Remove 16K sizes. - (maximum_offset, maximum_offset_errno, maximum_offset_hard_limit): - Remove variables. - (find_maximum_offset, pipe_as_source, pipe_as_destination) - (delayed_write_failure_beginning, delayed_write_failure_end) - (cross_device_failure, enospc_failure_1, enospc_failure) - (oappend_failure): Remove functions. - (tests): Adjust test case list. - (do_test): Remove file system search code. Check for ENOSYS from - copy_file_range. Do not free xdevfile. - * manual/llio.texi (Copying File Data): Document ENOSYS error from - copy_file_range. Do not document the EXDEV error, which future - kernels may not report. Update the wording to reflect that - further errors are possible. - * sysdeps/unix/sysv/linux/alpha/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040D00] (__ASSUME_COPY_FILE_RANGE): Do - not undefine. - * sysdeps/unix/sysv/linux/arm/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_COPY_FILE_RANGE): - Likewise. - * sysdeps/unix/sysv/linux/kernel-features.h - [__LINUX_KERNEL_VERSION >= 0x040500] (__ASSUME_COPY_FILE_RANGE): - Remove definition. - * sysdeps/unix/sysv/linux/microblaze/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040A00] (__ASSUME_COPY_FILE_RANGE): Do - not undefine. - * sysdeps/unix/sysv/linux/sh/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_COPY_FILE_RANGE): - Likewise. - -2019-06-27 Gabriel F. T. Gomes - - * libio/libioP.h (PRINTF_LDBL_USES_FLOAT128): New macro to be - used as a mask for the mode argument of __vfprintf_internal. - * stdio-common/printf-parse.h (printf_arg): New union member: - pa_float128. - * stdio-common/vfprintf-internal.c - (PARSE_FLOAT_VA_ARG_EXTENDED): New macro. - (PARSE_FLOAT_VA_ARG): Likewise. - (SETUP_FLOAT128_INFO): Likewise. - (process_arg): Use PARSE_FLOAT_VA_ARG_EXTENDED and - SETUP_FLOAT128_INFO. - [__HAVE_FLOAT128_UNLIKE_LDBL] (printf_positional): Write - floating-point value to the new union member, pa_float128. - (printf_positional): Zero-initialize args_value[cnt] with memset. - -2019-06-27 Florian Weimer - - [BZ #24740] - * sysdeps/unix/sysv/linux/getdents64.c (__getdents64): Adjust - buffer size if necessary. - * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c (__getdents64): - Likewise. - * sysdeps/unix/sysv/linux/tst-getdents64.c (large_buffer_check): - New function. - (large_buffer_checks): Likewise. - (do_test): Call large_buffer_checks. - -2019-06-26 H.J. Lu - - * sysdeps/i386/dl-lookupcfg.h: Moved to ... - * sysdeps/x86/dl-lookupcfg.h: Here. - * sysdeps/x86_64/dl-lookupcfg.h: Removed. - -2019-06-26 Adhemerval Zanella - - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove e_expf-power8 and expf-ppc64. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-power8.S: Remove - file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/e_expf.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/w_expf.c: Likewise. - - * sysdeps/powerpc/powerpc32/fpu/Makefile - [$(subdir) == math] (CFLAGS-s_lround.c): New rule. - * sysdeps/powerpc/powerpc32/fpu/s_llround.c (__llround): Add power5+ - and fctidz optimization. - * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_lround.c: New file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile - (CFLAGS-s_llround-power6.c, CFLAGS-s_llround-power5+.c, - CFLAGS-s_llround-ppc32.c, CFLAGS-s_lround-ppc32.c, - CFLAGS-s_lround-power5+.c): New rule. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-power5+.c: - New file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-power6.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround-power5+.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-power5+.S: - Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-power6.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround-power5+.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/s_llroundf.S: Likewise. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Likewise. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_llroundf.S: Likewise. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Likewise. - * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Likewise. - * sysdeps/powerpc/powerpc32/power6/fpu/s_llroundf.S: Likewise. - -2019-06-26 Vincent Chen - - * sysdeps/unix/sysv/linux/syscall-names.list: Add nds32 - specific system calls, fp_udfiex_crtl and udftrap. - -2019-06-26 Stefan Liebler - - * nptl/tst-eintr1.c (tf1): Add return statement. - (do_test): Remove unused th variable. - -2019-06-26 Stefan Liebler - - * locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): - Return error if get_character fails. - -2019-06-25 Stefan Liebler - - * sysdeps/s390/fpu/libm-test-ulps: Regenerated. - -2019-06-24 Rafal Luzynski - - [BZ #24652] - * localedata/locales/szl_PL (day): Use the correct Unicode - sequences instead of non-ASCII characters. - -2019-06-24 Grzegorz Kulik - - [BZ #24652] - * localedata/locales/szl_PL (abday): Spelling corrections. - (day): Likewise. - (abmon): Likewise. - (mon): Rename to... - (alt_mon): This, then apply spelling corrections. - (mon): New entry, month names in the genitive case. - -2019-06-21 Rafal Luzynski - - [BZ #23831] - * localedata/locales/nl_AW (mon_thousands_sep): Set to ".". - * localedata/locales/nl_NL (mon_thousands_sep): Likewise. - (thousands_sep): Likewise. - (grouping): Set to 3;3. - -2019-06-21 Tobias Klauser - - * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c (INIT_ARCH): Use - PREPARE_VERSION_KNOWN. - * sysdeps/unix/sysv/linux/aarch64/init-first.c: Likewise. - * sysdeps/unix/sysv/linux/dl-vdso.h (VDSO_NAME_LINUX_2_6_39): New - define. - (VDSO_HASH_LINUX_2_6_39): Likewise. - (VDSO_NAME_LINUX_4_9): Likewise. - (VDSO_HASH_LINUX_4_9): Likewise. - * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c (INIT_ARCH): Likewise. - * sysdeps/unix/sysv/linux/powerpc/init-first.c - (_libc_vdso_platform_setup): Likewise. - * sysdeps/unix/sysv/linux/powerpc/time.c (INIT_ARCH): Likewise. - * sysdeps/unix/sysv/linux/s390/init-first.c (_libc_vdso_platform_setup): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_platform_setup): - Likewise. - -2019-06-20 Mike Crowe - - * nptl/eintr.c: Use libsupport. - * nptl/tst-eintr1.c: Likewise. - * nptl/tst-eintr2.c: Likewise. - * nptl/tst-eintr3.c: Likewise. - * nptl/tst-eintr4.c: Likewise. - * nptl/tst-eintr5.c: Likewise. - * nptl/tst-mutex-errorcheck.c: Likewise. - * nptl/tst-mutex5.c: Likewise. - - * support/test-driver.h: Add verbose_printf macro. - - * support/xtime.h: Add xclock_now() helper function. - -2019-06-20 Dmitry V. Levin - Florian Weimer - - [BZ #24228] - * libio/genops.c (_IO_unbuffer_all) - [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Do not attempt to free wide - buffers and access _IO_FILE_complete members of legacy libio streams. - * libio/tst-bz24228.c: New file. - * libio/tst-bz24228.map: Likewise. - * libio/Makefile [build-shared] (tests): Add tst-bz24228. - [build-shared] (generated): Add tst-bz24228.mtrace and - tst-bz24228.check. - [run-built-tests && build-shared] (tests-special): Add - $(objpfx)tst-bz24228-mem.out. - (LDFLAGS-tst-bz24228, tst-bz24228-ENV): New variables. - ($(objpfx)tst-bz24228-mem.out): New rule. - -2019-06-19 Paul A. Clarke - - * sysdeps/powerpc/fpu/fenv_libc.h (relax_fenv_state): Add 'volatile'. - * sysdeps/powerpc/fpu/fpu_control.h (__FPU_MFFS): Likewise. - (__FPU_MFFSL): Likewise. - (_FPU_SETCW): Likewise. - -2019-06-19 Stan Shebs - Raoni Fassina Firmino - - [BZ #24640] - * sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c - [!SHARED] (__get_timebase_freq): Fix sense of a test in the - static-linking version. - * sysdeps/unix/sysv/linux/powerpc/Makefile - (tests-static): Add test-gettimebasefreq-static. - (tests): Likewise. - * sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq-static.c: - New file. - -2019-06-19 Rafal Luzynski - - [BZ #24614] - * localedata/locales/nl_AW (n_sep_by_space): Set to 2 (a space - between the currency symbol and the minus sign). - (n_sign_posn): Set to 4 (the minus sign after the currency symbol). - -2019-06-19 Stefan Liebler - - [BZ #24556] - * string/test-strcasestr.c (check_result): Add NULL check. - * nss/tst-field.c (check_rewrite): Likewise. - * benchtests/bench-strstr.c (do_one_test): Likewise. - * string/test-strstr.c (check_result): Likewise. - * argp/argp-test.c (popt): Increase size of buf to 12. - * benchtests/bench-malloc-simple.c (bench): - Do not initialize tests array out of bounds. - -2019-06-19 Florian Weimer - - [BZ #24166] - * dlfcn/dlfcn.h (Dl_serinfo): Do not use array of length 1 for - dls_serpath field. - -2019-06-18 Florian Weimer - - [BZ #24323] - * include/elf.h (DT_1_SUPPORTED_MASK): Include DF_1_PIE. - * elf/dl-load.c (_dl_map_object_from_fd): Check for DF_1_PIE and - fail when called from dlopen. - * elf/Makefile [have-fpie && build-shared] (tests): Add - tst-dlopen-pie. - (tst-dlopen-pie): Link with -ldl. - (tst-dlopen-pie.out): Add run-time dependency on tst-pie1. - * elf/tst-dlopen-pie.c (do_test): New file. - -2019-06-17 Rafal Luzynski - - [BZ #24614] - * localedata/Makefile (LOCALES): Add nl_NL.UTF-8. - * localedata/locales/nl_NL (n_sep_by_space): Set to 2 (a space - between the currency symbol and the minus sign). - (n_sign_posn): Set to 4 (the minus sign after the currency symbol). - * localedata/tst-strfmon1.c (tests): Add test data for nl_NL.UTF-8. - -2019-06-17 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/m68k/Makefile (sysdep_routines, - sysdep-rtld-routines): Remove rules. - * sysdeps/unix/sysv/linux/m68k/Versions (libc) [GLIBC_PRIVATE]: - Remove __vdso_atomic_cmpxchg_32 and __vdso_atomic_barrier. - (ld) [GLIBC_PRIVATE]: __rtld___vdso_read_tp, - __rtld___vdso_atomic_cmpxchg_32, and __rtld___vdso_atomic_barrier. - * sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h - (atomic_compare_and_exchange_val_acq, atomic_full_barrier): Remove - vDSO path for SHARED. - * sysdeps/unix/sysv/linux/m68k/init-first.c: Remove file. - * sysdeps/unix/sysv/linux/m68k/libc-m68k-vdso.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/m68k-helpers.S: Likewise. - * sysdeps/unix/sysv/linux/m68k/m68k-vdso.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/m68k-vdso.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/m68k-helpers.c: New file. - - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_llround-power8, s_llround-power6x, - s_llround-power5+, s_llround-ppc64, and s_llroundf-ppc64. - (CFLAGS-s_llround-power8.c, CFLAGS-s_llround-power6x.c, - CFLAGS-s_llround-power5+.c): New rule. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power5+.c: - New file. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power6x.c: - Likewise. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power8.c: - Likewise. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-ppc64.c: - Likewise. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llroundf-ppc64.c: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llroundf.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_lround.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lround.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/Makefile - [$(subdir) == math] (CFLAGS-s_llround.c): New rule. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove s_llround-* objects. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power5+.S: Remove - file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power6x.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power8.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-ppc64.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf-ppc64.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_lround.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_llround.c: New file. - * sysdeps/powerpc/powerpc64/fpu/s_llroundf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_lround.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_lroundf.c: Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_llroundf.S: Likewise. - * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Likewise. - * sysdeps/powerpc/powerpc64/power6x/fpu/s_llroundf.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_llroundf.S: Likewise. - - * sysdeps/powerpc/fpu/s_lrintf.S: Remove file. - * sysdeps/powerpc/powerpc64/fpu/s_lrintf.c: Move to ... - * sysdeps/powerpc/fpu/s_lrintf.c: ... here. - * sysdeps/powerpc/powerpc32/fpu/Makefile - [$(subdir) == math] (CFLAGS-s_lrint.c): New rule. - * sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Add power4 - optimization. - * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: New file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile - (CFLAGS-s_llrintf-power6.c, CFLAGS-s_llrintf-ppc32.c, - CFLAGS-s_llrint-power6.c, CFLAGS-s_llrint-ppc32.c, - CFLAGS-s_lrint-ppc32.c): New rule. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-power6.S: - Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: Likewise. - * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Likewise. - * sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-power6.c: - New file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint-ppc32.c: - Likewise. - - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_llrint-power8, s_llrint-power6x, and - s_llrint-ppc64. - (CFLAGS-s_llrint-power8.c, CFLAGS-s_llrint-power6x.c): New rule. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-power6x.c: New - file. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-power8.c: - Likewise. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-ppc64.c: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_lrint.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lrint.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrintf.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrintf.c: ... here. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lrint.c: New file. - * sysdeps/powerpc/powerpc64/fpu/Makefile: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove s_llrint-* objects. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S: Remove - file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power8.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: New file. - * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_lrint.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_lrintf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Remove file. - * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_lrint.S: Likewise. - * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Likewise. - -2019-06-14 Florian Weimer - - * sysdeps/unix/sysv/linux/bits/statx.h: Use string literal in - argument to __glibc_has_include to inhibit macro expansion. - -2019-06-14 Florian Weimer - - * misc/sys/cdefs.h (__glibc_has_include): Do not use a - function-like macro, so that __has_include can inhibit expansion - of its argument. - -2019-06-13 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/in.h (IPV6_ROUTER_ALERT_ISOLATE): - New macro. - - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data: - Allow memset in libc.so. - -2019-06-13 Szabolcs Nagy - - * sysdeps/aarch64/dl-dtprocnum.h: New file. - * sysdeps/aarch64/dl-machine.h (DT_AARCH64): Define. - (elf_machine_runtime_setup): Handle DT_AARCH64_VARIANT_PCS. - (elf_machine_lazy_rel): Check STO_AARCH64_VARIANT_PCS and bind such - symbols at load time. - * sysdeps/aarch64/linkmap.h (struct link_map_machine): Add variant_pcs. - -2019-06-13 Szabolcs Nagy - - * elf/elf.h (STO_AARCH64_VARIANT_PCS): Define. - (DT_AARCH64_VARIANT_PCS): Define. - -2019-06-12 Adhemerval Zanella - - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile - (sysdeps_routines, libm-sysdep_routines): Remove s_finite* - objects. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite-power7.S: - Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef.c: Likewise. - * sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S: Likewise. - * sysdeps/powerpc/powerpc32/power7/fpu/s_finitef.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_call): - Remove s_finite* objects. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S: Remove file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/s_finitef.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_finite.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_finitef.S: Likewise. - - * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Move to ... - * sysdeps/ieee754/dbl-64/s_finite.c: ... here and format code. - - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile - (sysdeps_routines, libm-sysdep_routines): Remove s_isinf* and s_isinf* - objects. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf-power7.S: - Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff.c: Likewise. - * sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S: Likewise. - * sysdeps/powerpc/powerpc32/power7/fpu/s_isinff.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_call): - Remove s_isinf* and s_isinf* objects. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/s_isinff.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_isinf.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_isinff.S: Likewise. - - * sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: Move to ... - * sysdeps/ieee754/dbl-64/s_isinf.c: ... here and format code. - - * sysdeps/powerpc/fpu/s_isnan.c: Remove file. - * sysdeps/powerpc/fpu/s_isnanf.S: Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile - (sysdeps_routines, libm-sysdep_routines): Remove s_isnan-* and - s_isnanf-* objects. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power5.S: - Remove file - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power6.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power7.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf-power5.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf-power6.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf.c: Likewise. - * sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc32/power5/fpu/s_isnanf.S: Likewise. - * sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S: Likewise. - * sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc32/power7/fpu/s_isnanf.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_calls): - Remove s_isnan-* and s_isnanf-* objects. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnanf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/s_isnanf.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_isnanf.S: Likewise. - - * sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Move to ... - * sysdeps/ieee754/dbl-64/s_isnan.c: ... here and format code. - - * benchtests/Makefile (bench-math): Add isnan, isinf, and isfinite. - (CFLAGS-bench-isnan.c, CFLAGS-bench-isinf.c, - CFLAGS-bench-isfinite.c): New rule. - * benchtests/isnan-input: New file. - * benchtests/isinf-input: New file. - * benchtests/isfinite-input: New file. - - * sysdeps/powerpc/fpu/s_copysign.c: New file. - * sysdeps/powerpc/fpu/s_copysignf.c: Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile - (sysdep_routines, libm-sysdep_routines): Remove s_copysign-power6 and - s_copysign-ppc32. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-power6.S: - Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c: - Likewise. - * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Likewise. - * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdeps_calls): - Remove s_copysign-power6 s_copysign-ppc64. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S: - Remove file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_copysignf.S: Likewise. - * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Likewise. - * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: Likewise. - - * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode, - round_to_integer_float, round_mode): Add RINT handling. - (reset_fenv_mode): New symbol. - * sysdeps/powerpc/fpu/s_rint.c (__rint): Use generic implementation. - * sysdeps/powerpc/fpu/s_rintf.c (__rintf): Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise. - -2019-06-12 Florian Weimer - - [BZ #24632] - * libio/libioP.h (_IO_JUMPS_FUNC_UPDATE): New macro. - * libio/freopen.c (freopen): Use it. - -2019-06-12 Florian Weimer - - Linux: Deprecate sysctl. - * include/sysctl.h (__sysctl): Remove declaration. - * scripts/check-installed-headers.sh (sys/sysctl.h): Disable - check. - * sysdeps/unix/sysv/linux/sys/sysctl.h: Add deprecation warning. - (sysctl): Add deprecation attribute. - * sysdeps/unix/sysv/linux/sysctl.c: Include - directly, to avoid the deprecation warning. Do not include - . - (__sysctl): Remove hidden alias. - -2019-06-12 Florian Weimer - - Linux: Use kernel headers for statx definitions if available. - * include/bits/statx-generic.h: New file. - * include/bits/types/struct_statx.h: Likewise. - * include/bits/types/struct_statx_timestamp.h: Likewise. - * io/Makefile (headers): Add bits/statx-generic.h. - * io/bits/statx-generic.h: New file. Partly copied from - io/bits/statx.h. - * io/statx_generic.c: Include to - define original_statx. - * io/bits/types/struct_statx.h: Likewise. - * io/bits/types/struct_statx_timestamp.h: Likewise. - (statx_generic): Use original_statx. - * io/bits/statx.h: Rewrite to include . - * sysdeps/unix/sysv/linux/bits/statx.h: New file. - -2019-06-12 Florian Weimer - - * misc/sys/cdefs.h (__glibc_has_include): Define. - -2019-06-12 Wilco Dijkstra - - * string/memmem.c (__memmem): Rewrite to improve performance. - -2019-06-12 Wilco Dijkstra - - * string/str-two-way.h (two_way_short_needle): Add inline to avoid - warning. - (two_way_long_needle): Block inlining. - * string/strstr.c (strstr2): Add new function. - (strstr3): Likewise. - (STRSTR): Completely rewrite strstr to improve performance. - -2019-06-11 Wilco Dijkstra - - * benchtests/bench-strstr.c (test_hard_needle): New function. - -2019-06-10 Joseph Myers - - * malloc/tst-calloc.c: Include . - (null_test): Ignore -Wunused-result around calls to calloc. - * malloc/tst-mallocfork.c: Include . - (do_test): Ignore -Wunused-result around call to malloc. - -2019-06-07 Florian Weimer - - Linux: Add getdents64 system call. - * include/dirnent.h (getdents): Add comment and change buffer - argument type to void *. - (getdents64): Likewise. Add hidden prototype. - * sysdeps/unix/sysv/linux/bits/Versions (GLIBC_2.30): Export - getdents64. - * sysdeps/unix/sysv/linux/Makefile [$(subdir) == dirent] (tests): - Add tst-getdents64. - * sysdeps/unix/sysv/linux/bits/unistd_ext.h (getdents64): Declare. - * sysdeps/unix/sysv/linux/getdents.c (__getdents): Change buffer - argument type to void *. - * sysdeps/unix/sysv/linux/getdents64.c (__getdents64): Likewise. - Add hidden definition and getdents64 alias. - * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c (__getdents64): - Likewise. - * sysdeps/unix/sysv/linux/tst-getdents64.c: New file. - * manual/filesys.texi (Accessing Directories): Add Low-level - Directory Access node reference. - (Opening a Directory): Cross-reference it. - (Low-level Directory Access): New node. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30): Add - getdents64. - * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/csky/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.30): - Likewise. - -2019-06-06 Paul A. Clarke - - * sysdeps/powerpc/fpu_control.h (_FPU_MASK_RC): New. - (__FPU_MFFS): New. - (__FPU_MFFSL): New. - (_FPU_GET_RC): New. - (_FPU_GETCW): Use __FPU_MFFS(). - * sysdeps/powerpc/fpu/get-rounding-mode.h: New file. - -2019-06-06 Florian Weimer - - * sysdeps/unix/sysv/linux/riscv/flush-icache.c: Do not use - internal GCC preprocessor identifier __has_include__. - -2019-06-05 Paul A. Clarke - - * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Replace code - with call to equivalent function. - -2019-06-04 Florian Weimer - - * iconv/gconv_dl.c (release_handle): Remove file-level definition. - (do_release_shlib): Adjust for __twalk_r. - (__gconv_release_shlib): Call __twalk_r. - -2019-06-04 Andreas Schwab - - [BZ #18830] - * iconv/skeleton.c (FUNCTION_NAME): Use RESET_INPUT_BUFFER only if - no irreversible characters occurred. - * iconv/gconv_simple.c (internal_ucs4_loop) - (internal_ucs4_loop_unaligned, internal_ucs4_loop_single) - (ucs4_internal_loop, ucs4_internal_loop_unaligned) - (ucs4_internal_loop_single, internal_ucs4le_loop) - (internal_ucs4le_loop_unaligned, internal_ucs4le_loop_single) - (ucs4le_internal_loop, ucs4le_internal_loop_unaligned) - (ucs4le_internal_loop_single): Add const to outend. - * sysdeps/s390/multiarch/gconv_simple.c (internal_ucs4le_loop) - (ucs4_internal_loop, ucs4le_internal_loop): Likewise. - * iconv/Makefile (tests): Add tst-iconv7. - * iconv/tst-iconv7.c: New file. - -2019-06-03 Joseph Myers - - * inet/netinet/in.h (INADDR_ALLSNOOPERS_GROUP): New macro. - -2019-06-01 Florian Weimer - - arm: Remove ioperm/iopl/inb/inw/inl/outb/outw/outl support. - * sysdeps/unix/sysv/linux/arm/Makefile - [$(subdir) == misc] (sysdep_headers): Remove sys/io.h. - * sysdeps/unix/sysv/linux/arm/sys/io.h: Remove file. - * sysdeps/unix/sysv/linux/arm/ioperm.c: Rewrite file. - (ioperm, iopl, inb, inw, inl, outb, outw, outl): Turn into - compatibility symbols. - -2019-05-31 Florian Weimer - - * sysdeps/unix/sysv/linux/syscall-names.list: Add oddly named - system calls for the arm architecture: breakpoint, get_tls, - set_tls, usr26, usr32. - -2019-05-30 Gabriel F. T. Gomes - - * sysdeps/powerpc/Makefile - [$(subdir) == misc] (CFLAGS-tst-set_ppr.c): New variable. - * sysdeps/powerpc/powerpc64/power4/memcmp.S [__LITTLE_ENDIAN__]: - Declare '.machine power7' to get support for ldbrx. - * sysdeps/powerpc/powerpc64/power7/strncmp.S: Declare '.machine' - directive based on the directory of the file. - * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/strcmp.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/strcasecmp.S: Update - '.machine' directive. - (VCLZD_V8_v7, MFVRD_R3_V1, VSUBUDM_V9_V8, VPOPCNTD_V8_V8) - (VADDUQM_V7_V8): Remove. - (__STRCASECMP): Replace macros with actual instructions. - * sysdeps/powerpc/powerpc64/power8/strcasestr.S: Update - '.machine' directive. - (VCLZD_V8_v7): Remove. - (STRCASESTR): Replace VCLZD_V8_v7 with actual instruction. - -2019-05-29 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c: - Remove file. - * sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c: Likewise. - -2019-05-28 Adhemerval Zanella - - * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode): Add - NEARBYINT handling. - * sysdeps/powerpc/fpu/s_nearbyint.c: New file. - * sysdeps/powerpc/fpu/s_nearbyintf.c: Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_nearbyint.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_nearbyintf.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_nearbyint.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S: Likewise. - -2019-05-28 mansayk <6688000@gmail.com> - - [BZ #24370] - * localedata/locales/tt_RU (lang_name): Add from CLDR-35.1. - -2019-05-28 mansayk <6688000@gmail.com> - - [BZ #24369] - * localedata/locales/tt_RU (mon): Update from CLDR-35.1, fix errors. - (abmon): Likewise, but remove the trailing dots. - -2019-05-28 Joseph Myers - - * inet/netinet/igmp.h (IGMP_MRDISC_ADV): New macro. - -2019-05-27 Florian Weimer - - * nptl/nptl-init.c: Add comment. - -2019-05-24 Florian Weimer - - * resolv/nss_dns/dns-host.c (getanswer_r): Be more explicit about - struct in_addr/struct in6_addr alignment. - -2019-05-23 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] - (F_SEAL_FUTURE_WRITE): New macro. - -2019-05-23 Alexandra Hajkova - - * elf/Makefile (test-container): Add tst-ldconfig-bad-aux-cache. - * elf/tst-ldconfig-bad-aux-cache.c: New file. - * elf/tst-ldconfig_aux-cache.root: New directory. - * elf/tst-ldconfig-bad-aux-cache.root/postclean.req: New file. - * elf/tst-ldconfig-bad-aux-cache.root/etc: New directory. - * elf/tst-ldconfig-bad-aux-cache.root/etc/ld.so.conf: New file. - -2019-05-22 Zack Weinberg - - * sysdeps/powerpc/preconfigure: Error out on powerpc-*-*gnuspe* - host type. - * scripts/build-many-glibcs.py: Remove powerpc-*-linux-gnuspe - and powerpc-*-linux-gnuspe-e500v1 from list of build configurations. - - * sysdeps/powerpc/powerpc32/e500: Recursively delete. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/e500: Recursively delete. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h: - Delete. - - * sysdeps/powerpc/fpu_control.h: Remove SPE variant. - Issue an #error if used with a compiler in SPE-float mode. - * sysdeps/powerpc/powerpc32/__longjmp_common.S - * sysdeps/powerpc/powerpc32/setjmp_common.S - * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S - * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S - * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: - Remove code to preserve SPE register state. - - * sysdeps/unix/sysv/linux/powerpc/elision-lock.c - * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c - * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c: - Remove __SPE__ ifndefs. - -2019-05-21 Wilco Dijkstra - - * benchtests/bench-memcpy-random.c (do_one_test): Use medium iterations. - * benchtests/bench-memcpy-walk.c (test_main): Reduce alignment tests. - * benchtests/bench-memmem.c (do_one_test): Use small iterations. - * benchtests/bench-memmove-walk.c (test_main): Reduce alignment tests. - * benchtests/bench-memset-walk.c (test_main): Reduce alignment tests. - * benchtests/bench-strcasestr.c (do_one_test): Use small iterations. - * benchtests/bench-string.h (INNER_LOOP_ITERS): Increase iterations. - (INNER_LOOP_ITERS_MEDIUM): New define. - (INNER_LOOP_ITERS_SMALL): New define. - * benchtests/bench-strpbrk.c (do_one_test): Use medium iterations. - * benchtests/bench-strsep.c (do_one_test): Use small iterations. - * benchtests/bench-strspn.c (do_one_test): Use medium iterations. - * benchtests/bench-strstr.c (do_one_test): Use small iterations. - * benchtests/bench-strtok.c (do_one_test): Use small iterations. - -2019-05-21 Adhemeval Zanella - - * sysdeps/unix/sysv/linux/powerpc/ipc_priv.h (SEMTIMEDOP_IPC_ARGS): - New define. - * sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h - (SEMTIMEDOP_IPC_ARGS): Likewise. - -2019-05-21 Florian Weimer - - [BZ #24584] - * wcsmbs/wcsmbsload.c (__wcsmbs_clone_conv): Acquire __gconv_lock - before updating __counter field and release it afterwards. Add - overflow check. - * iconv/gconv.h (struct __gconv_step): Mention synchronization - requirement for __counter member. - -2019-05-21 Florian Weimer - - [BZ #24583] - * wcsmbs/wcsmbsload.h (__wcsmbs_close_conv): Declare. - * wcsmbs/wcsmbsload.c (__wcsmbs_close_conv): Define. - * libio/iofclose.c (_IO_new_fclose): Call __wcsmbs_close_conv - instead of __gconv_release_step. - * libio/Makefile (tests): Add tst-wfile-gconv. - (tests-container): Add tst-wfile-ascii. - (tst-wfile-gconv-ENV): Enable mtrace. - (generated): Add tst-wfile-gconv.mtrace, tst-wfile-gconv.check. - (tests-special): Add tst-wfile-gconv-mem.out. - (tst-wfile-gconv.out): Depend on locales. - (tst-wfile-gconv-mem.out): Add mtrace rule. - * libio/tst-wfile-ascii.c: New file. - * libio/tst-wfile-gconv.c: Likewise. - -2019-05-20 Florian Weimer - - [BZ #24588] - libio: Remove codecvt vtable. - * libio/fileops.c ( _IO_new_file_fopen): Do not copy - __libio_codecvt. - * libio/iofgetpos.c (_IO_new_fgetpos): Call - __libio_codecvt_encoding. - * libio/iofgetpos64.c (_IO_new_fgetpos): Likewise. - * libio/iofsetpos.c (_IO_new_fsetpos): Likewise. - * libio/iofsetpos64.c (_IO_new_fsetpos): Likewise. - * libio/iofwide.c (__libio_codecvt): Remove variable. - (_IO_fwide): Do not copy __libio_codecvt. - (__libio_codecvt_out): Rename from do_out and export. - (do_unshift): Remove function. - (__libio_codecvt_in): Rename from do_in and export. - (__libio_codecvt_encoding): Rename from do_encoding and export. - (do_always_noconv): Remove function. - (__libio_codecvt_length): Rename from do_length and export. - (do_max_length): Remove function. - * libio/libio.h (enum __codecvt_result): Remove definition; moved - to libioP.h. - (struct _IO_codecvt): Remove fields __codecvt_destr, - __codecvt_do_out, __codecvt_do_unshift, __codecvt_do_in, - __codecvt_do_encoding, __codecvt_do_always_noconv, - __codecvt_do_length, __codecvt_do_max_length. - * libio/libioP.h (enum __codecvt_result): Define; moved from - libio.h. - (__libio_codecvt_out, __libio_codecvt_in) - (__libio_codecvt_encoding, __libio_codecvt_length): Declare - functions. - * libio/wfileops.c (_IO_wdo_write): Call __libio_codecvt_out. - (_IO_wfile_underflow): Call __libio_codecvt_in. - (_IO_wfile_underflow): Likewise. - (_IO_wfile_underflow_mmap): Likewise. - (_IO_wfile_sync): Call __libio_codecvt_encoding, - __libio_codecvt_length. - (adjust_wide_data): Call __libio_codecvt_encoding, - __libio_codecvt_in. - (do_ftell_wide): Call __libio_codecvt_length, __libio_codecvt_out. - (_IO_wfile_seekoff): Call __libio_codecvt_encoding, - __libio_codecvt_length. - -2019-05-20 Florian Weimer - - * support/support.h (support_sbindir_prefix): Declare. - (support_install_rootsbindir): Update comment. - * support/Makefile (CFLAGS-support_paths.c): Define SBINDIR_PATH. - * support/support_paths.c (support_sbindir_prefix): Define. - -2019-05-20 Mike Crowe - - * support/timespec.c: Add backslash to correct newline in failure - message. - - * support/timespec.h: Correct confusing comment. - -2019-05-20 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/ipc_priv.h (SEMTIMEDOP_IPC_ARGS): New - define. - * sysdpes/unix/sysv/linux/s390/ipc_priv.h: New file. - * sysdeps/unix/sysv/linux/s390/semtimedop.c: Remove file. - * sysdeps/unix/sysv/linux/semtimedop.c (semtimedop): Use - SEMTIMEDOP_IPC_ARGS for calls with __NR_ipc. - - [BZ #24570] - * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Remove __IPC_64 - usage. - -2019-05-20 Joseph Myers - - * elf/elf.h (NT_ARM_PACA_KEYS): New macro. - (NT_ARM_PACG_KEYS): Likewise. - -2019-05-17 Wilco Dijkstra - - * malloc/malloc.c (MAX_TCACHE_COUNT): Increase to UINT16_MAX. - (tcache_put): Remove redundant assert. - (tcache_get): Remove redundant asserts. - (__libc_malloc): Check tcache count is not zero. - * manual/tunables.texi (glibc.malloc.tcache_count): Update maximum. - -2019-05-17 Florian Weimer - - * manual/llio.texi (Open-time Flags): Document O_DIRECTORY. - -2019-05-16 Joseph Myers - - * sysdeps/unix/sysv/linux/alpha/kernel-features.h - (__ASSUME_STATFS64): Only undefine if [__LINUX_KERNEL_VERSION < - 0x050100]. - * sysdeps/unix/sysv/linux/ia64/kernel-features.h (__ASSUME_STATX): - Likewise. - * sysdeps/unix/sysv/linux/sh/kernel-features.h - (__ASSUME_STATX): Likewise. - -2019-05-16 Florian Weimer - - * nis/nss_nis/nis-hosts.c (EXTRA_ARGS, EXTRA_ARGS_DECL): Remove - flags argument. - (LINE_PARSER): Do not map IPv4 addresses. - (internal_nis_gethostent_r): Remove flags argument. Adjust call - to parse_line. - (_nss_nis_gethostent_r): Always pass AF_INET to - internal_nis_gethostent_r. - (internal_gethostbyname2_r): Remove flags argument. Adjust call - to parse_line. - (_nss_nis_gethostbyname2_r): Adjust call to - internal_nis_gethostent_r. - (_nss_nis_gethostbyname_r): Do not attempt IPv6 query. Adjust - call to internal_nis_gethostent_r. - (_nss_nis_gethostbyaddr_r): Do not request IPv4 address mapping - from parse_line. - (_nss_nis_gethostbyname4_r):Adjust call to parse_line. - * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent): - Remove flags argument. Do not map IPv4 addresses. - (internal_nisplus_gethostent_r): Adjust call to - _nss_nisplus_parse_hostent. - (internal_gethostbyname2_r): Remove flags argument. Adjust call - to _nss_nisplus_parse_hostent. - (_nss_nisplus_gethostbyname2_r): Adjust call to - internal_gethostbyname2_r. - (_nss_nisplus_gethostbyname_r): Do not perform IPv6 lookup. - Adjust call to internal_gethostbyname2_r. - (_nss_nisplus_gethostbyaddr_r): Adjust call to - _nss_nisplus_parse_hostent. - (_nss_nisplus_gethostbyname4_r): Adjust call to - internal_gethostbyname2_r. - -2019-05-16 Florian Weimer - - * nss/nss_files/files-hosts.c (EXTRA_ARGS, EXTRA_ARGS_DECL): - Remove flags. - (LINE_PARSER): Remove address mapping. - (EXTRA_ARGS_VALUE): Remove flags argument. - (gethostbyname3_multi): Likewise. Adjust call to internal_getent. - (_nss_files_gethostbyname3_r): Adjust calls to internal_getent and - gethostbyname3_multi. - (_nss_files_gethostbyname_r): Always use AF_INET. Adjust call to - _nss_files_gethostbyname3_r. - (_nss_files_gethostbyname4_r): Adjust call to internal_getent. - -2019-05-16 Florian Weimer - - * support/support_test_compare_blob.c (report_blob): Report - incorrect NULL blobs. - -2019-05-15 Mark Wielaard - - [BZ# 24476] - * dlfcn/dlerror.c (__dlerror_main_freeres): Guard using - __libc_once_get (once) and static_buf == NULL. - (__dlerror): Check we have a valid key, set result to static_buf - otherwise. - -2019-05-15 Andreas Schwab - - [BZ #20568] - * libio/wfileops.c (_IO_wfile_sync): Correct last argument to - __codecvt_do_length. - * libio/Makefile (tests): Add tst-wfile-sync. - ($(objpfx)tst-wfile-sync.out): Depend on $(gen-locales). - * libio/tst-wfile-sync.c: New file. - * libio/tst-wfile-sync.input: New file. - -2019-05-15 Florian Weimer - - nss: Turn __nss_database_lookup into a compatibility symbol. - * nss/nsswitch.h (__nss_database_lookup2): Renamed from - __nss_database_lookup. - * nss/nsswitch.c (__nss_database_lookup2): Likewise. - (nss_load_all_libraries): Call __nss_database_lookup2 instead of - __nss_database_lookup. - (__nss_next): Move to … - * nss/compat-lookup.c (nss_next): … here. Change it to fail - unconditionally. - (__nss_database_lookup): New function. - * nss/Versions (GLIBC_2.0): Update comment. - (GLIBC_PRIVATE): Export __nss_database_lookup2. - * grp/initgroups.c (internal_getgrouplist): Call - __nss_database_lookup2 instead of __nss_database_lookup. - * nscd/aicache.c (addhstaiX): Likewise. - * nscd/initgrcache.c (addinitgroupsX): Likewise. - * nscd/netgroupcache.c (addgetnetgrentX): Likewise. - * nss/XXX-lookup.c (DB_LOOKUP_FCT): Likewise. - * nss/nss_compat/compat-grp.c (init_nss_interface): Likewise. - * nss/nss_compat/compat-initgroups.c (init_nss_interface): - Likewise. - * nss/nss_compat/compat-pwd.c (init_nss_interface): Likewise. - * nss/nss_compat/compat-spwd.c (init_nss_interface): Likewise. - * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise. - -2019-05-15 Alexandra Hajkova - - * support/support.h (support_install_rootsbindir): New variable. - * support/support_paths.c: Likewise. - * support/Makefile (CFLAGS-support_paths.c): Add -DROOTSBINDIR_PATH. - -2019-05-15 Florian Weimer - - * iconv/gconv.h (__gconv_transliterate): Move declaration … - * iconv/gconv_int.h (__gconv_transliterate): … here. - * iconv/loop.c: Include instead of . - * iconv/skeleton.c: Likewise. - -2019-05-14 Florian Weimer - - Linux: Add the tgkill function. - * bits/signal_ext.h: New file. - * manual/signal.texi (Signaling Another Process): Document tgkill. - * signal/Makefile (headers): Add bits/signal_ext.h. - * signal/signal.h: Include . - * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-tgkill. - (tst-tgkill): Link with libpthread. - * sysdeps/unix/sysv/linux/Versions (GLIBC_2.30): Export tgkill. - * sysdeps/unix/sysv/linux/bits/signal_ext.h: New file. - * sysdeps/unix/sysv/linux/bits/tst-tgkill.c: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30): Add - tgkill. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - -2019-05-14 Carlos O'Donell - - * manual/search.texi (Tree Search Function): Adjust twalk_r - documentation. - -2019-05-14 Adhemerval Zanella - - [BZ #24544] - * elf/tst-pldd.c (do_test): Use support_bindir_prefix instead of - pre-defined value. - - * support/Makefile (CFLAGS-support_paths.c): Add -DBINDIR_PATH. - * support/support.h (support_bindir_prefix): New variable. - * support/support_paths.c [BINDIR_PATH] (support_bindir_prefix): - - * config.make.in (bindir): New variable. - - * sysdeps/nptl/lowlevellock.h (__lll_trylock): New macro. - (lll_trylock): Call __lll_trylock. - * sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S: Remove file. - * sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c: Likewise. - * sysdeps/unix/sysv/linux/i386/lowlevellock.S: Likewise. - * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c: Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/x86/lowlevellock.h: New file. - * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Include - lowlevellock-futex.h. - - * nptl/nptl-init.c (__pthread_initialize_minimal_internal): Remove - initialization for LLL_LOCK_INITIALIZER different than 0. - * nptl/old_pthread_cond_broadcast.c (__pthread_cond_broadcast_2_0): - Assume LLL_LOCK_INITIALIZER being 0. - * nptl/old_pthread_cond_signal.c (__pthread_cond_signal_2_0): Likewise. - * nptl/old_pthread_cond_timedwait.c (__pthread_cond_timedwait_2_0): - Likewise. - * nptl/old_pthread_cond_wait.c (__pthread_cond_wait_2_0): Likewise. - * sysdeps/nptl/libc-lockP.h (__libc_lock_define_initialized): Likewise. - - * nptl/lowlevellock.c (__lll_lock_wait, __lll_lock_wait_private): - Optimize futex call and add systemtap probe. - - * nptl/pthreadP.h (CANCEL_ASYNC, CANCEL_RESET, LIBC_CANCEL_ASYNC, - LIBC_CANCEL_RESET, __libc_enable_asynccancel, - __libc_disable_asynccancel, __librt_enable_asynccancel, - __libc_disable_asynccancel, __librt_enable_asynccancel, - __librt_disable_asynccancel): Move to ... - * sysdeps/unix/sysv/linux/sysdep-cancel.h: ... here. - (SINGLE_THREAD_P, RTLD_SINGLE_THREAD_P): Move to ... - * sysdeps/unix/sysv/linux/single-thread.h: ... here. - * sysdeps/generic/single-thread.h: New file. - * sysdeps/unix/sysdep.h: Include single-thread.h. - * sysdeps/unix/sysv/linux/futex-internal.h: Include sysdep-cancel.h. - * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. - -2019-05-08 Mike FABIAN - - [BZ #24535] - * localedata/unicode-gen/Makefile (UNICODE_VERSION): Set to 12.1.0. - * localedata/unicode-gen/DerivedCoreProperties.txt: Update to - Unicode 12.1.0. - * localedata/unicode-gen/EastAsianWidth.txt: Likewise. - * localedata/unicode-gen/PropList.txt: Likewise. - * localedata/unicode-gen/UnicodeData.txt: Likewise. - * localedata/charmaps/UTF-8: Regenerate. - * localedata/locales/i18n_ctype: Likewise. - * localedata/locales/tr_TR: Likewise. - * localedata/locales/translit_circle: Likewise. - * localedata/locales/translit_cjk_compat: Likewise. - * localedata/locales/translit_combining: Likewise. - * localedata/locales/translit_compat: Likewise. - * localedata/locales/translit_font: Likewise. - * localedata/locales/translit_fraction: Likewise. - -2019-05-10 Wilco Dijkstra - - [BZ #24531] - * malloc/malloc.c (MAX_TCACHE_COUNT): New define. - (do_set_tcache_count): Only update if count is small enough. - * manual/tunables.texi (glibc.malloc.tcache_count): Document max value. - -2019-05-10 Florian Weimer - - * nptl/sem_close.c (struct walk_closure): Define. - (walker): Adjust for __twalk_r. - (sem_close): Call __twalk_r. - -2019-05-09 Adhemerval Zanella - - * support/timespec.c (test_timespec_before_impl, - test_timespec_equal_or_after_impl): print timespec member as intmax_t - insted of long int. - -2019-05-09 Mike Crowe - - * nptl/tst-abstime.c: Use libsupport. - - * nptl/tst-rwlock6.c: Use libsupport. This also happens to fix a - small bug where only tv.tv_usec was checked which could cause an - erroneous pass if pthread_rwlock_timedrdlock incorrectly took more - than a second. - - * nptl/tst-rwlock7.c, nptl/tst-rwlock9.c, nptl/tst-rwlock14.c: Use - libsupport. - - * nptl/tst-sem5.c (do_test): Use xclock_gettime, timespec_add and - TEST_TIMESPEC_NOW_OR_AFTER from libsupport. - - * nptl/tst-cond11.c: Use libsupport. - - * support/timespec.h: New file. Provide timespec helper functions - along with macros in the style of those in check.h. - * support/timespec.c: New file. Implement check functions declared - in support/timespec.h. - * support/timespec-add.c: New file from gnulib containing - timespec_add implementation that handles overflow. - * support/timespec-sub.c: New file from gnulib containing - timespec_sub implementation that handles overflow. - * support/README: Mention timespec.h. - -2019-05-09 Szabolcs Nagy - - [BZ #24537] - * nptl/Makefile: Move tst-eintr1 to xtests. - -2019-05-09 Adhemerval Zanella - - * sysdeps/powerpc/fpu/trunc_to_integer.h (set_fenv_mode): Add - TRUNC handling. - (round_mode): Add definition for TRUNC. - * sysdeps/powerpc/fpu/s_trunc.c: New file. - * sysdeps/powerpc/fpu/s_truncf.c: New file. - * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-power5+.S: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-ppc32.S: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-power5+.S: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-ppc32.S: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-power5+.c: New - file. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-ppc32.c: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-power5+.c: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-ppc32.c: - Likewise. - * sysdep/powerpc/powerpc32/power5+/fpu/s_trunc.S: Remove file. - * sysdep/powerpc/powerpc32/power5+/fpu/s_truncf.S: Likewise. - * sysdep/powerpc/powerpc64/be/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_trunc-power5+, s_trunc-ppc64, - s_truncf-power5+, and s_truncf-ppc64. - (CFLAGS-s_trunc-power5+.c, CFLAGS-s_truncf-power5+.c): New rule. - * sysdep/powerpc/powercp64/be/fpu/multiarch/s_trunc-power5+.c: New - file. - * sysdep/powerpc/powercp64/be/fpu/multiarch/s_trunc-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_trunc.c: ... here. - * sysdep/powerpc/powercp64/be/fpu/multiarch/s_truncf-power5+.c: New - file. - * sysdep/powerpc/powercp64/be/fpu/multiarch/s_truncf-ppc64.c: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_truncf.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove s_trunc-power5+, s_trunc-ppc64, - s_truncf-power5+, and s_truncf-ppc64. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_trunc-power5+.S: Remove - file. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_trunc-ppc64.S: Likewise. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_truncf-power5+.S: - Likewise. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_truncf-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise. - * sysdep/powerpc/powerpc64/power5+/fpu/s_trunc.S: Likewise. - * sysdep/powerpc/powerpc64/power5+/fpu/s_truncf.S: Likewise. - - * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode): Add - ROUND handling. - (round_mode): Add definition for ROUND. - (round_to_integer_float): Likewise. - * sysdeps/powerpc/fpu/s_round.c: New file. - * sysdeps/powerpc/fpu/s_roundf.c: New file. - * sysdeps/powerpc/powerpc32/fpu/s_round.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-power5+.S: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-ppc32.S: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-power5+.S: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-ppc32.S: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-power5+.c: New - file. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-ppc32.c: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-power5+.c: - Likewise. - * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-ppc32.c: - Likewise. - * sysdep/powerpc/powerpc32/power5+/fpu/s_round.S: Remove file. - * sysdep/powerpc/powerpc32/power5+/fpu/s_roundf.S: Likewise. - * sysdep/powerpc/powerpc64/be/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_round-power5+, s_round-ppc64, - s_roundf-power5+, and s_roundf-ppc64. - (CFLAGS-s_round-power5+.c, CFLAGS-s_roundf-power5+.c): New rule. - * sysdep/powerpc/powercp64/be/fpu/multiarch/s_round-power5+.c: New - file. - * sysdep/powerpc/powercp64/be/fpu/multiarch/s_round-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_round.c: ... here. - * sysdep/powerpc/powercp64/be/fpu/multiarch/s_roundf-power5+.c: New - file. - * sysdep/powerpc/powercp64/be/fpu/multiarch/s_roundf-ppc64.c: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_roundf.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove s_round-power5+, s_round-ppc64, - s_roundf-power5+, and s_roundf-ppc64. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_round-power5+.S: Remove - file. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_round-ppc64.S: Likewise. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_roundf-power5+.S: - Likewise. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_roundf-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise. - * sysdep/powerpc/powerpc64/power5+/fpu/s_round.S: Likewise. - * sysdep/powerpc/powerpc64/power5+/fpu/s_roundf.S: Likewise. - - * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode): - Add FLOOR option. - (round_mode): Add definition for FLOOR. - * sysdeps/powerpc/fpu/s_floor.c: New file. - * sysdeps/powerpc/fpu/s_floorf.c: Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-power5+.S: - Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-ppc32.S: - Likewise - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-power5+.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-power5+.c: - New file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-power5+.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_floor.S: Remove file. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_floorf.S: Remove file. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_floor-power5+, s_floor-ppc64, - s_floorf-power5+, and s_floorf-ppc64. - (CFLAGS-s_floor-power5+.c, CFLAGS-s_floorf-power5+.c): New rule. - * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floor-power5+.c: New - file. - * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floor-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_floor.c: ... here. - * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floorf-power5+.c: New - file. - * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floorf-ppc64.c: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_floorf.c: ... here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove s_floor-power5+, s_floor-ppc64, - s_floorf-power5+, and s_floorf-ppc64. - * sysdep/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S: Remove - file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S: Remove - file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: Likewise. - -2019-05-08 Mike Crowe - - * support/xclock_gettime.c (xclock_gettime): New file. Provide - clock_gettime wrapper for use in tests that fails the test rather - than returning failure. - - * support/xtime.h: New file to declare xclock_gettime. - - * support/Makefile: Add xclock_gettime.c. - - * support/README: Mention xtime.h. - -2019-05-08 Florian Weimer - - malloc/tst-mallocfork2: Use process-shared barriers. - * malloc/tst-mallocfork2.c: Switch to . - (signal_count, sigusr1_sender_pid): Remove. - (iterations): Define constant. - (shared): New variable. - (sigusr1_received): Update comment. - (sigusr1_handler): Do not send SIGSTOP to the sender process. - (signal_sender): Optional use barriers to avoid sending signals - during irrelevant times. - (do_it): Initialize variable shared. Use xfork for error - checking. Launch multiple SIGUSR1-sending subprocesses. Limit - the iteration count, independent of signal delivery. Check for - deadlocks in fork. Introduce barriers for reducing signal - traffic. Do not send SIGCONT to the SIGUSR1-sending processes; - replaced by the barriers. Count signals during fork/free/malloc - and report them. - * malloc/Makefile (tst-mallocfork): Link with libpthread. - -2019-05-07 Joseph Myers - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 5.1. - (clock_adjtime64) New syscall. - (clock_getres_time64) Likewise. - (clock_gettime64) Likewise. - (clock_nanosleep_time64) Likewise. - (clock_settime64) Likewise. - (futex_time64) Likewise. - (io_pgetevents_time64) Likewise. - (io_uring_enter) Likewise. - (io_uring_register) Likewise. - (io_uring_setup) Likewise. - (mq_timedreceive_time64) Likewise. - (mq_timedsend_time64) Likewise. - (pidfd_send_signal) Likewise. - (ppoll_time64) Likewise. - (pselect6_time64) Likewise. - (recvmmsg_time64) Likewise. - (rt_sigtimedwait_time64) Likewise. - (sched_rr_get_interval_time64) Likewise. - (semtimedop_time64) Likewise. - (timer_gettime64) Likewise. - (timer_settime64) Likewise. - (timerfd_gettime64) Likewise. - (timerfd_settime64) Likewise. - (utimensat_time64) Likewise. - - * scripts/build-many-glibcs.py (Context.checkout): Default GCC - version to 9 branch. - -2019-05-03 Anton Youdkevitch - - * sysdeps/aarch64/multiarch/ifunc-impl-list.c: Added - __memmove_thunderx2 to the list of implementations - * sysdeps/aarch64/multiarch/memmove.c: Likewise - * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: - (__memmove_thunderx2): Rewritten using SIMD ld/st - (__memcpy_thunderx2): Fixed handling overlapping cases. - Used ldp/stp instead of ldr/str if possible. Made loops - tails branchless. - -2019-05-03 Florian Weimer - - * misc/tst-tsearch.c (walk_tree): Add more error checking. - -2019-05-02 Adhemerval Zanella - - [BZ #24506] - * elf/tst-pldd.c (in_str_list): New function. - (do_test): Add default names for ld and libc as one option. - -2019-05-02 Florian Weimer - - misc: Add twalk_r function. - * include/search.h (__twalk_r): Declare. - * manual/examples/twalk.c: New file. - * manual/search.texi (Tree Search Function): Document twalk_r. - * misc/Versions (2.30): Export twalk_r. - (GLIBC_PRIVATE): Export __twalk_r. - * misc/search.h [__USE_GNU] (twalk_r): Declare. - * misc/tsearch.c (trecurse_r, __twalk_r): New functions. - (twalk_r): Add weak alias. - * misc/tst-tsearch.c (struct walk_trace_element): Define. - (walk_trace): New variable. - (struct twalk_with_twalk_r_closure): Define. - (twalk_with_twalk_r_action): New function. - (twalk_with_twalk_r): Likewise. - (walk_action): Call walk_trace_add. - (walk_tree_with): Rename from walk_tree. Add walk argument. - (walk_tree): New function. - * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.30): Add twalk_r. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/csky/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.30): - Likewise. - -2019-04-30 Paul Eggert - - Make mktime etc. compatible with __time64_t - Keep these functions compatible with Gnulib while adding - __time64_t support. The basic idea is to move private API - declarations from include/time.h to time/mktime-internal.h, since - the former file cannot easily be shared with Gnulib whereas the - latter can. - Also, do some other minor cleanup while in the neighborhood. - * include/time.h: Include stdbool.h, time/mktime-internal.h. - (__mktime_internal): Move this prototype to time/mktime-internal.h, - since Gnulib needs it. - (__localtime64_r, __gmtime64_r) [__TIMESIZE == 64]: - Move these macros to time/mktime-internal.h, since Gnulib needs them. - (__mktime64, __timegm64) [__TIMESIZE != 64]: New prototypes. - (in_time_t_range): New static function. - * posix/bits/types.h (__time64_t): Move to time/mktime-internal.h, - so that glibc users are not tempted to use __time64_t. - * time/mktime-internal.h: Rewrite so that it does both glibc - and Gnulib work. Include time.h if not _LIBC. - (mktime_offset_t) [!_LIBC]: Define for gnulib. - (__time64_t): New type or macro, moved here from - posix/bits/types.h. - (__gmtime64_r, __localtime64_r, __mktime64, __timegm64) - [!_LIBC || __TIMESIZE == 64): New macros, mostly moved here - from include/time.h. - (__gmtime_r, __localtime_r, __mktime_internal) [!_LIBC]: - New macros, taken from GNulib. - (__mktime_internal): New prototype, moved here from include/time.h. - * time/mktime.c (mktime_min, mktime_max, convert_time) - (ranged_convert, __mktime_internal, __mktime64): - * time/timegm.c (__timegm64): - Use __time64_t, not time_t. - * time/mktime.c: Stop worrying about whether time_t is floating-point. - (__mktime64) [! (_LIBC && __TIMESIZE != 64)]: - Rename from mktime. - (mktime) [_LIBC && __TIMESIZE != 64]: New function. - * time/timegm.c [!_LIBC]: Include libc-config.h, not config.h, - for libc_hidden_def. - Include errno.h. - (__timegm64) [! (_LIBC && __TIMESIZE != 64)]: - Rename from timegm. - (timegm) [_LIBC && __TIMESIZE != 64]: New function. - -2019-04-30 Maciej W. Rozycki - - [BZ #19444] - * sysdeps/ieee754/soft-fp/s_ddivl.c (__ddivl): Ignore errors - from `-Wmaybe-uninitialized'. - * sysdeps/ieee754/soft-fp/s_fdivl.c (__fdivl): Likewise. - -2019-04-29 Adhemerval Zanella - - * sysdeps/powerpc/fpu/fenv_libc.h (__fesetround_inline_nocheck): New - function. - * sysdeps/powerpc/fpu/round_to_integer.h: New file. - * sysdeps/powerpc/fpu/s_ceil.c: Likewise. - * sysdeps/powerpc/fpu/s_ceilf.c: Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile - (CFLAGS-s_ceil-power5+.c, CFLAGS-s_ceilf-power5+.c): New rule. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-power5+.S: - Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-power5+.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-power5+.c: - New file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-power5+.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceil.S: Remove file. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceilf.S: Likewise. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile: New file. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil-power5+.c: - Likewise. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil-ppc64.c: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil.c: ... here. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf-power5+.c: New - file. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf-ppc64.c: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Move to ... - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf.c: ... - * here. - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove s_ceil-power5+, s_ceil-ppc64, - s_ceilf-power5+, and s_ceilf-ppc64. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S: Remove - file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: Likewise. - - * sysdeps/powerpc/power4/fpu/Makefile: Remove file. - * sysdeps/powerpc/power4/fpu/mpa-arch.h: Likewise. - * sysdeps/powerpc/power4/fpu/mpa.c: Likewise. - -2019-04-29 Yann Droneaud - - * sysdeps/pthread/semaphore.h (sem_init): Add __nonnull attribute. - (sem_destroy, sem_open, sem_close, sem_unlink): Likewise. - (sem_wait, sem_timedwait, sem_trywait, sem_post): Likewise. - (sem_getvalue): Likewise. - -2019-04-26 Florian Weimer - - elf: Link sotruss-lib.so with BIND_NOW for --enable-bind-now. - * elf/Makefile (LDFLAGS-sotruss-lib.so): Set. - -2019-04-26 Florian Weimer - - Makeconfig: Move -Wl,-rpath-link options before library references. - * Makeconfig (+link-pie, +link): Add $(link-libc-rpath-link). - (link-libc): Remove $(link-libc-rpath-link). - -2019-04-25 Florian Weimer - - * Makeconfig (+link-pie-before-libc): Remove $(CC). - (+link-pie, +link-pie-tests, +link-pie-printers-tests): Add $(CC). - (+link-static-before-libc): Remove $(CC). - (+link-static, +link-static-tests): Add $(CC). - (+link-before-libc): Remove $(CC). - (+link, +link-pie, +link-pie-printers): Add $(CC). - -2019-04-26 Florian Weimer - - * Makeconfig (+link-pie-before-libc): Remove $(CC). - (+link-pie, +link-pie-tests, +link-pie-printers-tests): Add $(CC). - (+link-static-before-libc): Remove $(CC). - (+link-static, +link-static-tests): Add $(CC). - (+link-before-libc): Remove $(CC). - (+link, +link-pie, +link-pie-printers): Add $(CC). - -2019-04-25 David Abdurachmanov - - [BZ#24484] - * sysdeps/riscv/ldsodefs.h (DL_RO_DYN_SECTION): Remove. - -2019-04-25 Florian Weimer - - benchtests: Enable BIND_NOW if configured with --enable-bind-now. - * benchtests/Makefile [$(bind-now)] (link-bench-bind-now): Set. - (bench-link-targets): New variable. - ($(binaries-bench) …): Use it. Set LDFLAGS accordingly. - -2019-04-25 Florian Weimer - - Also enable BIND_NOW for programs if --enable-bind-now. - * Makeconfig [$(bind-now)] (link-extra-flags): Add -Wl,-z,now. - (+link-pie): Use $(link-extra-flags). - (+link-static): Likewise. - [! $(build-pie-default)] (+link): Likewise. - * manual/install.texi (Configuring and compiling): Update - --enable-bind-now description. - * INSTALL: Regenerated. - -2019-04-24 Wilco Dijkstra - - * benchtests/Makefile (BENCH_DURATION): Set to 1 second. - * benchtests/bench-malloc-thread.c (BENCH_DURATION): Set to 10 seconds. - -2019-04-24 Mike Frysinger - - [BZ #18465] - * malloc/Makefile (others): Add memusagestat. - ($(objpfx)memusagestat): Delete rule. - (LDLIBS-memusagestat): New variable. - -2019-04-24 Florian Weimer - - * locale/Makefile (tests-special): Guard setting by - $(run-built-tests) == yes, otherwise tst-locale-locpath attempts - to run while cross-compiling. - -2019-04-23 Adhemerval Zanella - - [BZ #18035] - * elf/Makefile (tests-container): Add tst-pldd. - * elf/pldd-xx.c: Use _Static_assert in of pldd_assert. - (E(find_maps)): Avoid use alloca, use default read file operations - instead of explicit LFS names, and fix infinite loop. - * elf/pldd.c: Explicit set _FILE_OFFSET_BITS, cleanup headers. - (get_process_info): Use _Static_assert instead of assert, use default - directory operations instead of explicit LFS names, and free some - leadek pointers. - * elf/tst-pldd.c: New file. - -2019-04-23 H.J. Lu - - * malloc/arena.c (do_set_mallopt_check): Removed. - -2019-04-23 Florian Weimer - - locale: Add LOCPATH diagnostics to the locale program. - * locale/programs/locale.c (setlocale_failed): New variable. - (try_setlocale): New function. - (quote_string): Likewise. - (setlocale_diagnostics): Likewise. - (main): Call try_setlocale instead of setlocale. Call - setlocale_diagnostics. - * locale/Makefile (tests-special): Add tst-locale-locpath.out. - (tst-locale-locpath.out): New target. - * locale/tst-locale-locpath.sh: New file. - -2019-04-21 Adhemerval Zanella - - * NEWS: Move memory allocation changes of BZ#23741 from 2.29 - to 2.30 notes. - -2019-04-18 Adhemerval Zanella - - [BZ #23741] - * malloc/hooks.c (malloc_check, realloc_check): Use - __builtin_add_overflow on overflow check and adapt to - checked_request2size change. - * malloc/malloc.c (__libc_malloc, __libc_realloc, _mid_memalign, - __libc_pvalloc, __libc_calloc, _int_memalign): Limit maximum - allocation size to PTRDIFF_MAX. - (REQUEST_OUT_OF_RANGE): Remove macro. - (checked_request2size): Change to inline function and limit maximum - requested size to PTRDIFF_MAX. - (__libc_malloc, __libc_realloc, _int_malloc, _int_memalign): Limit - maximum allocation size to PTRDIFF_MAX. - (_mid_memalign): Use _int_memalign call for overflow check. - (__libc_pvalloc): Use __builtin_add_overflow on overflow check. - (__libc_calloc): Use __builtin_mul_overflow for overflow check and - limit maximum requested size to PTRDIFF_MAX. - * malloc/malloc.h (malloc, calloc, realloc, reallocarray, memalign, - valloc, pvalloc): Add __attribute_alloc_size__. - * stdlib/stdlib.h (malloc, realloc, reallocarray, valloc): Likewise. - * malloc/tst-malloc-too-large.c (do_test): Add check for allocation - larger than PTRDIFF_MAX. - * malloc/tst-memalign.c (do_test): Disable -Walloc-size-larger-than= - around tests of malloc with negative sizes. - * malloc/tst-posix_memalign.c (do_test): Likewise. - * malloc/tst-pvalloc.c (do_test): Likewise. - * malloc/tst-valloc.c (do_test): Likewise. - * malloc/tst-reallocarray.c (do_test): Replace call to reallocarray - with resulting size allocation larger than PTRDIFF_MAX with - reallocarray_nowarn. - (reallocarray_nowarn): New function. - * NEWS: Mention the malloc function semantic change. - -2019-04-17 Adhemerval Zanella - - * sysdeps/powerpc/fpu/s_fma.c: Fix format. - * sysdeps/powerpc/fpu/s_fmaf.c: Likewise. - - * sysdeps/powerpc/fpu/s_fma.S: Remove file. - * sysdeps/powerpc/fpu/s_fmaf.S: Likewise. - * sysdeps/powerpc/fpu/s_fma.c: New file. - * sysdeps/powerpc/fpu/s_fmaf.c: Likewise. - - * sysdeps/powerpc/fpu/s_fabs.S: Remove file. - * sysdeps/powerpc/fpu/s_fabsf.S: Likewise. - - * sysdeps/unix/sysv/linux/mips/getcontext.S (__getcontext): Remove - the magic flag store. - * sysdeps/unix/sysv/linux/mips/makecontext.S (__makecontext): - Likewise. - * sysdeps/unix/sysv/linux/mips/swapcontext.S (__swapcontext): - Likewise. - * sysdeps/unix/sysv/linux/mips/setcontext.S (__setcontext): - Remove rt_sigreturn call. - - * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: - Remove rt_sigreturn call. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewie. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. - - * support/Makefile (libsupport-routines): Add support_subprocess, - xposix_spawn, xposix_spawn_file_actions_addclose, and - xposix_spawn_file_actions_adddup2. - (tst-support_capture_subprocess-ARGS): New rule. - * support/capture_subprocess.h (support_capture_subprogram): New - prototype. - * support/support_capture_subprocess.c (support_capture_subprocess): - Refactor to use support_subprocess and support_capture_poll. - (support_capture_subprogram): New function. - * support/tst-support_capture_subprocess.c (write_mode_to_str, - str_to_write_mode, test_common, parse_int, handle_restart, - do_subprocess, do_subprogram, do_multiple_tests): New functions. - (do_test): Add support_capture_subprogram tests. - * support/subprocess.h: New file. - * support/support_subprocess.c: Likewise. - * support/xposix_spawn.c: Likewise. - * support/xposix_spawn_file_actions_addclose.c: Likewise. - * support/xposix_spawn_file_actions_adddup2.c: Likewise. - * support/xspawn.h: Likewise. - -2019-04-17 Mike Gerow - - * stdlib/tst-secure-getenv.c (choose_gid): Remove 64 supplemental - groups limit. - -2019-04-11 Florian Weimer - - * resolv/nss_dns/dns-network.c (getanswer_r): Do not replace root - domain with empty string. - * resolv/nss_dns/dns-host.c (getanswer_r): Likewise. - -2019-04-11 Florian Weimer - - * include/alloc_buffer.h (alloc_buffer_alloc_bytes): Update - comment. - (alloc_buffer_next): Change return type to non-const. Update - comment. - -2019-04-10 TAMUKI Shoichi - - * manual/time.texi (Formatting Calendar Time): Add missing percent - sign to conversion specifier. - -2019-04-09 Carlos O'Donell - Kwok Cheung Yeung - - [BZ #16573] - * malloc/mtrace.c: Define prototypes for all hooks. - (set_default_hooks): New function. - (set_trace_hooks): Likewise. - (save_default_hooks): Likewise. - (tr_freehook): Use new s*_hooks functions. - (tr_mallochook): Likewise. - (tr_reallochook): Likewise. - (tr_memalignhook): Likewise. - (mtrace): Likewise. - (muntrace): Likewise. - -2019-04-09 Wilco Dijkstra - - * benchtests/bench-stpcpy.c (SIMPLE_STPCPY): Remove function. - (generic_stpcpy): New function. - * benchtests/bench-stpncpy.c (SIMPLE_STPNCPY): Remove function. - (generic_stpncpy): New function. - * benchtests/bench-strcat.c (SIMPLE_STRCAT): Remove function. - (generic_strcat): New function. - * benchtests/bench-strcpy.c (SIMPLE_STRCPY): Remove function. - (generic_strcpy): New function. - * benchtests/bench-strncat.c (SIMPLE_STRNCAT): Remove function. - (STUPID_STRNCAT): Remove function. - (generic_strncat): New function. - * benchtests/bench-strncpy.c (SIMPLE_STRNCPY): Remove function. - (STUPID_STRNCPY): Remove function. - (generic_strncpy): New function. - * benchtests/bench-strnlen.c (SIMPLE_STRNLEN): Remove function. - (generic_strnlen): New function. - (memchr_strnlen): New function. - * benchtests/bench-strlen.c (generic_strlen): Define for WIDE. - (memchr_strlen): Likewise. - -2019-04-09 Wilco Dijkstra - - * benchtests/bench-strstr.c (input): Add realistic input text. - (stupid_strstr): Remove function. - (basic_strstr): Add function. - (twoway_strstr): Add function. - (do_one_test): Add result checking. - (do_test): Use new input text. Remove accidental early matches. - (test_main): Improve range of tests, reduce unaligned cases. - -2019-04-09 Wilco Dijkstra - - * benchtests/bench-memmem.c (simple_memmem): Remove function. - (basic_memmem): Add function. - (twoway_memmem): Add function. - -2019-04-09 Wilco Dijkstra - - * benchtests/bench-malloc-simple.c: Remove TIMING_INIT. - * benchtests/bench-malloc-thread.c: Likewise. - * benchtests/bench-skeleton.c: Likewise. - * benchtests/bench-strtod.c: Likewise. - * benchtests/bench-timing.h: Likewise. - -2019-04-08 Florian Weimer - - * resolv/resolv.h (RES_INSECURE1, RES_INSECURE2): Remove - definitions. - * resolv/res_send.c (send_dg): Always perform RES_INSECURE1 and - RES_INSECURE2 security checks. - * resolv/res_debug.c (p_option): Remove RES_INSECURE1 and - RES_INSECURE2 handling. - -2019-04-08 Florian Weimer - - resolv: Remove support for RES_USE_INET6 and the inet6 option. - * nscd/aicache.c (addhstaiX): Do not disable RES_USE_INET6. - * nscd/nscd_gehst_r.c (__nscd_gethostbyname_r): Always use - GETHOSTBYNAME. - * resolv/Makefile (tests): Remove tst-res_use_inet6. - (tests-internal): Update justification for tst-resolv-res_init, - tst-resolv-res_init-thread. - (tst-res_use_inet6): Remove target. - (CFLAGS-tst-res_use_inet6.c): Do not set variable. - * resolv/res_debug.c (p_option): Remove "inet6" support. - * resolv/res_init.c (res_setoptions): Likewise. - * resolv/res_use_inet6.h: Remove file. - * resolv/resolv-internal.h (DEPRECATED_RES_USE_INET6): Remove - definition. - (res_use_inet6): Always return false. - * resolv/resolv.h (RES_USE_INET6): Remove definition. - * resolv/resolv_context.h: Adjust file comment. - (struct resolv_context): Update comment on __next field. - (__resolv_context_put): Update comment. - * resolv/tst-res_use_inet6.c: Remove file. - * resolv/tst-resolv-res_init-skeleton.c (print_resp): Remove - "inet6" support. - (test_cases): Adjust test case. - * resolv/tst-resolv-threads.c (byname_inet6) Remove function. - (thread_byname2_af_inet6): Use old byname_inet6 code. - (thread_byname_inet6, thread_byname2_af_inet6): Remove functions. - (gai): Remove do_inet6 argument. - (thread_gai_inet, thread_gai_inet6, thread_gai_unspec): Adjust. - (thread_gai_inet_inet6, thread_gai_inet6_inet6) - (thread_gai_unspec_inet6): Remove functions. - (do_test): Adjust thread_funcs. - * sysdeps/posix/getaddrinfo.c (gethosts): Do not restore - RES_USE_INET6 flag. - (gaih_inet): Do not disable RES_USE_INET6 flag. - -2019-04-05 Anton Youdkevitch - - * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: Cleanup branching - and remove redundant code. - -2019-04-04 Adhemerval Zanella - - * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcsrchr.c): - New rule. - * sysdeps/powerpc/power6/wcsrchr.c: Remove file. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power6.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power7.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power6.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power7.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c: Likewise. - * sysdeps/powerpc/powerpc64/power6/wcsrchr.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile - [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcsrchr-power6 and - wcsrchr-power7. - (CFLAGS-wcsrchr-power7.c, CFLAGS-wcsrchr-power6.c): Remove rule. - * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: - Remove wcsrchr optimizations. - * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. - - * wcsmbs/wcsrchr.c (WCSRCHR): Use loop_unroll.h to parametrize - the loop unroll. - - * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcschr.c): - New rule. - * sysdeps/powerpc/power6/wcschr.c: Remove file. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power6.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power7.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcschr-power6.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcschr-power7.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcschr-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcschr.c: Likewise. - * sysdeps/powerpc/powerpc64/power6/wcschr.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile - [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcschr-power6 and - wcschr-power7. - (CFLAGS-wcschr-power7.c, CFLAGS-wcschr-power6.c): Remove rule. - * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: - Remove wcschr optimizations. - * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. - - * wcsmbs/wcschr.c (WCSCHR): Use loop_unroll.h to parametrize - the loop unroll. - - * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcscpy.c): - New rule. - * sysdeps/powerpc/power6/wcscpy.c: Remove file. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-power6.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-power7.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-ppc32.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcscpy-power6.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcscpy-power7.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcscpy-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/wcscpy.c: Likewise. - * sysdeps/powerpc/powerpc64/power6/wcscpy.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile - [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcscpy-power6 and - wcscpy-power7. - (CFLAGS-wcscpy-power7.c, CFLAGS-wcscpy-power6.c): Remove rule. - * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. - * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: - Remove wcscpy optimizations. - * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. - - * include/loop_unroll.h: New file. - * wcsmbs/wcscpy (__wcscpy): Add option to use loop unrolling - besides generic implementation. - -2019-04-03 DJ Delorie - - * time/tst-strftime3.c (tm_to_printed): Disable warning about - snprintf truncating output. - -2019-04-02 DJ Delorie - - * time/tst-strftime3.c: Add new Japanese era tests. Fix printf - warning. - -2019-04-02 TAMUKI Shoichi - - [BZ #22964] - * localedata/locales/ja_JP (LC_TIME): Add entry for the new Japanese - era. - * time/tst-strftime2.c (dates): Add 2019-04-30 and 2019-05-01. - (mkreftable): Add rules for the new Japanese era and the new dates. - -2019-04-02 TAMUKI Shoichi - Rafal Luzynski - - * time/tst-strftime2.c (date_t): Explicitly define the type. - (dates): Use natural month and year numbers to express a date. - (is_before): New function to compare dates. - (mkreftable): Minor improvements to simplify maintenance. - (do_test): Reflect the changes in dates array. - - [BZ #24293] - * time/Makefile (LOCALES): Add zh_TW.UTF-8, cmn_TW.UTF-8, - hak_TW.UTF-8, nan_TW.UTF-8, and lzh_TW.UTF-8. - * time/tst-strftime2.c (locales): Likewise. - (dates): Add 1910-04-01, 1911-12-31, 1912-01-01, 1913-04-01, - 2010-04-01, and 2011-04-01. - (mkreftable): Add rules for the new locales and the new dates. - -2019-04-01 Carlos O'Donell - - * localedata/locales/ja_JP: Add comments to era entries. - -2019-04-01 DJ Delorie - - [BZ #24394] - * time/strptime_l.c (%Ey): Fix fencepost error. - * time/tst-strftime3.c: New. - * time/Makefile (tests): Add tst-strftime3. - -2019-04-01 Uros Bizjak - - * sysdeps/alpha/divqu.S (__divqu): Move save of $f0 and excb after - conditional branch to DIVBYZERO. Fix unwind info. - * sysdeps/alpha/remqu.S (__remqu): Move saves of $f0, $f1, $f2 and - excb after conditional branch to $powerof2. Add missing unop - instructions and .align directives and reorder instructions to - match __divqu. - -2019-04-01 Richard Henderson - - * sysdeps/unix/sysv/linux/alpha/kernel-features.h (__NR_shmat): - Do not redefine. - * sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_osf_shmat): - Do not redefine. - -2019-03-30 Maciej W. Rozycki - - * sysdeps/unix/sysv/linux/riscv/configure.ac: Quote - $libc_cv_riscv_float_abi in `test' invocation. - * sysdeps/unix/sysv/linux/riscv/configure: Regenerate. - -2019-03-29 Paul A. Clarke - - * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_register): Replace inline - asm with builtin. - * sysdeps/powerpc/powerpc64/le/fpu/sfp-machine.h (FP_INIT_ROUNDMODE): - Likewise. - * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (_GET_DI_FPSCR): Likewise. - (_GET_SI_FPSCR): Likewise. - (_SET_SI_FPSCR): Likewise. - -2019-03-26 Adhemerval Zanella - - * math/math.h (fpclassify, isfinite, isnormal, isnan): Use builtin for - clang 2.8. - (signbit): Use builtin for clang 3.3. - (isinf): Use builtin for clang 3.7. - -2019-03-25 Adhemerval Zanella - - * sysdeps/powerpc/fpu/s_float_bitwise.h: Remove file. - -2019-03-25 Andreas K. Hüttel - - * nss/tst-nss-files-alias-leak.c (do_test): add missing opening - quote in printf. - -2019-03-25 Mike Crowe - - * nptl/tst-rwlock14.c (do_test): Replace duplicate calls to - pthread_rwlock_timedrdlock with calls to - pthread_rwlock_timedwrlock to ensure that the latter is tested - too. Use new function name in diagnostic messages too. - - * nptl/tst-sem5.c: Remove unused headers. Add . - (do_test) Use libsupport test macros rather than hand-coded - conditionals and error messages. Ensure that sem_init returns zero - rather than not -1. Use rather than - test-skeleton.c. - - * nptl/tst-sem13.c: Add . (do_test) Use libsupport - test macros rather than hand-coded conditionals and error messages. - Use rather than test-skeleton.c. - -2019-03-25 Joseph Myers - - * sysdeps/gnu/netinet/udp.h (UDP_GRO): New macro. - - * elf/elf.h (NT_ARM_PAC_MASK): New macro. - (NT_MIPS_MSA): Likewise. - -2019-03-22 Adhemerval Zanella - - * benchtests/Makefile (USE_CLOCK_GETTIME) Remove. - * benchtests/README: Update description. - * benchtests/bench-timing.h: Default to hp-timing. - * sysdeps/generic/hp-timing.h (HP_TIMING_DIFF, HP_TIMING_ACCUM_NT, - HP_TIMING_PRINT): Remove. - (HP_TIMING_NOW): Add generic implementation. - (hp_timing_t): Change to uint64_t. - - * benchtests/bench-timing.h: Replace HP_TIMING_AVAIL with - HP_TIMING_INLINE. - * nptl/descr.h: Likewise. - * elf/rtld.c (RLTD_TIMING_DECLARE, RTLD_TIMING_NOW, RTLD_TIMING_DIFF, - RTLD_TIMING_ACCUM_NT, RTLD_TIMING_SET): Define. - (dl_start_final_info, _dl_start_final, dl_main, print_statistics): - Abstract hp-timing usage with RTLD_* macros. - * sysdeps/alpha/hp-timing.h (HP_TIMING_INLINE): Define iff IS_IN(rtld). - (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL): Remove. - * sysdeps/generic/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL, - HP_TIMING_NONAVAIL): Likewise. - * sysdeps/ia64/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL): - Likewise. - * sysdeps/powerpc/powerpc32/power4/hp-timing.h (HP_TIMING_AVAIL, - HP_SMALL_TIMING_AVAIL): Likewise. - * sysdeps/powerpc/powerpc64/hp-timing.h (HP_TIMING_AVAIL, - HP_SMALL_TIMING_AVAIL): Likewise. - * sysdeps/sparc/sparc32/sparcv9/hp-timing.h (HP_TIMING_AVAIL, - HP_SMALL_TIMING_AVAIL): Likewise. - * sysdeps/sparc/sparc64/hp-timing.h (HP_TIMING_AVAIL, - HP_SMALL_TIMING_AVAIL): Likewise. - * sysdeps/x86/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL): - Likewise. - * sysdeps/generic/hp-timing-common.h: Update comment with - HP_TIMING_AVAIL removal. - - * include/random-bits.h: New file. - * resolv/res_mkquery.c [HP_TIMING_AVAIL] (RANDOM_BITS, - (__res_context_mkquery): Remove usage hp-timing usage and replace with - random_bits. - * resolv/res_send.c [HP_TIMING_AVAIL] (nameserver_offset): Likewise. - * sysdeps/posix/tempname.c [HP_TIMING_AVAIL] (__gen_tempname): - Likewise. - - * include/libc-internal.h (__get_clockfreq): Remove prototype. - * rt/Makefile (clock-routines): Remove get_clockfreq. - * rt/get_clockfreq.c: Remove file. - * sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Likewise. - * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c: Move code to ... - * sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c: ... here. - - * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: Remove file. - * sysdeps/unix/sysv/linux/ia64/sysconf.c: Likewise. - * sysdeps/unix/sysv/linux/sysconf.c (has_cpuclock): Remove function. - (__sysconf): Assume kernel support for _SC_MONOTONIC_CLOCK, - _SC_CPUTIME, and _SC_THREAD_CPUTIME. - - * nptl/Makefile (libpthread-routines): Remove pthread_clock_gettime and - pthread_clock_settime. - * nptl/pthreadP.h (__find_thread_by_id): Remove prototype. - * elf/dl-support.c [!HP_TIMING_NOAVAIL] (_dl_cpuclock_offset): Remove. - (_dl_non_dynamic_init): Remove _dl_cpuclock_offset setting. - * elf/rtld.c (_dl_start_final): Likewise. - * nptl/allocatestack.c (__find_thread_by_id): Remove function. - * sysdeps/generic/ldsodefs.h [!HP_TIMING_NOAVAIL] (_dl_cpuclock_offset): - Remove. - * sysdeps/mach/hurd/dl-sysdep.c [!HP_TIMING_NOAVAIL] - (_dl_cpuclock_offset): Remove. - * nptl/descr.h (struct pthread): Rename cpuclock_offset to - cpuclock_offset_ununsed. - * nptl/nptl-init.c (__pthread_initialize_minimal_internal): Remove - cpuclock_offset set. - * nptl/pthread_create.c (START_THREAD_DEFN): Likewise. - * sysdeps/nptl/fork.c (__libc_fork): Likewise. - * nptl/pthread_clock_gettime.c: Remove file. - * nptl/pthread_clock_settime.c: Likewise. - * sysdeps/unix/clock_gettime.c (hp_timing_gettime): Remove function. - [HP_TIMING_AVAIL] (realtime_gettime): Remove CLOCK_THREAD_CPUTIME_ID - and CLOCK_PROCESS_CPUTIME_ID support. - * sysdeps/unix/clock_settime.c (hp_timing_gettime): Likewise. - [HP_TIMING_AVAIL] (realtime_gettime): Likewise. - * sysdeps/posix/clock_getres.c (hp_timing_getres): Likewise. - [HP_TIMING_AVAIL] (__clock_getres): Likewise. - * sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P, INVALID_CLOCK_P): - Likewise. - (__clock_nanosleep): Remove CPUCLOCK_P and INVALID_CLOCK_P usage. - -2019-03-22 Stefan Liebler - - * sysdeps/s390/Makefile (sysdep_routines): Add memmem-arch13. - * sysdeps/s390/ifunc-memmem.h (HAVE_MEMMEM_ARCH13, MEMMEM_ARCH13, - MEMMEM_Z13_ONLY_USED_AS_FALLBACK, HAVE_MEMMEM_IFUNC_AND_ARCH13_SUPPORT): - New defines. - * sysdeps/s390/memmem-arch13.S: New file. - * sysdeps/s390/memmem-vx.c: Omit GI symbol for z13 memmem ifunc variant - if it is only used as fallback. - * sysdeps/s390/memmem.c (memmem): Add arch13 variant in ifunc selector. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add ifunc variant for arch13 memmem. - -2019-03-22 Stefan Liebler - - * sysdeps/s390/Makefile (sysdep_routines): Add strstr-arch13. - * sysdeps/s390/ifunc-strstr.h (HAVE_STRSTR_ARCH13, STRSTR_ARCH13, - STRSTR_Z13_ONLY_USED_AS_FALLBACK, HAVE_STRSTR_IFUNC_AND_ARCH13_SUPPORT): - New defines. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add ifunc variant for arch13 strstr. - * sysdeps/s390/strstr-arch13.S: New file. - * sysdeps/s390/strstr-vx.c: Omit GI symbol for z13 strstr ifunc variant - if it is only used as fallback. - * sysdeps/s390/strstr.c (strstr): Add arch13 variant in ifunc selector. - -2019-03-22 Stefan Liebler - - * sysdeps/s390/ifunc-memcpy.h (HAVE_MEMMOVE_ARCH13, MEMMOVE_ARCH13 - HAVE_MEMMOVE_IFUNC_AND_ARCH13_SUPPORT): New defines. - * sysdeps/s390/memcpy-z900.S: Add arch13 memmove implementation. - * sysdeps/s390/memmove.c (memmove): Add arch13 variant in - ifunc selector. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add ifunc variant for arch13 memmove. - * sysdeps/s390/multiarch/ifunc-resolve.h (S390_STFLE_BITS_ARCH13_MIE3, - S390_IS_ARCH13_MIE3): New defines. - -2019-03-22 Stefan Liebler - - * config.h.in (HAVE_S390_MIN_ARCH13_ZARCH_ASM_SUPPORT, - HAVE_S390_ARCH13_ASM_SUPPORT): New undefine. - * sysdeps/s390/configure.ac: Add checks for arch13 support. - * sysdeps/s390/configure: Regenerated. - -2019-03-22 Stefan Liebler - - * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): - Add vxe2, vxp, dflt, sort flags. - * sysdeps/s390/dl-procinfo.h: Add HWCAP_S390_VXRS_EXT2, - HWCAP_S390_VXRS_PDE, HWCAP_S390_SORT, HWCAP_S390_DFLT - capabilities. - (HWCAP_IMPORTANT): Add HWCAP_S390_VXRS_EXT2. - * sysdeps/unix/sysv/linux/s390/bits/hwcap.h - (HWCAP_S390_VXRS_EXT2, HWCAP_S390_VXRS_PDE, HWCAP_S390_SORT, - HWCAP_S390_DFLT): Define. - -2019-03-21 Gabriel F. T. Gomes - - [BZ #24372] - * iconv/iconvconfig.c (write_output): Add parentheses to get rid - of compiler warning. - * locale/programs/ld-collate.c (collate_output): Likewise. - -2019-03-21 DJ Delorie - - [BZ #24372] - * iconv/iconvconfig.c (write_output): Replace floating point math - with integer math to avoid imprecise results. - * locale/programs/ld-collate.c (collate_output): Likewise. - -2019-03-21 Stefan Liebler - - * sysdeps/s390/dl-procinfo.h (HWCAP_IMPORTANT): - Add HWCAP_S390_VX and HWCAP_S390_VXE. - -2019-03-20 mansayk <6688000@gmail.com> - - [BZ #24296] - * localedata/locales/tt_RU (day): Update from CLDR-34, fix errors. - (abday): Likewise, but remove the trailing dots. - -2019-03-19 Joseph Myers - - * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SB): New - macro. - (HWCAP_PACA): Likewise. - (HWCAP_PACG): Likewise. - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT): - Increase to 32. - (_dl_aarch64_cap_flags): Add new entries for new HWCAPs. - -2019-03-16 Samuel Thibault - - * hurd/hurd/signal.h (_hurd_critical_section_lock): Document how EINTR - should be handled. - -2019-03-15 Joseph Myers - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 5.0. - (old_getpagesize): New syscall. - -2019-03-15 Felix Yan - - [BZ #24293] - * localedata/locales/zh_TW (era): Add, support Minguo calendar. - * localedata/locales/cmn_TW (era): Likewise. - * localedata/locales/hak_TW (era): Likewise. - * localedata/locales/lzh_TW (era): Likewise. - * localedata/locales/nan_TW (era): Likewise. - -2019-03-14 Adam Maris - - * malloc/malloc.c (_int_malloc): Check for large bin list - corruption when inserting unsorted chunk. - -2019-03-14 Florian Weimer - - Remove obsolete, never-implemented XSI STREAMS declarations. - * manual/terminal.texi (Allocation): Remove portability note and - adjust example. - * sysdeps/posix/sysconf.c (__sysconf): Always return -1 for - _SC_STREAMS. - * sysdeps/unix/sysv/linux/syscalls.list (getpmsg, putpmsg): Remove. - * sysdeps/unix/inet/Subdirs (streams): Remove. - * conform/Makefile (conformtest-headers-XPG42): Remove stropts.h. - (conformtest-headers-UNIX98): Likewise. - (conformtest-headers-XOPEN2K): Likewise. - (conformtest-headers-POSIX2008): Likewise. - * posix/compat-streams.c: New file. - * posix/Makefile (routines): Add it. - * posix/Versions (GLIBC_2.1): Add fattach, fdetach, getmsg, - getpmsg, isastream, putmsg, putpmsg. - (GLIBC_2.30): New section. - * bits/stropts.h: Remove file. - * bits/xtitypes.h: Likewise. - * conform/data/stropts.h-data: Likewise. - * include/stropts.h: Likewise. - * include/sys/stropts.h: Likewise. - * include/xtitypes.h: Likewise. - * streams/Makefile: Likewise. - * streams/fattach.c: Likewise. - * streams/fdetach.c: Likewise. - * streams/getmsg.c: Likewise. - * streams/getpmsg.c: Likewise. - * streams/isastream.c: Likewise. - * streams/putmsg.c: Likewise. - * streams/putpmsg.c: Likewise. - * streams/stropts.h: Likewise. - * streams/sys/stropts.h: Likewise. - * sysdeps/ia64/bits/xtitypes.h: Likewise. - * sysdeps/s390/bits/xtitypes.h: Likewise. - * sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise. - * sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/getmsg.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/putmsg.c: Likewise. - * sysdeps/unix/sysv/linux/mips/getmsg.c: Likewise. - * sysdeps/unix/sysv/linux/mips/putmsg.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/getmsg.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/putmsg.c: Likewise. - * sysdeps/x86/bits/xtitypes.h: Likewise. - -2019-03-14 Florian Weimer - - * nss/tst-nss-files-alias-truncated.c (do_test): Load - libnss_files. - * nss/Makefile (tst-nss-files-alias-truncated): Link with -ldl, - but not with libnss_files. - (tst-nss-files-alias-truncated.out): Depend on libnss_files. - -2019-03-14 Zack Weinberg - - * scripts/check-obsolete-constructs.py (HeaderChecker.check): - Specify encoding="utf-8" when opening headers to check. - -2019-03-13 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - version to 5.0. - (Context.checkout_tar): Handle variable major version for Linux - kernel. - -2019-03-13 Florian Weimer - - [BZ #24047] - * sysdeps/mach/hurd/res_enable_icmp.c: New file. - -2019-03-13 Zack Weinberg - - * sysdeps/generic/inttypes.h, sysdeps/generic/stdint.h: - Move to stdlib. - * include/inttypes.h: Adjust to match. - * include/stdint.h: New wrapper. - -2019-03-13 Zack Weinberg - - * scripts/check-obsolete-constructs.py: New test script. - * scripts/check-installed-headers.sh: Remove tests for - obsolete typedefs, superseded by check-obsolete-constructs.py. - * Rules: Run scripts/check-obsolete-constructs.py over $(headers) - as a special test. Update commentary. - * posix/bits/types.h (__SQUAD_TYPE, __S64_TYPE): Define as __int64_t. - (__UQUAD_TYPE, __U64_TYPE): Define as __uint64_t. - Update commentary. - * posix/sys/types.h (__u_intN_t): Remove. - (u_int8_t): Typedef using __uint8_t. - (u_int16_t): Typedef using __uint16_t. - (u_int32_t): Typedef using __uint32_t. - (u_int64_t): Typedef using __uint64_t. - -2019-03-13 Stefan Liebler - - * elf/dl-sysdep.c (_dl_show_auxv): Remove condition and always - call _dl_procinfo. - * sysdeps/unix/sysv/linux/s390/dl-procinfo.h (_dl_procinfo): - Ignore types other than AT_HWCAP. - * sysdeps/sparc/dl-procinfo.h (_dl_procinfo): Likewise. - * sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_dl_procinfo): - Likewise. - * sysdeps/powerpc/dl-procinfo.h (_dl_procinfo): Adjust comment - in the case of falling back to generic output mechanism. - * sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_dl_procinfo): - Likewise. - -2019-03-12 Florian Weimer - - * elf/elf.h (DF_1_KMOD, DF_1_WEAKFILTER, DF_1_NOCOMMON): Define. - -2019-03-12 Florian Weimer - - [BZ #24047] - resolv: Enable full ICMP errors for UDP DNS sockets - * resolv/res_enable_icmp.c: New file. - * resolv/Makefile (libresolv-routines): Add res_enable_icmp. - * resolv/resolv-internal.h (__res_enable_icmp): Declare. - * resolv/res_send.c (reopen): Call __res_enable_icmp on new - socket. - -2019-03-11 Mao Han - - * elf/elf.h (EF_CSKY_ABIMASK, EF_CSKY_OTHER, EF_CSKY_PROCESSOR) - (EF_CSKY_ABIV1, EF_CSKY_ABIV2, SHT_CSKY_ATTRIBUTES): New defines. - -2019-03-11 Mao Han - - * sysdeps/csky/abiv2/start.S: Mark lr as undefined. - * sysdeps/unix/sysv/linux/csky/abiv2/clone.S: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/setcontext.S: Likewise. - -2019-03-11 Mao Han - - * sysdeps/unix/sysv/linux/csky/sys/procfs.h: Use linux definition - directly. - * sysdeps/unix/sysv/linux/csky/sys/user.h: Remove user_regs - definition. - -2019-03-11 Mao Han - - * sysdeps/unix/sysv/linux/csky/register-dump.h: Adjust offset change. - * sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Remove __mask field - in mcontext_t - -2019-03-08 Mike FABIAN - - [BZ #24307] - * localedata/unicode-gen/Makefile (UNICODE_VERSION): Set to 12.0.0. - * localedata/unicode-gen/DerivedCoreProperties.txt: Update to - Unicode 12.0.0. - * localedata/unicode-gen/EastAsianWidth.txt: Likewise. - * localedata/unicode-gen/PropList.txt: Likewise. - * localedata/unicode-gen/UnicodeData.txt: Likewise. - * localedata/unicode-gen/ctype_compatibility_test_cases.py: U+108D - became "Alphabetic" in Unicode 12.0.0. Adapt test case. - * localedata/charmaps/UTF-8: Regenerate. - * localedata/locales/i18n_ctype: Likewise. - * localedata/locales/tr_TR: Likewise. - * localedata/locales/translit_circle: Likewise. - * localedata/locales/translit_cjk_compat: Likewise. - * localedata/locales/translit_combining: Likewise. - * localedata/locales/translit_compat: Likewise. - * localedata/locales/translit_font: Likewise. - * localedata/locales/translit_fraction: Likewise. - -2019-03-07 Joseph Myers - - * stdio-common/vfscanf-internal.c (ARG): Break lines before rather - than after operators. - * sysdeps/mach/hurd/setitimer.c (timer_thread): Likewise. - (setitimer_locked): Likewise. - * sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise. - * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise. - * sysdeps/mach/pagecopy.h (PAGE_COPY_FWD): Likewise. - * sysdeps/mach/thread_state.h (machine_get_basic_state): Likewise. - * sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c - (PPC_CPU_SUPPORTED): Likewise. - * sysdeps/unix/sysv/linux/alpha/a.out.h (N_TXTOFF): Likewise. - * sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h - (stat_overflow): Likewise. - (statfs_overflow): Likewise. - * sysdeps/unix/sysv/linux/tst-personality.c (do_test): Likewise. - * sysdeps/unix/sysv/linux/tst-ttyname.c (eq_ttyname): Likewise. - (eq_ttyname_r): Likewise. - (run_chroot_tests): Likewise. - -2019-03-07 Florian Weimer - - * scripts/check-wrapper-headers.py (check_headers): Adjust Fortran - header check. - -2019-03-07 Martin Liska - - * math/Makefile: Change location where math-vector-fortran.h is - installed. - * math/finclude/math-vector-fortran.h: Move from bits/math-vector-fortran.h. - * sysdeps/x86/fpu/finclude/math-vector-fortran.h: Move - from sysdeps/x86/fpu/bits/math-vector-fortran.h. - * scripts/check-installed-headers.sh: Skip Fortran header files. - * scripts/check-wrapper-headers.py: Likewise. - -2019-03-05 Adhemerval Zanella - - * nptl/nptl-init.c (__have_futex_clock_realtime, - __have_futex_clock_realtime): Remove definition. - (__pthread_initialize_minimal_internal): Remove FUTEX_CLOCK_REALTIME - check test for !__ASSUME_FUTEX_CLOCK_REALTIME. - * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Assume - __ASSUME_FUTEX_CLOCK_REALTIME support. - * sysdeps/unix/sysv/linux/i386/lowlevellock.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. - * sysdeps/unix/sysv/linux/kernel-features.h - (__ASSUME_FUTEX_CLOCK_REALTIME): Remove. - * sysdeps/nptl/lowlevellock-futex.h (lll_futex_timed_wait_bitset): - Adjust comment. - -2019-03-05 Gabriel F. T. Gomes - - * sysdeps/powerpc/powerpc64/power6/wcscpy.c (WCSCPY): Define to - __wcscpy, then use libc_hidden_def and weak_alias to bind it to - __GI___wcscpy and wcscpy. - -2019-03-04 Florian Weimer - - * sysdeps/generic/ldsodefs.h (_dl_sysdep_open_zero_fill): Remove - declaration. - * elf/dl-load.c (_dl_map_object_from_fd): Assume MAP_ANON is - defined. - -2019-03-04 Stefan Liebler - - * sysdeps/s390/s390-64/sysdep.h (ENTRY): Use alignment of 16byte. - * sysdeps/s390/s390-32/sysdep.h: Likewise. - -2019-03-02 TAMUKI Shoichi - - [BZ #24162] - * localedata/locales/ja_JP (LC_TIME): Change the offset for Taisho - gan-nen from 2 to 1. Problem reported by Morimitsu, Junji. - -2019-03-01 Gabriel F. T. Gomes - - * misc/tst-ldbl-error.c (do_one_test): Adapt for reuse by nldbl - tests. - (do_test): Likewise. - * misc/tst-ldbl-warn.c (do_one_test): Likewise. - (do_test_call_varg): Likewise. - (do_test_call_rarg): Likewise. - * sysdeps/ieee754/ldbl-opt/Makefile - [subdir == misc] (tests-internal): Add tst-nldbl-warn, - tst-nldbl-error. - ($(objpfx)tst-nldbl-warn.c): New rule. - ($(objpfx)tst-nldbl-error.c): Likewise. - (CFLAGS-tst-nldbl-warn.c, CFLAGS-tst-nldbl-error.c): - New variables. - -2019-03-01 Gabriel F. T. Gomes - - [BZ #23984] - * include/bits/error-ldbl.h: New file. - * include/error.h: Include stdarg.h. Declare internal functions - __error_internal and __error_at_line_internal. - * misc/Makefile (headers): Add bits/error-ldbl.h. - * misc/bits/error-ldbl.h: New file. - * misc/error.h [__LDBL_COMPAT]: Include bits/error-ldbl.h and - avoid the inclusion of bits/error.h. - * sysdeps/ieee754/ldbl-opt/Versions (libc): Add __nldbl_error, - and __nldbl_error_at_line. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include error.h. - (__nldbl_error, __ndlbl_error_at_line): New functions. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Include error.h. - Redirect error and error_at_line. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - -2019-03-01 Gabriel F. T. Gomes - - [BZ #23984] - * include/bits/err-ldbl.h: New file. - * include/err.h: Add prototypes for the internal functions: - __vwarnx_internal and __vwarn_internal. - * misc/Makefile (headers): Add bits/err-ldbl.h. - * misc/bits/err-ldbl.h: New file. - * misc/err.h: Include bits/err-ldbl.h when __LDBL_COMPAT is - defined, i.e.: when -mlong-double-64 is in use. - * sysdeps/ieee754/ldbl-opt/Versions (libc): Add __nldbl_warn, - __nldbl_vwarn, __nldbl_warnx, __nldbl_vwarnx, __nldbl_err, - __nldbl_verr, __nldbl_errx, and __nldbl_verrx. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include err.h. - (VA_CALL): New macro. - (__nldbl_vwarn, __nldbl_vwarnx, __nldbl_warn, __nldbl_warnx) - (__nldbl_verr, __nldbl_verrx, __nldbl_err, __nldbl_errx): New - functions. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Include err.h and - declare prototypes for the new functions. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - -2019-03-01 Gabriel F. T. Gomes - - * sysdeps/ieee754/ldbl-opt/Makefile - [subdir == argp] (tests-internal): Add tst-nldbl-argp. - [subdir == argp] ($(objpfx)tst-nldbl-argp.c): New rule. - [subdir == argp] (CFLAGS-tst-nldbl-argp.c): New variable. - -2019-03-01 Gabriel F. T. Gomes - - [BZ #23983] - * argp/Makefile (headers): Add bits/argp-ldbl.h. - * argp/argp.h [defined __LDBL_COMPAT]: Include bits/argp-ldbl.h. - * argp/bits/argp-ldbl.h: New file. - * include/argp.h: Include stdarg.h. Add prototypes for internal - functions: __argp_error_internal and __argp_failure_internal. - * include/bits/argp-ldbl.h: New file. - * sysdeps/ieee754/ldbl-opt/Versions (libc): Add - __nldbl_argp_error and __nldbl_argp_failure. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include argp.h. - (__nldbl_argp_error, __nldbl_argp_failure): New functions. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Include argp.h. - Redirect argp_error and argp_failure calls. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - -2019-03-01 Florian Weimer - - [BZ #20419] - * elf/tst-big-note-lib.S: Create a syntactically valid note. - * elf/Makefile (tst-big-note-lib.so): Do not link with startup - code, to avoid creating an ABI tag note. - (modules-names-nobuild): Add tst-big-note-lib. - -2019-03-01 Stefan Liebler - - * sysdeps/s390/wcscpy-vx.S: Add strong aliases to - __wcscpy, __GI___wcscpy and weak alias to wcscpy. - -2019-03-01 Florian Weimer - - [BZ #20271] - * sysdeps/unix/sysv/linux/netlink_assert_response.c - (__netlink_assert_response): Add additional missing newlines. - -2019-02-28 Joseph Myers - - * sysdeps/powerpc/powerpc32/dl-machine.c - (__elf_machine_fixup_plt): Use space before '('. - (__process_machine_rela): Likewise. - * sysdeps/powerpc/powerpc32/register-dump.h (register_dump): - Likewise. - * sysdeps/powerpc/powerpc64/le/fpu/sfp-machine.h (TI_BITS): - Likewise. - * sysdeps/powerpc/powerpc64/register-dump.h (register_dump): - Likewise. - * sysdeps/powerpc/test-arith.c (union_t): Likewise. - (pattern): Likewise. - (delta): Likewise. - (check_result): Likewise. - (check_excepts): Likewise. - (check_op): Likewise. - (fail_xr): Likewise. - * sysdeps/unix/alpha/sysdep.h (syscall_promote): Likewise. - * sysdeps/unix/sysv/linux/alpha/a.out.h (AOUTHSZ): Likewise. - (SCNHSZ): Likewise. - * sysdeps/unix/sysv/linux/hppa/makecontext.c (FRAME_SIZE_BYTES): - Likewise. - (ARGS): Likewise. - (__makecontext): Likewise. - * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): - Likewise. - -2019-02-28 Florian Weimer - - [BZ #23937] - elf: Add test with a local IFUNC resolver. - * elf/ifuncmain9.c: New file. - * elf/ifuncmain9pic.c: Likewise. - * elf/ifuncmain9picstatic.c: Likewise. - * elf/ifuncmain9pie.c: Likewise. - * elf/ifuncmain9static.c: Likewise. - * elf/Makefile [multi-arch] (tests-ifuncstatic): Add - ifuncmain9static, ifuncmain9picstatic. - * elf/Makefile [multi-arch && build-shared] (tests-internal): - Add ifuncmain9, ifuncmain9pic. - * elf/Makefile [multi-arch && build-shared && have-fpie] - (ifunc-pie-tests): Add ifuncmain9pie. - (CFLAGS-ifuncmain9pic.c): Add $(pic-ccflag). - (CFLAGS-ifuncmain9picstatic.c): Likewise. - (CFLAGS-ifuncmain9pie.c): Add $(pie-ccflag). - -2019-02-27 H.J. Lu - - * configure.ac (have-ifunc): New LIBC_CONFIG_VAR. - * configure: Regenerated. - * elf/Makefile: Run IFUNC tests if binutils supports IFUNC. - -2019-02-27 Adhemerval Zanella - - * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy.c: Define ifunc - symbol as __wcspcy instead of wcscpy. - -2019-02-27 Samuel Thibault - - * include/stdio.h (__renameat2): New hidden prototype. - * stdio-common/renameat2.c (__renameat2): Add hidden definition. - * sysdeps/mach/hurd/renameat.c (__renameat): Move implementation to... - * sysdeps/mach/hurd/renameat2.c (__renameat2): ... new function. - * sysdeps/unix/sysv/linux/renameat2.c (__renameat2): Add hidden definition. - -2019-02-27 Joseph Myers - - * hurd/hurdinit.c (_hurd_init): Use braces around empty body of an - if statement. - - * benchtests/bench-strcpy.c (do_test): Use space before '('. - * benchtests/bench-string.h (cmdline_process_function): Likewise. - * benchtests/bench-strlen.c (do_test): Likewise. - (test_main): Likewise. - * catgets/gencat.c (read_old): Likewise. - * elf/cache.c (load_aux_cache): Likewise. - * iconvdata/bug-iconv8.c (do_test): Likewise. - * math/test-tgmath-ret.c (do_test): Likewise. - * nis/nis_call.c (rec_dirsearch): Likewise. - * nis/nis_findserv.c (__nis_findfastest_with_timeout): Likewise. - * nptl/tst-audit-threads.c (do_test): Likewise. - * nptl/tst-cancel4-common.h (set_socket_buffer): Likewise. - * nss/nss_test1.c (init): Likewise. - * nss/test-netdb.c (test_hosts): Likewise. - * posix/execvpe.c (maybe_script_execute): Likewise. - * stdio-common/tst-fmemopen4.c (do_test): Likewise. - * stdio-common/tst-printf.c (do_test): Likewise. - * stdio-common/vfscanf-internal.c (__vfscanf_internal): Likewise. - * stdlib/fmtmsg.c (NKEYWORDS): Likewise. - * stdlib/qsort.c (STACK_SIZE): Likewise. - * stdlib/test-canon.c (do_test): Likewise. - * stdlib/tst-swapcontext1.c (do_test): Likewise. - * string/memcmp.c (OPSIZ): Likewise. - * string/test-strcpy.c (do_test): Likewise. - (do_random_tests): Likewise. - * string/test-strlen.c (do_test): Likewise. - (test_main): Likewise. - * string/test-strrchr.c (do_test): Likewise. - (do_random_tests): Likewise. - * string/tester.c (test_memrchr): Likewise. - (test_memchr): Likewise. - * sysdeps/generic/memcopy.h (OPSIZ): Likewise. - * sysdeps/generic/unwind-dw2.c (execute_stack_op): Likewise. - * sysdeps/generic/unwind-pe.h (read_sleb128): Likewise. - (read_encoded_value_with_base): Likewise. - * sysdeps/hppa/dl-machine.h (elf_machine_runtime_setup): Likewise. - * sysdeps/hppa/fpu/feupdateenv.c (__feupdateenv): Likewise. - * sysdeps/ia64/fpu/sfp-machine.h (TI_BITS): Likewise. - * sysdeps/mach/hurd/spawni.c (__spawni): Likewise. - * sysdeps/posix/spawni.c (maybe_script_execute): Likewise. - * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (query_auxv): - Likewise. - * sysdeps/unix/sysv/linux/aarch64/bits/procfs.h (ELF_NGREG): - Likewise. - * sysdeps/unix/sysv/linux/arm/bits/procfs.h (ELF_NGREG): Likewise. - * sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Likewise. - * sysdeps/unix/sysv/linux/csky/bits/procfs.h (ELF_NGREG): - Likewise. - * sysdeps/unix/sysv/linux/m68k/bits/procfs.h (ELF_NGREG): - Likewise. - * sysdeps/unix/sysv/linux/nios2/bits/procfs.h (ELF_NGREG): - Likewise. - * sysdeps/unix/sysv/linux/spawni.c (maybe_script_execute): - Likewise. - * sysdeps/unix/sysv/linux/x86/bits/procfs.h (ELF_NGREG): Likewise. - * sysdeps/unix/sysv/linux/x86/bits/sigcontext.h - (FP_XSTATE_MAGIC2_SIZE): Likewise. - * sysdeps/x86/fpu/sfp-machine.h (TI_BITS): Likewise. - * time/test_time.c (main): Likewise. - -2019-02-27 Adhemerval Zanella - - * wcsmbs/wcsnlen.c (__wcsnlen): Rewrite using wmemchr. - - * wcsmbs/wcsncpy.c (__wcsncpy): Rewrite using wcsnlen, wmemset, and - wmemcpy. - - * wcsmbs/wcsncat.c (wcsncat): Rewrite using wcslen, wcsnlen, and - wmemcpy. - - * wcsmbs/wcscpy.c (__wcpcpy): Rewrite using wcslen and wmemcpy. - - * include/wchar.h (__wcscpy): New prototype. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-ppc32.c - (__wcscpy): Route internal symbol to generic implementation. - * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy.c (wcscpy): - Add internal __wcscpy alias. - * sysdeps/powerpc/powerpc64/multiarch/wcscpy.c (wcscpy): Likewise. - * sysdeps/s390/wcscpy.c (wcscpy): Likewise. - * sysdeps/x86_64/multiarch/wcscpy.c (wcscpy): Likewise. - * wcsmbs/wcscpy.c (wcscpy): Add - * sysdeps/x86_64/multiarch/wcscpy-c.c (WCSCPY): Adjust macro to - use generic implementation. - * wcsmbs/wcscat.c (wcscat): Rewrite using wcslen and wcscpy. - - * wcsmbs/wcpncpy.c (__wcpcpy): Rewrite using wcslen, wmemcpy, and - wmemset. - - * sysdeps/m68k/wcpcpy.c: Remove file. - * wcsmbs/wcpcpy.c (__wcpcpy): Rewrite using wcslen and wmemcpy. - -2019-02-26 Joseph Myers - - * sysdeps/arm/sysdep.h (#if condition): Break lines before rather - than after operators. - * sysdeps/mach/hurd/fork.c (__fork): Likewise. - * sysdeps/mach/hurd/getcwd.c - (__hurd_canonicalize_directory_name_internal): Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-consistent.c - (pthread_mutex_consistent): Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-init.c (_pthread_mutex_init): - Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c - (__pthread_mutex_transfer_np): Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-unlock.c - (__pthread_mutex_unlock): Likewise. - * sysdeps/mach/hurd/htl/pt-mutex.h (ROBUST_LOCK): Likewise. - (mtx_owned_p): Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-getrobust.c - (pthread_mutexattr_getrobust): Likewise. - * sysdeps/mach/hurd/i386/init-first.c (init1): Likewise. - * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): - Likewise. - * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. - * sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise. - * sysdeps/mach/hurd/kill.c (__kill): Likewise. - * sysdeps/mach/hurd/mig-reply.c (__mig_get_reply_port): Likewise. - * sysdeps/mach/hurd/ptrace.c (ptrace): Likewise. - * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/unix/sysv/linux/aarch64/sysdep.h (#if condition): - Likewise. - * sysdeps/unix/sysv/linux/alpha/ioperm.c (process_cpuinfo): - Likewise. - * sysdeps/unix/sysv/linux/bits/timex.h (STA_RONLY): Likewise. - * sysdeps/unix/sysv/linux/csky/sysdep.h (#if condition): Likewise. - * sysdeps/unix/sysv/linux/generic/____longjmp_chk.c - (____longjmp_chk): Likewise. - * sysdeps/unix/sysv/linux/generic/futimesat.c (futimesat): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h - (INTERNAL_SYSCALL): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h - (INTERNAL_SYSCALL): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c - (__get_clockfreq_via_cpuinfo): Likewise. - - * sysdeps/i386/dl-machine.h (elf_machine_rela): Add fall-through - comments. - * sysdeps/m68k/m680x0/fpu/s_cexp_template.c (s(__cexp)): Likewise. - * sysdeps/m68k/memcopy.h (WORD_COPY_FWD): Likewise. - (WORD_COPY_BWD): Likewise. - * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. - * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): - Likewise. - * sysdeps/s390/iso-8859-1_cp037_z900.c (TR_LOOP): Likewise. - * sysdeps/mips/dl-machine.h (elf_machine_reloc): Move fall-through - comment. - * sysdeps/mips/dl-trampoline.c (__dl_runtime_resolve): Likewise. - -2019-02-25 Joseph Myers - - * dirent/dirent.h [!_DIRENT_HAVE_D_NAMLEN - && _DIRENT_HAVE_D_RECLEN] (_D_ALLOC_NAMLEN): Break lines before - rather than after operators. - * elf/cache.c (print_cache): Likewise. - * gshadow/fgetsgent_r.c (__fgetsgent_r): Likewise. - * htl/pt-getattr.c (__pthread_getattr_np): Likewise. - * hurd/hurdinit.c (_hurd_setproc): Likewise. - * hurd/hurdkill.c (_hurd_sig_post): Likewise. - * hurd/hurdlookup.c (__file_name_lookup_under): Likewise. - * hurd/hurdsig.c (_hurd_internal_post_signal): Likewise. - (reauth_proc): Likewise. - * hurd/lookup-at.c (__file_name_lookup_at): Likewise. - (__file_name_split_at): Likewise. - (__directory_name_split_at): Likewise. - * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise. - * hurd/port2fd.c (_hurd_port2fd): Likewise. - * iconv/gconv_dl.c (do_print): Likewise. - * inet/netinet/in.h (struct sockaddr_in): Likewise. - * libio/wstrops.c (_IO_wstr_seekoff): Likewise. - * locale/setlocale.c (new_composite_name): Likewise. - * malloc/memusagestat.c (main): Likewise. - * misc/fstab.c (fstab_convert): Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - * nss/nss_compat/compat-grp.c (getgrent_next_nss): Likewise. - (getgrent_next_file): Likewise. - (internal_getgrnam_r): Likewise. - (internal_getgrgid_r): Likewise. - * nss/nss_compat/compat-initgroups.c (getgrent_next_nss): - Likewise. - (internal_getgrent_r): Likewise. - * nss/nss_compat/compat-pwd.c (getpwent_next_nss_netgr): Likewise. - (getpwent_next_nss): Likewise. - (getpwent_next_file): Likewise. - (internal_getpwnam_r): Likewise. - (internal_getpwuid_r): Likewise. - * nss/nss_compat/compat-spwd.c (getspent_next_nss_netgr): - Likewise. - (getspent_next_nss): Likewise. - (internal_getspnam_r): Likewise. - * pwd/fgetpwent_r.c (__fgetpwent_r): Likewise. - * shadow/fgetspent_r.c (__fgetspent_r): Likewise. - * string/strchr.c (STRCHR): Likewise. - * string/strchrnul.c (STRCHRNUL): Likewise. - * sysdeps/aarch64/fpu/fpu_control.h (_FPU_FPCR_IEEE): Likewise. - * sysdeps/aarch64/sfp-machine.h (_FP_CHOOSENAN): Likewise. - * sysdeps/csky/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/generic/memcopy.h (PAGE_COPY_FWD_MAYBE): Likewise. - * sysdeps/generic/symbol-hacks.h (__stack_chk_fail_local): - Likewise. - * sysdeps/gnu/netinet/ip_icmp.h (ICMP_INFOTYPE): Likewise. - * sysdeps/gnu/updwtmp.c (TRANSFORM_UTMP_FILE_NAME): Likewise. - * sysdeps/gnu/utmp_file.c (TRANSFORM_UTMP_FILE_NAME): Likewise. - * sysdeps/hppa/jmpbuf-unwind.h (_JMPBUF_UNWINDS): Likewise. - * sysdeps/mach/hurd/bits/stat.h (S_ISPARE): Likewise. - * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Likewise. - (open_file): Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c - (pthread_mutexattr_setprotocol): Likewise. - * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. - * sysdeps/mach/hurd/mmap.c (__mmap): Likewise. - * sysdeps/mach/hurd/ptrace.c (ptrace): Likewise. - * sysdeps/mach/hurd/spawni.c (__spawni): Likewise. - * sysdeps/microblaze/dl-machine.h (elf_machine_type_class): - Likewise. - (elf_machine_rela): Likewise. - * sysdeps/mips/mips32/sfp-machine.h (_FP_CHOOSENAN): Likewise. - * sysdeps/mips/mips64/sfp-machine.h (_FP_CHOOSENAN): Likewise. - * sysdeps/mips/sys/asm.h (multiple #if conditionals): Likewise. - * sysdeps/posix/rename.c (rename): Likewise. - * sysdeps/powerpc/novmx-sigjmp.c (__novmx__sigjmp_save): Likewise. - * sysdeps/powerpc/sigjmp.c (__vmx__sigjmp_save): Likewise. - * sysdeps/s390/fpu/fenv_libc.h (FPC_VALID_MASK): Likewise. - * sysdeps/s390/utf8-utf16-z9.c (gconv_end): Likewise. - * sysdeps/unix/grantpt.c (grantpt): Likewise. - * sysdeps/unix/sysv/linux/a.out.h (N_TXTOFF): Likewise. - * sysdeps/unix/sysv/linux/updwtmp.c (TRANSFORM_UTMP_FILE_NAME): - Likewise. - * sysdeps/unix/sysv/linux/utmp_file.c (TRANSFORM_UTMP_FILE_NAME): - Likewise. - * sysdeps/x86/cpu-features.c (get_common_indices): Likewise. - * time/tzfile.c (__tzfile_compute): Likewise. - -2019-02-22 Joseph Myers - - * benchtests/bench-memmem.c (simple_memmem): Break lines before - rather than after operators. - * benchtests/bench-skeleton.c (TIMESPEC_AFTER): Likewise. - * crypt/md5.c (md5_finish_ctx): Likewise. - * crypt/sha256.c (__sha256_finish_ctx): Likewise. - * crypt/sha512.c (__sha512_finish_ctx): Likewise. - * elf/cache.c (load_aux_cache): Likewise. - * elf/dl-load.c (open_verify): Likewise. - * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise. - * elf/readelflib.c (process_elf_file): Likewise. - * elf/rtld.c (dl_main): Likewise. - * elf/sprof.c (generate_call_graph): Likewise. - * hurd/ctty-input.c (_hurd_ctty_input): Likewise. - * hurd/ctty-output.c (_hurd_ctty_output): Likewise. - * hurd/dtable.c (reauth_dtable): Likewise. - * hurd/getdport.c (__getdport): Likewise. - * hurd/hurd/signal.h (_hurd_interrupted_rpc_timeout): Likewise. - * hurd/hurd/sigpreempt.h (HURD_PREEMPT_SIGNAL_P): Likewise. - * hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise): - Likewise. - * hurd/hurdioctl.c (fioctl): Likewise. - * hurd/hurdselect.c (_hurd_select): Likewise. - * hurd/hurdsig.c (_hurdsig_abort_rpcs): Likewise. - (STOPSIGS): Likewise. - * hurd/hurdstartup.c (_hurd_startup): Likewise. - * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Likewise. - * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise. - * hurd/msgportdemux.c (msgport_server): Likewise. - * hurd/setauth.c (_hurd_setauth): Likewise. - * include/features.h (__GLIBC_USE_DEPRECATED_SCANF): Likewise. - * libio/libioP.h [IO_DEBUG] (CHECK_FILE): Likewise. - * locale/programs/ld-ctype.c (set_class_defaults): Likewise. - * localedata/tests-mbwc/tst_swscanf.c (tst_swscanf): Likewise. - * login/tst-utmp.c (do_check): Likewise. - (simulate_login): Likewise. - * mach/lowlevellock.h (lll_lock): Likewise. - (lll_trylock): Likewise. - * math/test-fenv.c (ALL_EXC): Likewise. - * math/test-fenvinline.c (ALL_EXC): Likewise. - * misc/sys/cdefs.h (__attribute_deprecated_msg__): Likewise. - * nis/nis_call.c (__do_niscall3): Likewise. - * nis/nis_callback.c (cb_prog_1): Likewise. - * nis/nis_defaults.c (searchaccess): Likewise. - * nis/nis_findserv.c (__nis_findfastest_with_timeout): Likewise. - * nis/nis_ismember.c (internal_ismember): Likewise. - * nis/nis_local_names.c (nis_local_principal): Likewise. - * nis/nss_nis/nis-rpc.c (_nss_nis_getrpcbyname_r): Likewise. - * nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_getnetgrent_r): - Likewise. - * nis/ypclnt.c (yp_match): Likewise. - (yp_first): Likewise. - (yp_next): Likewise. - (yp_master): Likewise. - (yp_order): Likewise. - * nscd/hstcache.c (cache_addhst): Likewise. - * nscd/initgrcache.c (addinitgroupsX): Likewise. - * nss/nss_compat/compat-pwd.c (copy_pwd_changes): Likewise. - (internal_getpwuid_r): Likewise. - * nss/nss_compat/compat-spwd.c (copy_spwd_changes): Likewise. - * posix/glob.h (__GLOB_FLAGS): Likewise. - * posix/regcomp.c (peek_token): Likewise. - (peek_token_bracket): Likewise. - (parse_expression): Likewise. - * posix/regexec.c (sift_states_iter_mb): Likewise. - (check_node_accept_bytes): Likewise. - * posix/tst-spawn3.c (do_test): Likewise. - * posix/wordexp-test.c (testit): Likewise. - * posix/wordexp.c (parse_tilde): Likewise. - (exec_comm): Likewise. - * posix/wordexp.h (__WRDE_FLAGS): Likewise. - * resource/vtimes.c (TIMEVAL_TO_VTIMES): Likewise. - * setjmp/sigjmp.c (__sigjmp_save): Likewise. - * stdio-common/printf_fp.c (__printf_fp_l): Likewise. - * stdio-common/tst-fileno.c (do_test): Likewise. - * stdio-common/vfprintf-internal.c (vfprintf): Likewise. - * stdlib/strfmon_l.c (__vstrfmon_l_internal): Likewise. - * stdlib/strtod_l.c (round_and_return): Likewise. - (____STRTOF_INTERNAL): Likewise. - * stdlib/tst-strfrom.h (TEST_STRFROM): Likewise. - * string/strcspn.c (STRCSPN): Likewise. - * string/test-memmem.c (simple_memmem): Likewise. - * termios/tcsetattr.c (tcsetattr): Likewise. - * time/alt_digit.c (_nl_parse_alt_digit): Likewise. - * time/asctime.c (asctime_internal): Likewise. - * time/strptime_l.c (__strptime_internal): Likewise. - * time/sys/time.h (timercmp): Likewise. - * time/tzfile.c (__tzfile_compute): Likewise. - -2019-02-21 Patsy Griffin Franklin - - [BZ #21915] - * nss/tst-nss-files-hosts-long.root/etc/host.conf: New file. - -2019-02-21 Gabriel F. T. Gomes - - * argp/argp-help.c (__argp_error_internal): New function, - renamed from __argp_error, but that takes a 'mode_flags' - parameter to control the format of long double parameters. - (__argp_error): Converted into a call __argp_error_internal. - (__argp_failure_internal): New function, renamed from - __argp_failure, but that takes a 'mode_flags' parameter. - (__argp_failure): Converted into a call __argp_failure_internal. - * misc/err.c (__vwarnx_internal): New function, renamed from - vwarnx, but that takes a 'mode_flags' parameter. - (vwarnx): Converted into a call to __vwarnx_internal. - (__vwarn_internal): New function, renamed from vwarn, but that - takes a 'mode_flags' parameter. - (vwarn): Converted into a call to __vwarn_internal. - * misc/error.c (error_tail): Add 'mode_flags' parameter. Update - call to __vfxprintf with 'mode_flags'. - (__error_internal): New function, renamed from error, but that - takes a 'mode_flags' parameter. - (error): Converted into a call to __error_internal. - (__error_at_line_internal): New function, renamed from - error_at_line, but that takes a 'mode_flags' parameter. - (error_at_line): Converted into a call to - __error_at_line_internal. - * include/stdio.h (__vfxprintf): Add mode_flags parameter. - * stdio-common/fxprintf.c (locked_vfxprintf, __vfxprintf): - Likewise. - -2019-02-20 Martin Liska - - * math/Makefile: Install math-vector-fortran.h. - * bits/math-vector-fortran.h: New file. - * sysdeps/x86/fpu/bits/math-vector-fortran.h: New file. - -2019-02-20 Gabriel F. T. Gomes - - * sysdeps/powerpc/powerpc64/le/configure.ac: Remove test. - * sysdeps/powerpc/powerpc64/le/configure: Regenerate. - -2019-02-19 Wolfram Sang - - * nptl/pthread_mutex_trylock.c: Fix comment. - -2019-02-19 Carlos O'Donell - - * nptl/pthread_tryjoin.c: Fix comment. - -2019-02-18 Joseph Myers - - [BZ #24231] - * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Add break - after R_SPARC_H34 case. - -2019-02-18 Florian Weimer - - * resolv/compat-gethnamaddr.c (Dprintf): Remove definition. - (getanswer): Do not call Dprintf. - (res_gethostbyname2_context): Likewise. - (res_gethostbyaddr_context): Likewise. - -2019-02-18 Florian Weimer - - * libio/libio.h (_IO_stdin, _IO_stdout, _IO_stderr): Remove - declaration. - * libio/stdio.c (AL, AL2, _IO_stdin, _IO_stdout, _IO_stderr): - Remove definitions. - * libio/stdfiles.c: Update comment. - * libio/oldstdfiles.c (_IO_check_libio): Update comment. Do not - set _IO_stdin, _IO_stdout, _IO_stderr. - * libio/libioP.h (_IO_fake_stdiobuf): Remove unused declaration. - [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)] (_IO_legacy_file): New - inline function. - (_IO_deallocate_file): New inline function. - * libio/iolibio.h (_IO_vprintf): Remove definition. - * libio/iofclose.c (_IO_new_fclose): Use _IO_deallocate_file. - * libio/oldiofclose.c (_IO_old_fclose): Likewise. - * libio/iofwide.c (_IO_fwide): Use __glibc_unlikely and - _IO_legacy_file. - * libio/oldfileops.c (_IO_old_file_init_internal): Remove - __builtin_expect. Use _IO_legacy_file. - -2019-02-18 Stefan Liebler - - * sysdeps/unix/sysv/linux/tst-clone3.c (do_test): - Initialize ctid with a known value and remove update of ctid - after clone. - (wait_tid): Adjust arguments and call futex_wait with ctid_val - as assumed current value of ctid_ptr. - -2019-02-16 Florian Weimer - - Check that non-sysdeps headers have wrapper headers. - * scripts/check-wrapper-headers.py: New file. - * Makefile (tests-special): Add check-wrapper-headers.out. - (check-wrapper-headers.out): New target. - * Rules (tests-special): Add check-wrapper-headers.out. - (check-wrapper-headers.out): New target. - -2019-02-16 Florian Weimer - - Add missing header wrappers under include/. - * include/ar.h: New file. - * include/bits/mqueue2.h: Likewise. - * include/bits/stdio.h: Likewise. - * include/bits/stdio2.h: Likewise. - * include/fstab.h: Likewise. - * include/fts.h: Likewise. - * include/lastlog.h: Likewise. - * include/netinet/icmp6.h: Likewise. - * include/netinet/igmp.h: Likewise. - * include/netinet/ip6.h: Likewise. - * include/re_comp.h: Likewise. - * include/regexp.h: Likewise. - * include/rpcsvc/bootparam.h: Likewise. - * include/rpcsvc/yp_prot.h: Likewise. - * include/sys/random.h: Likewise. - * include/sys/stropts.h: Likewise. - * include/sys/ttychars.h: Likewise. - * include/sys/vfs.h: Likewise. - * include/wait.h: Likewise. - -2019-02-16 Florian Weimer - - * nptl_db/proc_service.h: Move to ... - * sysdeps/nptl/proc_service.h: ... here. - * nptl_db/thread_db.h: Move to ... - * sysdeps/nptl/thread_db.h: ... here. - * nptl/descr.h: Include . - -2019-02-15 Adhemerval Zanella - - * io/Makefile (tests): Add tst-lockf. - * io/lockf.c (lockf): Use __fcntl and only define for - !__OFF_T_MATCHES_OFF64_T. - * io/lockf64.c (__lockf64): Call __fcntl64 and alias to lockf for - __OFF_T_MATCHES_OFF64_T case. - * io/tst-lockf.c: New file. - * sysdeps/unix/sysv/linux/i386/lockf64.c: Remove file. - * sysdeps/unix/sysv/linux/arm/lockf64.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/lockf64.c: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/lockf64.c: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/lockf64.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c: Likewise. - * sysdeps/unix/sysv/linux/sh/lockf64.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c: Likewise. - -2019-02-15 Florian Weimer - - [BZ #24211] - * nptl/pthread_join_common.c (__pthread_timedjoin_ex): Do not read - pd->result after the thread descriptor has been freed. - -2019-02-15 Joseph Myers - - * sunrpc/tst-svc_register.c (rpcbind_address): Remove qualifier - from function return type. - - * setjmp/tst-setjmp.c (jump): Use __attribute__ ((__noreturn__)). - -2019-02-14 Jan Kratochvil - - * scripts/test_printers_common.py: Set TERM to a known harmless - value. - -2019-02-14 Joseph Myers - - * sunrpc/xdr.c (xdr_int): Add fall-through comment. - (xdr_u_int): Likewise. - (xdr_enum): Likewise. - (xdr_bytes): Reword fall-through comment. - (xdr_string): Likewise. - -2019-02-14 Adhemerval Zanella - - [BZ #2421] - * nptl/Makefile (lpthread-routines): Remove lll_timedwait_tid. - (tests): Add tst-join8 tst-join9. - * nptl/lll_timedwait_tid.c: Remove file. - * sysdeps/sparc/sparc32/lll_timedwait_tid.c: Likewise. - * sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c: Likewise. - * sysdeps/sysv/linux/x86_64/lll_timedwait_tid.c: Likewise. - * nptl/pthread_join_common.c (timedwait_tid): New function. - (__pthread_timedjoin_ex): Act as cancellation entrypoint is block - is set. - * nptl/tst-join5.c (thread_join): New function. - (tf1, tf2, do_test): Use libsupport and add pthread_timedjoin_np - check. - * nptl/tst-join8.c: New file. - * nptl/tst-join9.c: Likewise. - * sysdeps/nptl/lowlevellock-futex.h (lll_futex_wait_cancel, - lll_futex_timed_wait_cancel): Add generic macros. - * sysdeps/nptl/lowlevellock.h (__lll_timedwait_tid, lll_wait_tid): - Remove definitions. - * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. - * sysdeps/sparc/sparc32/lowlevellock.c (__lll_timedwait_tid): - Remove function. - * sysdeps/unix/sysv/linux/i386/lowlevellock.S (__lll_timedwait_tid): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. - * sysdeps/unix/sysv/linux/lowlevellock-futex.h - (lll_futex_timed_wait_cancel): New macro. - -2019-02-14 Wilco Dijkstra - - * benchtests/Makefile: Add malloc-simple benchmark. - * benchtests/bench-malloc-simple.c: New benchmark. - -2019-02-14 Siddhesh Poyarekar - - * benchtests/bench-memmove.c (do_one_test): Remove unused - ORIG_SRC. - (do_test): Adjust. - * benchtests/bench-memmove-large.c (do_one_test): Remove unused - ORIG_SRC. - (do_test): Adjust. - -2019-01-13 Jim Wilson - - [BZ #24040] - * elf/Makefile (CFLAGS-tst-unwind-main.c): Add -DUSE_PTHREADS=0. - * elf/tst-unwind-main.c: If USE_PTHEADS, include pthread.h and error.h - (func): New. - (main): If USE_PTHREADS, call pthread_create to run func. Otherwise - call func directly. - * nptl/Makefile (tests): Add tst-unwind-thread. - (CFLAGS-tst-unwind-thread.c): Define. - * nptl/tst-unwind-thread.c: New file. - * sysdeps/unix/sysv/linux/riscv/clone.S (__thread_start): Mark ra - as undefined. - -2019-02-13 Joseph Myers - - * iconvdata/cns11643.h (ucs4_to_cns11643): Adjust fall-through - comment wording. - * nis/nis_call.c (__do_niscall3): Likewise. - - * catgets/gencat.c (normalize_line): Use braces around empty - 'else' body. - * include/stap-probe.h [!USE_STAP_PROBE && !__ASSEMBLER__] - (STAP_PROBE0): Use do {} while (0) for do-nothing definition. - [!USE_STAP_PROBE && !__ASSEMBLER__] (STAP_PROBE1): Likewise. - [!USE_STAP_PROBE && !__ASSEMBLER__] (STAP_PROBE2): Likewise. - [!USE_STAP_PROBE && !__ASSEMBLER__] (STAP_PROBE3): Likewise. - [!USE_STAP_PROBE && !__ASSEMBLER__] (STAP_PROBE4): Likewise. - * libio/libio.h (_IO_funlockfile): Use ((void) 0) for do-nothing - definition. - - * support/test-container.c (recursive_remove): Use FAIL_EXIT1 if - execlp returns. - -2019-02-12 Wilco Dijkstra - - * benchtests/bench-strcasecmp.c (stupid_strcasecmp): Remove. - * benchtests/bench-strcasestr.c (stupid_strcasestr): Remove. - * benchtests/bench-strchr.c (stupid_strchr): Remove. - * benchtests/bench-strcmp.c (stupid_strcmp): Remove. - * benchtests/bench-strcspn.c (stupid_strcspn): Remove. - * benchtests/bench-strlen.c (builtin_strlen): Remove. - * benchtests/bench-strncasecmp.c (stupid_strncasecmp): Remove. - * benchtests/bench-strncmp.c (stupid_strncmp): Remove. - * benchtests/bench-strpbrk.c (stupid_strpbrk): Remove. - * benchtests/bench-strspn.c (stupid_strspn): Remove. - * benchtests/Makefile: Remove bench-bcopy.c and bench-bzero.c. - * benchtests/bench-bcopy.c: Delete file. - * benchtests/bench-bzero.c: Likewise. - * benchtests/bench-memccpy.c (stupid_memccpy): Remove. - (simple_memccpy): Remove. - (generic_memccpy): Add function. - * benchtests/bench-memcpy.c: (builtin_memcpy): Remove. - * benchtests/bench-memmove.c (simple_bcopy): Remove. - * benchtests/bench-mempcpy.c (simple_mempcpy): Remove. - (generic_mempcpy): Add new function. - * benchtests/bench-memset.c (simple_bzero): Remove. - (builtin_bzero): Remove. - (builtin_memset): Remove. - * benchtests/bench-rawmemchr.c (simple_rawmemchr): Remove. - (generic_rawmemchr): Add new function. - -2019-02-12 Florian Weimer - - * nss/getent.c (ahosts_keys_int): Include IPv6 scope ID in output. - -2019-02-12 Adhemerval Zanella - - [BZ #24122] - * elf/Makefile (tests): Add tst-audit13. - (modules-names): Add tst-audit13mod1. - (tst-audit13.out, LDFLAGS-tst-audit13mod1.so, tst-audit13-ENV): New - rule. - * elf/tst-audit13.c: New file. - * elf/tst-audit13mod1.c: Likewise. - -2019-02-12 Florian Weimer - - [BZ #24122] - * elf/rtld.c (unload_audit_module): New function. - (report_audit_module_load_error): Likewise. - (load_audit_module): Likewise. Extracted from dl_main. Call - _dl_close if the laversion symbol cannot be found. Use early - returns for error handling. Add malloc error check. Check for a - zero return value from la_version. Remove spurious comment about - static TLS initialization. Remove useless casts. - (notify_audit_modules_of_loaded_object): New function. Extracted - from dl_main. - (load_audit_module): Likewise. - (dl_main): Call load_audit_modules. - -2019-02-12 Joseph Myers - - * elf/dl-exception.c (_dl_exception_create_format): Add - fall-through comments. - * elf/ldconfig.c (parse_conf_include): Likewise. - * elf/rtld.c (print_statistics): Likewise. - * locale/programs/charmap.c (parse_charmap): Likewise. - * misc/mntent_r.c (__getmntent_r): Likewise. - * posix/wordexp.c (parse_arith): Likewise. - (parse_backtick): Likewise. - * resolv/ns_ttl.c (ns_parse_ttl): Likewise. - * sysdeps/x86/cpu-features.c (init_cpu_features): Likewise. - * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. - -2019-02-11 Paul A. Clarke - - * sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrtf): - Use float instead of double. - -2019-02-11 TAMUKI Shoichi - - * time/strftime_l.c: Fix a few whitespace arrangement inconsistencies. - -2019-02-08 Joseph Myers - - * sysdeps/powerpc/bits/mathinline.h: Remove. - -2019-02-08 Florian Weimer - - math: Enable sysdeps override, as used on ia64. - * math/bits/math-finite.h: Move to ... - * bits/math-finite.h: ... here. - -2019-02-08 Florian Weimer - - * sysdeps/generic/bits/unistd_ext.h: Move to ... - * bits/unistd_ext.h: here. - -2019-02-08 Patsy Griffin Franklin - - [BZ #21915] - * nss/Makefile (test-container): Add tst-nss-files-hosts-long. - * nss/tst-nss-files-hosts-long.c: New file. - * nss/tst-nss-files-hosts-long.root: New directory. - * nss/tst-nss-files-hosts-long.root/etc: Likewise. - * nss/tst-nss-files-hosts-long.root/etc/hosts: New file. - -2019-02-08 Florian Weimer - - * include/bits/unistd_ext.h: Remove file. - * posix/bits/unistd_ext.h: Move to ... - * sysdeps/generic/bits/unistd_ext.h: ... here. - -2019-02-08 Florian Weimer - - * include/bits/unistd_ext.h: New file. - -2019-02-08 TAMUKI Shoichi - - * time/tst-strftime2.c: Use array_length macros instead of magic - numbers. - -2019-02-08 Florian Weimer - - [BZ #24161] - * sysdeps/nptl/fork.h (__run_fork_handlers): Add multiple_threads - argument. - * nptl/register-atfork.c (__run_fork_handlers): Only perform - locking if the new do_locking argument is true. - * sysdeps/nptl/fork.c (__libc_fork): Pass multiple_threads to - __run_fork_handlers. - -2019-02-08 Florian Weimer - - [BZ #6399] - Linux: Add gettid system call wrapper. - * posix/Makefile (headers): Add bits/unistd_ext.h. - * posix/bits/unistd_ext.h: New file. - * posix/unistd.h: Include it. - * manual/process.texi (Process Identification): Document gettid. - * sysdeps/unix/sysv/linux/Makefile [subdir == misc] (tests): Add - tst-gettid, tst-gettid-kill. - (tst-gettid): Link with $(shared-thread-library). - * sysdeps/unix/sysv/linux/Version (GLIBC_2.30): Export gettid. - * sysdeps/unix/sysv/linux/bits/unistd_ext.h: New file. - * sysdeps/unix/sysv/linux/bits/syscalls.list (gettid): Add. - * sysdeps/unix/sysv/linux/bits/tst-gettid.c: New file. - * sysdeps/unix/sysv/linux/bits/tst-gettid-kill.c: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30): - Add gettid. - * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/csky/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist - (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.30): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.30): - Likewise. - * sysdeps/unix/sysv/linux/tst-setgetname.c (gettid): Remove. - -2019-02-08 Florian Weimer - - * rt/clock-compat.c (COMPAT_REDIRECT): Turn librt forwarders into - compatibility symbols. - -2019-02-07 Stefan Liebler - - [BZ #24180] - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Add compiler barriers and comments. - -2019-02-07 Florian Weimer - - * include/array_length.h (array_length): Do not use a statement - expression and _Static_assert, so that array_length can be used at - file scope and as a constant expression. - -2019-02-07 Florian Weimer - - * support/xdlfcn.h (xdlmopen): Declare. - * support/xdlmopen.c: New file. - * support/Makefile (libsupport-routines): Add xdlmopen. - -2019-02-06 Joseph Myers - - * elf/dl-load.h (_dl_postprocess_loadcmd): Use __always_inline - before return type, without separate inline. - * elf/dl-tunables.c (maybe_enable_malloc_check): Likewise. - * elf/dl-tunables.h (tunable_is_name): Likewise. - * malloc/malloc.c (do_set_trim_threshold): Likewise. - (do_set_top_pad): Likewise. - (do_set_mmap_threshold): Likewise. - (do_set_mmaps_max): Likewise. - (do_set_mallopt_check): Likewise. - (do_set_perturb_byte): Likewise. - (do_set_arena_test): Likewise. - (do_set_arena_max): Likewise. - (do_set_tcache_max): Likewise. - (do_set_tcache_count): Likewise. - (do_set_tcache_unsorted_limit): Likewise. - * nis/nis_subr.c (count_dots): Likewise. - * nptl/allocatestack.c (advise_stack_range): Likewise. - * sysdeps/ieee754/dbl-64/s_sin.c (do_cos): Likewise. - (do_sin): Likewise. - (reduce_sincos): Likewise. - (do_sincos): Likewise. - * sysdeps/unix/sysv/linux/x86/elision-conf.c - (do_set_elision_enable): Likewise. - (TUNABLE_CALLBACK_FNDECL): Likewise. - -2019-02-06 Florian Weimer - - * support/xdlfcn.c (xdlopen, xdlclose): Do not call dlerror. - (xdlsym): Use dlerror to detect a NULL symbol. - -2019-02-06 Florian Weimer - - * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Do not include - . - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. - -2019-02-06 Stefan Liebler - - * libio/tst-bz24153.c (wide): Use wide char format specifier. - -2019-02-06 Stefan Liebler - - * sysdeps/s390/wmemcmp-vx.S: Add strong alias to - __wmemcmp and weak alias to wmemcmp. - -2019-02-06 Stefan Liebler - - [BZ #23403] - * nptl/allocatestack.c (allocate_stack): Align pointer pd for - TLS_TCB_AT_TP tls variant. - * nptl/tst-tls1.c: Migrate to support/test-driver.c. - Add alignment checks. - * support/Makefile (libsupport-routines): Add xposix_memalign and - xpthread_setstack. - * support/support.h: Add xposix_memalign. - * support/xthread.h: Add xpthread_attr_setstack. - * support/xposix_memalign.c: New File. - * support/xpthread_attr_setstack.c: Likewise. - -2019-02-05 Florian Weimer - - [BZ #24164] - arm: Use "nr" constraint for Systemtap probes, to avoid the - compiler using memory operands for constants, due to the "o" - alternative in the default "nor" constraint. - * include/stap-probe.h [USE_STAP_PROBE]: Include - - * sysdeps/generic/stap-probe-machine.h: New file. - * sysdeps/arm/stap-probe-machine.h: Likewise. - -2019-02-04 Joseph Myers - - * malloc/malloc.c (tcache_get): Compare tcache->counts[tc_idx] - with 0, not tcache->entries[tc_idx]. - - * nscd/connections.c (reqinfo): Initialize SHUTDOWN element only - once. - -2019-02-04 Andreas Schwab - - [BZ #16976] - [BZ #17396] - * posix/fnmatch_loop.c (internal_fnmatch, internal_fnwmatch): When - looking up collating elements match against (wide) character - sequence instead of name. Correct alignment adjustment. - * posix/fnmatch.c: Don't include "../locale/elem-hash.h". - (WMEMCMP) [HANDLE_MULTIBYTE]: Define. - * posix/Makefile (tests): Add tst-fnmatch4 and tst-fnmatch5. - (LOCALES): Add cs_CZ.ISO-8859-2. - * posix/tst-fnmatch4.c: New file. - * posix/tst-fnmatch5.c: New file. - * include/wchar.h (__wmemcmp): Declare. - * wcsmbs/wmemcmp.c: Define __wmemcmp and add wmemcmp as weak alias. - * sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise. - * sysdeps/x86_64/multiarch/wmemcmp.c: Likewise. - * sysdeps/s390/wmemcmp.c: Likewise. - -2019-02-04 H.J. Lu - - [BZ #24155] - CVE-2019-7309 - * NEWS: Updated for CVE-2019-7309. - * sysdeps/x86_64/memcmp.S: Use RDX_LP for size. Clear the - upper 32 bits of RDX register for x32. Use unsigned Jcc - instructions, instead of signed. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcmp-2. - * sysdeps/x86_64/x32/tst-size_t-memcmp-2.c: New test. - -2019-02-04 Florian Weimer - - * posix/spawn.h (posix_spawn, posix_spawnp): Add __nonnull attribute. - (posix_spawnattr_init, posix_spawnattr_destroy): Likewise. - (posix_spawnattr_getsigdefault, posix_spawnattr_setsigdefault): - Likewise. - (posix_spawnattr_getsigmask, posix_spawnattr_setsigmask): Likewise. - (posix_spawnattr_getflags, posix_spawnattr_setflags): Likewise. - (posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Likewise. - (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): - Likewise. - (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): - Likewise. - (posix_spawn_file_actions_init, posix_spawn_file_actions_destroy): - Likewise. - (posix_spawn_file_actions_addopen): Likewise. - (posix_spawn_file_actions_addclose): Likewise. - (posix_spawn_file_actions_adddup2): Likewise. - (posix_spawn_file_actions_addchdir_np): Likewise. Add __restrict - qualifiers. - (posix_spawn_file_actions_addfchdir_np): Likewise. - -2019-02-04 David Newall - - elf: Implement --preload option for the dynamic linker. - * elf/rtld.c (preloadarg): New variable. - (handle_preload_list): Pass through “where” argument to - do_preload. - (dl_main): Handle "--preload" and add second call to - handle_preload_list. - * elf/Makefile (tests-special): Add tst-rtld-preload.out. - (tst-rtld-preload-OBJS): Set variable. - (tst-rtld-preload.out): New target. - * elf/tst-rtld-preload.sh: New file. - -2019-02-04 Matthew Malcomson - - * Makefile (testrun.sh): Exit in case of incorrect argument. - -2019-02-04 Florian Weimer - - * time/tzfile.c (__tzfile_read): Reorder suballocations to avoid - alignment gaps. - -2019-02-03 Florian Weimer - - * time/tzfile.c (__tzfile_read): Use struct alloc_buffer and its - implicit overflow checks. - -2019-02-03 Aurelien Jarno - - * stdlib/isomac.c: Include . - -2019-02-03 Florian Weimer - - * include/time.h (__tzfile_default): Use int, not long int, for - the GMT offsets. - * time/tzfile.c (struct ttinfo): Change type of the offset member - to int. - (__tzfile_read): Remove useless cast. - (__tzfile_default): Adjust prototype. - * time/tzset.c (tz_rule): Change type of the offset member to int. - (parse_offset): Change the type of the sign variable to int. - -2019-02-03 Florian Weimer - - [BZ #24153] - * debug/gets_chk.c (__gets_chk): Use stdin instead of _IO_stdin. - * libio/getchar.c (getchar): Likewise. - * libio/getchar_u.c (getchar_unlocked): Likewise. - * libio/getwchar.c (getwchar): Likewise. - * libio/getwchar_u.c (getwchar_unlocked): Likewise. - * libio/iogets.c (_IO_gets): Likewise. - * libio/vscanf.c (_IO_vscanf): Likewise. - * libio/vwscanf.c (__vwscanf): Likewise. - * libio/tst-bz24153.c: New file. - * libio/Makefile (tests): Add it. - -2019-02-02 Florian Weimer - - [BZ #14829] - * manual/resource.texi (Basic Scheduling Functions): Add - portability note. Change process to task throughout the section. - Remove incorrect comment about sched_yield as it affects - tasks/threads, not entire processes. - * sysdeps/unix/sysv/linux/bits/posix_opt.h - (_POSIX_PRIORITY_SCHEDULING): Update comment. - -2019-02-01 Joseph Myers - - * configure.ac (libc_cv_compiler_ok): Require GCC 6.2 or later. - * configure: Regenerated. - * manual/install.texi (Tools for Compilation): Update minimum GCC - version. - * INSTALL: Regenerated. - -2019-02-01 Florian Weimer - - * support/support_test_compare_string.c - (support_test_compare_string): Use "string" in error message. - * support/tst-test_compare_string.c (do_test): Adjust. - -2019-02-01 Florian Weimer - - * support/support_format_address_family.c - (support_format_address_family): Handle AF_LOCAL, AF_UNSPEC. - -2019-02-01 Florian Weimer - - * manual/socket.texi (Internet Address Formats): Clarify the byte - order of struct sockaddr_in, struct sockaddr_in6. Document - sin6_flowinfo and sin6_scope_id. - -2019-02-01 Wilco Dijkstra - - * sysdeps/posix/clock_getres.c (__clock_getres): Cleanup. - * sysdeps/unix/clock_gettime.c (__clock_gettime): Cleanup. - * sysdeps/unix/clock_settime.c (__clock_settime): Cleanup. - * sysdeps/unix/sysv/linux/clock_getres.c (__clock_getres): Cleanup. - * sysdeps/unix/sysv/linux/clock_gettime.c (__clock_gettime): Cleanup. - * sysdeps/unix/sysv/linux/clock_settime.c (__clock_settime): Cleanup. - -2019-02-01 Feng Xue - - * sysdeps/aarch64/memchr.S (__memchr): Rename to MEMCHR. - [!MEMCHR](MEMCHR): Set to __memchr. - * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): - Add memchr_generic and memchr_nosimd. - * sysdeps/aarch64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add memchr ifuncs. - * sysdeps/aarch64/multiarch/memchr.c: New file. - * sysdeps/aarch64/multiarch/memchr_generic.S: Likewise. - * sysdeps/aarch64/multiarch/memchr_nosimd.S: Likewise. - -2019-02-01 Feng Xue - - * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): - Add memset_emag. - * sysdeps/aarch64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add __memset_emag to memset ifunc. - * sysdeps/aarch64/multiarch/memset.c (libc_ifunc): - Add IS_EMAG check for ifunc dispatch. - * sysdeps/aarch64/multiarch/memset_base64.S: New file. - * sysdeps/aarch64/multiarch/memset_emag.S: New file. - -2019-02-01 Feng Xue - - * manual/tunables.texi (Tunable glibc.cpu.name): Add emag. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): - Add emag. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_EMAG): - New macro. - -2019-02-01 Stefan Liebler - - * posix/tst-spawn do_test(): Move waitpid before posix_spawn. - -2019-01-31 Vineet Gupta - - * sysdeps/unix/make-syscalls.sh: Fix comment referencing - syscall-template file. - -2019-01-31 Carlos O'Donell - Torvald Riegel - Rik Prohaska - - [BZ# 23844] - * nptl/Makefile (tests): Add tst-rwlock-tryrdlock-stall, and - tst-rwlock-trywrlock-stall. - * nptl/pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): - Wake waiters if PTHREAD_RWLOCK_FUTEX_USED is set. - * nptl/pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock): - Set __wrphase_fute to 1 only if we started the write phase. - * nptl/tst-rwlock-tryrdlock-stall.c: New file. - * nptl/tst-rwlock-trywrlock-stall.c: New file. - * support/Makefile (libsupport-routines): Add xpthread_rwlock_destroy. - * support/xpthread_rwlock_destroy.c: New file. - * support/xthread.h: Declare xpthread_rwlock_destroy. - -2019-02-01 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default MPFR - version to 4.0.2. - -2019-01-31 Paul Pluzhnikov - - [BZ #24051] - * libio/ioputs.c (_IO_puts): Use stdout instead of _IO_stdout. - * libio/fileops.c (_IO_new_file_underflow): Likewise - * libio/wfileops.c (_IO_wfile_underflow): Likewise - * libio/putchar.c (putchar): Likewise. - * libio/putchar_u.c (putchar_unlocked): Likewise. - * libio/putwchar.c (putchar): Likewise. - * libio/putwchar_u.c (putwchar_unlocked): Likewise. - * libio/tst-bz24051.c: New test. - * libio/Makefile (tests): Add tst-bz24051 - -2019-01-31 Paul Eggert - - CVE-2019-9169 - regex: fix read overrun [BZ #24114] - Problem found by AddressSanitizer, reported by Hongxu Chen in: - https://debbugs.gnu.org/34140 - * posix/regexec.c (proceed_next_node): - Do not read past end of input buffer. - -2019-01-31 Florian Weimer - - [BZ #24059] - * nss/nss_files/files-alias.c (get_next_alias): Handle - continuation line without newline at the end. - * nss/tst-nss-files-alias-truncated.c: New file. - * nss/Makefile [$(build-shared)] (tests): Add - tst-nss-files-alias-truncated. - (tst-nss-files-alias-truncated): Link with libnss_files.so. - * support/namespace.h (struct support_chroot_configuration): Add - aliases member. - (struct support_chroot): Add path_aliases member. - * support/support_chroot.c (support_chroot_create): Handle - aliases. - (support_chroot_free): Free path_aliases. - -2019-01-31 Siddhesh Poyarekar - - * version.h (RELEASE): Set to "development". - (VERSION): Set to "2.29.9000". - * NEWS: Add section for 2.30. - - * version.h (RELEASE): Set to "stable". - (VERSION): Set to "2.29". - * include/features.h (__GLIBC_MINOR__): Set to 2.29. - - * NEWS: Add the list of bugs fixed in 2.29. - * manual/contrib.texi: Update contributors list with some more - names. - * manual/install.texi: Update latest versions of packages - tested. - * INSTALL: Regenerated. - -2019-01-25 Siddhesh Poyarekar - - * po/be.po: Update translations. - * po/bg.po: Likewise. - * po/ca.po: Likewise. - * po/cs.po: Likewise. - * po/da.po: Likewise. - * po/de.po: Likewise. - * po/el.po: Likewise. - * po/eo.po: Likewise. - * po/es.po: Likewise. - * po/fi.po: Likewise. - * po/fr.po: Likewise. - * po/gl.po: Likewise. - * po/hr.po: Likewise. - * po/hu.po: Likewise. - * po/ia.po: Likewise. - * po/id.po: Likewise. - * po/it.po: Likewise. - * po/ja.po: Likewise. - * po/ko.po: Likewise. - * po/lt.po: Likewise. - * po/nb.po: Likewise. - * po/nl.po: Likewise. - * po/pl.po: Likewise. - * po/pt_BR.po: Likewise. - * po/ru.po: Likewise. - * po/rw.po: Likewise. - * po/sk.po: Likewise. - * po/sl.po: Likewise. - * po/sv.po: Likewise. - * po/tr.po: Likewise. - * po/uk.po: Likewise. - * po/vi.po: Likewise. - * po/zh_CN.po: Likewise. - * po/zh_TW.po: Likewise. - -2019-01-24 Uroš Bizjak - - [BZ #24130] - * sysdeps/alpha/remqu.S (__remqu): Add missing restore - of $f3 register on $y_is_neg path. - -2019-01-24 Samuel Thibault - - [BZ #24110] - * hurd/hurdsig.c (_hurd_thread_sigstate): Set SS_DISABLE in - sigaltstack.ss_flags. - -2019-01-24 TAMUKI Shoichi - - [BZ #23758] - * manual/time.texi (strftime): Document "%Ey". - * time/strftime_l.c (__strftime_internal): Set the default width - padding with zero of "%Ey" to 2. - - [BZ #24096] - * manual/time.texi (strftime): Document "%EC" and "%EY". - * time/Makefile (tests): Add tst-strftime2. - (LOCALES): Add ja_JP.UTF-8, lo_LA.UTF-8, and th_TH.UTF-8. - * time/strftime_l.c (__strftime_internal): Add argument yr_spec to - override padding for "%Ey". - If an optional flag ('_' or '-') is specified to "%EY", interpret the - "%Ey" in the subformat as if decorated with that flag. - * time/tst-strftime2.c: New file. - -2019-01-24 Adhemerval Zanella - - * support/xsigstack.c (MAP_NORESERVE, MAP_STACK): Define if they - are not defined. - - [BZ #24122] - * elf/Makefile (tests): Add tst-audit13. - (modules-names): Add tst-audit13mod1. - (tst-audit13.out, LDFLAGS-tst-audit13mod1.so, tst-audit13-ENV): New - rule. - * elf/rtld.c (dl_main): Handle invalid audit module version. - * elf/tst-audit13.c: New file. - * elf/tst-audit13mod1.c: Likewise. - -2019-01-22 Samuel Thibault - - * sysdeps/mach/hurd/faccessat.c (__faccessat_common): Check for errors - returned by __hurd_at_flags. - * hurd/lookup-at.c (__file_name_lookup_at): When at_flags contains - AT_EMPTY_PATH, call __dir_lookup and __hurd_file_name_lookup_retry - directly instead of __hurd_file_name_lookup. - -2019-01-21 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default - binutils version to 2.32 branch. - -2019-01-21 Florian Weimer - - [BZ #20018] - CVE-2016-10739 - resolv: Reject trailing characters in host names - * include/arpa/inet.h (__inet_aton_exact): Declare. - (inet_aton): Remove hidden prototype. No longer used internally. - * nscd/gai.c (__inet_aton): Do not define. - * nscd/gethstbynm3_r.c (__inet_aton): Likewise. - * nss/digits_dots.c (__inet_aton): Likewise. - (__nss_hostname_digits_dots_context): Call __inet_aton_exact. - * resolv/Makefile (tests-internal): Add tst-inet_aton_exact. - (tests): Add tst-resolv-nondecimal, tst-resolv-trailing. - (tst-resolv-nondecimal): Link with libresolv.so and libpthread. - (tst-resolv-trailing): Likewise. - * resolv/Versions (GLIBC_PRIVATE): Export __inet_aton_exact from - libc. - * resolv/inet_addr.c (inet_aton_end): Remame from __inet_aton. - Make static. Add endp parameter. - (__inet_aton_exact): New function. - (__inet_aton_ignore_trailing): New function, aliased to inet_aton. - (__inet_addr): Call inet_aton_end. - * resolv/res_init.c (res_vinit_1): Truncate nameserver for IPv4, - not just IPv6. Call __inet_aton_exact. - * resolv/tst-aton.c: Switch to . - (tests): Make const. Add additional test cases with trailing - characters. - (do_test): Use array_length. - * resolv/tst-inet_aton_exact.c: New file. - * resolv/tst-resolv-trailing.c: Likewise. - * resolv/tst-resolv-nondecimal.c: Likewise. - * sysdeps/posix/getaddrinfo.c (gaih_inet): Call __inet_aton_exact. - -2019-01-21 H.J. Lu - - [BZ# 24097] - CVE-2019-6488 - * sysdeps/x86_64/multiarch/strlen-avx2.S: Use RSI_LP for length. - Clear the upper 32 bits of RSI register. - * sysdeps/x86_64/strlen.S: Use RSI_LP for length. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-strnlen - and tst-size_t-wcsnlen. - * sysdeps/x86_64/x32/tst-size_t-strnlen.c: New file. - * sysdeps/x86_64/x32/tst-size_t-wcsnlen.c: Likewise. - -2019-01-21 H.J. Lu - - [BZ# 24097] - CVE-2019-6488 - * sysdeps/x86_64/multiarch/strcpy-avx2.S: Use RDX_LP for length. - * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Likewise. - * sysdeps/x86_64/multiarch/strcpy-ssse3.S: Likewise. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-strncpy. - * sysdeps/x86_64/x32/tst-size_t-strncpy.c: New file. - -2019-01-21 H.J. Lu - - [BZ# 24097] - CVE-2019-6488 - * sysdeps/x86_64/multiarch/strcmp-avx2.S: Use RDX_LP for length. - * sysdeps/x86_64/multiarch/strcmp-sse42.S: Likewise. - * sysdeps/x86_64/strcmp.S: Likewise. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-strncasecmp, - tst-size_t-strncmp and tst-size_t-wcsncmp. - * sysdeps/x86_64/x32/tst-size_t-strncasecmp.c: New file. - * sysdeps/x86_64/x32/tst-size_t-strncmp.c: Likewise. - * sysdeps/x86_64/x32/tst-size_t-wcsncmp.c: Likewise. - -2019-01-21 H.J. Lu - - [BZ# 24097] - CVE-2019-6488 - * sysdeps/x86_64/multiarch/memset-avx512-no-vzeroupper.S: Use - RDX_LP for length. Clear the upper 32 bits of RDX register. - * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: Likewise. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-wmemset. - * sysdeps/x86_64/x32/tst-size_t-memset.c: New file. - * sysdeps/x86_64/x32/tst-size_t-wmemset.c: Likewise. - -2019-01-21 H.J. Lu - - [BZ# 24097] - CVE-2019-6488 - * sysdeps/x86_64/memrchr.S: Use RDX_LP for length. - * sysdeps/x86_64/multiarch/memrchr-avx2.S: Likewise. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memrchr. - * sysdeps/x86_64/x32/tst-size_t-memrchr.c: New file. - -2019-01-21 H.J. Lu - - [BZ# 24097] - CVE-2019-6488 - * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Use RDX_LP for - length. Clear the upper 32 bits of RDX register. - * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise. - * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S: - Likewise. - * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: - Likewise. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcpy. - tst-size_t-wmemchr. - * sysdeps/x86_64/x32/tst-size_t-memcpy.c: New file. - -2019-01-21 H.J. Lu - - [BZ# 24097] - CVE-2019-6488 - * sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S: Use RDX_LP for - length. Clear the upper 32 bits of RDX register. - * sysdeps/x86_64/multiarch/memcmp-sse4.S: Likewise. - * sysdeps/x86_64/multiarch/memcmp-ssse3.S: Likewise. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcmp and - tst-size_t-wmemcmp. - * sysdeps/x86_64/x32/tst-size_t-memcmp.c: New file. - * sysdeps/x86_64/x32/tst-size_t-wmemcmp.c: Likewise. - -2019-01-21 H.J. Lu - - [BZ# 24097] - CVE-2019-6488 - * sysdeps/x86_64/memchr.S: Use RDX_LP for length. Clear the - upper 32 bits of RDX register. - * sysdeps/x86_64/multiarch/memchr-avx2.S: Likewise. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memchr and - tst-size_t-wmemchr. - * sysdeps/x86_64/x32/test-size_t.h: New file. - * sysdeps/x86_64/x32/tst-size_t-memchr.c: Likewise. - * sysdeps/x86_64/x32/tst-size_t-wmemchr.c: Likewise. - -2019-01-18 Florian Weimer - - [BZ #24112] - resolv: Do not send queries for non-host-names in nss_dns. - * resolv/nss_dns/dns-host.c (check_name): New function. - (_nss_dns_gethostbyname2_r): Use it. - (_nss_dns_gethostbyname_r): Likewise. - (_nss_dns_gethostbyname4_r): Likewise. - -2019-01-21 Florian Weimer - - * resolv/inet_addr.c: Reformat to GNU style. - (__inet_addr, __inet_aton): Update comment. - -2019-01-18 Florian Weimer - - malloc: Revert commit 6923f6db1e688dedcf3a6556da76e0bf24a41872 - ("malloc: Use current (C11-style) atomics for fastbin access"). - This commit introduces a substantial performance regression on - POWER and Aarch64. - * malloc/malloc.c (fastbin_push_entry, fastbin_pop_entry): Remove. - (REMOVE_FB): Define. - (_int_malloc): Use it and reindent. - (_int_free): Use CAS loop with - catomic_compare_and_exchange_val_rel. - (malloc_consolidate): Use atomic_exchange_acq. - - -2019-01-18 H.J. Lu - - * signal/Makefile (LDFLAGS-tst-minsigstksz-1): New. Set to - -Wl,-z,now. - (LDFLAGS-tst-minsigstksz-2): Likewise. - (LDFLAGS-tst-minsigstksz-3): Likewise. - (LDFLAGS-tst-minsigstksz-3a): Likewise. - (LDFLAGS-tst-minsigstksz-4): Likewise. - -2019-01-18 TAMUKI Shoichi - - * manual/time.texi (strftime): Fix the wording to "alternative" rather - than "alternate". - -2019-01-16 Paul A. Clarke - - * sysdeps/powerpc/powerpc64/multiarch/strncmp.c: Fix #ifdef. - -2019-01-16 Zack Weinberg - - * support/xsignal.h (xalloc_sigstack, xfree_sigstack) - (xget_sigstack_location): New test support functions. - * support/xsigstack.c: New file, implementing them. - * support/tst-xsigstack.c: New test for them. - * support/Makefile: Update. - - * signal/tst-minsigstksz-1.c - * signal/tst-minsigstksz-2.c - * signal/tst-minsigstksz-3.c - * signal/tst-minsigstksz-3a.c - * signal/tst-minsigstksz-4.c: New tests. - * signal/Makefile: Run them. - -2019-01-16 Siddhesh Poyarekar - - * po/libc.pot: Regenerate. - -2019-01-15 Tulio Magno Quites Machado Filho - - * math/libm-test-fma.inc (fma_test_data): Set - XFAIL_ROUNDING_IBM128_LIBGCC to more tests. - -2019-01-15 Rogerio A. Cardoso - - * sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c: - (do_test): Changed __vector __int128_t to __vector unsigned int. - -2019-01-14 Leonardo Sandoval - - * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add - strcat-avx2, strncat-avx2, strcpy-avx2, strncpy-avx2, - stpcpy-avx2 and stpncpy-avx2. - * sysdeps/x86_64/multiarch/ifunc-impl-list.c: - (__libc_ifunc_impl_list): Add tests for __strcat_avx2, - __strncat_avx2, __strcpy_avx2, __strncpy_avx2, __stpcpy_avx2 - and __stpncpy_avx2. - * sysdeps/x86_64/multiarch/{ifunc-unaligned-ssse3.h => - ifunc-strcpy.h}: rename header for a more generic name. - * sysdeps/x86_64/multiarch/ifunc-strcpy.h: - (IFUNC_SELECTOR): Return OPTIMIZE (avx2) on AVX 2 machines if - AVX unaligned load is fast and vzeroupper is preferred. - * sysdeps/x86_64/multiarch/stpcpy-avx2.S: New file. - * sysdeps/x86_64/multiarch/stpncpy-avx2.S: Likewise. - * sysdeps/x86_64/multiarch/strcat-avx2.S: Likewise. - * sysdeps/x86_64/multiarch/strcpy-avx2.S: Likewise. - * sysdeps/x86_64/multiarch/strncat-avx2.S: Likewise. - * sysdeps/x86_64/multiarch/strncpy-avx2.S: Likewise. - -2019-01-12 Dmitry V. Levin - - * argp/argp-help.c: Fix typo in comment. - * misc/sys/cdefs.h: Likewise. - * posix/regexec.c (sift_states_iter_mb): Likewise. - * socket/sockatmark.c: Likewise. - * socket/sys/socket.h: Likewise. - * sysdeps/ia64/fpu/libm_sincos_large.S: Likewise. - * sysdeps/ia64/fpu/libm_sincosl.S: Likewise. - * sysdeps/ia64/fpu/s_cosl.S: Likewise. - * sysdeps/ieee754/dbl-64/k_rem_pio2.c: Likewise. - * sysdeps/unix/sockatmark.c: Likewise. - * time/strptime_l.c: Likewise. - -2019-01-11 TAMUKI Shoichi - - * time/strftime_l.c (__strftime_internal): Use "L_" macros, also add a - missing space after the cast of "_NL_CURRENT". - -2019-01-11 Rogerio A. Cardoso - - * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (vscr_t): Added - ifdef to fix read of VSCR. - * sysdeps/powerpc/powerpc64/Makefile [$subdir == stdlib]: Add - tst-ucontext-ppc64-vscr.c to test list. - * sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c: New test file. - -2019-01-10 Andreas K. Hüttel - - * resolv/tst-resolv-ai_idn-common.c (response): Avoid switch - fall-through. - -2019-01-09 Jim Wilson - - * sysdeps/riscv/rv64/rvd/libm-test-ulps: Update. - -2019-01-09 Wilco Dijkstra - - * manual/tunables.texi (glibc.cpu.name): Add ares tunable. - * sysdeps/aarch64/multiarch/memcpy.c (__libc_memcpy): Use - __memcpy_falkor for ares. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_ARES): - Add new define. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): - Add ares cpu. - -2019-01-07 H.J. Lu - - [BZ #24066] - * soft-fp/extenddftf2.c: Use "_FP_W_TYPE_SIZE < 64" to check if - 4_FP_W_TYPEs are used for IEEE quad precision. - * soft-fp/extendhftf2.c: Likewise. - * soft-fp/extendsftf2.c: Likewise. - * soft-fp/extendxftf2.c: Likewise. - * soft-fp/trunctfdf2.c: Likewise. - * soft-fp/trunctfhf2.c: Likewise. - * soft-fp/trunctfsf2.c: Likewise. - * soft-fp/trunctfxf2.c: Likewise. - * sysdeps/alpha/ots_cvttx.c: Likewise. - * sysdeps/alpha/ots_cvtxt.c: Likewise. - * sysdeps/ieee754/soft-fp/s_daddl.c: Likewise. - * sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise. - * sysdeps/ieee754/soft-fp/s_dmull.c: Likewise. - * sysdeps/ieee754/soft-fp/s_dsubl.c: Likewise. - * sysdeps/ieee754/soft-fp/s_faddl.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fmull.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fsubl.c: Likewise. - * sysdeps/sparc/sparc32/q_dtoq.c: Likewise. - * sysdeps/sparc/sparc32/q_qtod.c: Likewise. - * sysdeps/sparc/sparc32/q_qtos.c: Likewise. - * sysdeps/sparc/sparc32/q_stoq.c: Likewise. - * sysdeps/sparc/sparc64/qp_dtoq.c: Likewise. - * sysdeps/sparc/sparc64/qp_qtod.c: Likewise. - * sysdeps/sparc/sparc64/qp_qtos.c: Likewise. - * sysdeps/sparc/sparc64/qp_stoq.c: Likewise. - -2019-01-07 Aurelien Jarno - - [BZ #24024] - * Makeconfig: Build libm with -fno-math-errno but build the remaining - code with -fmath-errno. - * string/Makefile [$(build-shared)] (tests): Add test-strerror-errno. - [$(build-shared)] (LDLIBS-test-strerror-errno): New variable. - * string/test-strerror-errno.c: New file. - -2019-01-07 Aurelien Jarno - - [BZ #24046] - * localedata/locales/en_US (date_fmt): Add, set to - "%a %d %b %Y %r %Z". - -2019-01-07 Florian Weimer - - [BZ #24063] - * manual/arith.texi (Math Error Reporting): Use @code{errno} - instead of @var{errno}. - (Parsing of Integers): Likewise. - (Parsing of Floats): Likewise. - * manual/filesys.texi (Working with Directory Trees): Likewise. - (Temporary Files): Likewise. - * manual/job.texi (Terminal Access Functions): Likewise. - * manual/llio.texi (Synchronizing I/O): Likewise. - * manual/math.texi (SVID Random): Likewise. - * manual/message.texi (The catgets Functions): Likewise. - (Translation with gettext): Likewise. - (Locating gettext catalog): Likewise. - (Charset conversion in gettext): Likewise. - * manual/nss.texi (NSS Module Function Internals): Likewise. - * manual/search.texi (Hash Search Function): Likewise. - * manual/setjmp.texi (System V contexts): Likewise. - * manual/time.texi (Sleeping): Likewise. - * manual/users.texi (Lookup User): Likewise. - (Lookup Group): Likewise. - -2019-01-05 Adhemerval Zanella - - * posix/tst-spawn.c (do_test): Extend spargv to new required size and - fix typo. - -2019-01-04 Martin Jansa - - [BZ #19444] - * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Use - __builtin_unreachable for default case in switch. - (__ieee754_yn): Likewise. - * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. - (__ieee754_ynl): Likewise. - * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. - (__ieee754_ynl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise. - (__ieee754_ynl): Likewise. - -2019-01-04 Szabolcs Nagy - - * manual/maint.texi: Use @{ and @}. - -2019-01-04 Florian Weimer - - * sysdeps/unix/sysv/linux/tst-ttyname.c (adjust_file_limit): New - function. - (do_in_chroot_1): Call it. - (run_chroot_tests): - Improve error reporting in case it is not possible to create a - collision for the PTY name required by the test. - -2019-01-03 Adhemerval Zanella - - * nptl/pthread_join_common.c (__pthread_timedjoin_ex): Use - lll_wait_tid with timeout. - * nptl/sem_wait.c (__old_sem_wait): Use lll_futex_wait_cancel. - * sysdeps/nptl/aio_misc.h (AIO_MISC_WAIT): Use - futex_reltimed_wait_cancelable for cancelabla mode. - * sysdeps/nptl/gai_misc.h (GAI_MISC_WAIT): Likewise. - * sysdeps/posix/open64.c (__libc_open64): Do not call cancelation - macros. - * sysdeps/posix/sigwait.c (__sigwait): Likewise. - * sysdeps/posix/waitid.c (__sigwait): Likewise. - * sysdeps/unix/sysdep.h (__SYSCALL_CANCEL_CALL, - SYSCALL_CANCEL_NCS): New macro. - * sysdeps/nptl/lowlevellock.h (lll_wait_tid): Add timeout argument. - (lll_timedwait_tid): Remove macro. - * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_wait_tid): - Likewise. - (lll_timedwait_tid): Likewise. - * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_wait_tid): - Likewise. - (lll_timedwait_tid): Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_wait_tid): - Likewise. - (lll_timedwait_tid): Likewise. - * sysdeps/unix/sysv/linux/clock_nanosleep.c (__clock_nanosleep): - Use INTERNAL_SYSCALL_CANCEL. - * sysdeps/unix/sysv/linux/futex-internal.h - (futex_reltimed_wait_cancelable): Use LIBC_CANCEL_{ASYNC,RESET} - instead of __pthread_{enable,disable}_asynccancel. - * sysdeps/unix/sysv/linux/lowlevellock-futex.h - (lll_futex_wait_cancel): New macro. - - * sysdeps/i386/nptl/tls.h (THREAD_ATOMIC_CMPXCHG_VAL, - THREAD_ATOMIC_AND, THREAD_ATOMIC_BIT_SET): Remove macros. - - * sysdeps/x86_64/nptl/tls.h (THREAD_ATOMIC_CMPXCHG_VAL, - THREAD_ATOMIC_AND, THREAD_ATOMIC_BIT_SET): Remove macros. - - * debug/tst-backtrace5.c (handle_signal): Avoid cancellable wrappers - in backtrace analysis. - * nptl/tst-cancel4.c (tf_write): Handle cancelled syscall with - side-effects. - (tf_send): Likewise. - - * io/creat.c (LIBC_CANCEL_HANDLED): Remove macro. - * io/ppoll.c (LIBC_CANCEL_HANDLED): Likewise. - * misc/pselect.c (LIBC_CANCEL_HANDLED): Likewise. - * nptl/pthreadP.h (LIBC_CANCEL_HANDLED): Likewise. - * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Likewise. - * sysdeps/mach/hurd/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Likewise. - * sysdeps/posix/pause.c (LIBC_CANCEL_HANDLED): Likewise. - * sysdeps/posix/sigpause.c (LIBC_CANCEL_HANDLED): Likewise. - * sysdeps/unix/sysv/linux/creat.c (LIBC_CANCEL_HANDLED): Likewise. - * sysdeps/unix/sysv/linux/creat64.c (LIBC_CANCEL_HANDLED): Likewise. - * sysdeps/unix/sysv/linux/sigwait.c (LIBC_CANCEL_HANDLED): Likewise. - * sysdeps/unix/sysv/linux/sigwaitinfo.c (LIBC_CANCEL_HANDLED): - Likewise. - * nptl/Makefile [$(run-built-tests) = yes] (tests-special): Remove - tst-cancel-wrappers.sh. - (generated): Remove tst-cancel-wrappers.out. - (tst-cancel-wrappers.out): Remove rule. - * nptl/tst-cancel-wrappers.sh: Remove file. - -2019-01-03 Szabolcs Nagy - - * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h: Add comment. - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT): - Update. - -2019-01-03 Adhemerval Zanella - - [BZ #23640] - * posix/tst-spawn.c (do_prepare, handle_restart, do_test): Add - posix_spawn_file_actions_adddup2 test to check O_CLOCEXEC reset. - * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Add - close-on-exec reset for adddup2 file action. - * sysdeps/posix/spawni.c (__spawni_child): Likewise. - -2019-01-03 Zack Weinberg - - * include/features.h (__GLIBC_USE_DEPRECATED_SCANF): New __GLIBC_USE - parameter. Only use deprecated scanf when __USE_GNU is defined - and __STDC_VERSION__ is less than 199901L or __cplusplus is less - than 201103L, whichever is relevant for the language being compiled. - - * libio/stdio.h, libio/bits/stdio-ldbl.h: Decide whether to redirect - scanf, fscanf, sscanf, vscanf, vfscanf, and vsscanf to their - __isoc99_ variants based only on __GLIBC_USE (DEPRECATED_SCANF). - * wcsmbs/wchar.h: wcsmbs/bits/wchar-ldbl.h: Likewise for - wscanf, fwscanf, swscanf, vwscanf, vfwscanf, and vswscanf. - - * libio/iovsscanf.c - * libio/fwscanf.c - * libio/iovswscanf.c - * libio/swscanf.c - * libio/vscanf.c - * libio/vwscanf.c - * libio/wscanf.c - * stdio-common/fscanf.c - * stdio-common/scanf.c - * stdio-common/vfscanf.c - * stdio-common/vfwscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c - * sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-scanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c - * sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c: - Override __GLIBC_USE_DEPRECATED_SCANF to 1. - - * stdio-common/sscanf.c: Likewise. Remove ldbl_hidden_def for __sscanf. - * stdio-common/isoc99_sscanf.c: Add libc_hidden_def for __isoc99_sscanf. - * include/stdio.h: Provide libc_hidden_proto for __isoc99_sscanf, - not sscanf. - [!__GLIBC_USE (DEPRECATED_SCANF)]: Define sscanf as __isoc99_scanf - with a preprocessor macro. - - * stdio-common/bug21.c, stdio-common/scanf14.c: - Use %ms instead of %as, %mS instead of %aS, %m[] instead of %a[]; - remove DIAG_IGNORE_NEEDS_COMMENT for -Wformat. - * stdio-common/scanf16.c: Likewise. Add __attribute__ ((format (scanf))) - to xscanf, xfscanf, xsscanf. - - * stdio-common/scanf14a.c: New copy of scanf14.c which still uses - %as, %aS, %a[]. Remove DIAG_IGNORE_NEEDS_COMMENT for -Wformat. - * stdio-common/scanf16a.c: New copy of scanf16.c which still uses - %as, %aS, %a[]. Add __attribute__ ((format (scanf))) to xscanf, - xfscanf, xsscanf. - * stdio-common/scanf15.c, stdio-common/scanf17.c: No need to - override feature selection macros or provide definitions of u_char etc. - * stdio-common/Makefile (tests): Add scanf14a and scanf16a. - (CFLAGS-scanf15.c, CFLAGS-scanf17.c): Remove. - (CFLAGS-scanf14a.c, CFLAGS-scanf16a.c): New. Compile these files - with -std=gnu89. - -2019-01-03 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - bits/termios-misc.h. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Remove file. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/bits/termios-misc.h: New file. - * sysdeps/unix/sysv/linux/bits/termios.h: Include termios-misc.h. - - * sysdeps/unix/sysv/linux/powerpc/bits/termios-misc.h: New file. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h [__USE_MISC] - (struct sgtty, struct tchars, struct ltchars, TIOCPKT_DATA, - TIOCPKT_FLUSHREAD, TIOCPKT_FLUSHWRITE, TIOCPKT_STOP, TIOCPKT_START, - TIOCPKT_NOSTOP, TIOCPKT_DOSTOP, _VINTR, _VQUIT, _VERASE, _VKILL, - _VEOF, _VMIN, _VEOL, _VTIME, _VEOL2, _VSWTC): Move to - termios-misc.h. - * sysdeps/unix/sysv/linux/powerpc/Makefile [$subdir == misc] - (sysdep_headers): Add termios-misc.h. - - * sysdeps/unix/sysv/linux/bits/termios.h (_IOT_termios): Remove. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - termios-tcflow.h. - * sysdeps/unix/sysv/linux/bits/termios-tcflow.h: New file. - * sysdeps/unix/sysv/linux/mips/bits/termios-tcflow.h: Likewise. - * sysdeps/unix/sysv/linux/bits/termios.h (TCSANOW, TCSADRAIN, - TCSAFLUSH): Move to termios-tcflow.h. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - termios-c_lflag.h. - * sysdeps/unix/sysv/linux/bits/termios-c_lflag.h: New file. - * sysdeps/unix/sysv/linux/alpha/bits/termios-c_lflag.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios-c_lflag.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_lflag.h: Likewise. - * sysdeps/unix/sysv/linux/bits/termios.h (ISIG, ISCANON, ECHO, ECHOE, - ECHOK, ECHONL, NOFLSH, TOSTOP, IEXTEN): Move to termios-c_lflag.h. - [__USE_MISC || (__USE_XOPEN && !__USE_XOPEN2K)] (XCASE): Likewise. - [__USE_MISC] (ECHOCTL, ECHOPRT, ECHOKE, FLUSHO, PENDIN, EXTPROC): - Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - termios-c_cflag.h. - * sysdeps/unix/sysv/linux/bits/termios-c_cflag.h: New file. - * sysdeps/unix/sysv/linux/alpha/bits/termios-c_cflag.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cflag.h: Likewise. - * sysdeps/unix/sysv/linux/bits/termios.h (CSIZE, CS5, CS6, CS7, CS8, - CSTOPB, CREAD, PARENB, PARODD, HUPCL, CLOCAL): Move to - termios-c_cflag.h. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. - - [BZ #23783] - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - termios-baud.h. - * sysdeps/unix/sysv/linux/bits/termios-baud.h: New file. - * sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios-baud.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h (B57600, B115200, - B230400, B460800, B500000, B576000, B921600, B1000000, B1152000, - B1500000, B2000000, B2500000, B3000000, B3500000, B4000000, - __MAX_BAUD): Move to termios-baud.h. - [__USE_MISC] (CBAUD, CBAUDEX): Likewise. - * sysdeps/unix/sysv/linux/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. - - * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add - termios-c_oflag.h. - * sysdeps/unix/sysv/linux/bits/termios-c_oflag.h: New file. - * sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h: Likewise. - * sysdeps/unix/sysv/linux/bits/termios.h (OPOST, OLCUC, ONLCR, OCRNL, - ONOCR, ONLRET, OFILL, OFDEL, VTDLY, VT0, VT1): Move to - termios-c_oflag.h. - [__USE_MISC || __USE_XOPEN] (NLDLY, NL0, NL1, CRDLY, CR0, CR1, CR2, - CR3, TABDLY, TAB0, TAB1, TAB2, TAB3, BSDLY, BS0, BS1, FFDLY, FF0, - FFR1): Likewise. - [USE_MISC] (XTABS): Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h Likewise. - - * sysdeps/unix/sysv/linux/Makefile (sysdeps_headers): Add - termios-c_iflag.h. - * sysdeps/unix/sysv/linux/bits/termios-c_iflag.h: New file. - * sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h: Likewise. - * sysdeps/unix/sysv/linux/bits/termios.h (IGNBRK, BRKINT, IGNPAR, PARMRK, - INPCK, ISTRIP, INLCR, IGNCR, ICRNL, IXON, IXOFF, IXANY, IUCLC, IMAXBEL, - IUTF8): Move to termios-c_iflag.h. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. - - * sysdeps/unix/sysv/linux/Makefile (sysdeps_headers): Add - termios-cc.h. - * sysdeps/unix/sysv/linux/bits/termios-c_cc.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/termios-c_cc.h: New file. - * sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h: Likewise. - * sysdeps/unix/sysv/linux/bits/termios.h (VINTR, VQUIT, VERASE, - VKILL, VEOF, VTIME, VMIN, VSWTC, VSTART, VSTOP, VSUSP, VEOL, - VREPRINT, VDISCARD, VWERASE, VLNEXT, VEOLF2): Move to termios-cc.h. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. - - * sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h: New file. - * sysdeps/unix/sysv/linux/bits/termios-struct.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios-struct.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios-struct.h: Likewise. - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - termios-struct.h. - * sysdeps/unix/sysv/linux/bits/termios.h (struct termios): Move to - termios-struct.h. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h (struct termios): - Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h (struct termios): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (struct termios): - Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h (struct termios): - Likewise. - * sysdeps/unix/sysv/linux/kernel_termios.h (_HAVE_C_ISPEED, - _HAVE_C_OSPEED): Define. - * sysdeps/unix/sysv/linux/mips/kernel_termios.h (_HAVE_C_ISPEED, - _HAVE_C_OSPEED): Likewise. - * sysdeps/unix/sysv/linux/sparc/kernel_termios.h (_HAVE_C_ISPEED, - _HAVE_C_OSPEED): Likewise. - * sysdeps/unix/sysv/linux/speed.c [_HAVE_STRUCT_TERMIOS_C_OSPEED] - (cfsetospeed): Check for define value instead of existence. - [_HAVE_STRUCT_TERMIOS_C_ISPEED] (cfsetispeed): Likewise. - * sysdeps/unix/sysv/linux/tcgetattr.c [_HAVE_STRUCT_TERMIOS_C_ISPEED - && _HAVE_C_ISPEED] (__tcgetattr): Likewise. - * sysdeps/unix/sysv/linux/tcsetattr.c [_HAVE_STRUCT_TERMIOS_C_ISPEED - && _HAVE_C_ISPEED] (__tcsetattr): Likewise. - - [BZ #17783] - * sysdeps/unix/sysv/linux/bits/termios.h [__USE_MISC] (TIOCSER_TEMT): - Define. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h [__USE_MISC] - (TIOCSER_TEMT): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h [__USE_MISC] - (TEOCSER_TEMT): Likewise. - -2019-01-02 PanderMusubi - - [BZ #24011] - * localedata/locales/bs_BA (LC_TELEPHONE): Fix a typo in comment. - -2019-01-02 Joseph Myers - - * sysdeps/powerpc/nofpu/libm-test-ulps: Update. - -2019-01-02 Samuel Thibault - - * sysdeps/htl/pt-barrierattr-setpshared.c - (pthread_barrierattr_setpshared): Add stub warning. - * sysdeps/htl/pt-condattr-setpshared.c - (pthread_condattr_setpshared): Likewise. - * sysdeps/htl/pt-mutexattr-setpshared.c - (pthread_mutexattr_setpshared): Likewise. - * sysdeps/htl/pt-rwlockattr-setpshared.c - (pthread_rwlockattr_setpshared): Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-setpshared.c - (pthread_mutexattr_setpshared): Likewise. - -2019-01-02 Joseph Myers - - * sysdeps/unix/sysv/linux/tst-mman-consts.py (main): Expect - constants to match with Linux 4.20. - - * sysdeps/mips/mips32/libm-test-ulps: Update. - * sysdeps/mips/mips64/libm-test-ulps: Likewise. - -2019-01-02 Aurelien Jarno - - [BZ #24034] - * sysdeps/unix/sysv/linux/arm/atomic-machine.h - (__arm_assisted_compare_and_exchange_val_32_acq): Use uint32_t rather - than __typeof (...) for the a_ptr variable. - -2019-01-02 Gabriel F. T. Gomes - - * debug/sprintf_chk.c (___sprintf_chk): Use PRINTF_CHK. - * debug/vsprintf_chk.c (___vsprintf_chk): Likewise. - * libio/Makefile (tests): Add tst-sprintf-ub and - tst-sprintf-chk-ub. - (CFLAGS-tst-sprintf-ub.c): New variable. - (CFLAGS-tst-sprintf-chk-ub.c): Likewise. - * libio/iovsprintf.c (__vsprintf_internal): Only erase the - destination buffer and check for overflows in fortified mode. - * libio/libioP.h (PRINTF_CHK): New macro. - * libio/tst-sprintf-chk-ub.c: New file. - * libio/tst-sprintf-ub.c: Likewise. - -2019-01-02 Florian Weimer - - [BZ #24018] - * intl/dcigettext.c (DCIGETTEXT): Do not return NULL on asprintf - failure. - -2019-01-02 Florian Weimer - - * nptl/tst-audit-threads.c: Switch to . - -2019-01-01 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/in.h (IPV6_MULTICAST_ALL): New - macro. - - * sysdeps/unix/sysv/linux/netpacket/packet.h - (PACKET_IGNORE_OUTGOING): New macro. - - * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SSBS): New - macro. - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 4.20. - (riscv_flush_icache): New syscall. - - * manual/texinfo.tex: Update to version 2018-12-28.17 with - trailing whitespace removed. - * scripts/config.guess: Update to version 2019-01-01. - * scripts/config.sub: Update to version 2019-01-01. - * scripts/move-if-change: Update from gnulib. - - * NEWS: Update copyright dates. - * catgets/gencat.c (print_version): Likewise. - * csu/version.c (banner): Likewise. - * debug/catchsegv.sh: Likewise. - * debug/pcprofiledump.c (print_version): Likewise. - * debug/xtrace.sh (do_version): Likewise. - * elf/ldconfig.c (print_version): Likewise. - * elf/ldd.bash.in: Likewise. - * elf/pldd.c (print_version): Likewise. - * elf/sotruss.sh: Likewise. - * elf/sprof.c (print_version): Likewise. - * iconv/iconv_prog.c (print_version): Likewise. - * iconv/iconvconfig.c (print_version): Likewise. - * locale/programs/locale.c (print_version): Likewise. - * locale/programs/localedef.c (print_version): Likewise. - * login/programs/pt_chown.c (print_version): Likewise. - * malloc/memusage.sh (do_version): Likewise. - * malloc/memusagestat.c (print_version): Likewise. - * malloc/mtrace.pl: Likewise. - * manual/libc.texinfo: Likewise. - * nptl/version.c (banner): Likewise. - * nscd/nscd.c (print_version): Likewise. - * nss/getent.c (print_version): Likewise. - * nss/makedb.c (print_version): Likewise. - * posix/getconf.c (main): Likewise. - * scripts/test-installation.pl: Likewise. - * sysdeps/unix/sysv/linux/lddlibc4.c (main): Likewise. - - * All files with FSF copyright notices: Update copyright dates - using scripts/update-copyrights. - * locale/programs/charmap-kw.h: Regenerated. - * locale/programs/locfile-kw.h: Likewise. - -2018-12-31 Joseph Myers - - * timezone/zdump.c: Update from tzcode 2018i. - * timezone/zic.c: Likewise. - -2018-12-31 Paul Eggert - - regex: improve Gnulib port to AIX - From the glibc point of view, this removes duplicate macro - definitions and is obviously safe. - From the Gnulib point of view, this pacifies xlc 12.01 on AIX 7.1. - * posix/regex_internal.h: - (__attribute__, __attribute_warn_unused_result__): - Remove; already defined elsewhere. - -2018-12-31 Florian Weimer - - [BZ #24027] - * malloc/malloc.c (_int_realloc): Always call memcpy for the - copying operation. (ncopies had the wrong type, resulting in an - integer wraparound and too few elements being copied.) - -2018-12-31 H.J. Lu - - [BZ #24022] - * sysdeps/unix/sysv/linux/riscv/flush-icache.c: Check if - exists with __has_include__ before including it. - -2018-12-31 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - version to 4.20. - -2018-12-28 Justus Winter <4winter@informatik.uni-hamburg.de> - - * hurd/lookup-retry: Include . - (__hurd_file_name_lookup_retry): Keep a ref on last result in `lastdir'. - Release it on return. Handle "pid" magical lookup retry. - -2018-12-28 Rafal Luzynski - - [BZ #10496] - * localedata/locales/aa_DJ (t_fmt): Set to "%l:%M:%S %p". - (t_fmt_ampm): Likewise. - * localedata/locales/aa_ER (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/aa_ER@saaho (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/aa_ET (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/am_ET (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/byn_ER (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/om_ET (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/sid_ET (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/so_DJ (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/so_ET (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/so_SO (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/ti_ER (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/ti_ET (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/tig_ER (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/wal_ET (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - - * localedata/locales/anp_IN (t_fmt): Set to "%I:%M:%S %p %Z". - * localedata/locales/ar_IN (t_fmt): Likewise. - * localedata/locales/bhb_IN (t_fmt): Likewise. - * localedata/locales/bho_IN (t_fmt): Likewise. - * localedata/locales/bi_VU (t_fmt): Likewise. - * localedata/locales/bn_BD (t_fmt): Likewise. - * localedata/locales/bn_IN (t_fmt): Likewise. - * localedata/locales/brx_IN (t_fmt): Likewise. - * localedata/locales/doi_IN (t_fmt): Likewise. - * localedata/locales/en_HK (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - * localedata/locales/en_IN (t_fmt): Likewise. - * localedata/locales/en_PH (t_fmt): Likewise. - * localedata/locales/gu_IN (t_fmt): Likewise. - * localedata/locales/hi_IN (t_fmt): Likewise. - * localedata/locales/hif_FJ (t_fmt): Likewise. - * localedata/locales/hne_IN (t_fmt): Likewise. - * localedata/locales/kn_IN (t_fmt): Likewise. - * localedata/locales/kok_IN (t_fmt): Likewise. - * localedata/locales/ks_IN (t_fmt): Likewise. - * localedata/locales/ks_IN@devanagari (t_fmt): Likewise. - * localedata/locales/mag_IN (t_fmt): Likewise. - * localedata/locales/mai_IN (t_fmt): Likewise. - * localedata/locales/mjw_IN (t_fmt): Likewise. - * localedata/locales/ml_IN (t_fmt): Likewise. - * localedata/locales/mni_IN (t_fmt): Likewise. - * localedata/locales/mr_IN (t_fmt): Likewise. - * localedata/locales/ms_MY (t_fmt): Likewise. - * localedata/locales/pa_IN (t_fmt): Likewise. - * localedata/locales/raj_IN (t_fmt): Likewise. - * localedata/locales/sa_IN (t_fmt): Likewise. - * localedata/locales/sat_IN (t_fmt): Likewise. - * localedata/locales/sd_IN (t_fmt): Likewise. - * localedata/locales/sd_IN@devanagari (t_fmt): Likewise. - * localedata/locales/tcy_IN (t_fmt): Likewise. - * localedata/locales/the_NP (t_fmt): Likewise. - * localedata/locales/to_TO (t_fmt): Likewise. - * localedata/locales/ur_IN (t_fmt): Likewise. - - * localedata/locales/hif_FJ (d_t_fmt): Set to - "%A %d %b %Y %I:%M:%S %p". - (date_fmt): Add, set to "%A %d %b %Y %I:%M:%S %p %Z". - - * localedata/locales/ar_AE (t_fmt): Set to "%Z %I:%M:%S %p". - * localedata/locales/ar_BH (t_fmt): Likewise. - * localedata/locales/ar_DZ (t_fmt): Likewise. - * localedata/locales/ar_EG (t_fmt): Likewise. - * localedata/locales/ar_IQ (t_fmt): Likewise. - * localedata/locales/ar_JO (t_fmt): Likewise. - * localedata/locales/ar_KW (t_fmt): Likewise. - * localedata/locales/ar_LB (t_fmt): Likewise. - * localedata/locales/ar_LY (t_fmt): Likewise. - * localedata/locales/ar_OM (t_fmt): Likewise. - * localedata/locales/ar_QA (t_fmt): Likewise. - * localedata/locales/ar_SD (t_fmt): Likewise. - * localedata/locales/ar_SS (t_fmt): Likewise. - * localedata/locales/ar_SY (t_fmt): Likewise. - * localedata/locales/ar_TN (t_fmt): Likewise. - * localedata/locales/ar_YE (t_fmt): Likewise. - - * localedata/locales/gez_ER (t_fmt): Set to "%l:%M:%S%p". - (t_fmt_ampm): Likewise. - * localedata/locales/gez_ET (t_fmt): Likewise. - (t_fmt_ampm): Likewise. - - * localedata/locales/ta_IN (t_fmt): Set to "%p %I:%M:%S %Z". - (t_fmt_ampm): Likewise. - (d_t_fmt): Set to "%A %d %B %Y %p %I:%M:%S %Z". - - * localedata/locales/zh_HK (t_fmt): - Set to "%p %I%M%S %Z". - - * localedata/locales/ar_MA (t_fmt_ampm): Set to "" (empty string) - because this locale does not use the 12-hour clock. - (t_fmt): Set to "%Z %H:%M:%S". - (d_t_fmt): Set to "%d %b, %Y %Z %H:%M:%S". - - * localedata/locales/mt_MT (t_fmt_ampm): Set to "" (empty string) - because this locale does not use the 12-hour clock. - (t_fmt): Set to "%H:%M:%S %Z". - (d_t_fmt): Set to "%A, %d ta %b, %Y %H:%M:%S %Z". - - * localedata/locales/so_KE (t_fmt_ampm): Set to "" (empty string) - because this locale does not use the 12-hour clock. - (t_fmt): Set to "%T". - (d_t_fmt): Set to "%A, %B %e, %Y %X %Z". - (date_fmt): Set to "%A, %B %e, %X %Z %Y". - - * localedata/locales/ta_LK (t_fmt_ampm): Set to "" (empty string) - because this locale does not use the 12-hour clock. - (t_fmt): Set to "%H:%M:%S %Z". - (d_t_fmt): Set to "%A %d %B %Y %H:%M:%S %Z". - - * localedata/locales/bg_BG (t_fmt_ampm): Set to "" (empty string) - because this locale does not use the 12-hour clock. - * localedata/locales/cs_CZ (t_fmt_ampm): Likewise. - * localedata/locales/sk_SK (t_fmt_ampm): Likewise. - -2018-12-28 Rafal Luzynski - - [BZ #10496] - [BZ #23724] - * localedata/locales/sq_AL (t_fmt): Set to "%I:%M:%S.%p %Z". - (t_fmt_ampm): Likewise. - (d_t_fmt): Set to "%a %-d %b %Y %I:%M:%S.%p". - (date_fmt): Add, set to "%a %-d %b %Y %I:%M:%S.%p %Z". - (d_fmt): Set to "%-d.%-m.%y". - -2018-12-28 Adhemerval Zanella - - * malloc/alloc_buffer_alloc_array.c (__libc_alloc_buffer_alloc_array): - Use __builtin_mul_overflow in place of check_mul_overflow_size_t. - * malloc/dynarray_emplace_enlarge.c (__libc_dynarray_emplace_enlarge): - Likewise. - * malloc/dynarray_resize.c (__libc_dynarray_resize): Likewise. - * malloc/reallocarray.c (__libc_reallocarray): Likewise. - * malloc/malloc-internal.h (check_mul_overflow_size_t): Remove - function. - * support/blob_repeat.c (check_mul_overflow_size_t, - (minimum_stride_size, support_blob_repeat_allocate): Likewise. - -2018-12-28 Aurelien Jarno - - * sysdeps/alpha/fpu/libm-test-ulps: Regenerated. - -2018-12-27 Paul Eggert - - regex: simplify Gnulib port - This simplifies the code, by removing stuff intended for porting - to Gnulib but no longer needed there. - * posix/regcomp.c [!_LIBC]: No need to put #ifdef _LIBC around - uses of libc_hidden_def, weak_alias. - * posix/regcomp.c, posix/regexec.c: Use __restrict rather than - _Restrict_ except for public-facing headers. - * posix/regex_internal.h (attribute_hidden) [!_LIBC]: - Remove; already defined elsewhere. - * posix/regex.c, posix/regex_internal.h: - Use __GNUC_PREREQ instead of rolling our own. - * posix/regex_internal.h (__GNUC_PREREQ): Remove duplicate defn. - -2018-12-27 Wilco Dijkstra - - * benchtests/bench-strlen.c (generic_strlen): New function. - (memchr_strlen): New function. - -2018-12-26 H.J. Lu - - * sysdeps/x86_64/fpu/s_sincosf.S: Removed. - * sysdeps/x86_64/fpu/multiarch/s_sincosf-sse2.S: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_sincosf-sse2.c: New file. - -2018-12-26 H.J. Lu - - * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated. - -2018-12-26 H.J. Lu - - * sysdeps/ieee754/flt-32/s_sincosf.h: Include . - (sincos_t, sincosf_poly, sinf_poly): Moved to ... - * sysdeps/ieee754/flt-32/sincosf_poly.h: Here. New file. - * sysdeps/x86/fpu/s_sincosf_data.c: New file. - * sysdeps/x86/fpu/sincosf_poly.h: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: Just include - . - -2018-12-21 Joseph Myers - - [BZ #24023] - * sysdeps/unix/sysv/linux/nios2/localplt.data: Allow __floatundidf - PLT reference in libc.so. - * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data: Allow - _Q_lltoq and _Q_qtod PLT references in libc.so. - -2018-12-21 Wilco Dijkstra - - * benchtests/bench-memchr.c: Cleanup defines. - * benchtests/bench-memcmp.c: Likewise. - * benchtests/bench-memset.c: Likewise. - * benchtests/bench-memset-large.c: Likewise. - * benchtests/bench-memset-walk.c: Likewise. - * benchtests/bench-stpcpy.c: Likewise. - * benchtests/bench-stpncpy.c: Likewise. - * benchtests/bench-strcat.c: Likewise. - * benchtests/bench-strchr.c: Likewise. - * benchtests/bench-strcmp.c: Likewise. - * benchtests/bench-strcpy.c: Likewise. - * benchtests/bench-strcspn.c: Likewise. - * benchtests/bench-string.h: Likewise. - * benchtests/bench-strlen.c: Likewise. - * benchtests/bench-strncat.c: Likewise. - * benchtests/bench-strncmp.c: Likewise. - * benchtests/bench-strncpy.c: Likewise. - * benchtests/bench-strnlen.c: Likewise. - * benchtests/bench-strpbrk.c: Likewise. - * benchtests/bench-strrchr.c: Likewise. - * benchtests/bench-strspn.c: Likewise. - -2018-12-21 Joseph Myers - - * stdlib/longlong.h: Update from GCC. - - [BZ #23993] - * configure.ac (libc_cv_compiler_ok): Require GCC 5 or later. - * configure: Regenerated. - * manual/install.texi (Tools for Compilation): Update minimum GCC - version. - * INSTALL: Regenerated. - -2018-12-21 Istvan Kurucsai - - * malloc/malloc.c (munmap_chunk): Verify chunk alignment. - -2018-12-20 Istvan Kurucsai - - * malloc/malloc.c (mremap_chunk): Additional checks. - -2018-12-21 Mao Han - - * config.h.in (CSKYABI, CSKY_HARD_FLOAT): New Define. - * scripts/build-many-glibcs.py: Add C-SKY targets. - * sysdeps/csky/Implies: New file. - * sysdeps/csky/Makefile: Likewise. - * sysdeps/csky/abiv2/__longjmp.S: Likewise. - * sysdeps/csky/abiv2/csky-mcount.S: Likewise. - * sysdeps/csky/abiv2/dl-trampoline.S: Likewise. - * sysdeps/csky/abiv2/memcmp.S: Likewise. - * sysdeps/csky/abiv2/memcpy.S: Likewise. - * sysdeps/csky/abiv2/memmove.S: Likewise. - * sysdeps/csky/abiv2/memset.S: Likewise. - * sysdeps/csky/abiv2/setjmp.S: Likewise. - * sysdeps/csky/abiv2/start.S: Likewise. - * sysdeps/csky/abiv2/strcmp.S: Likewise. - * sysdeps/csky/abiv2/strcpy.S: Likewise. - * sysdeps/csky/abiv2/strlen.S: Likewise. - * sysdeps/csky/abiv2/tls-macros.h: Likewise. - * sysdeps/csky/abort-instr.h: Likewise. - * sysdeps/csky/atomic-machine.h: Likewise. - * sysdeps/csky/bits/endian.h: Likewise. - * sysdeps/csky/bits/fenv.h: Likewise. - * sysdeps/csky/bits/link.h: Likewise. - * sysdeps/csky/bits/setjmp.h: Likewise. - * sysdeps/csky/bsd-_setjmp.S: Likewise. - * sysdeps/csky/bsd-setjmp.S: Likewise. - * sysdeps/csky/configure: Likewise. - * sysdeps/csky/configure.ac: Likewise. - * sysdeps/csky/dl-machine.h: Likewise. - * sysdeps/csky/dl-procinfo.c: Likewise. - * sysdeps/csky/dl-procinfo.h: Likewise. - * sysdeps/csky/dl-sysdep.h: Likewise. - * sysdeps/csky/dl-tls.h: Likewise. - * sysdeps/csky/fpu/fclrexcpt.c: Likewise. - * sysdeps/csky/fpu/fedisblxcpt.c: Likewise. - * sysdeps/csky/fpu/feenablxcpt.c: Likewise. - * sysdeps/csky/fpu/fegetenv.c: Likewise. - * sysdeps/csky/fpu/fegetexcept.c: Likewise. - * sysdeps/csky/fpu/fegetmode.c: Likewise. - * sysdeps/csky/fpu/fegetround.c: Likewise. - * sysdeps/csky/fpu/feholdexcpt.c: Likewise. - * sysdeps/csky/fpu/fenv_libc.h: Likewise. - * sysdeps/csky/fpu/fenv_private.h: Likewise. - * sysdeps/csky/fpu/fesetenv.c: Likewise. - * sysdeps/csky/fpu/fesetexcept.c: Likewise. - * sysdeps/csky/fpu/fesetmode.c: Likewise. - * sysdeps/csky/fpu/fesetround.c: Likewise. - * sysdeps/csky/fpu/feupdateenv.c: Likewise. - * sysdeps/csky/fpu/fgetexcptflg.c: Likewise. - * sysdeps/csky/fpu/fix-fp-int-convert-overflow.h: Likewise. - * sysdeps/csky/fpu/fraiseexcpt.c: Likewise. - * sysdeps/csky/fpu/fsetexcptflg.c: Likewise. - * sysdeps/csky/fpu/ftestexcept.c: Likewise. - * sysdeps/csky/fpu/libm-test-ulps: Likewise. - * sysdeps/csky/fpu/libm-test-ulps-name: Likewise. - * sysdeps/csky/fpu_control.h: Likewise. - * sysdeps/csky/gccframe.h: Likewise. - * sysdeps/csky/jmpbuf-unwind.h: Likewise. - * sysdeps/csky/ldsodefs.h: Likewise. - * sysdeps/csky/libc-tls.c: Likewise. - * sysdeps/csky/linkmap.h: Likewise. - * sysdeps/csky/machine-gmon.h: Likewise. - * sysdeps/csky/memusage.h: Likewise. - * sysdeps/csky/nofpu/Implies: Likewise. - * sysdeps/csky/nofpu/libm-test-ulps: Likewise. - * sysdeps/csky/nofpu/libm-test-ulps-name: Likewise. - * sysdeps/csky/nptl/Makefile: Likewise. - * sysdeps/csky/nptl/bits/pthreadtypes-arch.h: Likewise. - * sysdeps/csky/nptl/bits/semaphore.h: Likewise. - * sysdeps/csky/nptl/pthread-offsets.h: Likewise. - * sysdeps/csky/nptl/pthreaddef.h: Likewise. - * sysdeps/csky/nptl/tcb-offsets.sym: Likewise. - * sysdeps/csky/nptl/tls.h: Likewise. - * sysdeps/csky/preconfigure: Likewise. - * sysdeps/csky/sfp-machine.h: Likewise. - * sysdeps/csky/sotruss-lib.c: Likewise. - * sysdeps/csky/stackinfo.h: Likewise. - * sysdeps/csky/sysdep.h: Likewise. - * sysdeps/csky/tininess.h: Likewise. - * sysdeps/csky/tst-audit.h: Likewise. - * sysdeps/unix/sysv/linux/csky/Implies: Likewise. - * sysdeps/unix/sysv/linux/csky/Makefile: Likewise. - * sysdeps/unix/sysv/linux/csky/Versions: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/____longjmp_chk.S: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/clone.S: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/getcontext.S: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/setcontext.S: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/swapcontext.S: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/syscall.S: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/sysdep.S: Likewise. - * sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym: Likewise. - * sysdeps/unix/sysv/linux/csky/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/csky/bits/shmlba.h: Likewise. - * sysdeps/unix/sysv/linux/csky/c++-types.data: Likewise. - * sysdeps/unix/sysv/linux/csky/configure: Likewise. - * sysdeps/unix/sysv/linux/csky/configure.ac: Likewise. - * sysdeps/unix/sysv/linux/csky/ipc_priv.h: Likewise. - * sysdeps/unix/sysv/linux/csky/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/csky/kernel-features.h: Likewise. - * sysdeps/unix/sysv/linux/csky/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/ldconfig.h: Likewise. - * sysdeps/unix/sysv/linux/csky/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/csky/localplt.data: Likewise. - * sysdeps/unix/sysv/linux/csky/makecontext.c: Likewise. - * sysdeps/unix/sysv/linux/csky/profil-counter.h: Likewise. - * sysdeps/unix/sysv/linux/csky/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/csky/register-dump.h: Likewise. - * sysdeps/unix/sysv/linux/csky/shlib-versions: Likewise. - * sysdeps/unix/sysv/linux/csky/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/csky/sys/cachectl.h: Likewise. - * sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Likewise. - * sysdeps/unix/sysv/linux/csky/sys/user.h: Likewise. - * sysdeps/unix/sysv/linux/csky/syscalls.list: Likewise. - * sysdeps/unix/sysv/linux/csky/sysdep.h: Likewise. - -2018-12-18 Albert ARIBAUD - - * include/time.h (__difftime64): Add. - * time/difftime.c (subtract): convert to 64-bit time. - * time/difftime.c (__difftime64): Add. - * time/difftime.c (__difftime): Wrap around __difftime64. - -2018-12-20 H.J. Lu - - * manual/examples/add.c: Remove redundant "if not". - * manual/examples/argp-ex1.c: Likewise. - * manual/examples/argp-ex2.c: Likewise. - * manual/examples/argp-ex3.c: Likewise. - * manual/examples/argp-ex4.c: Likewise. - * manual/examples/atexit.c: Likewise. - * manual/examples/db.c: Likewise. - * manual/examples/dir.c: Likewise. - * manual/examples/dir2.c: Likewise. - * manual/examples/execinfo.c: Likewise. - * manual/examples/filecli.c: Likewise. - * manual/examples/filesrv.c: Likewise. - * manual/examples/fmtmsgexpl.c: Likewise. - * manual/examples/genpass.c: Likewise. - * manual/examples/inetcli.c: Likewise. - * manual/examples/inetsrv.c: Likewise. - * manual/examples/isockad.c: Likewise. - * manual/examples/longopt.c: Likewise. - * manual/examples/memopen.c: Likewise. - * manual/examples/memstrm.c: Likewise. - * manual/examples/mkdirent.c: Likewise. - * manual/examples/mkfsock.c: Likewise. - * manual/examples/mkisock.c: Likewise. - * manual/examples/mygetpass.c: Likewise. - * manual/examples/pipe.c: Likewise. - * manual/examples/popen.c: Likewise. - * manual/examples/rprintf.c: Likewise. - * manual/examples/search.c: Likewise. - * manual/examples/select.c: Likewise. - * manual/examples/setjmp.c: Likewise. - * manual/examples/sigh1.c: Likewise. - * manual/examples/sigusr.c: Likewise. - * manual/examples/stpcpy.c: Likewise. - * manual/examples/strdupa.c: Likewise. - * manual/examples/strftim.c: Likewise. - * manual/examples/subopt.c: Likewise. - * manual/examples/swapcontext.c: Likewise. - * manual/examples/termios.c: Likewise. - * manual/examples/testopt.c: Likewise. - * manual/examples/testpass.c: Likewise. - * manual/examples/timeval_subtract.c: Likewise. - -2018-12-19 Joseph Myers - - * sysdeps/x86/fpu/math_private.h: New file. - * sysdeps/x86/fpu/bits/mathinline.h: Remove. - - * sysdeps/x86/fpu/bits/mathinline.h (sinh): Remove inline - definition. - (cosh): Likewise. - (tanh): Likewise. - -2018-12-19 Tulio Magno Quites Machado Filho - - * elf/dl-sysdep.c (auxvars): Add AT_L1I_CACHESIZE, - AT_L1I_CACHEGEOMETRY, AT_L1D_CACHESIZE, AT_L1D_CACHEGEOMETRY, - AT_L2_CACHESIZE, AT_L2_CACHEGEOMETRY, AT_L3_CACHESIZE and - AT_L3_CACHEGEOMETRY. Fix indentation when printing the other - fields. - (_dl_show_auxv): Give a special treatment to - AT_L1I_CACHEGEOMETRY, AT_L1D_CACHEGEOMETRY, AT_L2_CACHEGEOMETRY - and AT_L3_CACHEGEOMETRY. - * sysdeps/powerpc/dl-procinfo.h (cache_geometry): New function. - (_dl_procinfo): Fix indentation when printing AT_HWCAP and - AT_HWCAP2. Add support for AT_L1I_CACHEGEOMETRY, - AT_L1D_CACHEGEOMETRY, AT_L2_CACHEGEOMETRY and AT_L3_CACHEGEOMETRY. - -2018-12-19 Andreas Schwab - - * nscd/connections.c (check_use): Don't abort on invalid len. - -2018-12-18 Samuel Thibault - - * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Test against 64bit `cmd' - values in the 64bit value cases. - -2018-12-18 Albert ARIBAUD - - * include/time.h - (__ctime64_r): Add. - * time/ctime_r.c - (__ctime64_r): Add. - [__TIMESIZE != 64] (__ctime_r): Turn into a wrapper. - - * include/time.h - (__ctime64): Add. - * time/gmtime.c - (__ctime64): Add. - [__TIMESIZE != 64] (ctime): Turn into a wrapper. - - * include/time.h - (__gmtime64_r): Add. - * time/gmtime.c - (__gmtime64_r): Add. - [__TIMESIZE != 64] (__gmtime): Turn into a wrapper. - - * include/time.h - (__gmtime64): Add. - * time/gmtime.c - (__gmtime64): Add. - [__TIMESIZE != 64] (__gmtime): Turn into a wrapper. - - * include/time.h - (__localtime64_r): Add. - * time/localtime.c - (__localtime64_r): Add. - [__TIMESIZE != 64] (__localtime_r): Turn into a wrapper. - -2018-12-18 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Use Linux generic - kernel_sigction definition. - - * sysdeps/unix/sysv/linux/ia64/kernel_sigaction.h: Remove file. - - * sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h: Remove file. - - * sysdeps/unix/sysv/linux/alpha/Makefile: Update comment about - __syscall_rt_sigaction. - * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h - (kernel_sigaction): Use Linux generic defintion. - (STUB): Define. - (__syscall_rt_sigreturn, __syscall_sigreturn): Add prototype. - * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S - (__syscall_rt_sigaction): Remove implementation. - (__syscall_sigreturn, __syscall_rt_sigreturn): Define as global and - hidden. - * sysdeps/unix/sysv/linux/alpha/sigaction.c: Remove file. - * sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL, - INTERNAL_SYSCALL): Remove definitions. - * sysdeps/unix/sysv/linux/sigaction.c: Define STUB to accept both the - action and signal set size. - * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (STUB): Redefine. - * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (STUB): Likewise. - -2018-12-18 Adhemerval Zanella - James Clarke - - [BZ #23967] - * sysdeps/unix/sysv/linux/kernel_sigaction.h (HAS_SA_RESTORER): - Define if SA_RESTORER is defined. - (kernel_sigaction): Define sa_restorer if HAS_SA_RESTORER is defined. - (SET_SA_RESTORER, RESET_SA_RESTORER): Define iff the macro are not - already defined. - * sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h (SA_RESTORER, - kernel_sigaction, SET_SA_RESTORER, RESET_SA_RESTORER): Remove - definitions. - (HAS_SA_RESTORER): Define. - * sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h (SA_RESTORER, - SET_SA_RESTORER, RESET_SA_RESTORER): Remove definition. - (HAS_SA_RESTORER): Define. - * sysdeps/unix/sysv/linux/nios2/kernel_sigaction.h: Include generic - kernel_sigaction after define SET_SA_RESTORER and RESET_SA_RESTORER. - * sysdeps/unix/sysv/linux/powerpc/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. - -2018-12-18 Joseph Myers - - * sysdeps/unix/sysv/linux/kernel-features.h - (__ASSUME_ST_INO_64_BIT): Remove macro definition. - * sysdeps/unix/sysv/linux/alpha/kernel-features.h - (__ASSUME_ST_INO_64_BIT): Do not undefine and define. - * sysdeps/unix/sysv/linux/sh/kernel-features.h - (__ASSUME_ST_INO_64_BIT): Likewise. - * sysdeps/unix/sysv/linux/fxstat64.c: Do not include - . - (___fxstat64) [_HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT]: - Remove conditional code. - * sysdeps/unix/sysv/linux/lxstat64.c: Do not include - . - (___lxstat64) [_HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT]: - Remove conditional code. - * sysdeps/unix/sysv/linux/xstat64.c: Do not include - . - (___xstat64) [_HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT]: - Remove conditional code. - * sysdeps/unix/sysv/linux/xstatconv.c: Do not include - . - (__xstat32_conv) [_HAVE_STAT64___ST_INO]: Remove conditional code. - [!_HAVE_STAT64___ST_INO]: Make code unconditional. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/ifunc-resolve.h - (s390_vx_libc_ifunc, s390_vx_libc_ifunc_redirected, - s390_vx_libc_ifunc2, s390_vx_libc_ifunc_init, - s390_vx_libc_ifunc2_redirected, s390_libc_ifunc): - Delete macro definition. - (s390_libc_ifunc_init): Rename to - s390_libc_ifunc_expr_stfle_init. - * sysdeps/s390/bzero: Use - s390_libc_ifunc_expr_stfle_init instead of - s390_libc_ifunc_init. - * sysdeps/s390/memcmp.c: Likewise. - * sysdeps/s390/memcpy.c: Likewise. - * sysdeps/s390/mempcpy.c: Likewise. - * sysdeps/s390/memset.c: Likewise. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/gconv_simple.c (ICONV_VX_IFUNC): - Define macro dependent on HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wmemcmp variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wmemcmp variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wmemcmp. - * sysdeps/s390/multiarch/wmemcmp-c.c: Move to ... - * sysdeps/s390/wmemcmp-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wmemcmp-vx.S: Move to ... - * sysdeps/s390/wmemcmp-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wmemcmp.c: Move to ... - * sysdeps/s390/wmemcmp.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wmemcmp.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wmemset variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wmemset variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wmemset. - * sysdeps/s390/multiarch/wmemset-c.c: Move to ... - * sysdeps/s390/wmemset-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wmemset-vx.S: Move to ... - * sysdeps/s390/wmemset-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wmemset.c: Move to ... - * sysdeps/s390/wmemset.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wmemset.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wmemchr variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wmemchr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wmemchr. - * sysdeps/s390/multiarch/wmemchr-c.c: Move to ... - * sysdeps/s390/wmemchr-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wmemchr-vx.S: Move to ... - * sysdeps/s390/wmemchr-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wmemchr.c: Move to ... - * sysdeps/s390/wmemchr.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wmemchr.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcscspn variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcscspn variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcscspn. - * sysdeps/s390/multiarch/wcscspn-c.c: Move to ... - * sysdeps/s390/wcscspn-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcscspn-vx.S: Move to ... - * sysdeps/s390/wcscspn-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcscspn.c: Move to ... - * sysdeps/s390/wcscspn.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcscspn.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcspbrk variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcspbrk variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcspbrk. - * sysdeps/s390/multiarch/wcspbrk-c.c: Move to ... - * sysdeps/s390/wcspbrk-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcspbrk-vx.S: Move to ... - * sysdeps/s390/wcspbrk-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcspbrk.c: Move to ... - * sysdeps/s390/wcspbrk.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcspbrk.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcsspn variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcsspn variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcsspn. - * sysdeps/s390/multiarch/wcsspn-c.c: Move to ... - * sysdeps/s390/wcsspn-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsspn-vx.S: Move to ... - * sysdeps/s390/wcsspn-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsspn.c: Move to ... - * sysdeps/s390/wcsspn.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcsspn.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcsrchr variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcsrchr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcsrchr. - * sysdeps/s390/multiarch/wcsrchr-c.c: Move to ... - * sysdeps/s390/wcsrchr-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsrchr-vx.S: Move to ... - * sysdeps/s390/wcsrchr-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsrchr.c: Move to ... - * sysdeps/s390/wcsrchr.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcsrchr.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcschrnul variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcschrnul variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcschrnul. - * sysdeps/s390/multiarch/wcschrnul-c.c: Move to ... - * sysdeps/s390/wcschrnul-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcschrnul-vx.S: Move to ... - * sysdeps/s390/wcschrnul-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcschrnul.c: Move to ... - * sysdeps/s390/wcschrnul.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcschrnul.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcschr variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcschr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcschr. - * sysdeps/s390/multiarch/wcschr-c.c: Move to ... - * sysdeps/s390/wcschr-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcschr-vx.S: Move to ... - * sysdeps/s390/wcschr-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcschr.c: Move to ... - * sysdeps/s390/wcschr.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcschr.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcsncmp variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcsncmp variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcsncmp. - * sysdeps/s390/multiarch/wcsncmp-c.c: Move to ... - * sysdeps/s390/wcsncmp-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsncmp-vx.S: Move to ... - * sysdeps/s390/wcsncmp-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsncmp.c: Move to ... - * sysdeps/s390/wcsncmp.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcsncmp.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcscmp variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcscmp variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcscmp. - * sysdeps/s390/multiarch/wcscmp-c.c: Move to ... - * sysdeps/s390/wcscmp-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcscmp-vx.S: Move to ... - * sysdeps/s390/wcscmp-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcscmp.c: Move to ... - * sysdeps/s390/wcscmp.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcscmp.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcsncat variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcsncat variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcsncat. - * sysdeps/s390/multiarch/wcsncat-c.c: Move to ... - * sysdeps/s390/wcsncat-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsncat-vx.S: Move to ... - * sysdeps/s390/wcsncat-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsncat.c: Move to ... - * sysdeps/s390/wcsncat.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcsncat.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcscat variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcscat variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcscat. - * sysdeps/s390/multiarch/wcscat-c.c: Move to ... - * sysdeps/s390/wcscat-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcscat-vx.S: Move to ... - * sysdeps/s390/wcscat-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcscat.c: Move to ... - * sysdeps/s390/wcscat.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcscat.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcpncpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcpncpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcpncpy. - * sysdeps/s390/multiarch/wcpncpy-c.c: Move to ... - * sysdeps/s390/wcpncpy-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcpncpy-vx.S: Move to ... - * sysdeps/s390/wcpncpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcpncpy.c: Move to ... - * sysdeps/s390/wcpncpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcpncpy.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcsncpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcsncpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcsncpy. - * sysdeps/s390/multiarch/wcsncpy-c.c: Move to ... - * sysdeps/s390/wcsncpy-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsncpy-vx.S: Move to ... - * sysdeps/s390/wcsncpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsncpy.c: Move to ... - * sysdeps/s390/wcsncpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcsncpy.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcpcpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcpcpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcpcpy. - * sysdeps/s390/multiarch/wcpcpy-c.c: Move to ... - * sysdeps/s390/wcpcpy-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcpcpy-vx.S: Move to ... - * sysdeps/s390/wcpcpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcpcpy.c: Move to ... - * sysdeps/s390/wcpcpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcpcpy.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcscpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcscpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcscpy. - * sysdeps/s390/multiarch/wcscpy-c.c: Move to ... - * sysdeps/s390/wcscpy-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcscpy-vx.S: Move to ... - * sysdeps/s390/wcscpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcscpy.c: Move to ... - * sysdeps/s390/wcscpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcscpy.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcsnlen variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcsnlen variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcsnlen. - * sysdeps/s390/multiarch/wcsnlen-c.c: Move to ... - * sysdeps/s390/wcsnlen-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsnlen-vx.S: Move to ... - * sysdeps/s390/wcsnlen-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcsnlen.c: Move to ... - * sysdeps/s390/wcsnlen.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcsnlen.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove wcslen variants. - * sysdeps/s390/Makefile (sysdep_routines): Add wcslen variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for wcslen. - * sysdeps/s390/multiarch/wcslen-c.c: Move to ... - * sysdeps/s390/wcslen-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcslen-vx.S: Move to ... - * sysdeps/s390/wcslen-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/wcslen.c: Move to ... - * sysdeps/s390/wcslen.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-wcslen.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove memrchr variants. - * sysdeps/s390/Makefile (sysdep_routines): Add memrchr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for memrchr. - * sysdeps/s390/multiarch/memrchr-c.c: Move to ... - * sysdeps/s390/memrchr-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/memrchr-vx.S: Move to ... - * sysdeps/s390/memrchr-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/memrchr.c: Move to ... - * sysdeps/s390/memrchr.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-memrchr.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove memccpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add memccpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for memccpy. - * sysdeps/s390/multiarch/memccpy-c.c: Move to ... - * sysdeps/s390/memccpy-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/memccpy-vx.S: Move to ... - * sysdeps/s390/memccpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/memccpy.c: Move to ... - * sysdeps/s390/memccpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-memccpy.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove rawmemchr variants. - * sysdeps/s390/Makefile (sysdep_routines): Add rawmemchr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for rawmemchr. - * sysdeps/s390/multiarch/rawmemchr-c.c: Move to ... - * sysdeps/s390/rawmemchr-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/rawmemchr-vx.S: Move to ... - * sysdeps/s390/rawmemchr-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/rawmemchr.c: Move to ... - * sysdeps/s390/rawmemchr.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-rawmemchr.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove memchr variants. - * sysdeps/s390/Makefile (sysdep_routines): Add memchr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for memchr. - * sysdeps/s390/multiarch/memchr-vx.S: Move to ... - * sysdeps/s390/memchr-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/memchr.c: Move to ... - * sysdeps/s390/memchr.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-memchr.h: New file. - * sysdeps/s390/s390-64/memchr.S: Move to ... - * sysdeps/s390/memchr-z900.S: ... here and adjust to be usable - for 31/64bit and ifunc handling. - * sysdeps/s390/s390-32/multiarch/memchr.c: Delete file. - * sysdeps/s390/s390-64/multiarch/memchr.c: Likewise. - * sysdeps/s390/s390-32/memchr.S: Likewise. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strcspn variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strcspn variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strcspn. - * sysdeps/s390/multiarch/strcspn-c.c: Move to ... - * sysdeps/s390/strcspn-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strcspn-vx.S: Move to ... - * sysdeps/s390/strcspn-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strcspn.c: Move to ... - * sysdeps/s390/strcspn.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strcspn.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strpbrk variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strpbrk variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strpbrk. - * sysdeps/s390/multiarch/strpbrk-c.c: Move to ... - * sysdeps/s390/strpbrk-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strpbrk-vx.S: Move to ... - * sysdeps/s390/strpbrk-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strpbrk.c: Move to ... - * sysdeps/s390/strpbrk.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strpbrk.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strspn variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strspn variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strspn. - * sysdeps/s390/multiarch/strspn-c.c: Move to ... - * sysdeps/s390/strspn-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strspn-vx.S: Move to ... - * sysdeps/s390/strspn-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strspn.c: Move to ... - * sysdeps/s390/strspn.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strspn.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strrchr variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strrchr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strrchr. - * sysdeps/s390/multiarch/strrchr-c.c: Move to ... - * sysdeps/s390/strrchr-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strrchr-vx.S: Move to ... - * sysdeps/s390/strrchr-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strrchr.c: Move to ... - * sysdeps/s390/strrchr.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strrchr.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strchrnul variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strchrnul variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strchrnul. - * sysdeps/s390/multiarch/strchrnul-c.c: Move to ... - * sysdeps/s390/strchrnul-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strchrnul-vx.S: Move to ... - * sysdeps/s390/strchrnul-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strchrnul.c: Move to ... - * sysdeps/s390/strchrnul.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strchrnul.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strchr variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strchr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strchr. - * sysdeps/s390/multiarch/strchr-c.c: Move to ... - * sysdeps/s390/strchr-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strchr-vx.S: Move to ... - * sysdeps/s390/strchr-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strchr.c: Move to ... - * sysdeps/s390/strchr.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strchr.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strncmp variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strncmp variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strncmp. - * sysdeps/s390/multiarch/strncmp-c.c: Move to ... - * sysdeps/s390/strncmp-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strncmp-vx.S: Move to ... - * sysdeps/s390/strncmp-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strncmp.c: Move to ... - * sysdeps/s390/strncmp.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strncmp.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strcmp variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strcmp variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strcmp. - * sysdeps/s390/multiarch/strcmp-vx.S: Move to ... - * sysdeps/s390/strcmp-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strcmp.c: Move to ... - * sysdeps/s390/strcmp.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strcmp.h: New file. - * sysdeps/s390/s390-64/strcmp.S: Move to ... - * sysdeps/s390/strcmp-z900.S: ... here and adjust to be usable - for 31/64bit and ifunc handling. - * sysdeps/s390/s390-32/multiarch/strcmp.c: Delete file. - * sysdeps/s390/s390-64/multiarch/strcmp.c: Likewise. - * sysdeps/s390/s390-32/strcmp.S: Likewise. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strncat variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strncat variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strncat. - * sysdeps/s390/multiarch/strncat-c.c: Move to ... - * sysdeps/s390/strncat-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strncat-vx.S: Move to ... - * sysdeps/s390/strncat-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strncat.c: Move to ... - * sysdeps/s390/strncat.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strncat.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strcat variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strcat variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strcat. - * sysdeps/s390/multiarch/strcat-c.c: Move to ... - * sysdeps/s390/strcat-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strcat-vx.S: Move to ... - * sysdeps/s390/strcat-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strcat.c: Move to ... - * sysdeps/s390/strcat.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strcat.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove stpncpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add stpncpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for stpncpy. - * sysdeps/s390/multiarch/stpncpy-c.c: Move to ... - * sysdeps/s390/stpncpy-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/stpncpy-vx.S: Move to ... - * sysdeps/s390/stpncpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/stpncpy.c: Move to ... - * sysdeps/s390/stpncpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-stpncpy.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strncpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strncpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strncpy. - * sysdeps/s390/multiarch/strncpy-vx.S: Move to ... - * sysdeps/s390/strncpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strncpy.c: Move to ... - * sysdeps/s390/strncpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strncpy.h: New file. - * sysdeps/s390/s390-64/strncpy.S: Move to ... - * sysdeps/s390/s390-64/strncpy-z900.S: ... here - and adjust ifunc handling. - * sysdeps/s390/s390-32/strncpy.S: Move to ... - * sysdeps/s390/s390-32/strncpy-z900.S: ... here - and adjust ifunc handling. - * sysdeps/s390/s390-32/multiarch/strncpy.c: Delete file. - * sysdeps/s390/s390-64/multiarch/strncpy.c: Likewise. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove stpcpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add stpcpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for stpcpy. - * sysdeps/s390/multiarch/stpcpy-c.c: Move to ... - * sysdeps/s390/stpcpy-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/stpcpy-vx.S: Move to ... - * sysdeps/s390/stpcpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/stpcpy.c: Move to ... - * sysdeps/s390/stpcpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-stpcpy.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strcpy variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strcpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strcpy. - * sysdeps/s390/multiarch/strcpy-vx.S: Move to ... - * sysdeps/s390/strcpy-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strcpy.c: Move to ... - * sysdeps/s390/strcpy.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strcpy.h: New file. - * sysdeps/s390/s390-64/strcpy.S: Move to ... - * sysdeps/s390/strcpy-z900.S: ... here and adjust to be usable - for 31/64bit and ifunc handling. - * sysdeps/s390/s390-32/multiarch/strcpy.c: Delete file. - * sysdeps/s390/s390-64/multiarch/strcpy.c: Likewise. - * sysdeps/s390/s390-32/strcpy.S: Likewise. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strnlen variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strnlen variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strnlen. - * sysdeps/s390/multiarch/strnlen-c.c: Move to ... - * sysdeps/s390/strnlen-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strnlen-vx.S: Move to ... - * sysdeps/s390/strnlen-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strnlen.c: Move to ... - * sysdeps/s390/strnlen.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strnlen.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/Makefile - (sysdep_routines): Remove strlen variants. - * sysdeps/s390/Makefile (sysdep_routines): Add strlen variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Refactor ifunc handling for strlen. - * sysdeps/s390/multiarch/strlen-c.c: Move to ... - * sysdeps/s390/strlen-c.c: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strlen-vx.S: Move to ... - * sysdeps/s390/strlen-vx.S: ... here and adjust ifunc handling. - * sysdeps/s390/multiarch/strlen.c: Move to ... - * sysdeps/s390/strlen.c: ... here and adjust ifunc handling. - * sysdeps/s390/ifunc-strlen.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/Makefile (sysdep_routines): Add memmem variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add ifunc variants for memmem. - * sysdeps/s390/ifunc-memmem.h: New file. - * sysdeps/s390/memmem.c: Likewise. - * sysdeps/s390/memmem-c.c: Likewise. - * sysdeps/s390/memmem-vx.c: Likewise. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/Makefile (sysdep_routines): Add strstr variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add ifunc variants for strstr. - * sysdeps/s390/ifunc-strstr.h: New file. - * sysdeps/s390/strstr.c: Likewise. - * sysdeps/s390/strstr-c.c: Likewise. - * sysdeps/s390/strstr-vx.c: Likewise. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/Makefile (sysdep_routines): Add memmove-c. - * sysdeps/s390/ifunc-memcpy.h (HAVE_MEMMOVE_IFUNC, - HAVE_MEMMOVE_IFUNC_AND_VX_SUPPORT, MEMMOVE_DEFAULT, - HAVE_MEMMOVE_C, MEMMOVE_C, HAVE_MEMMOVE_Z13, MEMMOVE_Z13): - New defines. - * sysdeps/s390/memcpy-z900.S: Add z13 memmove implementation. - * sysdeps/s390/memmove-c.c: New file. - * sysdeps/s390/memmove.c: Likewise. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add ifunc variants for memmove. - -2018-12-18 Stefan Liebler - - * config.h.in (HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT): New undefine. - * sysdeps/s390/configure.ac: Add check for z13 support. - * sysdeps/s390/configure: Regenerated. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/memcopy.h: New file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/s390-32/bcopy.S: Remove. - * sysdeps/s390/s390-64/bcopy.S: Likewise. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/ifunc-memcpy.h: New File. - * sysdeps/s390/memcpy.S: Move to ... - * sysdeps/s390/memcpy-z900.S ... here. - Move implementations from memcpy-s390x.s to here. - * sysdeps/s390/multiarch/memcpy-s390x.S: Delete File. - * sysdeps/s390/multiarch/Makefile (sysdep_routines): - Remove memcpy/mempcpy variants. - * sysdeps/s390/Makefile (sysdep_routines): - Add memcpy/mempcpy variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Adjust ifunc variants for - memcpy and mempcpy. - * sysdeps/s390/multiarch/memcpy.c: Move ifunc resolver - to ... - * sysdeps/s390/memcpy.c: ... here. - Adjust ifunc variants for memcpy. - * sysdeps/s390/multiarch/mempcpy.c: Move to ... - * sysdeps/s390/mempcpy.c: ... here. - Adjust ifunc variants for mempcpy. - * sysdeps/s390/mempcpy.S: Delete file. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/s390-64/memcpy.S: Move to ... - * sysdeps/s390/memcpy.S: ... here. - Adjust to be usable for 31/64bit. - * sysdeps/s390/s390-32/memcpy.S: Delete File. - * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add memcpy. - * sysdeps/s390/s390-32/multiarch/Makefile: Delete file. - * sysdeps/s390/s390-64/multiarch/Makefile: Likewise. - * sysdeps/s390/s390-64/multiarch/memcpy-s390x.S: Move to ... - * sysdeps/s390/multiarch/memcpy-s390x.S: ... here. - Adjust to be usable for 31/64bit. - * sysdeps/s390/s390-32/multiarch/memcpy-s390.S: Delete File. - * sysdeps/s390/s390-64/multiarch/memcpy.c: Move to ... - * sysdeps/s390/multiarch/memcpy.c: ... here. - * sysdeps/s390/s390-32/multiarch/memcpy.c: Delete File. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/ifunc-memcmp.h: New File. - * sysdeps/s390/memcmp.S: Move to ... - * sysdeps/s390/memcmp-z900.S ... here. - Move implementations from memcmp-s390x.s to here. - * sysdeps/s390/multiarch/memcmp-s390x.S: Delete File. - * sysdeps/s390/multiarch/Makefile (sysdep_routines): - Remove memcmp variants. - * sysdeps/s390/Makefile (sysdep_routines): - Add memcmp variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Adjust ifunc variants for - memcmp. - * sysdeps/s390/multiarch/memcmp.c: Move ifunc resolver - to ... - * sysdeps/s390/memcmp.c: ... here. - Adjust ifunc variants for memcmp. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/s390-64/memcmp.S: Move to ... - * sysdeps/s390/memcmp.S: ... here. - Adjust to be usable for 31/64bit. - * sysdeps/s390/s390-32/memcmp.S: Delete File. - * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add memcmp. - * sysdeps/s390/s390-32/multiarch/Makefile (sysdep_routines): - Remove memcmp. - * sysdeps/s390/s390-64/multiarch/Makefile: Likewise. - * sysdeps/s390/s390-64/multiarch/memcmp-s390x.S: Move to ... - * sysdeps/s390/multiarch/memcmp-s390x.S: ... here. - Adjust to be usable for 31/64bit. - * sysdeps/s390/s390-32/multiarch/memcmp-s390.S: Delete File. - * sysdeps/s390/s390-64/multiarch/memcmp.c: Move to ... - * sysdeps/s390/multiarch/memcmp.c: ... here. - * sysdeps/s390/s390-32/multiarch/memcmp.c: Delete File. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/s390-32/bzero.S: Delete file. - * sysdeps/s390/s390-64/bzero.S: Likewise. - * sysdeps/s390/Makefile (sysdep_routines): Add bzero. - * sysdeps/s390/bzero.c: New file. - * sysdeps/s390/memset-z900.S: Add bzero entry points. - * sysdeps/s390/ifunc-memset.h: Add bzero function macros. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add bzero ifunc variants. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/ifunc-memset.h: New File. - * sysdeps/s390/memset.S: Move to ... - * sysdeps/s390/memset-z900.S ... here. - Move implementations from memset-s390x.s to here. - * sysdeps/s390/multiarch/memset-s390x.S: Delete File. - * sysdeps/s390/multiarch/Makefile (sysdep_routines): - Remove memset variants. - * sysdeps/s390/Makefile (sysdep_routines): - Add memset variants. - * sysdeps/s390/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Adjust ifunc variants for - memset. - * sysdeps/s390/multiarch/memset.c: Move ifunc resolver - to ... - * sysdeps/s390/memset.c: ... here. - Adjust ifunc variants for memset. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/s390-64/memset.S: Move to ... - * sysdeps/s390/memset.S: ... here. - Adjust to be usable for 31/64bit. - * sysdeps/s390/s390-32/memset.S: Delete File. - * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add memset. - * sysdeps/s390/s390-32/multiarch/Makefile (sysdep_routines): - Remove memset. - * sysdeps/s390/s390-64/multiarch/Makefile: Likewise. - * sysdeps/s390/s390-64/multiarch/memset-s390x.S: Move to ... - * sysdeps/s390/multiarch/memset-s390x.S: ... here. - Adjust to be usable for 31/64bit. - * sysdeps/s390/s390-32/multiarch/memset-s390.S: Delete File. - * sysdeps/s390/s390-64/multiarch/memset.c: Move to ... - * sysdeps/s390/multiarch/memset.c: ... here. - * sysdeps/s390/s390-32/multiarch/memset.c: Delete File. - -2018-12-18 Stefan Liebler - - * sysdeps/s390/multiarch/ifunc-resolve.h - (s390_libc_ifunc_init, s390_libc_ifunc, - s390_vx_libc_ifunc2_redirected): Use hwcap instead of dl_hwcap. - -2018-12-18 Stefan Liebler - - * config.h.in (HAVE_S390_MIN_Z10_ZARCH_ASM_SUPPORT): New undefine. - * sysdeps/s390/configure.ac: Add check for z10 support. - * sysdeps/s390/configure: Regenerated. - -2018-12-18 H.J. Lu - - * sysdeps/i386/atomic-machine.h: Merged with ... - * sysdeps/x86_64/atomic-machine.h: To ... - * sysdeps/x86/atomic-machine.h: This. New file. - -2018-12-18 Florian Weimer - - Rewrite locale/gen-translit.pl in Python. - * locale/Makefile (generated): Add C-translit.h. - (before-compile): Add $(objpfx)C-translit.h. - (C-translit.h): Move to $(objpfx). Create target directory. - Build using Python script. - * locale/gen-translit.py: New file. - * locale/gen-translit.pl: Remove file. - * locale/C-translit.h.in: Change comment character to '#' for - easier parsing without a C preprocessor. - * locale/C-translit.h: Remove generated file. - * manual/install.texi (Tools for Compilation): Do not mention - C-translit.h. - * scripts/build-many-glibcs.py (Context.fix_glibc_timestamps): - Remove locale/C-translit.h. - * scripts/update-copyrights: Likewise. - * INSTALL: Regenerate. - -2018-12-18 Florian Weimer - - [BZ #23995] - * localedata/locales/bi_VU: Remove executable bit from file. - -2018-12-17 Albert ARIBAUD - - * include/time.h - (__localtime64): Add. - * manual/maint.texi: Document Y2038 symbol handling. - * time/localtime.c - (__localtime64): Add. - [__TIMESIZE != 64] (__localtime): Turn into a wrapper. - -2018-12-17 Joseph Myers - - * sysdeps/unix/sysv/linux/ia64/sysdep.h (ASM_CLOBBERS_6_COMMON): - Do not clobber r12. - - * scripts/glibcextract.py (compare_macro_consts): Take parameters - to allow extra macros from first or second sources. - * sysdeps/unix/sysv/linux/tst-mman-consts.py: New file. - * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] - (tests-special): Add $(objpfx)tst-mman-consts.out. - ($(objpfx)tst-mman-consts.out): New makefile target. - -2018-12-17 Mao Han - - * sysdeps/unix/sysv/linux/Makefile: Add statx_cp.c. - * sysdeps/unix/sysv/linux/fxstat64.c: Add conditionals for kernel - without stat64 system call support. - * sysdeps/unix/sysv/linux/fxstatat64.c: Likewise. - * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c: Likewise. - * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c: Likewise. - * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c: Likewise. - * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c: Likewise. - * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c: Likewise. - * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/statx_cp.c: New file. - * sysdeps/unix/sysv/linux/statx_cp.c: Likewise. - * sysdeps/unix/sysv/linux/statx_cp.h: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/statx_cp.c: Likewise. - -2018-12-15 Paul Eggert - - regex: fix storage-exhaustion error - [BZ #18040] - * posix/regexec.c (get_subexp): - Do not continue if storage is exhausted. - -2018-12-15 Assaf Gordon - - regex: fix heap-use-after-free error - [BZ #18040] - Problem reported by Saito Takaaki in - https://debbugs.gnu.org/32592 - Call stack get_subexp->get_subexp_sub->clean_state_log_if_needed may - call extend_buffers which reallocates the re_string_t internal buffer. - Local variable 'buf' was not updated in such case, resulting in - use-after-free. - * posix/regexec.c (get_subexp): Update 'buf' after call to - get_subexp_sub. - -2018-12-15 Florian Weimer - - * support/blob_repeat.c (check_mul_overflow_size_t): New function. - (minimum_stride_size): Use it. - (support_blob_repeat_allocate): Likewise. - -2018-12-14 Joseph Myers - - * sysdeps/x86/fpu/bits/mathinline.h (asinh): Remove inline - definition. - (acosh): Likewise. - (atanh): Likewise. - -2018-12-14 Florian Weimer - - * manual/process.texi (Process Creation Concepts): Remove - documentation of process (ID) lifetime. List more process - creation functions. Reference Process Identification section. - (Process Identification): Add information about process ID - lifetime. Describe Linux thread/task IDs. - * manual/signal.texi (Signaling Another Process): Mention that the - signal is always sent to the process. - -2018-12-14 Gabriel F. T. Gomes - - * misc/Makefile (tests): Remove tst-efgcvt. Add tst-dbl-efgcvt - and tst-ldbl-efgcvt. - * misc/tst-efgcvt.c: Renamed to misc/tst-efgcvt-template.c. - * misc/tst-efgcvt-template.c: Renamed from misc/tst-efgcvt.c. - (struct testcase, efcvt_func, efcvt_r_func, ecvt_tests) - (fcvt_tests, output_error, output_r_error, do_test): Use the - macros defined in tst-dbl-efgcvt.c and tst-ldbl-efgcvt.c to: - select the type of floating-point variables and arguments; to - produce extra tests for double and conversion specifiers for - printf; and to set the names of called functions. - * misc/tst-dbl-efgcvt.c: New file that defines the macros used - in tst-efgcvt-template.c. - * misc/tst-ldbl-efgcvt.c: Likewise. - -2018-12-14 Stefan Liebler - - * nss/Makefile (tst-nss-test3.out): New rule. - -2018-12-13 Joseph Myers - - * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Do not - clobber sp. - -2018-12-13 fanjinke - - * sysdeps/x86/cpu-features.c (init_cpu_features): Check for - "HygonGenuine". - -2018-12-13 Andreas Schwab - - [BZ #23861] - * nptl/pthread_rwlock_common.c: Reindent. Fix typos. - (__pthread_rwlock_rdlock_full): Update expected value for - __readers while waiting on PTHREAD_RWLOCK_RWAITING. - * nptl/tst-rwlock-pwn.c: New file. - * nptl/Makefile (tests): Add tst-rwlock-pwn. - -2018-12-12 Joseph Myers - - * sysdeps/x86/fpu/bits/mathinline.h (hypot): Remove inline - definition. - -2018-12-12 Leonardo Sandoval - - * benchtests/scripts/compare_bench.py (do_compare): write to - stderr in casestat is not present. - * benchtests/scripts/compare_bench.py (plot_graphs): write to - stderr in case timings field is not present. Also string showing - the output filename goes into the stderr. - -2018-12-12 Leonardo Sandoval - - * benchtests/scripts/compare_bench.py (do_compare): Catch KeyError - and ZeroDivisorError exceptions. - * benchtests/scripts/compare_bench.py (compare_runs): Use stats - argument to loop through user provided statistics. - * benchtests/scripts/compare_bench.py (main): Include the --stats - argument. - -2018-12-12 Leonardo Sandoval - - * benchtests/scripts/compare_bench.py (compare_runs): Continue - instead of return. - -2018-12-12 Florian Weimer - - * sysdeps/posix/timespec_get.c: Add missing “any later version” - clause to copyright header. - -2018-12-12 Tulio Magno Quites Machado Filho - - [BZ #23614] - * sysdeps/powerpc/powerpc64/addmul_1.S (FUNC): Add CFI offset for - registers saved in the stack frame. - * sysdeps/powerpc/powerpc64/lshift.S (__mpn_lshift): Likewise. - * sysdeps/powerpc/powerpc64/mul_1.S (__mpn_mul_1): Likewise. - -2018-12-11 Gabriel F. T. Gomes - - * include/bits/monetary-ldbl.h: New file. - * include/bits/printf-ldbl.h: Likewise. - * include/bits/stdio-ldbl.h: Likewise. - * include/bits/stdlib-ldbl.h: Likewise. - * include/bits/syslog-ldbl.h: Likewise. - * include/bits/wchar-ldbl.h: Likewise. - -2018-12-11 Gabriel F. T. Gomes - - * libio/libio.h: Remove redirection for _IO_vfprintf. - -2018-12-11 Andreas Schwab - - * Makerules: Remove all references to abilist-pattern. - (update-all-abi): Simplify find expression. - -2018-12-11 Szabolcs Nagy - - [BZ #23961] - * math/auto-libm-test-in: Add new test case. - * math/auto-libm-test-out-pow: Regenerated. - * sysdeps/ieee754/flt-32/e_powf.c (__powf): Fix overflow check. - -2018-12-10 DJ Delorie - - [BZ #23948] - * support/test-container.c: Move postclean step to before we - change namespaces. - -2018-12-10 Joseph Myers - - * scripts/gen-as-const.py (main): Handle --python option. - * scripts/gen-py-const.awk: Remove. - * Makerules (py-const-script): Use gen-as-const.py. - ($(py-const)): Likewise. - * nptl/nptl-printers.py (MutexPrinter.read_status_no_robust): Mask - with 0xffffffff together with ~(PTHREAD_MUTEX_PRIO_CEILING_MASK). - (MutexAttributesPrinter.read_values): Mask with 0xffffffff - together with ~PTHREAD_MUTEXATTR_FLAG_BITS and - ~PTHREAD_MUTEX_NO_ELISION_NP. - * manual/README.pretty-printers: Update reference to - gen-py-const.awk. - - * scripts/glibcextract.py: New file. - * scripts/gen-as-const.py: Do not import os.path, re, subprocess - or tempfile. Import glibcexctract. - (compute_c_consts): Remove. Moved to glibcextract.py. - (gen_test): Update reference to compute_c_consts. - (main): Likewise. - * sysdeps/unix/sysv/linux/tst-signal-numbers.py: New file. - * sysdeps/unix/sysv/linux/tst-signal-numbers.sh: Remove. - * sysdeps/unix/sysv/linux/Makefile - ($(objpfx)tst-signal-numbers.out): Use tst-signal-numbers.py. - Redirect stderr as well as stdout. - -2018-12-10 Rafael Ávila de Espíndola - - [BZ #19767] - * sysdeps/unix/sysv/linux/mips/init-first.c: Remove #ifdef SHARED. - * sysdeps/unix/sysv/linux/mips/libc-vdso.h: Remove #ifdef SHARED. - * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Define - ALWAYS_USE_VSYSCALL. - * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Define - ALWAYS_USE_VSYSCALL. - * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Define - ALWAYS_USE_VSYSCALL. - -2018-12-10 Florian Weimer - - [BZ #23972] - * sysdeps/unix/sysv/linux/getdents64.c (handle_overflow): Check - offset instead of count for clarity. Fix typo in comment. - (__old_getdents64): Keep track of previous offset. Use it to call - handle_overflow. - * sysdeps/unix/sysv/linux/tst-readdir64-compat.c (do_test): Check - that d_off is never zero. - -2018-12-10 Andreas Schwab - - * sysdeps/unix/sysv/linux/powerpc/powerpc64/*-le.abilist: Move to - sysdeps/unix/sysv/linux/powerpc/powerpc64/le/*.abilist. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/*.abilist: Move to - sysdeps/unix/sysv/linux/powerpc/powerpc64/be/*.abilist. - * sysdeps/powerpc/Makefile (abilist-pattern): Don't define. - -2018-12-10 Joseph Myers - - * timezone/private.h: Update from tzcode 2018g. - * timezone/tzfile.h: Likewise. - * timezone/tzselect.ksh: Likewise. - * timezone/zdump.c: Likewise. - * timezone/zic.c: Likewise. - -2018-12-08 Paul Pluzhnikov - - [BZ #23490] - * sysdeps/unix/sysv/linux/x86/tst-cet-property-2.c - (do_test): Adjust buffer size and fix format. - -2018-12-07 DJ Delorie - - [BZ #23907] - * malloc/tst-tcfree3.c: New. - * malloc/Makefile: Add it. - -2018-12-07 H.J. Lu - - * include/sched.h (__getcpu): Don't use __typeof__ (getcpu). - -2018-12-07 Gabriel F. T. Gomes - - * libio/libioP.h (SCANF_LDBL_USES_FLOAT128): New macro to be - used as a mask for the mode argument of __vfscanf_internal and - __vfwscanf_internal. - * stdio-common/vfscanf-internal.c - [defined COMPILE_WSCANF && __HAVE_FLOAT128_UNLIKE_LDBL] - (__strtof128_internal): Define to __wcstof128_internal. - [__HAVE_FLOAT128_UNLIKE_LDBL] (__vfscanf_internal): Call - __strtof128_internal or __wcstof128_internal when the format of - long double is the same as _Float128. - -2018-12-05 Samuel Thibault - - * include/unistd.h (__confstr): Add prototype and hidden prototype. - * posix/confstr.c (confstr): Rename to __confstr. - (__confstr): Add hidden def. - (confstr): Add weak alias for __confstr. - * sysdeps/mach/hurd/spawni.c (__spawni): Call __confstr instead of - confstr. - -2018-12-07 H.J. Lu - - * NEWS: Mention getcpu. - * include/sched.h (__getcpu): New libc_hidden_proto. - * manual/resource.texi: Document getcpu. - * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add getcpu. - * sysdeps/unix/sysv/linux/Versions (GLIBC_2.29): Add getcpu. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add getcpu. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/bits/sched.h (getcpu): New prototype. - * sysdeps/unix/sysv/linux/getcpu.c: New file. - * sysdeps/unix/sysv/linux/tst-skeleton-affinity.c (test_size): - Also check getcpu. - -2018-12-07 Samuel Thibault - - * sysdeps/mach/hurd/spawni.c (child_lookup_under, child_fchdir): New - functions. - (__spawni): Handle spawn_do_fchdir by calling child_fchdir. - -2018-12-07 Florian Weimer - - [BZ #17405] - * posix/Makefile (routines): Add spawn_faction_addfchdir. - * posix/Versions (GLIBC_2.29): Export - posix_spawn_file_actions_addfchdir_np. - * posix/spawn.h (posix_spawn_file_actions_addfchdir_np): Declare. - * posix/spawn_faction_destroy.c - (__posix_spawn_file_actions_destroy): Handle spawn_do_fchdir. - * posix/spawn_int.h (struct __spawn_action): Add spawn_do_fchdir - and the field action.fchdir_action. - * posix/tst-spawn-chdir.c (add_chdir): New function. - (do_test): Add do_fchdir loop. Call add_chdir. - * sysdeps/posix/spawni.c (__spawni_child): Handle spawn_do_fchdir. - * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise. - * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.29): Add - posix_spawn_file_actions_addfchdir_np. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.29): - Likewise. - -2018-12-06 Joseph Myers - - * manual/texinfo.tex: Update to version 2018-09-21.20 with - trailing whitespace removed. - * scripts/config.guess: Update to version 2018-11-28. - * scripts/config.sub: Update to version 2018-11-28. - * scripts/install-sh: Update to version 2018-03-11.20. - * scripts/mkinstalldirs: Update to version 2018-03-07.03. - * scripts/move-if-change: Update to version 2018-03-07 03:47. - -2018-12-07 Florian Weimer - - [BZ #23927] - CVE-2018-19591 - * inet/tst-if_index-long.c: New file. - * inet/Makefile (tests): Add tst-if_index-long. - -2018-12-07 Florian Weimer - - * support/check.h (support_record_failure_is_failed): Declare. - * support/descriptors.h: New file. - * support/support_descriptors.c: Likewise. - * support/tst-support_descriptors.c: Likewise. - * support/support_record_failure.c - (support_record_failure_is_failed): New function. - * support/Makefile (libsupport-routines): Add support_descriptors. - (tests): Add tst-support_descriptors. - -2018-12-05 Zack Weinberg - Gabriel F. T. Gomes - - * stdio-common/vfprintf-internal.c - (__vfprintf_internal, __vfwprintf_internal): Don't use __ldbl_is_dbl. - * sysdeps/generic/math_ldbl_opt.h: Remove __ldbl_is_dbl. - * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Remove __ldbl_is_dbl - and __no_long_double. - * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c: Remove file. - * sysdeps/ieee754/ldbl-opt/Makefile (routines): Remove math_ldbl_opt. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Remove - libc_hidden_proto and libc_hidden_def from all __nldbl_*printf* - and __nldbl_*syslog* functions. - (__nldbl_cleanup, set_no_long_double, clear_no_long_double): Remove. - (__nldbl___asprintf, __nldbl_dprintf, __nldbl_fprintf) - (__nldbl_fwprintf, __nldbl_printf, __nldbl_sprintf) - (__nldbl_vfprintf, __nldbl___vsprintf, __nldbl_obstack_vprintf) - (__ndlbl_obstack_printf, __nldbl_snprintf, __nldbl_swprintf) - (__nldbl_vasprintf, __nldbl_vdprintf, __nldbl_vfwprintf) - (__nldbl_vprintf, __nldbl_vsnprintf, __ndlbl_vswprintf) - (__nldbl_vwprintf, __nldbl_wprintf): - Directly call the appropriate __v*printf_internal routine, passing - PRINTF_LDBL_IS_DBL. Do not mess with __no_long_double. Normalize - variable names. - (__nldbl___fprintf_chk, __nldbl___fwprintf_chk) - (__nldbl___printf_chk, __nldbl___snprintf_chk) - (__nldbl___sprintf_chk, __nldbl___swprintf_chk) - (__nldbl___vfprintf_chk, __nldbl___vfwprintf_chk) - (__nldbl___vprintf_chk, __nldbl___vsnprintf_chk) - (__nldbl___vsprintf_chk, __nldbl___vswprintf_chk) - (__nldbl___vwprintf_chk, __nldbl___wprintf_chk) - (__nldbl___vasprintf_chk, __nldbl___asprintf_chk) - (__nldbl___vdprintf_chk, __nldbl___dprintf_chk) - (__nldbl___obstack_vprintf_chk, __nldbl___obstack_printf_chk): - Likewise, and also pass PRINTF_FORTIFY when appropriate. - (__nldbl_syslog, __nldbl_vsyslog): - Directly call __vsyslog_internal, passing PRINTF_LDBL_IS_DBL. - (__nldbl_syslog_chk): Likewise, and also pass PRINTF_FORTIFY when - appropriate. - (__nldbl_vsyslog_chk): Likewise, and also pass PRINTF_FORTIFY when - appropriate. - -2018-12-05 Zack Weinberg - Gabriel F. T. Gomes - - [BZ #11319] - * libio/iovsprintf.c (_IO_str_chk_overflow, libio_vtable): - Moved here from debug/vsprintf_chk.c. - (__vsprintf_internal): Add 'maxlen' argument. Change the setup - and completion logic for the strfile to match exactly what - __vsprintf_chk used to do, except, when maxlen is -1, pass -1 to - _IO_str_init_static_internal instead of maxlen-1. - (__vsprintf): Pass -1 as maxlen to __vsprintf_internal. - * stdio-common/sprintf.c (__sprintf): Pass -1 as maxlen to - __vsprintf_internal. - - * debug/vsprintf_chk.c (__vsprintf_chk) - * debug/sprintf_chk.c (__sprintf_chk): - Directly call __vsprintf_internal, passing PRINTF_FORTIFY if - 'flags' argument is positive, and slen as maxlen. No need to lock - the FILE and/or construct a temporary FILE. Minimize and normalize - header inclusions and variable names. Do not libc_hidden_def anything. - - * debug/asprintf_chk.c (__asprintf_chk) - * debug/dprintf_chk.c (__dprintf_chk) - * debug/fprintf_chk.c (__fprintf_chk) - * debug/fwprintf_chk.c (__fwprintf_chk) - * debug/printf_chk.c (__printf_chk) - * debug/snprintf_chk.c (__snprintf_chk) - * debug/swprintf_chk.c (__swprintf_chk) - * debug/vasprintf_chk.c (__vasprintf_chk) - * debug/vdprintf_chk.c (__vdprintf_chk) - * debug/vfprintf_chk.c (__vfprintf_chk) - * debug/vfwprintf_chk.c (__vfwprintf_chk) - * debug/vprintf_chk.c (__vprintf_chk) - * debug/vsnprintf_chk.c (__vsnprintf_chk) - * debug/vswprintf_chk.c (__vswprintf_chk) - * debug/vwprintf_chk.c (__vwprintf_chk) - * debug/wprintf_chk.c (__wprintf_chk): - Directly call the corresponding vxxprintf_internal function, passing - PRINTF_FORTIFY if 'flag' argument is positive. No need to lock - the FILE and/or construct a temporary FILE. Minimize and normalize - header inclusions and variable names. Do not libc_hidden_def anything. - - * debug/obprintf_chk.c (__obstack_printf_chk): Directly call - __obstack_vprintf_internal. - (__obstack_vprintf_chk): Convert into a wrapper that calls - __obstack_vprintf_internal (these two functions already had the - same code) and move to new file... - * debug/vobprintf_chk.c (__obstack_vprintf_chk): ... here. New - file. - * debug/obprintf.c (__obstack_vprintf_internal): Remove the checking of - the flags argument and the setting of _IO_FLAGS2_FORTIFY. - * debug/Makefile (routines): Add vobprintf_chk. - - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c - (__nldbl___vsprintf): Pass -1 as maxlen to __vsprintf_internal. - (__nldbl___vfprintf_chk, __nldbl___vsnprintf_chk) - (__nldbl___vsprintf_chk, __nldbl___vswprintf_chk) - (__nldbl___vasprintf_chk, __nldbl___vdprintf_chk) - (__nldbl___obstack_vfprintf_chk): - Directly call the corresponding vxxprintf_internal function, - passing PRINTF_FORTIFY if 'flag' argument is positive. If necessary, - duplicate comparison of slen with 0 or maxlen from the corresponding - non-__nldbl function. - - * include/stdio.h (__vsnprintf_chk, __vfprintf_chk, __vasprintf_chk) - (__vdprintf_chk, __obstack_vfprintf_chk): Remove libc_hidden_proto. - * include/wchar.h (__vfwprintf_chk, __vswprintf_chk): - Remove libc_hidden_proto. - - * stdio-common/vfprintf-internal.c - (__vfprintf_internal, __vfwprintf_internal): - Do not check _IO_FLAGS2_FORTIFY. - * libio/libio.h (_IO_FLAGS2_FORTIFY): Remove. - * libio/libioP.h: Update prototype of __vsprintf_internal and add - a comment explaining why it has the maxlen argument. - (_IO_acquire_lock_clear_flags2_fct): Remove. - (_IO_acquire_lock_clear_flags2): Remove. - (_IO_release_lock): Remove conditional statement which will - now never execute. - (_IO_acquire_lock): Remove variable which is now unused. - * sysdeps/generic/stdio-lock.h (_IO_acquire_lock_clear_flags2): Remove. - * sysdeps/nptl/stdio-lock.h (_IO_acquire_lock_clear_flags2): Remove. - - * stdio-common/Makefile (tests): Add tst-bz11319 and - tst-bz11319-fortify2. - (CFLAGS-tst-bz11319-fortify2.c): New macro. - * stdio-common/tst-bz11319-fortify2.c: New file. - * stdio-common/tst-bz11319.c: Likewise. - -2018-12-05 Zack Weinberg - Gabriel F. T. Gomes - - * misc/syslog.c: Include libioP.h, not iolibio.h. - (__vsyslog_internal): New function with the former body of - __vsyslog_chk; takes mode_flags argument same as - __v*printf_internal. Call __vfprintf_internal directly. - - (__vsyslog_chk): Now a wrapper around __vsyslog_internal. - Remove libc_hidden_def. - (__syslog, __syslog_chk): Use __vsyslog_internal. - (__vsyslog): Move to just below __syslog. Use __vsyslog_internal. - - * include/sys/syslog.h: Add multiple inclusion guard. - Add prototype for __vsyslog_internal. - Remove declaration and libc_hidden_proto for __vsyslog_chk. - - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___vsyslog_chk): - Use __vsyslog_internal. - -2018-12-05 Zack Weinberg - Gabriel F. T. Gomes - - * libio/libioP.h (__vfprintf_internal, __vfwprintf_internal) - (__vasprintf_internal, __vdprintf_internal, __obstack_vprintf_internal) - (__vsprintf_internal, __vsnprintf_internal, __vswprintf_internal): - New functions. - (PRINTF_LDBL_IS_DBL, PRINTF_FORTIFY): New constants. - (_IO_vasprintf, _IO_vdprintf, _IO_vsnprintf): Remove prototypes. - - * stdio-common/vfprintf-internal.c: Rename from vfprintf.c. - Include wctype.h here if COMPILE_WPRINTF is defined. - Define __vfprintf_internal or __vfwprintf_internal, depending - on COMPILE_WPRINTF. - Temporarily, on entry to this function, update mode_flags - according to the environmental settings corresponding to - PRINTF_LDBL_IS_DBL and PRINTF_FORTIFY. - Throughout, check mode_flags instead of __ldbl_is_dbl and - _IO_FLAGS2_FORTIFY on the destination FILE. - * stdio-common/vfwprintf-internal.c: Rename from vfwprintf.c. - Include vfprintf-internal.c. Don't include wctype.h. - * stdio-common/vfprintf.c: New file. Just define __vfprintf - as a wrapper around __vfprintf_internal, with aliases _IO_vfprintf - and vfprintf. - * stdio-common/vfwprintf.c: New file. Just define __vfwprintf - as a wrapper around __vfwprintf_internal, with aliases _IO_vfwprintf - and vfwprintf. - * stdio-common/Makefile: Add vfprintf-internal and vfwprintf-internal. - - * libio/iovdprintf.c (_IO_vdprintf): Rename to __vdprintf_internal - and add mode_flags argument; use __vfprintf_internal. - (__vdprintf): New function. Alias vdprintf to this. - * libio/iovsprintf.c (_IO_vsprintf, __vsprintf): Similarly. - * libio/vasprintf.c (_IO_vasprintf, __vasprintf): Similarly. - * libio/obprintf.c (_IO_obstack_vprintf, __obstack_vprintf): Similarly. - (__obstack_printf): Use __obstack_printf_internal. - * libio/vsnprintf.c (_IO_vsnprintf, ___vsnprintf): Similarly, with - public aliases __vsnprintf and vsnprintf. - Remove use of ldbl_hidden_def, since __vsnprintf is no longer - called internally. - * libio/vswprintf (_IO_vswprintf, __vswprintf): Similarly, with - public aliases _IO_vsprintf and vsprintf. - * libio/swprintf.c (__swprintf): Use __vswprintf_internal. - * stdio-common/asprintf.c (__asprintf): Use __vasprintf_internal. - * stdio-common/dprintf.c (__dprintf): Use __vdprintf_internal. - * stdio-common/snprintf.c (__snprintf): Use __vsprintf_internal. - * stdio-common/sprintf.c (__sprintf): Use __vsprintf_internal. - - * debug/obprintf_chk.c, debug/vasprintf_chk.c, debug/vdprintf_chk.c - * debug/vsnprintf_chk.c, debug/vsprintf_chk.c, hurd/vpprintf.c - * stdio-common/fprintf.c, stdio-common/fxprintf.c - * stdio-common/printf.c: Use __vfprintf_internal. - - * debug/fwprintf_chk.c, debug/vfwprintf_chk.c, debug/vswprintf_chk.c - * debug/vwprintf_chk.c, debug/wprintf_chk.c, libio/fwprintf.c - * libio/vwprintf.c, libio/wprintf.c: Use __vfwprintf_internal. - - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Use __vsprintf_internal, - __obstack_vprintf_internal, __vasprintf_internal, __vdprintf_internal, - __vsnprintf_internal, __vswprintf_internal, __vfprintf_internal, and - __vfwprintf_internal. - - * libio/libio.h: Remove libc_hidden_proto and declaration for - _IO_vfprintf. - Remove declaration of _IO_vfwprintf. - * libio/iolibio.h: Remove libc_hidden_proto and declaration for - _IO_vsprintf. - Remove declarations of _IO_vswprintf, _IO_obstack_printf, and - _IO_obstack_printf. - * include/stdio.h: Add prototype for __vasprintf. - (__vsnprintf): Remove declaration, because there are no more - internal calls. - * include/wchar.h (__vfwprintf, __vswprintf): Remove - declaration, because there are no more internal calls. - - * argp/argp-fmtstream.c (__argp_fmtstream_printf): Use - __vsnprintf_internal, instead of _IO_vsnprintf. - * argp/argp-help.c (__argp_error, __argp_failure): Use - __vasprintf_internal, instead of _IO_vasprintf. - * argp/argp-namefrob.h (__vsnprintf): Do not undefined then - redefine, because there are no more internal calls. - -2018-12-05 Zack Weinberg - Gabriel F. T. Gomes - - * stdio-common/vfscanf-internal.c: Don't look at __ldbl_is_dbl. - * sysdeps/ieee754/ldbl-opt/ndlbl-compat.c: - Include libio/strfile.h instead of libioP.h. - (__nldbl_IO_vfscanf, __ndlbl___vfscanf, __nldbl_sscanf) - (__nldbl___vsscanf, __nldbl_vscanf, __nldbl_fscanf) - (__nldbl_scanf, __nldbl_vfwscanf, __nldbl_swscanf) - (__nldbl_vswscanf, __nldbl_vwscanf, __nldbl_fwscanf) - (__nldbl_wscanf): Call __vfscanf_internal / __vfwscanf_internal - directly, passing SCANF_LDBL_IS_DBL. Set up a strfile if - necessary. Do not set __no_long_double. Normalize variable names. - (__nldbl___isoc99_vfscanf, __nldbl___isoc99_sscanf) - (__nldbl___isoc99_vsscanf, __nldbl___isoc99_vscanf) - (__nldbl___isoc99_fscanf, __nldbl___isoc99_scanf) - (__nldbl___isoc99_vfwscanf, __nldbl___isoc99_swscanf) - (__nldbl___isoc99_vswscanf, __nldbl___isoc99_vwscanf) - (__nldbl___isoc99_fwscanf, __nldbl___isoc99_wscanf): - Call __vfscanf_internal / __vfwscanf_internal directly, passing - SCANF_LDBL_IS_DBL | SCANF_ISOC99_A. Set up a strfile if necessary. - Do not set __no_long_double. Normalize variable names. - -2018-12-05 Zack Weinberg - Gabriel F. T. Gomes - - * stdio-common/isoc99_scanf.c - * stdio-common/isoc99_fscanf.c - * stdio-common/isoc99_sscanf.c - * stdio-common/isoc99_vscanf.c - * stdio-common/isoc99_vfscanf.c - * stdio-common/isoc99_vsscanf.c - * wcsmbs/isoc99_wscanf.c - * wcsmbs/isoc99_fwscanf.c - * wcsmbs/isoc99_swscanf.c - * wcsmbs/isoc99_vwscanf.c - * wcsmbs/isoc99_vfwscanf.c - * wcsmbs/isoc99_vswscanf.c: - Pass SCANF_ISOC99_A to __vfscanf_internal and/or __vfwscanf_internal. - Do not set _IO_FLAGS2_SCANF_STD on the FILE passed to that function. - No need to lock and unlock the FILE passed to that function. - - * stdio-common/vfscanf-internal.c - (__vfscanf_internal, __vfwscanf_internal): - Don't look at _IO_FLAGS2_SCANF_STD. - * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct) - (_IO_release_lock): Don't clear _IO_FLAGS2_SCANF_STD. - * libio/libio.h (_IO_FLAGS2_SCANF_STD): Delete. - -2018-12-05 Zack Weinberg - Gabriel F. T. Gomes - - * libio/libioP.h (SCANF_LDBL_IS_DBL, SCANF_ISOC99_A): New constants. - (__vfscanf_internal, __vfwscanf_internal): New function prototypes. - * libio/libio.h: Remove libc_hidden_proto for _IO_vfscanf. - * libio/strfile.h: Add multiple inclusion guard. - (_IO_strfile_read, _IO_strfile_readw): New inline functions. - - * sysdeps/generic/math_ldbl_opt.h: Include shlib-compat.h, for - consistency with the other version of this file. - (ldbl_compat_symbol): New macro. - * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h (ldbl_compat_symbol): - New macro. - - * stdio-common/vfscanf-internal.c: Rename from vfscanf.c. - Define __vfscanf_internal or __vfwscanf_internal, depending on - COMPILE_WSCANF; don't define any other public symbols. - Remove errval and code to set errp. - Temporarily check __ldbl_is_dbl and _IO_FLAGS2_SCANF_STD as well - as the mode_flags argument. - (encode_error, conv_error, input_error): Don't set errval. - * stdio-common/vfwscanf-internal.c: Rename from vfwscanf.c. - Include vfscanf-internal.c. - * stdio-common/vfscanf.c: New file defining the public entry - point vfscanf, which calls __vfscanf_internal. - * stdio-common/vfwscanf.c: New file defining the public entry - point vfwscanf, which calls __vfwscanf_internal. - - * stdio-common/iovfscanf.c: New file. - * stdio-common/iovfwscanf.c: Likewise. - - * stdio-common/Makefile (routines): Add vfscanf-internal, - vfwscanf-internal, iovfscanf, iovfwscanf. - * stdio-common/Versions: Mention GLIBC_2.29, so that - it can be used in SHLIB_COMPAT expressions. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl__IO_vfscanf): - Wrap definition and compat_symbol line in #if SHLIB_COMPAT. - Call __vfscanf_internal, instead of _IO_vfscanf. - (__nldbl___vfscanf): Call __vfscanf_internal, instead of - _IO_vfscanf. - (__nldbl_vfwscanf): Call __vfwscanf_internal, instead of - _IO_vfwscanf. - - * libio/iovsscanf.c: Clean up includes, when possible. Use - _IO_strfile_read or _IO_strfile_readw, when needed. Call - __vfscanf_internal or __vfwscanf_internal directly. - * libio/iovswscanf.c: Likewise. - * libio/swscanf.c: Likewise. - * libio/vscanf.c: Likewise. - * libio/vwscanf.c: Likewise. - * libio/wscanf.c: Likewise. - * stdio-common/isoc99_fscanf.c: Likewise. - * stdio-common/isoc99_scanf.c: Likewise. - * stdio-common/isoc99_sscanf.c: Likewise. - * stdio-common/isoc99_vfscanf.c: Likewise. - * stdio-common/isoc99_vscanf.c: Likewise. - * stdio-common/isoc99_vsscanf.c: Likewise. - * stdio-common/scanf.c: Likewise. - * stdio-common/sscanf.c: Likewise. - * wcsmbs/isoc99_fwscanf.c: Likewise. - * wcsmbs/isoc99_swscanf.c: Likewise. - * wcsmbs/isoc99_vfwscanf.c: Likewise. - * wcsmbs/isoc99_vswscanf.c: Likewise. - * wcsmbs/isoc99_vwscanf.c: Likewise. - * wcsmbs/isoc99_wscanf.c: Likewise. - -2018-12-05 Albert ARIBAUD - - * include/time.h - (__tz_compute): Replace time_t with __time64_t. - (__tz_convert): Replace time_t* with __time64_t. - (__offtime): Replace time_t* with __time64_t. - * time/gmtime.c - (__gmtime_r): Adjust call to __tz_convert. - (gmtime): Likewise. - * time/localtime.c - (__localtime_r): Likewise. - (localtime): Likewise. - * time/offtime.c: Replace time_t with __time64_t. - * time/tzset.c: Likewise. - -2018-12-04 Joseph Myers - - * Makefile ($(objpfx)testroot.pristine/install.stamp): Do not run - dynamic linker unless [$(run-built-tests) = yes]. - -2018-12-03 DJ Delorie - - * support/test-container.c (check_for_unshare_hints): New. - (main): Call it if unshare fails. Add support for "su" scriptlet - command. - -2018-12-03 Joseph Myers - - * scripts/gen-as-const.py (compute_c_consts): Take an argument - 'START' to indicate that start text should be output. - (gen_test): Likewise. - (main): Generate 'START' for first symbol or '--' line, or at end - of input if not previously generated. - -2018-12-03 Rafael Ávila de Espíndola - - [BZ #19767] - * sysdeps/unix/sysv/linux/arm/init-first.c: Remove #ifdef SHARED. - * sysdeps/unix/sysv/linux/arm/libc-vdso.h: Remove #ifdef SHARED. - * sysdeps/unix/sysv/linux/arm/sysdep.h: Define - ALWAYS_USE_VSYSCALL. - -2018-12-03 Adhemerval Zanella - - [BZ #23913] - * sysdeps/posix/spawni.c (maybe_script_execute): Increment size of - new_argv by one. - -2018-12-03 Carlos O'Donell - - [BZ #23923] - * locale/programs/localedef.c: Declare boolean hard_links default true. - (options): Add --no-hard-links option. - (parse_opt): Add OPT_NO_HARD_LINKS case and set hard_links to false. - * locale/programs/localedef.h: Declare prototype for hard_links. - * locale/programs/locfile.c (write_locale_data): Don't use hard - links if hard_links is false. - -2018-12-03 H.J. Lu - - * sysdeps/x86/cacheinfo.c (intel_check_word): Updated for - cpu_features_basic. - (__cache_sysconf): Likewise. - (init_cacheinfo): Likewise. - * sysdeps/x86/cpu-features.c (get_extended_indeces): Also - populate COMMON_CPUID_INDEX_80000007 and - COMMON_CPUID_INDEX_80000008. - (get_common_indices): Also populate COMMON_CPUID_INDEX_D_ECX_1. - Use CPU_FEATURES_CPU_P (cpu_features, XSAVEC) to check if - XSAVEC is available. Set the bit_arch_XXX_Usable bits. - (init_cpu_features): Use _Static_assert on - index_arch_Fast_Unaligned_Load. - __get_cpuid_registers and __get_arch_feature. Updated for - cpu_features_basic. Set stepping in cpu_features. - * sysdeps/x86/cpu-features.h: (FEATURE_INDEX_1): Changed to enum. - (FEATURE_INDEX_2): New. - (FEATURE_INDEX_MAX): Changed to enum. - (COMMON_CPUID_INDEX_D_ECX_1): New. - (COMMON_CPUID_INDEX_80000007): Likewise. - (COMMON_CPUID_INDEX_80000008): Likewise. - (cpuid_registers): Likewise. - (cpu_features_basic): Likewise. - (CPU_FEATURE_USABLE): Likewise. - (bit_arch_XXX_Usable): Likewise. - (cpu_features): Use cpuid_registers and cpu_features_basic. - (bit_arch_XXX): Reweritten. - (bit_cpu_XXX): Likewise. - (index_cpu_XXX): Likewise. - (reg_XXX): Likewise. - * sysdeps/x86/tst-get-cpu-features.c: Include and - . - (CHECK_CPU_FEATURE): New. - (CHECK_CPU_FEATURE_USABLE): Likewise. - (cpu_kinds): Likewise. - (do_test): Print vendor, family, model and stepping. Check - HAS_CPU_FEATURE and CPU_FEATURE_USABLE. - (TEST_FUNCTION): Removed. - Include instead of - "../../test-skeleton.c". - * sysdeps/x86_64/multiarch/sched_cpucount.c (__sched_cpucount): - Check POPCNT instead of POPCOUNT. - * sysdeps/x86_64/multiarch/test-multiarch.c (do_test): Likewise. - -2018-12-03 Samuel Thibault - - * scripts/gen-as-const.py (main): Avoid emitting empty line when - there is no element in `consts'. - -2018-12-01 Florian Weimer - - * support/support_capture_subprocess.c - (support_capture_subprocess): Check that pipe descriptors have - expected values. Close original pipe descriptors in subprocess. - -2018-12-01 Samuel Thibault - - [BZ #23032] - * sysdeps/htl/pt-barrier-init.c (pthread_barrier_init): Fix comparing - attr with __pthread_default_barrierattr. - * sysdeps/htl/pt-cond-init.c (__pthread_cond_init): Fix comparing - attr with __pthread_default_condattr. - * sysdeps/htl/pt-mutex-init.c (_pthread_mutex_init): Fix comparing - attr with __pthread_default_mutexattr. - * sysdeps/htl/pt-rwlock-init.c (_pthread_rwlock_init): Fix comparing - attr with __pthread_default_rwlockattr. - -2018-12-01 Kemi Wang - - * manual/tunables.texi (POSIX Thread Tunables): New node. - * nptl/Makefile (libpthread-routines): Add pthread_mutex_conf. - * nptl/nptl-init.c: Include pthread_mutex_conf.h - (__pthread_initialize_minimal_internal) [HAVE_TUNABLES]: Call - __pthread_tunables_init. - * nptl/pthreadP.h (MAX_ADAPTIVE_COUNT): Remove. - (max_adaptive_count): Define. - * nptl/pthread_mutex_conf.c: New file. - * nptl/pthread_mutex_conf.h: New file. - * sysdeps/generic/adaptive_spin_count.h: New file. - * sysdeps/nptl/dl-tunables.list: New file. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Use - max_adaptive_count () not MAX_ADAPTIVE_COUNT. - * nptl/pthread_mutex_timedlock.c (__pthrad_mutex_timedlock): - Likewise. - -2018-12-01 Paul Pluzhnikov - - [BZ #20544] - * stdlib/cxa_atexit.c (__internal_atexit): assert func != NULL. - * stdlib/on_exit.c (__on_exit): Likewise. - * stdlib/Makefile (tests): Add tst-bz20544. - * stdlib/tst-bz20544.c: New test. - -2018-11-30 Rafael Ávila de Espíndola - - [BZ #19767] - * sysdeps/unix/sysv/linux/i386/init-first.c: Don't check SHARED. - * sysdeps/unix/sysv/linux/i386/sysdep.h (ALWAYS_USE_VSYSCALL): - New. - -2018-11-30 Florian Weimer - - * scripts/abilist.awk: Print "0x0" for size 0. Handle "g"/"D". - Extend error logging. - * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.2.6): Adjust _end - symbol. - -2018-11-30 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Use - __sigismember instead of sigismember. - * sysdeps/posix/system.c [SIGCANCEL] (cancel_handler_args, - cancel_handler): New definitions. - (do_system): Use posix_spawn instead of fork and execl and remove - reentracy code. - * sysdeps/generic/not-errno.h (__kill_noerrno): New prototype. - * sysdeps/unix/sysv/linux/not-errno.h (__kill_noerrno): Likewise. - * sysdeps/unix/sysv/linux/ia64/system.c: Remove file. - * sysdeps/unix/sysv/linux/s390/system.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/system.c: Likewise. - * sysdeps/unix/sysv/linux/system.c: Likewise. - - [BZ #22834] - [BZ #17490] - * NEWS: Add new semantic for atfork with popen and system. - * libio/iopopen.c (_IO_new_proc_open): use posix_spawn instead of - fork and execl. - -2018-11-30 Tulio Magno Quites Machado Filho - - [BZ #23690] - * elf/dl-runtime.c (_dl_profile_fixup): Guarantee memory - modification order when accessing reloc_result->addr. - * include/link.h (reloc_result): Add field init. - * nptl/Makefile (tests): Add tst-audit-threads. - (modules-names): Add tst-audit-threads-mod1 and - tst-audit-threads-mod2. - Add rules to build tst-audit-threads. - * nptl/tst-audit-threads-mod1.c: New file. - * nptl/tst-audit-threads-mod2.c: Likewise. - * nptl/tst-audit-threads.c: Likewise. - * nptl/tst-audit-threads.h: Likewise. - -2018-11-30 Joseph Myers - - * scripts/gen-as-const.py: New file. - * scripts/gen-as-const.awk: Remove. - * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Use - gen-as-const.py. - ($(objpfx)test-as-const-%.c): Likewise. - -2018-11-29 H.J. Lu - - * elf/dl-exception.c: Include <_itoa.h>. - -2018-11-30 Samuel Thibault - - * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Directly return value - returned by __f_setlk. - -2018-11-29 H.J. Lu - Adhemerval Zanella - - * elf/Makefile (tests-internal): Add tst-create_format1. - * elf/dl-exception.c (_dl_exception_create_format): Support - %x, %lx and %zx. - * elf/tst-create_format1.c: New file. - -2018-11-29 Charles-Antoine Couret - - * argp/argp-fmtstream.c (__argp_fmtstream_update): Use [_LIBC] - conditional on calls to _IO_fwide and putwc_unlocked. (Merge from - gnulib.) - * argp/argp-help.c (__argp_failure): Likewise. - -2018-11-29 Mao Han - - * elf/elf.h (EM_CSKY, R_CKCORE_NONE, R_CKCORE_ADDR32) - (R_CKCORE_PCRELIMM8BY4, R_CKCORE_PCRELIMM11BY2, R_CKCORE_PCREL32) - (R_CKCORE_PCRELJSR_IMM11BY2, R_CKCORE_RELATIVE, R_CKCORE_COPY) - (R_CKCORE_GLOB_DAT, R_CKCORE_JUMP_SLOT, R_CKCORE_GOTOFF) - (R_CKCORE_GOTPC, R_CKCORE_GOT32, R_CKCORE_PLT32, R_CKCORE_ADDRGOT) - (R_CKCORE_ADDRPLT, R_CKCORE_PCREL_IMM26BY2, R_CKCORE_PCREL_IMM16BY2) - (R_CKCORE_PCREL_IMM16BY4, R_CKCORE_PCREL_IMM10BY2) - (R_CKCORE_PCREL_IMM10BY4, R_CKCORE_ADDR_HI16, R_CKCORE_ADDR_LO16) - (R_CKCORE_GOTPC_HI16, R_CKCORE_GOTPC_LO16, R_CKCORE_GOTOFF_HI16) - (R_CKCORE_GOTOFF_LO16, R_CKCORE_GOT12, R_CKCORE_GOT_HI16) - (R_CKCORE_GOT_LO16, R_CKCORE_PLT12, R_CKCORE_PLT_HI16) - (R_CKCORE_PLT_LO16, R_CKCORE_ADDRGOT_HI16, R_CKCORE_ADDRGOT_LO16) - (R_CKCORE_ADDRPLT_HI16, R_CKCORE_ADDRPLT_LO16) - (R_CKCORE_PCREL_JSR_IMM26BY2, R_CKCORE_TOFFSET_LO16) - (R_CKCORE_DOFFSET_LO16, R_CKCORE_PCREL_IMM18BY2) - (R_CKCORE_DOFFSET_IMM18, R_CKCORE_DOFFSET_IMM18BY2) - (R_CKCORE_DOFFSET_IMM18BY4, R_CKCORE_GOT_IMM18BY4) - (R_CKCORE_PLT_IMM18BY4, R_CKCORE_PCREL_IMM7BY4, R_CKCORE_TLS_LE32) - (R_CKCORE_TLS_IE32, R_CKCORE_TLS_GD32, R_CKCORE_TLS_LDM32) - (R_CKCORE_TLS_LDO32, R_CKCORE_TLS_DTPMOD32, R_CKCORE_TLS_DTPOFF32) - (R_CKCORE_TLS_TPOFF32): New defines. - -2018-11-29 Florian Weimer - - * posix/Makefile (before-compile): Remove testcases.h and - ptestcases.h. - (generated): Add testcases.h and ptestcases.h. - (testcases.h, ptestcases.h): Move to $(objpfx). - (runtests.o): Add dependency on testcases.h. - (runptests.o): Add dependency on ptestcases.h. - * posix/testcases.h, posix/ptestcases.h: Remove files. - * scripts/build-many-glibcs.py (Context.fix_glibc_timestamps): Do - not touch posix/testcases.h and posix/ptestcases.h. - -2018-11-28 Florian Weimer - - support: Add signal support to support_capture_subprocess_check. - * support/capture_subprocess.h (support_capture_subprocess_check): - Adjust comment and rename parameter. - * support/support_capture_subprocess_check.c - (print_actual_status): New function. - (support_capture_subprocess_check): Support negative - status_or_signal. Call print_actual_status. - * support/tst-support_capture_subprocess.c (do_test): Call - support_capture_subprocess_check. - * libio/tst-vtables-common.c (termination_status) - (init_termination_status): Remove. - (check_for_termination): Adjust support_capture_subprocess_check - call. - (do_test): Remove call to init_termination_status. - -2018-11-28 Joseph Myers - - * scripts/build-many-glibcs.py (Glibc.build_glibc): Use original - source directory instead of a copy. - (CommandList.create_copy_dir): Remove. - -2018-11-28 Stefan Liebler - - * sysdeps/s390/fpu/libm-test-ulps: Regenerated. - -2018-11-28 Florian Weimer - - * support/support.h (support_quote_string): Do not use str - parameter name. - -2018-11-27 Joseph Myers - - * sysdeps/mach/hurd/Makefile ($(common-objpfx)stamp-errnos): Use - $(hurd-objpfx)bits/errno.h-tmp, not $(hurd)/bits/errno.h-tmp. - -2018-11-27 Florian Weimer - - * support/support.h (support_quote_string): Declare. - * support/support_quote_string.c: New file. - * support/tst-support_quote_string.c: Likewise. - * support/Makefile (libsupport-routines): Add - support_quote_string. - (tests): Add tst-support_quote_string. - -2018-11-27 Florian Weimer - - [BZ #23927] - CVE-2018-19591 - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Avoid - descriptor leak in case of ENODEV error. - -2018-11-27 Rafael Ávila de Espíndola - - [BZ #19767] - * sysdeps/unix/sysv/linux/aarch64/init-first.c: Remove #ifdef SHARED. - * sysdeps/unix/sysv/linux/aarch64/libc-vdso.h: Remove #ifdef SHARED. - * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Define ALWAYS_USE_VSYSCALL. - -2018-11-26 Carlos O'Donell - - * scripts/abilist.awk: Handle .tdata. Error for unknown combinations. - Error for unknown lines. - -2018-11-26 Joseph Myers - - * scripts/build-many-glibcs.py (Context.fix_glibc_timestamps): - Touch additional files. - -2018-11-26 Florian Weimer - - [BZ #23907] - * malloc/malloc.c (_int_free): Validate tc_idx before checking for - double-frees. - -2018-11-26 Rafael Ávila de Espíndola - - [BZ #19767] - * sysdeps/unix/sysv/linux/powerpc/init-first.c: Remove #ifdef SHARED. - * sysdeps/unix/sysv/linux/powerpc/libc-vdso.h: Remove #ifdef - SHARED. Include sysdep.h. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Define - ALWAYS_USE_VSYSCALL. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Define - ALWAYS_USE_VSYSCALL. - -2018-11-23 Rafael Ávila de Espíndola - - [BZ #19767] - * nptl/Makefile (tests-static): Add tst-cond11-static. - (tests): Likewise. - * nptl/tst-cond11-static.c: New File. - * sysdeps/unix/sysv/linux/Makefile (tests-static): Add - tst-affinity-static. - (tests): Likewise. - * sysdeps/unix/sysv/linux/sysdep-vdso.h: Check USE_VSYSCALL - instead of SHARED. - * sysdeps/unix/sysv/linux/sysdep.h (ALWAYS_USE_VSYSCALL): New. - (USE_VSYSCALL): Likewise. - * sysdeps/unix/sysv/linux/tst-affinity-static.c: New file. - * sysdeps/unix/sysv/linux/x86/libc-vdso.h: Check USE_VSYSCALL - instead of SHARED. - * sysdeps/unix/sysv/linux/x86_64/init-first.c: Don't check - SHARED. - * sysdeps/unix/sysv/linux/x86_64/sysdep.h (ALWAYS_USE_VSYSCALL): - New. - -2018-11-23 Joseph Myers - - [BZ #23915] - * sysdeps/unix/sysv/linux/arm/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_COPY_FILE_RANGE): - Undefine. - -2018-11-23 H.J. Lu - - * sysdeps/x86/Makefile (tests): Add tst-cet-legacy-1a. - (tst-cet-legacy-1a-ARGS): New. - ($(objpfx)tst-cet-legacy-1a): New target. - * sysdeps/x86/tst-cet-legacy-1a.c: New file. - -2018-11-22 Joseph Myers - - * conform/conformtest.py (CompileSubTest.__init__): Set - self.run_early to False. - (ExecuteSubTest.__init__): Likewise. - (HeaderTests.run): Try running all non-optional, non-XFAILed - compilation tests in a single execution of the compiler. - - * conform/conformtest.py (CompileSubTest): New class. - (ExecuteSubTest): Likewise. - (ElementTest.run): Rename to gen_subtests. Append tests to - self.subtests instead of running them. - (ConstantTest.run): Likewise. - (SymbolTest.run): Likewise. - (TypeTest.run): Likewise. - (TagTest.run): Likewise. - (FunctionTest.run): Likewise. - (VariableTest.run): Likewise. - (MacroFunctionTest.run): Likewise. - (MacroStrTest.run): Likewise. - (HeaderTests.handle_test_line): Generate subtests for tests. - (HeaderTests.run): Run subtests for tests. - -2018-11-21 Szabolcs Nagy - - * math/Versions (GLIBC_2.29): Add pow. - * math/w_pow_compat.c (__pow_compat): Change to versioned compat - symbol. - * math/w_pow.c: New file. - * sysdeps/i386/fpu/w_pow.c: New file. - * sysdeps/ia64/fpu/e_pow.S: Add versioned symbols. - * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Rename to __pow - and add necessary aliases. - * sysdeps/ieee754/dbl-64/w_pow.c: New file. - * sysdeps/m68k/m680x0/fpu/w_pow.c: New file. - * sysdeps/mach/hurd/i386/libm.abilist: Update. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Update. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update. - * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c (__ieee754_pow): Rename to - __pow. - * sysdeps/x86_64/fpu/multiarch/e_pow-fma4.c (__ieee754_pow): Likewise. - * sysdeps/x86_64/fpu/multiarch/e_pow.c (__ieee754_pow): Likewise. - * sysdeps/x86_64/fpu/multiarch/w_pow.c: New file. - -2018-11-21 Szabolcs Nagy - - * math/Versions (GLIBC_2.29): Add log2. - * math/w_log2_compat.c (__log2_compat): Change to versioned compat - symbol. - * math/w_log2.c: New file. - * sysdeps/i386/fpu/w_log2.c: New file. - * sysdeps/ia64/fpu/e_log2.S: Add versioned symbols. - * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Rename to __log2 - and add necessary aliases. - * sysdeps/ieee754/dbl-64/w_log2.c: New file. - * sysdeps/m68k/m680x0/fpu/w_log2.c: New file. - * sysdeps/mach/hurd/i386/libm.abilist: Update. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Update. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update. - -2018-11-21 Szabolcs Nagy - - * math/Versions (GLIBC_2.29): Add log. - * math/w_log_compat.c (__log_compat): Change to versioned compat - symbol. - * math/w_log.c: New file. - * sysdeps/i386/fpu/w_log.c: New file. - * sysdeps/ia64/fpu/e_log.S: Update. - * sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Rename to __log - and add necessary aliases. - * sysdeps/ieee754/dbl-64/w_log.c: New file. - * sysdeps/m68k/m680x0/fpu/w_log.c: New file. - * sysdeps/mach/hurd/i386/libm.abilist: Update. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Update. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update. - * sysdeps/x86_64/fpu/multiarch/e_log-avx.c (__ieee754_log): Rename to - __log. - * sysdeps/x86_64/fpu/multiarch/e_log-fma.c (__ieee754_log): Likewise. - * sysdeps/x86_64/fpu/multiarch/e_log-fma4.c (__ieee754_log): Likewise. - * sysdeps/x86_64/fpu/multiarch/e_log.c (__ieee754_log): Likewise. - * sysdeps/x86_64/fpu/multiarch/w_log.c: New file. - -2018-11-21 Szabolcs Nagy - - * math/Versions (GLIBC_2.29): Add exp and exp2. - * math/w_exp2_compat.c (__exp2_compat): Change to versioned compat - symbol, handle NO_LONG_DOUBLE and LONG_DOUBLE_COMPAT explicitly. - * math/w_exp_compat.c (__exp_compat): Likewise. - * math/w_exp.c: New file. - * math/w_exp2.c: New file. - * sysdeps/i386/fpu/w_exp.c: New file. - * sysdeps/i386/fpu/w_exp2.c: New file. - * sysdeps/ia64/fpu/e_exp.S: Add versioned symbols. - * sysdeps/ia64/fpu/e_exp2.S: Likewise. - * sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Rename to __exp - and add necessary aliases. - * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Rename to __exp2 - and add necessary aliases. - * sysdeps/ieee754/dbl-64/w_exp.c: New file. - * sysdeps/ieee754/dbl-64/w_exp2.c: New file. - * sysdeps/m68k/m680x0/fpu/w_exp.c: New file. - * sysdeps/m68k/m680x0/fpu/w_exp2.c: New file. - * sysdeps/mach/hurd/i386/libm.abilist: Update. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Update. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update. - * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__exp1): Remove. - (__ieee754_exp): Rename to __exp. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__exp1): Remove. - (__ieee754_exp): Rename to __exp. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__exp1): Remove. - (__ieee754_exp): Rename to __exp. - * sysdeps/x86_64/fpu/multiarch/e_exp.c (__ieee754_exp): Rename to - __exp. - * sysdeps/x86_64/fpu/multiarch/w_exp.c: New file. - -2018-11-20 DJ Delorie - - * malloc/malloc.c (tcache_entry): Add key field. - (tcache_put): Set it. - (tcache_get): Likewise. - (_int_free): Check for double free in tcache. - * malloc/tst-tcfree1.c: New. - * malloc/tst-tcfree2.c: New. - * malloc/Makefile: Run the new tests. - * manual/probes.texi: Document memory_tcache_double_free probe. - - * dlfcn/dlerror.c (check_free): Prevent double frees. - -2018-11-20 Wilco Dijkstra - - * sysdeps/aarch64/memset.S (MEMSET): Improve non-zero memset loop. - -2018-11-20 Joseph Myers - - * conform/conformtest.py (ElementTest.run): Use unique identifiers - in tests. Use names for format arguments. - (ConstantTest.run): Likewise. - (SymbolTest.run): Likewise. - (TypeTest.run): Likewise. - (TagTest.run): Likewise. - (FunctionTest.run): Likewise. - (VariableTest.run): Likewise. - (MacroFunctionTest.run): Likewise. - (MacroStrTest.run): Likewise. - (HeaderTests.__init__): Set self.num_tests. - (HeaderTests.handle_test_line): Set test.num. Increment - self.num_tests. - -2018-11-19 Samuel Thibault - - * sysdeps/mach/hurd/f_setlk.c: Include . - (__f_setlk): When whence is SEEK_CUR, use __lseek64 to convert it to - SEEK_SET. - -2018-11-19 Mao Han - - * scripts/config.guess: Update to version 2018-08-29. - * scripts/config.sub: Update to version 2018-08-29. - -2018-11-19 Florian Weimer - - support: Print timestamps in timeout handler. - * support/support_test_main.c (print_timestamp): New function. - (signal_handler): Use it to print the termination time and the - time of the last write to standard output. - -2018-11-16 Zack Weinberg - Gabriel F. T. Gomes - - * include/monetary.h (STRFMON_LDBL_IS_DBL): New constant. - (__vstrfmon_l): Rename to __vstrfmon_l_internal and add flags - argument. - * stdlib/strfmon_l.c (__vstrfmon_l): Rename to __vstrfmon_l_internal - and add flags argument. Check flags instead of __ldbl_is_dbl when - deciding whether to set is_long_double. - (__strfmon_l): Call __vstrfmon_l_internal instead of __vstrfmon_l, - passing zero for flags argument. - * stdlib/strfmon.c (strfmon): Same change as made to __strfmon_l. - - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c - (__nldbl___vstrfmon, __nldbl___vstrfmon_l) - (__nldbl_strfmon, __nldbl___strfmon_l): Call __vstrfmon_l_internal - directly, passing STRFMON_LDBL_IS_DBL for flags argument. Normalize - variable names. Remove libc_hidden_def/libc_hidden_proto from - __nldbl___vstrfmon and __nldbl___vstrfmon_l, because they are no - longer called from within the library. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Don't use NLDBL_DECL - for __nldbl___vstrfmon_l, declare it explicitly. - - * manual/locale.texi: Update a reference to vstrfmon_l in comments. - -2018-11-15 Samuel Thibault - - * sysdeps/mach/hurd/bits/fcntl.h (F_GETLK64, F_SETLK64, F_SETLKW64): New - macros - [__USE_FILE_OFFSET64] (F_GETLK, F_SETLK, F_SETLKW): Define to F_GETLK64, - F_SETLK64, F_SETLKW64, respectively. - * sysdeps/mach/hurd/f_setlk.c: New file. - * sysdeps/mach/hurd/f_setlk.h: New file. - * sysdeps/mach/hurd/Makefile [$(subdir) = io] (sysdeps_routines): Add - f_setlk. - * sysdeps/mach/hurd/fcntl.c: Include "f_setlk.h".h". - (__libc_fcntl): Move non-flock operations to... - * sysdeps/mach/hurd/vfcntl.c (__libc_vfcntl): ... New file. - * sysdeps/mach/hurd/fcntl.c (fcntl64): Add missing alias. - -2018-11-15 Paul Eggert - - mktime: DEBUG_MKTIME cleanup - The DEBUG_MKTIME code no longer works in glibc or in Gnulib. - And it’s no longer needed now that glibc and Gnulib both have - their own testing mechanisms for mktime. - * time/mktime.c (DEBUG_MKTIME): Remove. All uses removed. - - mktime: fix non-EOVERFLOW errno handling - [BZ#23789] - mktime was not properly reporting failures when the underlying - localtime_r fails with errno != EOVERFLOW; it incorrectly treated - them like EOVERFLOW failures, and set errno to EOVERFLOW. - The problem could happen on non-glibc platforms, with Gnulib. - * time/mktime.c (guess_time_tm): Remove, replacing with ... - (tm_diff): ... this simpler function, which does not change errno. - All callers changed to deal with errno themselves. - (ranged_convert, __mktime_internal): Return failure immediately if - the underlying function reports any failure other than EOVERFLOW. - (__mktime_internal): Set errno to EOVERFLOW if the spring-forward - gap code fails. - - mktime: fix bug with Y2038 DST transition - [BZ#23789] - * time/mktime.c (ranged_convert): On 32-bit platforms, don’t - mishandle a DST transition that jumps over the Y2038 boundary. - No such DST transitions are known so this is only a theoretical - bug, but we might as well do things right. - - mktime: make more room for overflow - [BZ#23789] - * time/mktime.c (long_int): Now 4⨯ int, not just 3⨯. - This is so that we can add tm_diff results to a previous guess, - which will be useful in a later patch. - - mktime: simplify offset guess - [BZ#23789] - * time/mktime.c (__mktime_internal): Omit excess precision. - - mktime: new test for mktime failure - [BZ#23789] - Based on a test suggested by Albert Aribaud in: - https://www.sourceware.org/ml/libc-alpha/2018-10/msg00662.html - * time/Makefile (tests): Add bug-mktime4. - * time/bug-mktime4.c: New file. - - mktime: fix EOVERFLOW bug - [BZ#23789] - * time/mktime.c [!_LIBC && !DEBUG_MKTIME]: - Include libc-config.h, not config.h, for __set_errno. - (guess_time_tm, __mktime_internal): Set errno to EOVERFLOW on overflow. - -2018-11-14 Samuel Thibault - - * sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): Use - __attribute_copy__ to copy attributes from name. Drop static qualifier - to avoid warnings about leaf attribute not having effect on static - functions. - -2018-11-13 Florian Weimer - - * malloc/malloc.c (fastbin_push_entry): New function. - (fastbin_pop_entry): Likewise. Replaces REMOVE_FB. - (REMOVE_FB): Remove macro. - (_int_malloc): Use fastbin_pop_entry and reindent. - (_int_free): Use fastbin_push_entry. - (malloc_consolidate): Use atomic_exchange_acquire. - -2018-11-13 Joseph Myers - - * sysdeps/mips/__longjmp.c (__longjmp): Define alias manually with - alias attribute, not with strong_alias. - - * include/libc-symbols.h [SHARED && !NO_HIDDEN && !__ASSEMBLER__] - (__hidden_ver2): New macro. Use old definition of __hidden_ver1 - with additional parameter thread. - [SHARED && !NO_HIDDEN && !__ASSEMBLER__] (__hidden_ver1): Define - in terms of __hidden_ver2. - (hidden_tls_def): New macro. - (libc_hidden_tls_def): Likewise. - (rtld_hidden_tls_def): Likewise. - (libm_hidden_tls_def): Likewise. - (libmvec_hidden_tls_def): Likewise. - (libresolv_hidden_tls_def): Likewise. - (librt_hidden_tls_def): Likewise. - (libdl_hidden_tls_def): Likewise. - (libnss_files_hidden_tls_def): Likewise. - (libnsl_hidden_tls_def): Likewise. - (libnss_nisplus_hidden_tls_def): Likewise. - (libutil_hidden_tls_def): Likewise. - (libutil_hidden_tls_def): Likweise. - * sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions_thread): Use - libc_hidden_tls_def. - (__sim_disabled_exceptions_thread): Likewise. - (__sim_round_mode_thread): Likewise. - - * sysdeps/sparc/sparc-ifunc.h [SHARED] - (sparc_ifunc_redirected_hidden_def): Use __attribute_copy__ to - copy attributes from name. - -2018-11-12 Joseph Myers - - * sysdeps/arm/arm-ifunc.h [SHARED] (arm_libc_ifunc_hidden_def): - Use __attribute_copy__ to copy attributes from name. - - * sysdeps/i386/i686/fpu/multiarch/e_expf.c [SHARED]: Use __THROW - with __hidden_ver1 call. - * sysdeps/i386/i686/fpu/multiarch/e_log2f.c [SHARED]: Likewise. - * sysdeps/i386/i686/fpu/multiarch/e_logf.c [SHARED]: Likewise. - * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include . - (__cosf): Do not declare here. - * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include . - (__sincosf): Do not declare here. - * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include . - (__sinf): Do not declare here. - - * sysdeps/ia64/fpu/sfp-machine.h (__LITTLE_ENDIAN): Remove. - (__BIG_ENDIAN): Likewise. - (__BYTE_ORDER): Likewise. - (strong_alias): Likewise. - (_strong_alias): Likewise. - -2018-11-12 Florian Weimer - - * malloc/malloc.c (unlink_chunk): Turn the unlink macro into this - function. Move after the definition of in_smallbin_range. Do not - use __builtin_expect for paths that lead to a noreturn function. - Drop remaining __builtin_expect (p->fd_nextsize != NULL, 0) - because it is unclear whether this is in fact an unlikely - condition. - (_int_malloc, _int_free): Adjust. - (malloc_consolidate, _int_realloc): Adjust. Remove bck, fwd - variables. - * malloc/arena.c (heap_trim): Likewise. - -2018-11-10 Samuel Thibault - - * sysdeps/mach/hurd/spawni.c (__spawni): Add ccwdir port. Test and use - it, free it if needed. - (reauthenticate): Test and use ccwdir. - (child_init_port): In non-resetids case, test and use ccwdir. - (child_chdir): New nested function to set ccwdir. - * hurd/hurd/userlink.h (_hurd_userlink_move): New function. - * hurd/hurd/port.h (_hurd_port_move): New function. - * sysdeps/mach/hurd/spawni.c (NEW_ULINK_TABLE): New macro. - (EXPAND_DTABLE): Use NEW_ULINK_TABLE macro for ulink_dtable. - * hurd/Versions (_hurd_port_move): Export function. - * sysdeps/mach/hurd/i386/libc.abilist (_hurd_port_move): Expect - symbol. - * sysdeps/mach/hurd/spawni.c (__spawni): Use orig_dtablesize instead - of dtablesize for allocating dtable_cloexec. - -2018-11-09 Martin Sebor - - * include/libc-symbols.h (__attribute_copy__): Define macro unless - it's already defined. - (_strong_alias): Use __attribute_copy__. - (_weak_alias, __hidden_ver1, __hidden_nolink2): Same. - * misc/sys/cdefs.h (__attribute_copy__): New macro. - * sysdeps/x86_64/multiarch/memchr.c (memchr): Use __attribute_copy__. - * sysdeps/x86_64/multiarch/memcmp.c (memcmp): Same. - * sysdeps/x86_64/multiarch/mempcpy.c (mempcpy): Same. - * sysdeps/x86_64/multiarch/memset.c (memset): Same. - * sysdeps/x86_64/multiarch/stpcpy.c (stpcpy): Same. - * sysdeps/x86_64/multiarch/strcat.c (strcat): Same. - * sysdeps/x86_64/multiarch/strchr.c (strchr): Same. - * sysdeps/x86_64/multiarch/strcmp.c (strcmp): Same. - * sysdeps/x86_64/multiarch/strcpy.c (strcpy): Same. - * sysdeps/x86_64/multiarch/strcspn.c (strcspn): Same. - * sysdeps/x86_64/multiarch/strlen.c (strlen): Same. - * sysdeps/x86_64/multiarch/strncmp.c (strncmp): Same. - * sysdeps/x86_64/multiarch/strncpy.c (strncpy): Same. - * sysdeps/x86_64/multiarch/strnlen.c (strnlen): Same. - * sysdeps/x86_64/multiarch/strpbrk.c (strpbrk): Same. - * sysdeps/x86_64/multiarch/strrchr.c (strrchr): Same. - * sysdeps/x86_64/multiarch/strspn.c (strspn): Same. - -2018-11-09 Gabriel F. T. Gomes - - * misc/tst-efgcvt.c: Include support/check.h and - support/test-driver.c. Do not include test-skeleton.c. - (error_count): Remove. - (output_error): Replace increments to error_count with calls to - support_record_failure. - (output_r_error): Likewise. - (special): Likewise. - (do_test): Unconditionally return zero. - (TEST_FUNCTION): Remove. - -2018-11-09 Joseph Myers - - * conform/Makefile ($(conformtest-header-tests)): Create $(@D), - not $(@D)/scratch. - ($(linknamespace-header-tests)): Likewise. - - * conform/conformtest.py: New file. - * conform/conformtest.pl: Remove. - * conform/GlibcConform.pm: Likewise. - * conform/glibcconform.py (KEYWORDS_C90): New constant. - (KEYWORDS_C99): Likewise. - (KEYWORDS): Likewise. - * conform/Makefile ($(conformtest-header-tests)): Use - conformtest.py instead of conformtest.pl. Do not pass --tmpdir - option. Use --header instead of --headers. - * conform/data/arpa/inet.h-data: Remove trailing semicolons on - function entries. - * conform/data/spawn.h-data: Likewise. - * conform/data/fcntl.h-data (openat): Add space after function - name. - * conform/data/wchar.h-data (wcscasecmp): Likewise. - (wcscasecmp_l): Likewise. - * conform/data/termios.h-data (c_cc): Add space after element - name. - -2018-11-08 Gabriel F. T. Gomes - - * argp/tst-ldbl-argp.c (do_one_test): Use TEST_COMPARE_STRING, - instead of manually comparing and reporting mismatching strings. - * misc/tst-ldbl-error.c (do_one_test): Likewise. - * misc/tst-ldbl-warn.c (do_one_test): Likewise. - -2018-11-08 Joseph Myers - - * sysdeps/unix/sysv/linux/kernel-features.h: Remove comment about - __ASSUME_SOCKETCALL. - * sysdeps/unix/sysv/linux/i386/kernel-features.h - (__ASSUME_SOCKETCALL): Remove. - * sysdeps/unix/sysv/linux/m68k/kernel-features.h - (__ASSUME_SOCKETCALL): Likewise. - * sysdeps/unix/sysv/linux/microblaze/kernel-features.h - (__ASSUME_SOCKETCALL): Likewise. - * sysdeps/unix/sysv/linux/powerpc/kernel-features.h - (__ASSUME_SOCKETCALL): Likewise. - * sysdeps/unix/sysv/linux/s390/kernel-features.h - (__ASSUME_SOCKETCALL): Likewise. - * sysdeps/unix/sysv/linux/sh/kernel-features.h - (__ASSUME_SOCKETCALL): Likewise. - * sysdeps/unix/sysv/linux/sparc/kernel-features.h - (__ASSUME_SOCKETCALL): Likewise. - -2018-11-08 H.J. Lu - - [BZ #23509] - * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Skip - note parsing if a NT_GNU_PROPERTY_TYPE_0 note has been processed. - Update the l_cet field when processing NT_GNU_PROPERTY_TYPE_0 note. - Check multiple NT_GNU_PROPERTY_TYPE_0 notes. - * sysdeps/x86/link_map.h (l_cet): Expand to 3 bits, Add - lc_unknown. - -2018-11-08 Alexandra Hájková - - [BZ #17630] - * resolv/tst-resolv-network.c: Add test for getnetbyname. - -2018-11-07 Joseph Myers - - [BZ #23867] - * sysdeps/unix/sysv/linux/arm/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_MLOCK2): Undefine. - * sysdeps/unix/sysv/linux/microblaze/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_MLOCK2): Undefine. - -2018-11-07 Adhemerval Zanella - - * support/support_test_compare_string.c - (support_test_compare_string): Fix printf format. - -2018-11-07 Florian Weimer - - Implement TEST_COMPARE_STRING. - * support/check.h (TEST_COMPARE_STRING): Define. - (support_test_compare_string): Declare. - * support/Makefile (libsupport-routines): Add - support_test_compare_string. - (tests): Add tst-test_compare_string. - * support/support_test_compare_string.c: New file. - * support/tst-test_compare_string.c: Likewise. - -2018-11-07 Andreas Schwab - - [BZ #23864] - * sysdeps/unix/sysv/linux/riscv/kernel-features.h - (__ASSUME_SET_ROBUST_LIST) [__LINUX_KERNEL_VERSION < 0x041400]: - Undef. - -2018-11-06 Joseph Myers - - [BZ #23862] - * sysdeps/unix/sysv/linux/sh/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_EXECVEAT): Undefine. - [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_MLOCK2): Likewise. - [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_COPY_FILE_RANGE): - Likewise. - -2018-11-06 Florian Weimer - - [BZ #17405] - * posix/Makefile (routines): Add spawn_faction_addchdir. - (tests): Add tst-spawn-chdir. - * posix/Versions (GLIBC_2.29): Add - posix_spawn_file_actions_addchdir_np. - * posix/spawn_faction_addchdir.c: New file. - * posix/spawn_faction_destroy.c - (__posix_spawn_file_actions_destroy): Handle spawn_do_chdir. - * posix/spawn.h (posix_spawn_file_actions_addchdir_np): Declare. - * posix/spawn_int.h (struct __spawn_action): Add spawn_do_chdir, - chdir_action. - * posix/tst-spawn-chdir.c: New file. - * sysdeps/posix/spawni.c (__spawni_child): Handle spawn_do_chdir. - * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise. - * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.29): Add - posix_spawn_file_actions_addchdir_np. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist - (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.29): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.29): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.29): - Likewise. - -2018-11-06 Gabriel F. T. Gomes - - * misc/Makefile (tests): Add tst-ldbl-error. - * misc/tst-ldbl-error.c: New file. - -2018-11-06 Gabriel F. T. Gomes - - * misc/Makefile (tests): Add tst-ldbl-warn. - * misc/tst-ldbl-warn.c: New file. - -2018-11-06 Gabriel F. T. Gomes - - * argp/Makefile (tests): Add tst-ldbl-argp. - * argp/tst-ldbl-argp.c: New file. - -2018-11-05 Arjun Shankar - - * iconv/gconv_conf.c (__gconv_read_conf): Remove NULL check for - __gconv_path_elem and call __gconv_get_path unconditionally. - -2018-11-05 Andreas Schwab - - [BZ #22927] - * resolv/gai_misc.c (__gai_enqueue_request): Don't crash if - creating the first helper thread failed. - -2018-11-03 Samuel Thibault - - * sysdeps/mach/hurd/msync.c: New file. - -2018-11-02 Florian Weimer - - * support/shell-container.c (copy_func): Call - support_copy_file_range instead of copy_file_range to support - cross-device copies. - -2018-11-02 Florian Weimer - - * support/test-container.c: Include for - ALIGN_UP. - -2018-11-01 Zong Li - - * soft-fp/op-8.h (_FP_FRAC_SET_8, _FP_FRAC_ADD_8, _FP_FRAC_SUB_8) - (_FP_FRAC_CLZ_8, _FP_MINFRAC_8, _FP_FRAC_NEGP_8, _FP_FRAC_ZEROP_8) - (_FP_FRAC_HIGHBIT_DW_8, _FP_FRAC_COPY_4_8, _FP_FRAC_COPY_8_4) - (__FP_FRAC_SET_8): Add implementation for RV32 use. - - * soft-fp/op-4.h (_FP_FRAC_SUB_3, _FP_FRAC_SUB_4): Use temporary - variable to avoid overlap arguments. - -2018-11-01 Joseph Myers - - * posix/bug-regex22.c (main): Use puts with distinct error - messages for unexpected success of re_compile_pattern, not printf - with NULL argument to %s. - - * stdio-common/bug22.c: Include . - (do_test): Disable -Wformat-overflow= warnings around fprintf - calls outputting more than INT_MAX characters. - * stdio-common/tst-printf.c: Disable -Wformat-overflow= warnings - around printf call with NULL %s argument. - - [BZ #23848] - * sysdeps/unix/sysv/linux/sparc/kernel-features.h [!__arch64__ && - __LINUX_KERNEL_VERSION < 0x040400] (__ASSUME_SENDMSG_SYSCALL): - Undefine. - [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] - (__ASSUME_RECVMSG_SYSCALL): Likewise. - [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] - (__ASSUME_SENDTO_SYSCALL): Likewise. - [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] - (__ASSUME_ACCEPT_SYSCALL): Undefine under this condition, not just - [!__arch64__]. - [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] - (__ASSUME_CONNECT_SYSCALL): Likewise. - [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] - (__ASSUME_RECVFROM_SYSCALL): Likewise. - [__LINUX_KERNEL_VERSION >= 0x040400] (__ASSUME_BIND_SYSCALL): - Define. - [__LINUX_KERNEL_VERSION >= 0x040400] (__ASSUME_LISTEN_SYSCALL): - Likewise. - [__LINUX_KERNEL_VERSION >= 0x040400] - (__ASSUME_SETSOCKOPT_SYSCALL): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (bind): - Remove. - (listen): Likewise. - (setsockopt): Likewise. - -2018-11-01 Fredrik Noring - - * sysdeps/mips/sys/tas.h (_test_and_set): Handle the R5900 CPU - with the ISA override. - -2018-10-31 Rafael Avila de Espindola - - * sysdeps/unix/sysv/linux/sysdep-vdso.h: Simplify an #if #else - #endif. - -2018-10-31 Samuel Thibault - - * manual/errno.texi (EIEIO): Document how translators should - translate the error message. - * sysdeps/mach/hurd/errnos.awk: Avoid printing errnos.d. Avoid - printing trailing whitespaces refused by git. - * sysdeps/gnu/errlist.c (EIEIO): Regenerate. - * sysdeps/mach/hurd/bits/errno.h: Regenerate. - * hurd/Makefile (user-interfaces): Add pci. - -2018-10-30 Joseph Myers - - * conform/linknamespace.py: New file. - * conform/linknamespace.pl: Remove file. - * conform/Makefile ($(linknamespace-header-tests)): Use - linknamespace.py instead of linknamespace.pl. Do not use --tmpdir - option. - -2018-10-30 Florian Weimer - - * stdlib/test-bz22786.c (do_test): Additional free calls to avoid - memory leaks. - -2018-10-30 Florian Weimer - - * support/blob_repeat.c (allocate_big): Call mkstemp directly. - -2018-10-30 Florian Weimer - - * stdlib/tst-strtod-overflow.c (do_test): Switch to - support_blob_repeat. - -2018-10-30 Florian Weimer - - Avoid spurious test failures in stdlib/test-bz22786. - * support/Makefile (libsupport-routines): Add blob_repeat. - (tests): Add tst-support_blob_repeat. - * support/blob_repeat.h: New file. - * support/blob_repeat.c: Likewise. - * support/tst-support_blob_repeat.c: Likewise. - * stdlib/test-bz22786.c (do_test): Replace malloc and memset with - support_blob_repeat_allocate. - -2018-10-30 Andreas Schwab - - [BZ #23125] - * sysdeps/riscv/start.S (ENTRY_POINT): Mark ra as undefined. - Don't use tail call. - * elf/tst-unwind-main.c: New file. - * elf/Makefile (tests): Add tst-unwind-main. - (CFLAGS-tst-unwind-main.c): Define. - -2018-10-29 Sergi Almacellas Abellana - - [BZ #23791] - * localedata/locales/ca_ES (LC_MONETARY): set p_cs_precedes and - n_cs_precedes to 0. - * localedata/locales/ca_ES (LC_MONETARY): set grouping to 3;3 - -2018-10-29 Joseph Myers - - * conform/glibcconform.py: Do not import shutil. - (list_exported_functions): Use tempfile.TemporaryDirectory instead - of mkdtemp. - - * configure.ac (PYTHON_PROG): Use AC_CHECK_PROG_VER. Set - critic_missing for versions before 3.4. - * configure: Regenerated. - * manual/install.texi (Tools for Compilation): Document - requirement for Python to build glibc. - * INSTALL: Regenerated. - * Rules [PYTHON]: Make code unconditional. - * benchtests/Makefile [PYTHON]: Likewise. - * conform/Makefile [PYTHON]: Likewise. - * manual/Makefile [PYTHON]: Likewise. - * math/Makefile [PYTHON]: Likewise. - -2018-10-28 Samuel Thibault - - * hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): Set to 60000. - * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): When the server does not - answer to interrupt_operation, return EIEIO instead of EINTR. - * sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Make - _hurd_intr_rpc_msg_about_to global point to start of controlled - assembly snippet. Make it check canceled flag. - * hurd/hurdsig.c (_hurdsig_abort_rpcs): Only mutate thread if it passed - the _hurd_intr_rpc_msg_about_to point. - * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Remove comment on mutation - issue, remove cancel flag check. - -2018-10-26 Joseph Myers - - * scripts/build-many-glibcs.py: Remove compatibility for missing - os.cpu_count and re.fullmatch. - -2018-10-26 Szabolcs Nagy - - [BZ #23822] - * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Use WEAK_LIBM_ENTRY. - * sysdeps/ia64/fpu/e_log2f.S (log2f): Likewise. - * sysdeps/ia64/fpu/e_exp2f.S (powf): Likewise. - -2018-10-25 Joseph Myers - - * sysdeps/unix/sysv/linux/sys/inotify.h (IN_MASK_CREATE): New - macro. - -2018-10-25 Florian Weimer - - [BZ #23562] - [BZ #23821] - XFAIL siginfo_t si_band conform test on sparc64. - * sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h - (__SI_BAND_TYPE): Only override long int default type on sparc64. - * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile - (conformtest-xfail-conds): Add sparc64-linux. - * conform/data/signal.h-data (siginfo_t): XFAIL si_band test on - sparc64. - * conform/data/sys/wait.h-data (siginfo_t): Likewise. - -2018-10-25 Joseph Myers - - * elf/elf.h (NT_MIPS_DSP): New macro. - (NT_MIPS_FP_MODE): Likewise. - -2018-10-25 Zong Li - - * elf/Makefile (LDFLAGS-tst-execstack-mod.so): Change variable - name by adding the file extension (.so). - -2018-10-25 Samuel Thibault - - * sysdeps/mach/hurd/i386/Makefile [$(subdir) = conform] - (test-xfail-ISO11/threads.h/linknamespace, - test-xfail-ISO11/threads.h/conform): Add. - -2018-10-24 Joseph Myers - - * math/gen-libm-test.py: Import os. - (ALL_FLOATS_MANUAL): New constant. - (ALL_FLOATS_SUFFIX): Likewise. - (Ulps.all_functions): New function. - (real_all_ulps): Likewise. - (generate_err_table_sub): Likewise. - (generate_err_table): Likewise. - (main): Handle -s and -m options. - * manual/libm-err-tab.pl: Remove. - * manual/Makefile ($(objpfx)stamp-libm-err): Use gen-libm-test.py - instead of libm-err-tab.pl. - [$(PERL) != no]: Change condition to [$(if $(PYTHON),$(PERL),no) - != no]. - * manual/install.texi (Tools for Compilation): Document - requirement for Python to build manual. - * INSTALL: Regenerated. - -2018-10-24 Albert ARIBAUD - - * bits/time64.h: New file. - * include/time.h: Replace internal_time_t with __time64_t. - * posix/bits/types (__time64_t): Add. - * stdlib/Makefile: Add bits/time64.h to includes. - * time/tzfile.c: Replace internal_time_t with __time64_t. - -2018-10-24 Adhemerval Zanella - - * include/spawn.h (__posix_spawn, posix_spawn_file_actions_addclose, - __posix_spawn_file_actions_adddup2, __posix_spawn_file_actions_destroy, - __posix_spawn_file_actions_init, __posix_spawnattr_init, - __posix_spawnattr_destroy, __posix_spawnattr_setflags, - __posix_spawnattr_setsigdefault, __posix_spawnattr_setsigmask): New - prototype. - * posix/spawn.c (__posix_spawn): Add libc_hidden_def. - * posix/spawn_faction_addclose.c - (__posix_spawn_file_actions_addclose): Add hidden definition. - * posix/spawn_faction_adddup2.c - (__posix_spawn_file_actions_adddup2): Likewise. - * posix/spawn_faction_destroy.c - (__posix_spawn_file_actions_destroy): Likewise. - * posix/spawn_faction_init.c (__posix_spawn_file_actions_init): - Likewise. - * posix/spawnattr_destroy.c (__posix_spawnattr_destroy): Likewise. - * posix/spawnattr_init.c (__posix_spawnattr_init): Likewise. - * posix/spawnattr_setdefault.c (__posix_spawnattr_setsigdefault): - Likewise. - * posix/spawnattr_setflags.c (__posix_spawnattr_setflags): Likewise. - * posix/spawnattr_setsigmask.c (__posix_spawnattr_setsigmask): - Likewise. - -2018-10-24 Andreas Schwab - - [BZ #18093] - * elf/dl-cache.c (_dl_load_cache_lookup): Check for truncated old - format cache. - * elf/cache.c (print_cache): Likewise. - -2018-10-24 Albert ARIBAUD - - * bits/timesize.h: New file. - * stdlib/Makefile (headers): Add bits/timesize.h. - * sysdeps/unix/sysv/linux/bits/msq-pad.h - (__MSQ_PAD_AFTER_TIME): Use __TIMESIZE instead of __WORDSIZE. - * sysdeps/unix/sysv/linux/bits/sem-pad.h - (__SEM_PAD_AFTER_TIME): Likewise. - * sysdeps/unix/sysv/linux/bits/shm-pad.h - (__SHM_PAD_AFTER_TIME): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h - (__MSQ_PAD_BEFORE_TIME): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h - (__SEM_PAD_BEFORE_TIME): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h - (__SHM_PAD_BEFORE_TIME, __SHM_PAD_BETWEEN_TIME_AND_SEGSZ): Likewise. - * sysdeps/unix/sysv/linux/mips/bits/msq-pad.h - (__MSQ_PAD_AFTER_TIME, __MSQ_PAD_BEFORE_TIME): Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h - (__MSQ_PAD_BEFORE_TIME): Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h - (__SEM_PAD_BEFORE_TIME): Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h - (__SHM_PAD_BEFORE_TIME, __SHM_PAD_BETWEEN_TIME_AND_SEGSZ): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h - (__MSQ_PAD_BEFORE_TIME): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h - (__SEM_PAD_BEFORE_TIME): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h - (__SHM_PAD_BEFORE_TIME): Likewise. - * sysdeps/unix/sysv/linux/x86/bits/msq-pad.h: Delete file. - * sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/timesize.h: New file. - -2018-10-24 H.J. Lu - - * benchtests/Makefile (CPPFLAGS-nonlib): Add -DUSE_RDTSCP if - USE_RDTSCP is defined. - * sysdeps/x86/hp-timing.h (HP_TIMING_NOW): Use RDTSCP if - USE_RDTSCP is defined. - -2018-10-23 Adhemerval Zanella - - * misc/tst-preadvwritev2-common.c (IOV_MAX): Define if not - defined. - - [BZ #23709] - * sysdeps/x86/cpu-features.c (init_cpu_features): Set TSX bits - independently of other flags. - -2018-10-23 Florian Weimer - - * time/tst-mktime2.c (N_STRINGS): Remove. - (set_timezone): New function. - (spring_forward_gap): Call it. Use FAIL_EXIT1. - (mktime_test1): Report localtime failure and check errno value. - Use TEST_COMPARE. - (irix_6_4_bug, bigtime_test): Use TEST_COMPARE. - (do_test): Remove alarm call. Use set_timezone and array_length. - -2018-10-23 Andreas Schwab - - * sysdeps/unix/sysv/linux/riscv/setcontext.S (__setcontext) - (__start_context): Use END instead of PSEUDO_END. - -2018-10-22 Joseph Myers - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 4.19. - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - version to 4.19. - - [BZ #23793] - * wcsmbs/c32rtomb.c: New file. - * wcsmbs/mbrtoc32.c: Likewise. - * wcsmbs/tst-c32-state.c: Likewise. - * wcsmbs/mbrtowc.c (mbrtoc32): Do not define as alias. - * wcsmbs/wcrtomb.c (c32rtomb): Likewise. - * wcsmbs/Makefile (routines): Add mbrtoc32 and c32rtomb. - (tests): Add tst-c32-state. - [$(run-built-tests) = yes] ($(objpfx)tst-c32-state.out): Depend on - $(gen-locales). - -2018-10-21 H.J. Lu - - * sysdeps/x86/hp-timing.h: Don't include . - (HP_TIMING_NOW): Replace _rdtsc with __builtin_ia32_rdtsc. - -2018-10-19 Joseph Myers - - [BZ #23794] - * wcsmbs/c16rtomb.c (c16rtomb): Save first character of surrogate - pair and return 0 in that case, and use saved character to - interpret following character. - * wcsmbs/tst-c16-surrogate.c: New file. - * wcsmbs/Makefile (tests): Add tst-c16-surrogate.c. - [$(run-built-tests) = yes] ($(objpfx)tst-c16-surrogate.out): - Depend on $(gen-locales) - -2018-10-19 Ilya Yu. Malakhov - - [BZ #23562] - * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h - (struct siginfo_t): Use correct type for si_band. - -2018-10-19 Florian Weimer - - [BZ #23689] - * resource/bits/types/struct_rusage.h (struct rusage): Update - comment on struct. Remove extraneous field comment. - -2018-10-18 David S. Miller - - * sysdeps/unix/sysv/linux/sparc/init-first.c: New file. - * sysdeps/unix/sysv/linux/sparc/libc-vdso.h: New file. - * sysdeps/unix/sysv/linux/sparc/Makefile: Add dl-vdso to - sysdep_routines in subdir elf. - * sysdeps/unix/sysv/linux/sparc/Versions: Add GLIBC_PRIVATE - version for __vdso_clock_gettime. - * sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_VSYSCALL_CALL): - Define. - (HAVE_CLOCK_GETTIME_VSYSCALL): Define. - (HAVE_GETTIMEOFDAY_VSYSCALL): Define. - - * sysdeps/sparc/fpu/libm-test-ulps: Regenerated. - -2018-10-17 H.J. Lu - - * sysdeps/i386/init-arch.h: Removed. - * sysdeps/i386/i586/init-arch.h: Likewise. - * sysdeps/i386/i686/init-arch.h: Likewise. - * sysdeps/i386/i686/hp-timing.h: Likewise. - * sysdeps/x86_64/hp-timing.h: Likewise. - * sysdeps/i386/isa.h: New file. - * sysdeps/i386/i586/isa.h: Likewise. - * sysdeps/i386/i686/isa.h: Likewise. - * sysdeps/x86_64/isa.h: Likewise. - * sysdeps/x86/hp-timing.h: New file. - * sysdeps/x86/init-arch.h: Include . - -2018-10-17 Joseph Myers - - * math/libm-test-pow.inc (pow_test_data): Do not allow - divide-by-zero exception for pow(+/- 0, -Inf). - -2018-10-17 Zack Weinberg - - * manual/job.texi (Job Control is Optional): Remove node, as - job control has not been optional in quite some time. - (Job Control): Mention briefly that systems older than - POSIX.1-2001 might not support job control. - * manual/conf.texi (_POSIX_JOB_CONTROL): Will always be - defined on systems conforming to POSIX.1-2001. - -2018-10-17 Arjun Shankar - - [BZ #22062] - * iconv/gconv_conf.c (__gconv_get_path): Remove locking and fix - indentation. - * (__gconv_read_conf): Mark function static. - * (once): New static variable. - * (__gconv_load_conf): New function. - * iconv/gconv_int.h (__gconv_load_conf): Likewise. - * iconv/gconv_db.c (once): Remove static variable. - * (__gconv_compare_alias): Use __gconv_load_conf instead of - __gconv_read_conf. - * (__gconv_find_transform): Likewise. - * iconv/tst-iconv-mt.c: New test. - * iconv/Makefile: Add tst-iconv_mt. - -2018-10-17 Joseph Myers - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - bits/shm-pad.h. - * sysdeps/unix/sysv/linux/bits/shm.h: Include . - (shmatt_t): Define as __syscall_ulong_t. - (__SHM_PAD_TIME): New macro, depending on [__SHM_PAD_BEFORE_TIME] - and [__SHM_PAD_AFTER_TIME]. - (struct shmid_ds): Define time fields using __SHM_PAD_TIME. - Define shm_segsz and associated padding based on - [__SHM_SEGSZ_AFTER_TIME] and [__SHM_PAD_BETWEEN_TIME_AND_SEGSZ]. - Use __syscall_ulong_t instead of unsigned long int. - [__USE_MISC] (struct shminfo): Use __syscall_ulong_t instead of - unsigned long int. - [__USE_MISC] (struct shm_info): Likewise. - * sysdeps/unix/sysv/linux/bits/shm-pad.h: New file. - * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/shm-pad.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Remove. - * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/shm.h: Likewise. - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - bits/shmlba.h. - * sysdeps/unix/sysv/linux/bits/shm.h: Include . - (SHMLBA): Remove macro. - (__getpagesize): Remove function declaration. - * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Include - . - (SHMLBA): Remove macro. - * sysdeps/unix/sysv/linux/mips/bits/shm.h: Include - . - (SHMLBA): Remove macro. - * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Include - . - (SHMLBA): Remove macro. - (__getpagesize): Remove function declaration. - * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Include - . - (SHMLBA): Remove macro. - (__getshmlba): Remove function declaration. - * sysdeps/unix/sysv/linux/x86/bits/shm.h: Include . - (SHMLBA): Remove macro. - (__getpagesize): Remove function declaration. - * sysdeps/unix/sysv/linux/arm/bits/shm.h: Remove file. - * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise. - * sysdeps/unix/sysv/linux/sh/bits/shm.h: Likewise. - * sysdeps/unix/sysv/linux/bits/shmlba.h: New file. - * sysdeps/unix/sysv/linux/arm/bits/shmlba.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/shmlba.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/shmlba.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/shmlba.h: Likewise. - * sysdeps/unix/sysv/linux/sh/bits/shmlba.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/shmlba.h: Likewise. - -2018-10-17 Stefan Liebler - - [BZ #23275] - * nptl/tst-mutex10.c: New File. - * nptl/Makefile (tests): Add tst-mutex10. - (tst-mutex10-ENV): New variable. - * sysdeps/unix/sysv/linux/s390/force-elision.h: (FORCE_ELISION): - Ensure that elision path is used if elision is available. - * sysdeps/unix/sysv/linux/powerpc/force-elision.h (FORCE_ELISION): - Likewise. - * sysdeps/unix/sysv/linux/x86/force-elision.h: (FORCE_ELISION): - Likewise. - * nptl/pthreadP.h (PTHREAD_MUTEX_TYPE, PTHREAD_MUTEX_TYPE_ELISION) - (PTHREAD_MUTEX_PSHARED): Use atomic_load_relaxed. - * nptl/pthread_mutex_consistent.c (pthread_mutex_consistent): Likewise. - * nptl/pthread_mutex_getprioceiling.c (pthread_mutex_getprioceiling): - Likewise. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full) - (__pthread_mutex_cond_lock_adjust): Likewise. - * nptl/pthread_mutex_setprioceiling.c (pthread_mutex_setprioceiling): - Likewise. - * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Likewise. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Likewise. - * sysdeps/nptl/bits/thread-shared-types.h (struct __pthread_mutex_s): - Add comments. - * nptl/pthread_mutex_destroy.c (__pthread_mutex_destroy): - Use atomic_load_relaxed and atomic_store_relaxed. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): - Use atomic_store_relaxed. - -2018-10-17 Andreas Schwab - - * benchtests/bench-strtod.c (TIMEOUT): Don't define. - * crypt/badsalttest.c (TIMEOUT): Likewise. - * crypt/sha256c-test.c (TIMEOUT): Likewise. - * dirent/tst-fdopendir.c (TIMEOUT): Likewise. - * io/test-lfs.c (TIMEOUT): Likewise. - * libio/tst-atime.c (TIMEOUT): Likewise. - * localedata/tst-leaks.c (TIMEOUT): Likewise. - * nptl/tst-cancel19.c (TIMEOUT): Likewise. - * nptl/tst-cancel22.c (TIMEOUT): Likewise. - * nptl/tst-cancel25.c (TIMEOUT): Likewise. - * nptl/tst-cancel7.c (TIMEOUT): Likewise. - * nptl/tst-cond-except.c (TIMEOUT): Likewise. - * nptl/tst-cond11.c (TIMEOUT): Likewise. - * nptl/tst-cond14.c (TIMEOUT): Likewise. - * nptl/tst-cond15.c (TIMEOUT): Likewise. - * nptl/tst-cond24.c (TIMEOUT): Likewise. - * nptl/tst-cond25.c (TIMEOUT): Likewise. - * nptl/tst-kill2.c (TIMEOUT): Likewise. - * nptl/tst-kill3.c (TIMEOUT): Likewise. - * nptl/tst-mutex4.c (TIMEOUT): Likewise. - * nptl/tst-mutex5.c (TIMEOUT): Likewise. - * nptl/tst-mutex9.c (TIMEOUT): Likewise. - * nptl/tst-once2.c (TIMEOUT): Likewise. - * nptl/tst-once3.c (TIMEOUT): Likewise. - * nptl/tst-once4.c (TIMEOUT): Likewise. - * nptl/tst-robust8.c (TIMEOUT): Likewise. - * nptl/tst-robust9.c (TIMEOUT): Likewise. - * nptl/tst-rwlock16.c (TIMEOUT): Likewise. - * nptl/tst-sem14.c (TIMEOUT): Likewise. - * nptl/tst-sem6.c (TIMEOUT): Likewise. - * nptl/tst-signal3.c (TIMEOUT): Likewise. - * nptl/tst-spin4.c (TIMEOUT): Likewise. - * nptl/tst-tls3.c (TIMEOUT): Likewise. - * nptl/tst-tls4.c (TIMEOUT): Likewise. - * posix/tst-chmod.c (TIMEOUT): Likewise. - * posix/tst-getaddrinfo4.c (TIMEOUT): Likewise. - * posix/tst-getaddrinfo5.c (TIMEOUT): Likewise. - * posix/tst-preadwrite-common.c (TIMEOUT): Likewise. - * posix/tst-regex2.c (TIMEOUT): Likewise. - * posix/tst-waitid.c (TIMEOUT): Likewise. - * rt/tst-aio.c (TIMEOUT): Likewise. - * rt/tst-aio10.c (TIMEOUT): Likewise. - * rt/tst-aio4.c (TIMEOUT): Likewise. - * rt/tst-aio5.c (TIMEOUT): Likewise. - * rt/tst-aio6.c (TIMEOUT): Likewise. - * rt/tst-aio64.c (TIMEOUT): Likewise. - * rt/tst-aio7.c (TIMEOUT): Likewise. - * rt/tst-aio9.c (TIMEOUT): Likewise. - * rt/tst-clock.c (TIMEOUT): Likewise. - * rt/tst-cpuclock1.c (TIMEOUT): Likewise. - * rt/tst-cpuclock2.c (TIMEOUT): Likewise. - * rt/tst-mqueue2.c (TIMEOUT): Likewise. - * rt/tst-mqueue4.c (TIMEOUT): Likewise. - * rt/tst-mqueue5.c (TIMEOUT): Likewise. - * rt/tst-timer4.c (TIMEOUT): Likewise. - * stdio-common/tst-fseek.c (TIMEOUT): Likewise. - * stdio-common/tst-rndseek.c (TIMEOUT): Likewise. - * stdlib/tst-empty-env.c (TIMEOUT): Likewise. - * sysdeps/wordsize-64/tst-writev.c (TIMEOUT): Likewise. - * time/tst-ftime.c (TIMEOUT): Likewise. - * timezone/tst-tzset.c (TIMEOUT): Likewise. - -2018-10-16 Anton Youdkevitch - - * sysdeps/aarch64/multiarch/memcpy_thunderx.S: Remove thunderx2 code. - * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: New implementation - for thunderX2. - -2018-10-15 Joseph Myers - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - bits/sem-pad.h. - * sysdeps/unix/sysv/linux/bits/sem.h: Include - instead of . - (__SEM_PAD_TIME): New macro, depending on [__SEM_PAD_BEFORE_TIME] - and [__SEM_PAD_AFTER_TIME]. - (struct semid_ds): Define time fields using __SEM_PAD_TIME. Use - __syscall_ulong_t instead of unsigned long int. - * sysdeps/unix/sysv/linux/bits/sem-pad.h: New file. - * sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/sem-pad.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/sem-pad.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/sem.h: Remove. - * sysdeps/unix/sysv/linux/mips/bits/sem.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/sem.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/sem.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/sem.h: Likewise. - -2018-10-14 Paul Eggert - - regex: simplify by using intprops.h - [BZ#23744] - * posix/regex_internal.h [_LIBC]: Include intprops.h. - (TYPE_SIGNED, INT_ADD_WRAPV) [_LIBC]: Remove. - intprops.h defines them. - - regex: __builtin_expect → __glibc_unlikely - [BZ#23744] - This refactoring was prompted by a problem when the regex code is - used as part of Gnulib and when the builder’s compiler does not grok - __builtin_expect. Problem reported for Gawk by Nelson H.F. Beebe in: - https://lists.gnu.org/r/bug-gnulib/2018-09/msg00137.html - Although this refactoring does not fix the problem directly, - we might as well have Gawk use the now-preferred glibc style for when - __builtin_expect is unavailable. - * posix/regex_internal.h (BE): Remove. - All uses replaced by __glibc_unlikely or __glibc_likely. - -2018-10-11 Joseph Myers - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - bits/msq-pad.h. - * sysdeps/unix/sysv/linux/bits/msq.h: Include - instead of . - (msgqnum_t): Define as __syscall_ulong_t. - (msglen_t): Likewise. - (__MSQ_PAD_TIME): New macro, depending on [__MSQ_PAD_BEFORE_TIME] - and [__MSQ_PAD_AFTER_TIME]. - (struct msqid_ds): Define time fields using __MSQ_PAD_TIME. Use - __syscall_ulong_t instead of unsigned long int. - * sysdeps/unix/sysv/linux/bits/msq-pad.h: New file. - * sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/msq-pad.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/msq-pad.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/msq.h: Remove. - * sysdeps/unix/sysv/linux/mips/bits/msq.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/msq.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/msq.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/msq.h: Likewise. - -2018-10-10 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/shm.h: Include . - (struct shmid_ds): Condition padding after time fields on - [__WORDSIZE == 32]. - * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Remove file. - * sysdeps/unix/sysv/linux/generic/bits/shm.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise. - - * sysdeps/unix/sysv/linux/bits/sem.h: Include . - (struct semid_ds): Condition padding after time fields on - [__WORDSIZE == 32]. - * sysdeps/unix/sysv/linux/alpha/bits/sem.h: Remove file. - * sysdeps/unix/sysv/linux/generic/bits/sem.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/sem.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/sem.h: Likewise. - - * sysdeps/unix/sysv/linux/bits/msq.h: Include . - (struct msqid_ds): Condition padding after time fields on - [__WORDSIZE == 32]. - * sysdeps/unix/sysv/linux/alpha/bits/msq.h: Remove file. - * sysdeps/unix/sysv/linux/generic/bits/msq.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/msq.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/msq.h: Likewise. - -2018-10-09 Szabolcs Nagy - - * nss/tst-nss-files-hosts-multi.c (TIMEOUT): Define. - -2018-10-09 Szabolcs Nagy - - * libio/tst-readline.c (TIMEOUT): Define. - -2018-10-08 Paul Eggert - - mktime fix for Gnulib + coreutils - [BZ#23745] - This fix affects only Gnulib. Problem discovered when - mktime.c was used as part of Gnulib in bleeding-edge Coreutils. - * time/mktime.c: - (my_tzset) [!_LIBC && !NEED_MKTIME_WORKING && !NEED_MKTIME_WINDOWS]: - Do not define since it is not used. Defining an unused static - function prompts a warning from GCC when Coreutils is configured - with --enable-gcc-warnings. - -2018-10-08 Leonardo Sandoval - - * benchtests/scripts/compare_bench.py (main): set float type on - threshold argument. - -2018-10-08 Rafal Luzynski - - [BZ #23740] - * localedata/locales/kl_GL (mon): Update, the relative case. - (alt_mon): Add, fill with month names in the nominative case. - (d_t_fmt): Set to "%a %b %d %Y %T %Z". - (d_fmt): Set to "%b %d %Y". - -2018-10-04 Joseph Myers - - * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Include - . - (PROT_READ): Don't define here. - (PROT_WRITE): Likewise. - (PROT_EXEC): Likewise. - (PROT_NONE): Likewise. - (PROT_GROWSDOWN): Likewise. - (PROT_GROWSUP): Likewise. - (MAP_SHARED): Likewise. - (MAP_PRIVATE): Likewise. - [__USE_MISC] (MAP_SHARED_VALIDATE): Likewise. - [__USE_MISC] (MAP_FILE): Likewise. - [__USE_MISC] (MAP_ANONYMOUS): Likewise. - [__USE_MISC] (MAP_ANON): Likewise. - [__USE_MISC] (MAP_HUGE_SHIFT): Likewise. - [__USE_MISC] (MAP_HUGE_MASK): Likewise. - (MCL_CURRENT): Likewise. - (MCL_FUTURE): Likewise. - (MCL_ONFAULT): Likewise. - [__USE_MISC] (MADV_NORMAL): Likewise. - [__USE_MISC] (MADV_RANDOM): Likewise. - [__USE_MISC] (MADV_SEQUENTIAL): Likewise. - [__USE_MISC] (MADV_WILLNEED): Likewise. - [__USE_MISC] (MADV_DONTNEED): Likewise. - [__USE_MISC] (MADV_FREE): Likewise. - [__USE_MISC] (MADV_REMOVE): Likewise. - [__USE_MISC] (MADV_DONTFORK): Likewise. - [__USE_MISC] (MADV_DOFORK): Likewise. - [__USE_MISC] (MADV_HWPOISON): Likewise. - [__USE_XOPEN2K] (POSIX_MADV_NORMAL): Likewise. - [__USE_XOPEN2K] (POSIX_MADV_RANDOM): Likewise. - [__USE_XOPEN2K] (POSIX_MADV_SEQUENTIAL): Likewise. - [__USE_XOPEN2K] (POSIX_MADV_WILLNEED): Likewise. - [__USE_XOPEN2K] (POSIX_MADV_DONTNEED): Likewise. - (__MAP_ANONYMOUS): New macro. - [__USE_MISC] (MAP_TYPE): Undefine and redefine after - inclusion. - (MAP_FIXED): Likewise. - (MS_SYNC): Likewise. - (MS_ASYNC): Likewise. - (MS_INVALIDATE): Likewise. - [__USE_MISC] (MADV_MERGEABLE): Likewise. - [__USE_MISC] (MADV_UNMERGEABLE): Likewise. - [__USE_MISC] (MADV_HUGEPAGE): Likewise. - [__USE_MISC] (MADV_NOHUGEPAGE): Likewise. - [__USE_MISC] (MADV_DONTDUMP): Likewise. - [__USE_MISC] (MADV_DODUMP): Likewise. - [__USE_MISC] (MADV_WIPEONFORK): Likewise. - [__USE_MISC] (MADV_KEEPONFORK): Likewise. - - [BZ #23735] - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NO_MATH_REDIRECT): - Define. - * sysdeps/ieee754/ldbl-opt/test-nldbl-redirect.c: New file. - * sysdeps/ieee754/ldbl-opt/Makefile [$(subdir) = math] (tests): - Add test-nldbl-redirect. - [$(subdir) = math] (CFLAGS-test-nldbl-redirect.c): New variable. - [$(subdir) = math] ($(objpfx)test-nldbl-redirect): Depend on - $(objpfx)libnldbl_nonshared.a. - -2018-10-04 Stefan Liebler - - * support/support.h (support_objdir_elf_ldso): New variable. - * support/support_paths.c (support_objdir_elf_ldso): Likewise. - * support/Makefile (CFLAGS-support_paths.c): Add definition - for OBJDIR_ELF_LDSO_PATH. - * support/test-container.c (main): Search for the ld.so - which is also used by the testsuite. - -2018-10-02 Rafal Luzynski - - [BZ #20209] - * localedata/locales/kl_GL: (abday): Fix spelling of Sun (Sunday), - should be "sap" rather than "sab". - (day): Fix spelling of Sunday, should be "sapaat" rather than - "sabaat". - -2018-10-02 Joseph Myers - - * math/libm-test-fma.inc (fma_test_data): Add more tests. - -2018-10-02 Martin Jansa - - [BZ #19444] - * sysdeps/ieee754/soft-fp/s_fdiv.c: Include and use - DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT and - DIAG_POP_NEEDS_COMMENT to disable -Wmaybe-uninitialized. - -2018-10-02 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/fd_to_filename.h: Add missing includes. - -2018-10-02 H.J. Lu - - * sysdeps/unix/sysv/linux/x86/Makefile (CFLAGS-elision-lock.c): - Add -mrtm. - (CFLAGS-elision-unlock.c): Likewise. - (CFLAGS-elision-timed.c): Likewise. - (CFLAGS-elision-trylock.c): Likewise. - * sysdeps/unix/sysv/linux/x86/hle.h: Rewritten. - -2018-10-02 Adhemerval Zanella - - [BZ #21037] - * libio/Makefile (tests): Add tst-memstream4 and tst-wmemstream4. - * libio/freopen.c (freopen): Sync stream before reopen and adjust to - new fd_to_filename interface. - * libio/freopen64.c (freopen64): Likewise. - * libio/tst-memstream.h: New file. - * libio/tst-memstream4.c: Likewise. - * libio/tst-wmemstream4.c: Likewise. - * sysdeps/generic/fd_to_filename.h (fd_to_filename): Change signature. - * sysdeps/unix/sysv/linux/fd_to_filename.h (fd_to_filename): Likewise - and remove internal dynamic allocation. - -2018-10-01 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_GNU] - (MREMAP_MAYMOVE): Do not define here. - [__USE_GNU] (MREMAP_FIXED): Likewise. - * sysdeps/unix/sysv/linux/bits/mman-shared.h [__USE_GNU] - (MREMAP_MAYMOVE): Define here instead. - [__USE_GNU] (MREMAP_FIXED): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_GNU] - (MREMAP_MAYMOVE): Remove. - [__USE_GNU] (MREMAP_FIXED): Likewise. - -2018-09-28 Joseph Myers - - * math/fromfp.h: Do not include . - * math/s_cacosh_template.c: Likewise. - * math/s_casin_template.c: Likewise. - * math/s_casinh_template.c: Likewise. - * math/s_ccos_template.c: Likewise. - * math/s_cproj_template.c: Likewise. - * math/s_fdim_template.c: Likewise. - * math/s_fmaxmag_template.c: Likewise. - * math/s_fminmag_template.c: Likewise. - * math/s_iseqsig_template.c: Likewise. - * math/s_ldexp_template.c: Likewise. - * math/s_nextdown_template.c: Likewise. - * math/w_log1p_template.c: Likewise. - * math/w_scalbln_template.c: Likewise. - * sysdeps/aarch64/fpu/feholdexcpt.c: Likewise. - * sysdeps/aarch64/fpu/fesetround.c: Likewise. - * sysdeps/aarch64/fpu/fgetexcptflg.c: Likewise. - * sysdeps/aarch64/fpu/ftestexcept.c: Likewise. - * sysdeps/aarch64/fpu/s_llrint.c: Likewise. - * sysdeps/aarch64/fpu/s_llrintf.c: Likewise. - * sysdeps/aarch64/fpu/s_lrint.c: Likewise. - * sysdeps/aarch64/fpu/s_lrintf.c: Likewise. - * sysdeps/i386/fpu/s_atanl.c: Likewise. - * sysdeps/i386/fpu/s_f32xaddf64.c: Likewise. - * sysdeps/i386/fpu/s_f32xsubf64.c: Likewise. - * sysdeps/i386/fpu/s_fdim.c: Likewise. - * sysdeps/i386/fpu/s_logbl.c: Likewise. - * sysdeps/i386/fpu/s_rintl.c: Likewise. - * sysdeps/i386/fpu/s_significandl.c: Likewise. - * sysdeps/ia64/fpu/s_matherrf.c: Likewise. - * sysdeps/ia64/fpu/s_matherrl.c: Likewise. - * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. - * sysdeps/ieee754/dbl-64/s_cbrt.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fma.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise. - * sysdeps/ieee754/flt-32/s_cbrtf.c: Likewise. - * sysdeps/ieee754/k_standardf.c: Likewise. - * sysdeps/ieee754/k_standardl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_finitel.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_isinfl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_isnanl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_signbitl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_cbrtl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise. - * sysdeps/ieee754/s_signgam.c: Likewise. - * sysdeps/powerpc/power5+/fpu/s_modf.c: Likewise. - * sysdeps/powerpc/power5+/fpu/s_modff.c: Likewise. - * sysdeps/powerpc/power7/fpu/s_logbf.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_ceil.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_nearbyint.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_round.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_roundeven.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise. - * sysdeps/riscv/rvd/s_finite.c: Likewise. - * sysdeps/riscv/rvd/s_fmax.c: Likewise. - * sysdeps/riscv/rvd/s_fmin.c: Likewise. - * sysdeps/riscv/rvd/s_fpclassify.c: Likewise. - * sysdeps/riscv/rvd/s_isinf.c: Likewise. - * sysdeps/riscv/rvd/s_isnan.c: Likewise. - * sysdeps/riscv/rvd/s_issignaling.c: Likewise. - * sysdeps/riscv/rvf/fegetround.c: Likewise. - * sysdeps/riscv/rvf/feholdexcpt.c: Likewise. - * sysdeps/riscv/rvf/fesetenv.c: Likewise. - * sysdeps/riscv/rvf/fesetround.c: Likewise. - * sysdeps/riscv/rvf/feupdateenv.c: Likewise. - * sysdeps/riscv/rvf/fgetexcptflg.c: Likewise. - * sysdeps/riscv/rvf/ftestexcept.c: Likewise. - * sysdeps/riscv/rvf/s_ceilf.c: Likewise. - * sysdeps/riscv/rvf/s_finitef.c: Likewise. - * sysdeps/riscv/rvf/s_floorf.c: Likewise. - * sysdeps/riscv/rvf/s_fmaxf.c: Likewise. - * sysdeps/riscv/rvf/s_fminf.c: Likewise. - * sysdeps/riscv/rvf/s_fpclassifyf.c: Likewise. - * sysdeps/riscv/rvf/s_isinff.c: Likewise. - * sysdeps/riscv/rvf/s_isnanf.c: Likewise. - * sysdeps/riscv/rvf/s_issignalingf.c: Likewise. - * sysdeps/riscv/rvf/s_nearbyintf.c: Likewise. - * sysdeps/riscv/rvf/s_roundevenf.c: Likewise. - * sysdeps/riscv/rvf/s_roundf.c: Likewise. - * sysdeps/riscv/rvf/s_truncf.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_rint.c: Include instead of - . - * sysdeps/riscv/rvf/s_rintf.c: Likewise. - -2018-09-28 H.J. Lu - - [BZ #23716] - * sysdeps/i386/dl-cet.c: Removed. - * sysdeps/i386/dl-machine.h (_dl_runtime_resolve_shstk): New - prototype. - (_dl_runtime_profile_shstk): Likewise. - (elf_machine_runtime_setup): Use _dl_runtime_profile_shstk or - _dl_runtime_resolve_shstk if SHSTK is enabled by kernel. - -2018-09-28 Adhemerval Zanella - - [BZ #23579] - * misc/tst-preadvwritev2-common.c (do_test_with_invalid_fd, - do_test_with_invalid_iov): New tests. - * misc/tst-preadvwritev2.c, misc/tst-preadvwritev64v2.c (do_test): - Call do_test_with_invalid_fd and do_test_with_invalid_iov. - * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Use fallback code iff - errno is ENOSYS. - * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise. - * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise. - * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise. - -2018-09-27 Joseph Myers - - * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && - __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] - (MATH_REDIRECT_BINARY_ARGS): New macro. - [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) - && !NO_MATH_REDIRECT] (copysign): Redirect using MATH_REDIRECT. - * sysdeps/alpha/fpu/s_copysign.c: Define NO_MATH_REDIRECT before - header inclusion. - * sysdeps/alpha/fpu/s_copysignf.c: Likewise. - * sysdeps/ieee754/dbl-64/s_copysign.c: Likewise. - * sysdeps/ieee754/float128/s_copysignf128.c: Likewise. - * sysdeps/ieee754/flt-32/s_copysignf.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_copysignl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_copysignl.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c: - Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise. - * sysdeps/riscv/rvd/s_copysign.c: Likewise. - * sysdeps/riscv/rvf/s_copysignf.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.c: - Likewise. - * sysdeps/generic/math_private_calls.h - [!__MATH_DECLARING_LONG_DOUBLE || !NO_LONG_DOUBLE] (__copysign): - Do not declare and define as an inline function. - * math/divtc3.c (__divtc3): Use copysign functions instead of - __copysign variants. - * math/multc3.c (__multc3): Likewise. - * sysdeps/generic/math-type-macros.h (M_COPYSIGN): Likewise. - * sysdeps/ieee754/dbl-64/e_atan2.c (signArctan2): Likewise. - * sysdeps/ieee754/dbl-64/e_atanh.c (__ieee754_atanh): Likewise. - * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): - Likewise. - * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise. - (__ieee754_yn): Likewise. - * sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise. - * sysdeps/ieee754/dbl-64/s_atan.c (__signArctan): Likewise. - * sysdeps/ieee754/dbl-64/s_scalbln.c (__scalbln): Likewise. - * sysdeps/ieee754/dbl-64/s_scalbn.c (__scalbn): Likewise. - * sysdeps/ieee754/dbl-64/s_sin.c (do_sin): Likewise. - (__sin): Likewise. - * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint): - Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c (__scalbln): - Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c (__scalbn): - Likewise. - * sysdeps/ieee754/flt-32/e_atanhf.c (__ieee754_atanhf): Likewise. - * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): - Likewise. - * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise. - (__ieee754_ynf): Likewise. - * sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise. - * sysdeps/ieee754/flt-32/s_scalbnf.c (__scalbnf): Likewise. - * sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. - (__ieee754_ynl): Likewise. - * sysdeps/ieee754/ldbl-128/s_scalblnl.c (__scalblnl): Likewise. - * sysdeps/ieee754/ldbl-128/s_scalbnl.c (__scalbnl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise. - (__ieee754_ynl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fmal.c (__fmal): Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c (__scalblnl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c (__scalbnl): Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. - (__ieee754_ynl) - * sysdeps/ieee754/ldbl-96/s_asinhl.c (__asinhl): Likewise. - * sysdeps/ieee754/ldbl-96/s_scalblnl.c (__scalblnl): Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-copysign.c (copysignl): Likewise. - * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise. - * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise. - - * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && - __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (round): Redirect - using MATH_REDIRECT. - * sysdeps/aarch64/fpu/s_round.c: Define NO_MATH_REDIRECT before - header inclusion. - * sysdeps/aarch64/fpu/s_roundf.c: Likewise. - * sysdeps/ieee754/dbl-64/s_round.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Likewise. - * sysdeps/ieee754/float128/s_roundf128.c: Likewise. - * sysdeps/ieee754/flt-32/s_roundf.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_roundl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_roundl.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_round.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_roundf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_round.c: Likewise. - * sysdeps/riscv/rvf/s_roundf.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise. - (round): Redirect to __round. - (__roundl): Call round instead of __round. - * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__round): - Remove macro. - [_ARCH_PWR5X] (__roundf): Likewise. - * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Use round - functions instead of __round variants. - * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): - Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): - Likewise. - * sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_expl.c (lroundl): Redirect to - __lroundl. - (__ieee754_expl): Call roundl instead of __roundl. - -2018-09-27 Andreas Schwab - - [BZ #23717] - * stdlib/tst-setcontext9.c (f1a): Make st2 static. - (do_test): Make st1 static. - -2018-09-26 Andreas Schwab - - [BZ #23707] - * sysdeps/powerpc/powerpc32/dl-start.S: Add unwind information. - * elf/Makefile (tests): Add tst-unwind-ctor. - (modules-names): Add tst-unwind-ctor-lib. - ($(objpfx)tst-unwind-ctor): Depend on - $(objpfx)tst-unwind-ctor-lib.so. - -2018-09-26 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/mman-map-flags-generic.h: New - file. Most contents moved from .... - * sysdeps/unix/sysv/linux/bits/mman.h: ... here. Move contents to - and include . - * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] - (sysdep_headers): Add bits/mman-map-flags-generic.h. - * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Include - . - [__USE_MISC] (MAP_GROWSUP): Only define this macro, not other - macros defined in . - * sysdeps/unix/sysv/linux/x86/bits/mman.h: Include - . - [__USE_MISC] (MAP_32BIT): Only define this macro, not other macros - defined in . - -2018-09-26 Andreas Schwab - - * Makefile ($(common-objpfx)testrun.sh): Remove leading space from - output. - -2018-09-25 Adam J. Richte - Adhemerval Zanella - Fangrui Song - - [BZ #20480] - * config.make.in (have-textrel_ifunc): New define. - * configure.ac: Add check if linker supports textrel relocation with - ifunc. - * elf/Makefile [have-textrel_ifunc == yes] (ifunc-pie-tests): Add - tst-ifunc-textrel. - (CFLAGS-tst-ifunc-textrel.c): New rule. - * elf/dl-reloc.c (_dl_relocate_object): Use all required flags on - DT_TEXTREL segments, not only PROT_READ and PROT_WRITE. - * elf/tst-ifunc-textrel.c: New file. - -2018-09-25 Joseph Myers - - * sysdeps/unix/sysv/linux/sys/procfs.h: Include - . - (prgregset_t): Define using __prgregset_t. - (prfpregset_t): Define using __prfpregset_t. - * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] - (sysdep_headers): Add bits/procfs-prregset.h. - * sysdeps/unix/sysv/linux/bits/procfs-prregset.h: New file. - * sysdeps/unix/sysv/linux/alpha/bits/procfs-prregset.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Remove file. - - * sysdeps/unix/sysv/linux/sys/procfs.h: Include - and . - (struct elf_prpsinfo): Use __pr_uid_t and __pr_gid_t as types of - pr_uid and pr_gid. - * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] - (sysdep_headers): Add bits/procfs-id.h and bits/procfs-extra.h. - * sysdeps/unix/sysv/linux/bits/procfs-extra.h: New file. - * sysdeps/unix/sysv/linux/bits/procfs-id.h: Likewise. - * sysdeps/unix/sysv/linux/arm/bits/procfs-id.h: Likewise. - * sysdeps/unix/sysv/linux/arm/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/bits/procfs-id.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/procfs-id.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/sh/bits/procfs-id.h: Likewise. - * sysdeps/unix/sysv/linux/sh/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/procfs-extra.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/procfs-id.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/procfs-id.h: Likewise. - * sysdeps/unix/sysv/linux/x86/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/arm/sys/procfs.h: Remove file. - * sysdeps/unix/sysv/linux/m68k/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/s390/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/x86/sys/procfs.h: Likewise. - - * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with file based on - AArch64 version. Include . - * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] - (sysdep_headers): Add bits/procfs.h. - * sysdeps/unix/sysv/linux/bits/procfs.h: New file. - * sysdeps/unix/sysv/linux/aarch64/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/microblaze/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/nios2/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/bits/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Remove file. - * sysdeps/unix/sysv/linux/hppa/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/microblaze/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/nios2/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/sys/procfs.h: Likewise. - -2018-09-25 Adhemerval Zanella - - * posix/tst-spawn.c (do_prepare, handle_restart, do_test): - Use libsupport. - -2018-09-25 Arjun Shankar - - * iconv/gconv_int.h (__gconv_path_elem): Remove. - (__gconv_max_path_elem_len): Likewise. - (__gconv_nmodules): Likewise. - (__gconv_get_path): Likewise. - (path_elem): Move to ... - * iconv/gconv_conf.c: ... here. - (__gconv_get_path): Mark function static. - * iconv/gconv_int.h (GCONV_NCHAR_GOAL): Move to ... - * iconv/gconv_open.c: ... here. - -2018-09-24 Andreas Schwab - - * scripts/haveversions.awk: New file. - * Makerules ($(common-objpfx)Versions.def) - ($(common-objpfx)Versions.all, $(common-objpfx)Versions.v.i) - ($(common-objpfx)sysd-versions, $(common-objpfx)versions.stmp): - Move rules ... - * Makeconfig ($(common-objpfx)Versions.def) - ($(common-objpfx)Versions.all, $(common-objpfx)Versions.v.i) - ($(common-objpfx)sysd-versions, $(common-objpfx)versions.stmp): - ... here. - ($(common-objpfx)Versions.mk): New rule. Include it. - * nis/Makefile [!have-GLIBC_2.28]: Don't build any targets. - Emit error if build-obsolete-nsl = yes. - * manual/install.texi (Configuring and compiling): Describe - --enable-obsolete-nsl as unavaiable after version 2.28. - * INSTALL: Regenerate. - -2018-09-21 Adhemerval Zanella - - * NEWS: Add note about new TLE support on powerpc64le. - * sysdeps/powerpc/nptl/tcb-offsets.sym (TM_CAPABLE): Remove. - * sysdeps/powerpc/nptl/tls.h (tcbhead_t): Rename tm_capable to - __ununsed1. - (TLS_INIT_TP, TLS_DEFINE_INIT_TP): Remove tm_capable setup. - (THREAD_GET_TM_CAPABLE, THREAD_SET_TM_CAPABLE): Remove macros. - * sysdeps/powerpc/powerpc32/sysdep.h, - sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION_IMPL, - ABORT_TRANSACTION): Remove macros. - * sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise. - * sysdeps/unix/sysv/linux/powerpc/elision-conf.c (elision_init): Set - __pthread_force_elision iff PPC_FEATURE2_HTM_NOSC is set. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h, - sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h - sysdeps/unix/sysv/linux/powerpc/syscall.S (ABORT_TRANSACTION): Remove - usage. - * sysdeps/unix/sysv/linux/powerpc/not-errno.h: Remove file. - -2018-09-21 Rafal Luzynski - - [BZ #10425] - * localedata/locales/it_IT (d_t_fmt): Use "%a %-d %b %Y, %T". - (date_fmt): Use "%a %-d %b %Y, %T, %Z". - * localedata/locales/it_CH (d_t_fmt): Use "%a %-d %b %Y, %T" - which is the same as in it_IT. - (d_fmt): Use "%d.%m.%Y" which is the same as in de_CH. - (date_fmt): Use "%a %-d %b %Y, %T, %Z" which is the same as in it_IT. - -2018-09-20 Joseph Myers - - * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && - __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (trunc): Redirect - using MATH_REDIRECT. - * sysdeps/aarch64/fpu/s_trunc.c: Define NO_MATH_REDIRECT before - header inclusion. - * sysdeps/aarch64/fpu/s_truncf.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: Likewise. - * sysdeps/ieee754/float128/s_truncf128.c: Likewise. - * sysdeps/ieee754/dbl-64/s_trunc.c: Likewise. - * sysdeps/ieee754/flt-32/s_truncf.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_truncl.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_trunc.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_truncf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise. - * sysdeps/riscv/rvf/s_truncf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_trunc_template.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_truncl.c: Likewise. - (ceil): Redirect to __ceil. - (floor): Redirect to __floor. - (trunc): Redirect to __trunc. - (__truncl): Call trunc instead of __trunc. - * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__trunc): - Remove macro. - [_ARCH_PWR5X] (__truncf): Likewise. - * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Use - trunc functions instead of __trunc variants. - * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): - Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - - * sysdeps/x86/cpu-features.h [__geode__ || __k6__]: Handle like - [__i586__ || __pentium__]. - [__i486__]: Handle explicitly. - (HAS_CPUID): Define to 1 if above macros are undefined. - (HAS_I586): Likewise. - (HAS_I686): Likewise. - -2018-09-20 Florian Weimer - - * misc/tst-gethostid.c: New file. - * misc/Makefile [$(build-shared)] (tests): Add tst-gethostid. - (tst-gethostid): Link with -ldl. - -2018-09-20 Mingli Yu - - * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Check for NULL - value from gethostbyname_r. - -2018-09-19 Carlos O'Donell - - * stdlib/tst-setcontext9.c (f1): Rename to... - (f1a): ... this. - (f1b): New function implementing lower half of f1 in alternate stack. - -2018-09-19 Paul Eggert - - Fix mktime localtime offset confusion - [BZ #23603] - * include/time.h (__mktime_internal): The localtime offset is now - of type long int instead of time_t. This is the longstanding type - in glibc, and it is more than enough to represent difference - between localtime and gmtime even if it is 32 bits and time_t is - 64. Changing it now will let us avoid an unnecessary change when - time_t is widened to 64 bits on 32-bit platforms. - * time/mktime-internal.h (mktime_offset_t): Now long int. - - Merge mktime, timegm from upstream Gnulib - [BZ #23603][BZ #16346] - This fixes some obscure problems with integer overflow. - Although it looks scary, it is almost all a byte-for-byte copy - from Gnulib, and the Gnulib code has been tested reasonably well. - * include/intprops.h: New file, copied from Gnulib. - * include/verify.h, time/mktime-internal.h: - New tiny files, simplified from Gnulib. - * time/mktime.c: Copy from Gnulib. This has the following changes: - Do not include config.h if DEBUG_MKTIME is nonzero. - Include stdbool.h, intprops.h, verify.h. - Include string.h only if needed. - Include stdlib.h on MS-Windows. - Include mktime-internal.h. - (DEBUG_MKTIME): Default to 0, and simplify later uses. - (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS) - (NEED_MKTIME_WORKING): Give default values to pacify -Wundef, - which glibc uses. Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to - simplify later conditionals; default the others to zero. Use - these conditionals to express only the code needed on the current - platform. In uses of these conditionals, explicitly spell out how - _LIBC affects things, so it’s easier to review from a glibc - viewpoint. - (WRAPV): Remove; no longer needed now that we have - systematic overflow checking. - (my_tzset, __tzset) [!_LIBC]: New function and macro, to better - compartmentalize tzset issues. Move system-dependent tzsettish - code here from mktime. - (verify): Remove; now done by verify.h. All uses changed. - (long_int): Use a more-conservative definition, to avoid - integer overflow. - (SHR): Remove, replacing with ... - (shr): New function, which means we needn’t worry about side - effects in args, and conversion analysis is simpler. - (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT, TYPE_SIGNED, TYPE_MINIMUM) - (TYPE_MAXIMUM, TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT) - (time_t_avg, time_t_add_ok): Remove. - (mktime_min, mktime_max): New constants. - (leapyear, isdst_differ): Use bool for booleans. - (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal): - Use long_int, not time_t, for mktime differences. - (long_int_avg): New function, replacing time_t_avg. - INT_ADD_WRAPV replaces time_t_add_ok. - (guess_time_tm): 6th arg is now long_int, not time_t const *. - All uses changed. - (convert_time): New function. - (ranged_convert): Use it. - (__mktime_internal): Last arg now points to mktime_offset_t, not - time_t. All uses changed. This is a no-op on glibc, where - mktime_offset_t is always time_t. Use int, not time_t, for UTC - offset guess. Directly check for integer overflow instead of - using a heuristic that works only 99.9...% of the time. - Access *OFFSET only once, to avoid an unlikely race if the - compiler delays a load and if this cascades into a signed integer - overflow. - (mktime): Move tzsettish code to my_tzset, and move - localtime_offset to within mktime so that it doesn’t - need a separate ifdef. - (main) [DEBUG_MKTIME]: Speed up by using localtime_r - instead of localtime. - * time/timegm.c: Copy from Gnulib. This has the following changes: - Include mktime-internal.h. - [!_LIBC]: Include config.h and time.h. Do not include - timegm.h or time_r.h. Make __mktime_internal a macro, - and include mktime-internal.h to get its declaration. - (timegm): Temporary is now mktime_offset_t, not time_t. - This affects only Gnulib. - -2018-09-19 Wilco Dijkstra - - [BZ #23637] - * string/test-strstr.c (pr23637): New function. - (test_main): Add tests with longer needles. - * string/strcasestr.c (AVAILABLE): Fix readahead distance. - * string/strstr.c (AVAILABLE): Likewise. - -2018-09-19 Szabolcs Nagy - - * sysdeps/ieee754/flt-32/e_powf.c (checkint): Fix documentation. - -2018-09-19 Szabolcs Nagy - - * NEWS: Mention pow improvements. - * math/Makefile (type-double-routines): Add e_pow_log_data. - * sysdeps/generic/math_private.h (__exp1): Remove. - * sysdeps/i386/fpu/e_pow_log_data.c: New file. - * sysdeps/ia64/fpu/e_pow_log_data.c: New file. - * sysdeps/ieee754/dbl-64/Makefile (CFLAGS-e_pow.c): Allow fma - contraction. - * sysdeps/ieee754/dbl-64/e_exp.c (__exp1): Remove. - (exp_inline): Remove. - (__ieee754_exp): Only single double input is handled. - * sysdeps/ieee754/dbl-64/e_pow.c: Rewrite. - * sysdeps/ieee754/dbl-64/e_pow_log_data.c: New file. - * sysdeps/ieee754/dbl-64/math_config.h (issignaling_inline): Define. - (__pow_log_data): Define. - * sysdeps/ieee754/dbl-64/upow.h: Remove. - * sysdeps/ieee754/dbl-64/upow.tbl: Remove. - * sysdeps/m68k/m680x0/fpu/e_pow_log_data.c: New file. - * sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_pow-fma.c): Allow fma - contraction. - (CFLAGS-e_pow-fma4.c): Likewise. - -2018-09-18 Paul Eggert - - Simplify tzfile fstat failure code - [BZ #21716] - * time/tzfile.c (__tzfile_read): Simplify slightly. - - Fix tzfile low-memory assertion failure - [BZ #21716] - * time/tzfile.c (__tzfile_read): Check for memory exhaustion - when registering time zone abbreviations. - -2018-09-18 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/mman.h: New file. - * sysdeps/unix/sysv/linux/aarch64/bits/mman.h: Remove. - * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise. - * sysdeps/unix/sysv/linux/microblaze/bits/mman.h: Likewise. - * sysdeps/unix/sysv/linux/nios2/bits/mman.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/bits/mman.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. - * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise. - - * sysdeps/ieee754/ldbl-128ibm/s_ceill.c (ceil): Redirect to - __ceil. - (__ceill): Call ceil instead of __ceil. - * sysdeps/ieee754/ldbl-128ibm/s_floorl.c (floor): Redirect to - __floor. - (__floorl): Call floor instead of __floor. - -2018-09-17 Joseph Myers - - * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && - __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (ceil): Redirect - using MATH_REDIRECT. - * sysdeps/aarch64/fpu/s_ceil.c: Define NO_MATH_REDIRECT before - header inclusion. - * sysdeps/aarch64/fpu/s_ceilf.c: Likewise. - * sysdeps/ieee754/dbl-64/s_ceil.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Likewise. - * sysdeps/ieee754/float128/s_ceilf128.c: Likewise. - * sysdeps/ieee754/flt-32/s_ceilf.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_ceill.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_ceill.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_ceil.c: Likewise. - * sysdeps/riscv/rvf/s_ceilf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise. - * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__ceil): - Remove macro. - * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Use ceil - functions instead of __ceil variants. - * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_truncl.c (__truncl): Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): - Likewise. - * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise. - * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise. - - [BZ #21286] - * sysdeps/unix/sysv/linux/bits/siginfo-consts.h (SI_DETHREAD): New - constant. - [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (ILL_BADIADDR): Likewise. - [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (FPE_FLTUNK): Likewise. - [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (FPE_CONDTRAP): Likewise. - [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ACCADI): Likewise. - [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ADIDERR): Likewise. - [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ADIPERR): Likewise. - [__USE_XOPEN_EXTENDED] (TRAP_BRANCH): Likewise. - [__USE_XOPEN_EXTENDED] (TRAP_HWBKPT): Likewise. - [__USE_XOPEN_EXTENDED] (TRAP_UNK): Likweise. - * sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h - (ILL_BADIADDR): Remove constant. - (TRAP_BRANCH): Likewise. - (TRAP_HWBKPT): Likewise. - -2018-09-14 Joseph Myers - - [BZ #23656] - * sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prstatus): - Remove [_MIPS_SIM = _ABIN32] conditional case. - (struct elf_prpsinfo): Likewise. - - [BZ #23649] - * sysdeps/unix/sysv/linux/microblaze/sys/procfs.h (struct - elf_prpsinfo): Use unsigned int for pr_uid and pr_gid. - * sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prpsinfo): - Likewise. - * sysdeps/unix/sysv/linux/nios2/sys/procfs.h (struct - elf_prpsinfo): Likewise. - * sysdeps/unix/sysv/linux/riscv/sys/procfs.h (struct - elf_prpsinfo): Likewise. - * sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prpsinfo): - Likewise. - - * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && - __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (rint): Redirect - using MATH_REDIRECT. - * sysdeps/aarch64/fpu/s_rint.c: Define NO_MATH_REDIRECT before - header inclusion. - * sysdeps/aarch64/fpu/s_rintf.c: Likewise. - * sysdeps/alpha/fpu/s_rint.c: Likewise. - * sysdeps/alpha/fpu/s_rintf.c: Likewise. - * sysdeps/i386/fpu/s_rintl.c: Likewise. - * sysdeps/ieee754/dbl-64/s_rint.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Likewise. - * sysdeps/ieee754/float128/s_rintf128.c: Likewise. - * sysdeps/ieee754/flt-32/s_rintf.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_rintl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise. - * sysdeps/m68k/coldfire/fpu/s_rint.c: Likewise. - * sysdeps/m68k/coldfire/fpu/s_rintf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_rint.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_rintf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_rintl.c: Likewise. - * sysdeps/powerpc/fpu/s_rint.c: Likewise. - * sysdeps/powerpc/fpu/s_rintf.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_rint.c: Likewise. - * sysdeps/riscv/rvf/s_rintf.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise. - * sysdeps/x86_64/fpu/math_private.h: Remove file. - * math/e_scalb.c (invalid_fn): Use rint functions instead of - __rint variants. - * math/e_scalbf.c (invalid_fn): Likewise. - * math/e_scalbl.c (invalid_fn): Likewise. - * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): - Likewise. - * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): - Likewise. - * sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise. - * sysdeps/ieee754/k_standardl.c (__kernel_standard_l): Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Likewise. - * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise. - - * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && - __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (MATH_REDIRECT): - New macro. - [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) - && !NO_MATH_REDIRECT] (MATH_REDIRECT_LDBL): Likewise. - [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) - && !NO_MATH_REDIRECT] (MATH_REDIRECT_F128): Likewise. - [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) - && !NO_MATH_REDIRECT] (MATH_REDIRECT_UNARY_ARGS): Likewise. - [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) - && !NO_MATH_REDIRECT] (sqrt): Redirect using MATH_REDIRECT. - [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) - && !NO_MATH_REDIRECT] (floor): Likewise. - * sysdeps/aarch64/fpu/s_floor.c: Define NO_MATH_REDIRECT before - header inclusion. - * sysdeps/aarch64/fpu/s_floorf.c: Likewise. - * sysdeps/ieee754/dbl-64/s_floor.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Likewise. - * sysdeps/ieee754/float128/s_floorf128.c: Likewise. - * sysdeps/ieee754/flt-32/s_floorf.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_floorl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_floor_template.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise. - * sysdeps/riscv/rvf/s_floorf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise. - * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__floor): - Remove macro. - [_ARCH_PWR5X] (__floorf): Likewise. - * sysdeps/x86_64/fpu/math_private.h [__SSE4_1__] (__floor): Remove - inline function. - [__SSE4_1__] (__floorf): Likewise. - * math/w_lgamma_main.c (LGFUNC (__lgamma)): Use floor functions - instead of __floor variants. - * math/w_lgamma_r_compat.c (__lgamma_r): Likewise. - * math/w_lgammaf_main.c (LGFUNC (__lgammaf)): Likewise. - * math/w_lgammaf_r_compat.c (__lgammaf_r): Likewise. - * math/w_lgammal_main.c (LGFUNC (__lgammal)): Likewise. - * math/w_lgammal_r_compat.c (__lgammal_r): Likewise. - * math/w_tgamma_compat.c (__tgamma): Likewise. - * math/w_tgamma_template.c (M_DECL_FUNC (__tgamma)): Likewise. - * math/w_tgammaf_compat.c (__tgammaf): Likewise. - * math/w_tgammal_compat.c (__tgammal): Likewise. - * sysdeps/ieee754/dbl-64/e_lgamma_r.c (sin_pi): Likewise. - * sysdeps/ieee754/dbl-64/k_rem_pio2.c (__kernel_rem_pio2): - Likewise. - * sysdeps/ieee754/dbl-64/lgamma_neg.c (__lgamma_neg): Likewise. - * sysdeps/ieee754/flt-32/e_lgammaf_r.c (sin_pif): Likewise. - * sysdeps/ieee754/flt-32/lgamma_negf.c (__lgamma_negf): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): - Likewise. - * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise. - * sysdeps/ieee754/ldbl-128/lgamma_negl.c (__lgamma_negl): - Likewise. - * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c (__ieee754_lgammal_r): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/lgamma_negl.c (__lgamma_negl): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_truncl.c (__truncl): Likewise. - * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise. - * sysdeps/ieee754/ldbl-96/lgamma_negl.c (__lgamma_negl): Likewise. - * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise. - * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise. - -2018-09-12 Joseph Myers - - * elf/Makefile (modules-names-tests): New variable. - -2018-09-12 Szabolcs Nagy - - * NEWS: Mention log2 improvements. - * math/Makefile (type-double-routines): Add e_log2_data. - * sysdeps/i386/fpu/e_log2_data.c: New file. - * sysdeps/ia64/fpu/e_log2_data.c: New file. - * sysdeps/ieee754/dbl-64/e_log2.c: Rewrite. - * sysdeps/ieee754/dbl-64/e_log2_data.c: New file. - * sysdeps/ieee754/dbl-64/math_config.h (__log2_data): Add. - * sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c: Remove. - * sysdeps/m68k/m680x0/fpu/e_log2_data.c: New file. - -2018-09-12 Szabolcs Nagy - - * NEWS: Mention log improvement. - * math/Makefile (type-double-routines): Add e_log_data. - * sysdeps/i386/fpu/e_log_data.c: New file. - * sysdeps/ia64/fpu/e_log_data.c: New file. - * sysdeps/ieee754/dbl-64/e_log.c: Rewrite. - * sysdeps/ieee754/dbl-64/e_log_data.c: New file. - * sysdeps/ieee754/dbl-64/math_config.h (__log_data): Add. - * sysdeps/ieee754/dbl-64/ulog.h: Remove. - * sysdeps/ieee754/dbl-64/ulog.tbl: Remove. - * sysdeps/m68k/m680x0/fpu/e_log_data.c: New file. - -2018-09-12 H.J. Lu - Xuepeng Guo - - [BZ #23606] - * sysdeps/i386/start.S: Include - (_start): Use ENTRY/END to insert ENDBR32 at entry when CET is - enabled. Add cfi_undefined (eip). - -2018-09-11 Joseph Myers - - * sysdeps/x86_64/fpu/math_private.h (MOVD): Remove macro. - (MOVQ): Likewise. - (EXTRACT_WORDS64): Likewise. - (INSERT_WORDS64): Likewise. - (GET_FLOAT_WORD): Likewise. - (SET_FLOAT_WORD): Likewise. - - * scripts/build-many-glibcs.py (Context.__init__): Add full_gcc - argument. - (Config.build_gcc): Use --disable-libsanitizer for first GCC - build, but not for second build if --full-gcc. Use - --enable-languages=all for second build if --full-gcc. - (get_parser): Add --full-gcc option. - (main): Update call to Context. - -2018-09-10 Rafal Luzynski - - [BZ #10797] - * localedata/locales/de_CH (mon_thousands_sep): Use "" (Right - Single Quotation Mark). - (thousands_sep): Likewise. - * localedata/locales/it_CH (LC_NUMERIC): Use “copy "de_CH"”. - * localedata/locales/it_IT (thousands_sep): Use ".". - (grouping): Use "3;3". - -2018-09-10 Joseph Myers - - * scripts/build-many-glibcs.py (Context.add_all_configs): Add - x86_64 and i686 configs using --enable-obsolete-rpc - --enable-obsolete-nsl. - -2018-09-06 Stefan Liebler - - * sysdeps/s390/fpu/libm-test-ulps: Regenerated. - -2018-09-06 Stefan Liebler - - * sysdeps/unix/sysv/linux/spawni.c (maybe_script_execute): - Increment size of new_argv by one. - -2018-09-05 Rafal Luzynski - - [BZ #17426] - * localedata/locales/anp_IN (d_fmt): Use "%-d//%-m//%y". - * localedata/locales/ar_IN (d_fmt): Likewise. - * localedata/locales/bhb_IN (d_fmt): Likewise. - * localedata/locales/bho_IN (d_fmt): Likewise. - * localedata/locales/bn_BD (d_fmt): Likewise. - * localedata/locales/bn_IN (d_fmt): Likewise. - * localedata/locales/doi_IN (d_fmt): Likewise. - * localedata/locales/gu_IN (d_fmt): Likewise. - * localedata/locales/hi_IN (d_fmt): Likewise. - * localedata/locales/hne_IN (d_fmt): Likewise. - * localedata/locales/kn_IN (d_fmt): Likewise. - * localedata/locales/mag_IN (d_fmt): Likewise. - * localedata/locales/mai_IN (d_fmt): Likewise. - * localedata/locales/mjw_IN (d_fmt): Likewise. - * localedata/locales/ml_IN (d_fmt): Likewise. - * localedata/locales/mni_IN (d_fmt): Likewise. - * localedata/locales/mr_IN (d_fmt): Likewise. - * localedata/locales/pa_IN (d_fmt): Likewise. - * localedata/locales/raj_IN (d_fmt): Likewise. - * localedata/locales/sat_IN (d_fmt): Likewise. - * localedata/locales/sd_IN (d_fmt): Likewise. - * localedata/locales/sd_IN@devanagari (d_fmt): Likewise. - * localedata/locales/ta_IN (d_fmt): Likewise. - * localedata/locales/ta_LK (d_fmt): Likewise. - * localedata/locales/tcy_IN (d_fmt): Likewise. - * localedata/locales/ur_IN (d_fmt): Likewise. - - * localedata/locales/brx_IN (d_fmt): Use "%-m//%-d//%y". - * localedata/locales/ks_IN (d_fmt): Likewise. - * localedata/locales/ks_IN@devanagari (d_fmt): Likewise. - - * localedata/locales/kok_IN (d_fmt): Use "%-d-%-m-%y". - * localedata/locales/ne_NP (d_fmt): Use "%y//%-m//%-d". - * localedata/locales/sa_IN (d_fmt): Use "%-d-%m-%y". - * localedata/locales/te_IN (d_fmt): Use "%d-%m-%y". - -2018-09-05 Szabolcs Nagy - - * NEWS: Mention exp and exp2 improvements. - * math/Makefile (libm-support): Remove t_exp. - (type-double-routines): Add math_err and e_exp_data. - * sysdeps/aarch64/libm-test-ulps: Update. - * sysdeps/arm/libm-test-ulps: Update. - * sysdeps/i386/fpu/e_exp_data.c: New file. - * sysdeps/i386/fpu/math_err.c: New file. - * sysdeps/i386/fpu/t_exp.c: Remove. - * sysdeps/ia64/fpu/e_exp_data.c: New file. - * sysdeps/ia64/fpu/math_err.c: New file. - * sysdeps/ia64/fpu/t_exp.c: Remove. - * sysdeps/ieee754/dbl-64/e_exp.c: Rewrite. - * sysdeps/ieee754/dbl-64/e_exp2.c: Rewrite. - * sysdeps/ieee754/dbl-64/e_exp_data.c: New file. - * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Update error bound. - * sysdeps/ieee754/dbl-64/eexp.tbl: Remove. - * sysdeps/ieee754/dbl-64/math_config.h: New file. - * sysdeps/ieee754/dbl-64/math_err.c: New file. - * sysdeps/ieee754/dbl-64/t_exp.c: Remove. - * sysdeps/ieee754/dbl-64/t_exp2.h: Remove. - * sysdeps/ieee754/dbl-64/uexp.h: Remove. - * sysdeps/ieee754/dbl-64/uexp.tbl: Remove. - * sysdeps/m68k/m680x0/fpu/e_exp_data.c: New file. - * sysdeps/m68k/m680x0/fpu/math_err.c: New file. - * sysdeps/m68k/m680x0/fpu/t_exp.c: Remove. - * sysdeps/powerpc/fpu/libm-test-ulps: Update. - * sysdeps/x86_64/fpu/libm-test-ulps: Update. - -2018-09-05 Joseph Myers - - * sysdeps/alpha/fpu/math_private.h: Remove. - - * sysdeps/generic/math_private.h - [__HAVE_DISTINCT_FLOAT128 && !__GNUC_PREREQ (7, 0)] (__isinff128): - Move this inline function .... - [__HAVE_DISTINCT_FLOAT128] (fabsf128): And this one .... - * include/math.h [!_ISOMAC]: To here.... - -2018-09-04 Joseph Myers - - * sysdeps/generic/fenv_private.h [FE_ALL_EXCEPT == 0]: Move this - code .... - [!FE_HAVE_ROUNDING_MODES]: And this code .... - * include/fenv.h [!_ISOMAC]: ... to here. - * math/fraiseexcpt.c (__feraiseexcept): Undefine as macro. - (feraiseexcept): Likewise. - * math/fromfp.h: Do not include . - * math/s_cexp_template.c: Likewise. - * math/s_csin_template.c: Likewise. - * math/s_csinh_template.c: Likewise. - * math/s_ctan_template.c: Likewise. - * math/s_ctanh_template.c: Likewise. - * math/s_iseqsig_template.c: Likewise. - * math/w_acos_compat.c: Likewise. - * math/w_acosf_compat.c: Likewise. - * math/w_acosl_compat.c: Likewise. - * math/w_asin_compat.c: Likewise. - * math/w_asinf_compat.c: Likewise. - * math/w_asinl_compat.c: Likewise. - * math/w_j0_compat.c: Likewise. - * math/w_j0f_compat.c: Likewise. - * math/w_j0l_compat.c: Likewise. - * math/w_j1_compat.c: Likewise. - * math/w_j1f_compat.c: Likewise. - * math/w_j1l_compat.c: Likewise. - * math/w_jn_compat.c: Likewise. - * math/w_jnf_compat.c: Likewise. - * math/w_log10_compat.c: Likewise. - * math/w_log10f_compat.c: Likewise. - * math/w_log10l_compat.c: Likewise. - * math/w_log2_compat.c: Likewise. - * math/w_log2f_compat.c: Likewise. - * math/w_log2l_compat.c: Likewise. - * math/w_log_compat.c: Likewise. - * math/w_logf_compat.c: Likewise. - * math/w_logl_compat.c: Likewise. - * sysdeps/ieee754/dbl-64/s_llrint.c: Likewise. - * sysdeps/ieee754/dbl-64/s_llround.c: Likewise. - * sysdeps/ieee754/dbl-64/s_lrint.c: Likewise. - * sysdeps/ieee754/dbl-64/s_lround.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Likewise. - * sysdeps/ieee754/flt-32/s_llrintf.c: Likewise. - * sysdeps/ieee754/flt-32/s_llroundf.c: Likewise. - * sysdeps/ieee754/flt-32/s_lrintf.c: Likewise. - * sysdeps/ieee754/flt-32/s_lroundf.c: Likewise. - * sysdeps/ieee754/k_standardl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_llrintl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_llroundl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_lrintl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_lroundl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_llrintl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_llroundl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_lrintl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_lroundl.c: Likewise. - * math/w_ilogb_template.c: Include instead of - . - * math/w_llogb_template.c: Likewise. - * sysdeps/powerpc/fpu/e_sqrt.c: Likewise. - * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise. - -2018-09-03 Joseph Myers - - * sysdeps/generic/math_private.h: Do not include . - * math/fromfp.h: Include . - * math/math-narrow.h: Likewise. - * math/s_cexp_template.c: Likewise. - * math/s_csin_template.c: Likewise. - * math/s_csinh_template.c: Likewise. - * math/s_ctan_template.c: Likewise. - * math/s_ctanh_template.c: Likewise. - * math/s_iseqsig_template.c: Likewise. - * math/w_acos_compat.c: Likewise. - * math/w_acosf_compat.c: Likewise. - * math/w_acosl_compat.c: Likewise. - * math/w_asin_compat.c: Likewise. - * math/w_asinf_compat.c: Likewise. - * math/w_asinl_compat.c: Likewise. - * math/w_ilogb_template.c: Likewise. - * math/w_j0_compat.c: Likewise. - * math/w_j0f_compat.c: Likewise. - * math/w_j0l_compat.c: Likewise. - * math/w_j1_compat.c: Likewise. - * math/w_j1f_compat.c: Likewise. - * math/w_j1l_compat.c: Likewise. - * math/w_jn_compat.c: Likewise. - * math/w_jnf_compat.c: Likewise. - * math/w_llogb_template.c: Likewise. - * math/w_log10_compat.c: Likewise. - * math/w_log10f_compat.c: Likewise. - * math/w_log10l_compat.c: Likewise. - * math/w_log2_compat.c: Likewise. - * math/w_log2f_compat.c: Likewise. - * math/w_log2l_compat.c: Likewise. - * math/w_log_compat.c: Likewise. - * math/w_logf_compat.c: Likewise. - * math/w_logl_compat.c: Likewise. - * sysdeps/aarch64/fpu/feholdexcpt.c: Likewise. - * sysdeps/aarch64/fpu/fesetround.c: Likewise. - * sysdeps/aarch64/fpu/fgetexcptflg.c: Likewise. - * sysdeps/aarch64/fpu/ftestexcept.c: Likewise. - * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. - * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. - * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise. - * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise. - * sysdeps/ieee754/dbl-64/e_jn.c: Likewise. - * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. - * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. - * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. - * sysdeps/ieee754/dbl-64/gamma_product.c: Likewise. - * sysdeps/ieee754/dbl-64/lgamma_neg.c: Likewise. - * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fma.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise. - * sysdeps/ieee754/dbl-64/s_llrint.c: Likewise. - * sysdeps/ieee754/dbl-64/s_llround.c: Likewise. - * sysdeps/ieee754/dbl-64/s_lrint.c: Likewise. - * sysdeps/ieee754/dbl-64/s_lround.c: Likewise. - * sysdeps/ieee754/dbl-64/s_nearbyint.c: Likewise. - * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. - * sysdeps/ieee754/dbl-64/s_sincos.c: Likewise. - * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Likewise. - * sysdeps/ieee754/dbl-64/x2y2m1.c: Likewise. - * sysdeps/ieee754/float128/float128_private.h: Likewise. - * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. - * sysdeps/ieee754/flt-32/e_j1f.c: Likewise. - * sysdeps/ieee754/flt-32/e_jnf.c: Likewise. - * sysdeps/ieee754/flt-32/lgamma_negf.c: Likewise. - * sysdeps/ieee754/flt-32/s_llrintf.c: Likewise. - * sysdeps/ieee754/flt-32/s_llroundf.c: Likewise. - * sysdeps/ieee754/flt-32/s_lrintf.c: Likewise. - * sysdeps/ieee754/flt-32/s_lroundf.c: Likewise. - * sysdeps/ieee754/flt-32/s_nearbyintf.c: Likewise. - * sysdeps/ieee754/k_standardl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. - * sysdeps/ieee754/ldbl-128/gamma_productl.c: Likewise. - * sysdeps/ieee754/ldbl-128/lgamma_negl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_llrintl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_llroundl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_lrintl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_lroundl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise. - * sysdeps/ieee754/ldbl-128/x2y2m1l.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/lgamma_negl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. - * sysdeps/ieee754/ldbl-96/gamma_productl.c: Likewise. - * sysdeps/ieee754/ldbl-96/lgamma_negl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_llrintl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_llroundl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_lrintl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_lroundl.c: Likewise. - * sysdeps/ieee754/ldbl-96/x2y2m1l.c: Likewise. - * sysdeps/powerpc/fpu/e_sqrt.c: Likewise. - * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_ceil.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_nearbyint.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_round.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_roundeven.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise. - * sysdeps/riscv/rvd/s_finite.c: Likewise. - * sysdeps/riscv/rvd/s_fmax.c: Likewise. - * sysdeps/riscv/rvd/s_fmin.c: Likewise. - * sysdeps/riscv/rvd/s_fpclassify.c: Likewise. - * sysdeps/riscv/rvd/s_isinf.c: Likewise. - * sysdeps/riscv/rvd/s_isnan.c: Likewise. - * sysdeps/riscv/rvd/s_issignaling.c: Likewise. - * sysdeps/riscv/rvf/fegetround.c: Likewise. - * sysdeps/riscv/rvf/feholdexcpt.c: Likewise. - * sysdeps/riscv/rvf/fesetenv.c: Likewise. - * sysdeps/riscv/rvf/fesetround.c: Likewise. - * sysdeps/riscv/rvf/feupdateenv.c: Likewise. - * sysdeps/riscv/rvf/fgetexcptflg.c: Likewise. - * sysdeps/riscv/rvf/ftestexcept.c: Likewise. - * sysdeps/riscv/rvf/s_ceilf.c: Likewise. - * sysdeps/riscv/rvf/s_finitef.c: Likewise. - * sysdeps/riscv/rvf/s_floorf.c: Likewise. - * sysdeps/riscv/rvf/s_fmaxf.c: Likewise. - * sysdeps/riscv/rvf/s_fminf.c: Likewise. - * sysdeps/riscv/rvf/s_fpclassifyf.c: Likewise. - * sysdeps/riscv/rvf/s_isinff.c: Likewise. - * sysdeps/riscv/rvf/s_isnanf.c: Likewise. - * sysdeps/riscv/rvf/s_issignalingf.c: Likewise. - * sysdeps/riscv/rvf/s_nearbyintf.c: Likewise. - * sysdeps/riscv/rvf/s_roundevenf.c: Likewise. - * sysdeps/riscv/rvf/s_roundf.c: Likewise. - * sysdeps/riscv/rvf/s_truncf.c: Likewise. - -2018-08-31 Paul Pluzhnikov - - [BZ #20271] - * include/stdio.h (__libc_fatal): Mention newline in comment. - * grp/initgroups.c (internal_getgrouplist): Add missing newline. - * nptl/pthread_cond_wait.c (__pthread_cond_wait_common): Likewise. - * nscd/initgrcache.c (addinitgroupsX): Likewise. - * nss/nsswitch.c (__nss_next2): Likewise. - * sysdeps/aarch64/dl-irel.h (elf_irela): Likewise. - * sysdeps/arm/dl-irel.h (elf_irel): Likewise. - * sysdeps/generic/unwind-dw2.c (execute_cfa_program): Likewise. - * sysdeps/i386/dl-irel.h (elf_irel): Likewise. - * sysdeps/powerpc/powerpc32/dl-irel.h (elf_irel): Likewise. - * sysdeps/powerpc/powerpc64/dl-irel.h (elf_irel): Likewise. - * sysdeps/s390/dl-irel.h (elf_irel): Likewise. - * sysdeps/sparc/sparc32/dl-irel.h (elf_irel): Likewise. - * sysdeps/sparc/sparc64/dl-irel.h (elf_irel): Likewise. - * sysdeps/x86_64/dl-irel.h (elf_irel): Likewise. - * sysdeps/nptl/futex-internal.h (futex_wake): Likewise. - * sysdeps/unix/sysv/linux/netlink_assert_response.c - (__netlink_assert_response): Likewise. - -2018-08-31 Joseph Myers - - * conform/glibcconform.py: New file. - * conform/list-header-symbols.py: Likewise. - * conform/list-header-symbols.pl: Remove. - * conform/Makefile (tests-special): Only add linknamespace tests - if [PYTHON]. - ($(linknamespace-symlists-tests)): Use list-header-symbols.py. - -2018-08-31 H.J. Lu - - [BZ #23597] - * support/Makefile (libsupport-routines): Add - support_copy_file_range and xcopy_file_range. - * support/support.h: Include . - (support_copy_file_range): New prototype. - * support/support_copy_file_range.c: New file. Copied and - modified from io/copy_file_range-compat.c. - * support/test-container.c (copy_one_file): Call xcopy_file_rang - instead of copy_file_range. - * support/xcopy_file_range.c: New file. - * support/xunistd.h (xcopy_file_range): New prototype. - -2018-08-30 Carlos O'Donell - - * elf/tst-dlopen-aout.c: Include support/xthread.h. Use - xpthread_create and xpthread_join. - -2018-08-30 Florian Weimer - - * stdlib/stdlib.h (reallocarray): Make available under __USE_MISC. - -2018-08-30 Stefan Liebler - - * stdlib/test-bz22786.c (do_test): Return EXIT_UNSUPPORTED - if malloc fails. - -2018-08-29 Joseph Myers - - * math/gen-libm-test.py (gen_test_args_res): Also treat plus_oflow - and minus_oflow as non-finite. - -2018-08-28 Joseph Myers - - * sysdeps/aarch64/fpu/fenv_private.h: New file. Based on .... - * sysdeps/aarch64/fpu/math_private.h: ... this file. All contents - moved to fenv_private.h except for ... - (TOINT_INTRINSICS): Kept in math_private.h. - (roundtoint): Likewise. - (converttoint): Likewise. - * sysdeps/arm/fenv_private.h: Change multiple-include guard to - [ARM_FENV_PRIVATE_H]. Include next . - * sysdeps/arm/math_private.h: Remove. - * sysdeps/generic/fenv_private.h: New file. Contents moved from - .... - * sysdeps/generic/math_private.h: ... this file. Include - . Do not include or . - Include . Remove functions and macros moved to - fenv_private.h. - * sysdeps/i386/fpu/math_private.h: Remove. - * sysdeps/mips/math_private.h: Move to .... - * sysdeps/mips/fpu/fenv_private.h: ... here. Change - multiple-include guard to [MIPS_FENV_PRIVATE_H]. Remove - [__mips_hard_float] conditional. Include next . - * sysdeps/powerpc/fpu/fenv_private.h: Change multiple-include - guard to [POWERPC_FENV_PRIVATE_H]. Include next . - * sysdeps/powerpc/fpu/math_private.h: Do not include - . - * sysdeps/riscv/rvf/math_private.h: Move to .... - * sysdeps/riscv/rvf/fenv_private.h: ... here. Change - multiple-include guard to [RISCV_FENV_PRIVATE_H]. Include next - . - * sysdeps/sparc/fpu/fenv_private.h: Change multiple-include guard - to [SPARC_FENV_PRIVATE_H]. Include next . - * sysdeps/sparc/fpu/math_private.h: Remove. - * sysdeps/i386/fpu/fenv_private.h: Move to .... - * sysdeps/x86/fpu/fenv_private.h: ... here. Change - multiple-include guard to [X86_FENV_PRIVATE_H]. Include next - . - * sysdeps/x86_64/fpu/math_private.h: Do not include - . - -2018-08-28 Florian Weimer - - [BZ #23578] - * posix/tst-regcomp-truncated.c: New file. - * posix/Makefile (tests): Add it. - (tst-regcomp-truncated.out): Depend on generated locales. - -2018-08-28 Florian Weimer - - * support/test-container.c (main): Treat unshare failure with - EPERM as an unsupported test. - -2018-08-28 Florian Weimer - - [BZ #23520] - nscd: Fix use-after-free in addgetnetgrentX and its callers. - * nscd/netgroupcache.c - (addgetnetgrentX): Add tofreep parameter. Do not free - heap-allocated buffer. - (addinnetgrX): Free buffer allocated bt addgetnetgrentX. - (addgetnetgrentX_ignore): New function. - (addgetnetgrent): Call it. - (readdgetnetgrent): Likewise. - -2018-08-28 Rajalakshmi Srinivasaraghavan - - * string/memmem.c: Use memcmp for first match. - -2018-08-28 Rafal Luzynski - - [BZ #17426] - * localedata/locales/en_IN (d_fmt): Use "%d/%m/%y". - -2018-08-27 DJ Delorie - - * support/Makefile (others): Don't list programs explicitly as a - dependency of "others". - -2018-08-27 Joseph Myers - - * sysdeps/generic/math-tests-trap-force.h: New file. - * sysdeps/generic/math-tests.h: Include . - (EXCEPTION_SET_FORCES_TRAP): Do not define here. - * sysdeps/powerpc/math-tests.h: Remove file. - * sysdeps/powerpc/fpu/math-tests-trap-force.h: New file. - -2018-08-27 Martin Kuchta - Torvald Riegel - - [BZ #23538] - * nptl/pthread_cond_common.c (__condvar_quiesce_and_switch_g1): - Update r to include the set wake-request flag if waiters are - remaining after spinning. - -2018-08-27 Joseph Myers - - * sysdeps/gnu/netinet/udp.h (UDP_SEGMENT): New macro. - -2018-08-25 Paul Eggert - - [BZ #23578] - regex: fix uninitialized memory access - I introduced this bug into gnulib in commit - 8335a4d6c7b4448cd0bcb6d0bebf1d456bcfdb17 dated 2006-04-10; - eventually it was merged into glibc. The bug was found by - project-repo and reported here: - https://lists.gnu.org/r/sed-devel/2018-08/msg00017.html - Diagnosis and draft fix reported by Assaf Gordon here: - https://lists.gnu.org/r/bug-gnulib/2018-08/msg00071.html - https://lists.gnu.org/r/bug-gnulib/2018-08/msg00142.html - * posix/regex_internal.c (build_wcs_upper_buffer): - Fix bug when mbrtowc returns 0. - -2018-08-24 Carlos O'Donell - - * po/be.po: Update translation. - -2018-08-24 DJ Delorie - - * support/Makefile (LDLIBS-links-dso-program): Add -lgcc and - $(libunwind). - -2018-08-24 Paul Pluzhnikov - - [BZ #23400] - * stdlib/test-bz22786.c (do_test): Fix undefined behavior, don't - create temporary files in source tree. - -2018-08-24 Joseph Myers - - * sysdeps/generic/math-tests-trap.h: New file. - * sysdeps/generic/math-tests.h: Include . - (EXCEPTION_ENABLE_SUPPORTED): Do not define here. - * sysdeps/aarch64/math-tests.h: Remove file. - * sysdeps/arm/math-tests.h: Likewise. - * sysdeps/riscv/math-tests.h: Likewise. - * sysdeps/aarch64/math-tests-trap.h: New file. - * sysdeps/arm/math-tests-trap.h: Likewise. - * sysdeps/riscv/math-tests-trap.h: Likewise. - -2018-08-24 Wilco Dijkstra - - * math/Makefile: Remove empty files k_sin(f).c, k_cos(f).c. - Remove unused files e_rem_pio2(f).c, k_rem_pio2f.c. - * sysdeps/i386/fpu/e_rem_pio2.c: Delete file. - * sysdeps/ia64/fpu/e_rem_pio2.c: Likewise. - * sysdeps/ia64/fpu/e_rem_pio2f.c: Likewise. - * sysdeps/ia64/fpu/k_rem_pio2f.c: Likewise. - * sysdeps/ieee754/dbl-64/e_rem_pio2.c: Likewise. - * sysdeps/ieee754/dbl-64/k_cos.c: Likewise. - * sysdeps/ieee754/dbl-64/k_sin.c: Likewise. - * sysdeps/ieee754/flt-32/e_rem_pio2f.c: Likewise. - * sysdeps/ieee754/flt-32/k_cosf.c: Likewise. - * sysdeps/ieee754/flt-32/k_rem_pio2f.c: Likewise. - * sysdeps/ieee754/flt-32/k_sinf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/e_rem_pio2.c: Likewise - * sysdeps/m68k/m680x0/fpu/e_rem_pio2f.c: Likewise - * sysdeps/m68k/m680x0/fpu/k_rem_pio2f.c: Likewise - * sysdeps/powerpc/fpu/e_rem_pio2f.c: Likewise. - * sysdeps/powerpc/fpu/k_rem_pio2f.c: Likewise. - -2018-08-23 Joseph Myers - - * sysdeps/generic/math-tests-exceptions.h: New file. - * sysdeps/generic/math-tests.h: Include . - (EXCEPTION_TESTS_float): Do not define here. - (EXCEPTION_TESTS_double): Likewise. - (EXCEPTION_TESTS_long_double): Likewise. - (EXCEPTION_TESTS_float128): Likewise. - * sysdeps/arm/math-tests.h [__SOFTFP__] (EXCEPTION_TESTS_float): - Likewise. - [__SOFTFP__] (EXCEPTION_TESTS_double): Likewise. - [__SOFTFP__] (EXCEPTION_TESTS_long_double): Likewise. - * sysdeps/arm/nofpu/math-tests-exceptions.h: New file. - * sysdeps/m68k/coldfire/math-tests.h: Remove file. - * sysdeps/mips/math-tests.h: Likewise. - * sysdeps/nios2/math-tests.h: Likewise. - * sysdeps/riscv/math-tests.h [!__riscv_flen] - (EXCEPTION_TESTS_float): Do not define here. - [!__riscv_flen] (EXCEPTION_TESTS_double): Likewise. - [!__riscv_flen] (EXCEPTION_TESTS_long_double): Likewise. - * sysdeps/riscv/nofpu/math-tests-exceptions.h: New file. - -2018-08-23 Wilco Dijkstra - - * NEWS: Move optimized sinf entry to 2.29. - -2018-08-23 Wilco Dijkstra - - * sysdeps/ieee754/flt-32/s_tanf.c (__tanf): Use fast range reduction. - -2018-08-22 DJ Delorie - - * Makefile (testroot.pristine): New rules to initialize the - test-in-container "testroot". - * Makerules (all-testsuite): Add tests-container. - * Rules (tests-expected): Add tests-container. - (binaries-all-tests): Likewise. - (tests-container): New, run these tests in the testroot container. - * support/Makefile (others): Add *-container, support_paths.c, - xmkdirp, and links-dso-program. - * support/links-dso-program-c.c: New. - * support/links-dso-program.cc: New. - * support/test-container.c: New. - * support/shell-container.c: New. - * support/echo-container.c: New. - * support/true-container.c: New. - * support/xmkdirp.c: New. - * support/xsymlink.c: New. - * support/support_paths.c: New. - * support/support.h: Add support paths prototypes. - * support/xunistd.h: Add xmkdirp () and xsymlink (). - - * nss/tst-nss-test3.c: Convert to test-in-container. - * nss/tst-nss-test3.root/: New. - -2018-08-22 Paul Eggert - - regex: port Gnulib code to z/OS POSIX environment - Problem reported by Arnold Robbins in: - https://lists.gnu.org/r/bug-gnulib/2018-08/msg00129.html - * posix/regex_internal.h (__iswalnum, __towlower, __towupper) [!_LIBC]: - Undef. - -2018-08-22 Joseph Myers - - * math/test-double-vlen2.h: Don't include . - (ROUNDING_TESTS_double): Remove. - * math/test-double-vlen4.h: Don't include . - (ROUNDING_TESTS_double): Remove. - * math/test-double-vlen8.h: Don't include . - (ROUNDING_TESTS_double): Remove. - * math/test-float-vlen16.h: Don't include . - (ROUNDING_TESTS_float): Remove. - * math/test-float-vlen4.h: Don't include . - (ROUNDING_TESTS_float): Remove. - * math/test-float-vlen8.h: Don't include . - (ROUNDING_TESTS_float): Remove. - * math/libm-test-driver.c (IF_ROUND_INIT_FE_DOWNWARD): Check - !TEST_MATHVEC here. - (IF_ROUND_INIT_FE_TOWARDZERO): Likewise. - (IF_ROUND_INIT_FE_UPWARD): Likewise. - - * sysdeps/generic/math-tests-rounding.h: New file. - * sysdeps/generic/math-tests.h: Include . - (ROUNDING_TESTS_float): Do not define here. - (ROUNDING_TESTS_double): Likewise. - (ROUNDING_TESTS_long_double): Likewise. - (ROUNDING_TESTS_float128): Likewise. - * math/test-double-vlen2.h: Include . - (ROUNDING_TESTS_double): Undefine before defining. - * math/test-double-vlen4.h: Include . - (ROUNDING_TESTS_double): Undefine before defining. - * math/test-double-vlen8.h: Include . - (ROUNDING_TESTS_double): Undefine before defining. - * math/test-float-vlen16.h: Include . - (ROUNDING_TESTS_float): Undefine before defining. - * math/test-float-vlen4.h: Include . - (ROUNDING_TESTS_float): Undefine before defining. - * math/test-float-vlen8.h: Include . - (ROUNDING_TESTS_float): Undefine before defining. - * sysdeps/arm/nofpu/math-tests-rounding.h: New file. - * sysdeps/arm/math-tests.h [__SOFTFP__] (ROUNDING_TESTS_float): Do - not define here. - [__SOFTFP__] (ROUNDING_TESTS_double): Likewise. - [__SOFTFP__] (ROUNDING_TESTS_long_double): Likewise. - * sysdeps/riscv/nofpu/math-tests-rounding.h: New file. - * sysdeps/riscv/math-tests.h [!__riscv_flen] - (ROUNDING_TESTS_float): Do not define here. - [!__riscv_flen] (ROUNDING_TESTS_double): Likewise. - [!__risv_flen] (ROUNDING_TESTS_long_double): Likewise. - * sysdeps/m68k/coldfire/math-tests.h [!__mcffpu__] - (ROUNDING_TESTS_float): Likewise. - [!__mcffpu__] (ROUNDING_TESTS_double): Likewise. - [!__mcffpu__] (ROUNDING_TESTS_long_double): Likewise. - * sysdeps/mips/math-tests.h [__mips_soft_float] - (ROUNDING_TESTS_float): Likewise. - [__mips_soft_float] (ROUNDING_TESTS_double): Likewise. - [__mips_soft_float] (ROUNDING_TESTS_long_double): Likewise. - * sysdeps/nios2/math-tests.h (ROUNDING_TESTS_float): Likewise. - (ROUNDING_TESTS_double): Likewise. - (ROUNDING_TESTS_long_double): Likewise. - -2018-08-21 Tobias Klauser - - * sysdeps/unix/sysv/linux/bits/socket.h (PF_MAX): Set to 45. - (PF_XDP): New macro. - (AF_XDP): New macro. - (SOL_XDP): New macro. - -2018-08-21 Joseph Myers - - * sysdeps/gnu/netinet/tcp.h (TCP_ZEROCOPY_RECEIVE): New macro. - (TCP_INQ): Likewise. - (TCP_CM_INQ): Likewise. - (TCP_REPAIR_ON): Likewise. - (TCP_REPAIR_OFF): Likewise. - (TCP_REPAIR_OFF_NO_WP): Likewise. - (struct tcp_zerocopy_receive): New type. - -2018-08-21 Florian Weimer - - * support/support.h (support_descriptor_supports_holes): Declare. - * support/Makefile (libsupport-routines): Add - support_descriptor_supports_holes. - * support/support_descriptor_supports_holes.c: New file. - * io/tst-copy_file_range.c: Call support_descriptor_supports_holes - and stop testing if holes are not supported. - * io/test-lfs.c (do_prepare): Likewise. - * sysdeps/unix/sysv/linux/tst-fallocate-common.c (do_prepare): - Likewise. - * timezone/tst-tzset.c (create_tz_file): Likewise. - * misc/tst-preadvwritev-common.c (temp_fd_supports_holes) New - variable. - (do_prepare): Set it. - * misc/tst-preadvwritev64.c (do_test): Use temp_fd_supports_holes. - -2018-08-21 Florian Weimer - - [BZ #17248] - * Makeconfig (+cflags): Do not sort (and deduplicate). - -2018-08-21 Florian Weimer - - * debug/readlink_chk.c (__readlink_chk): Always call __readlink. - * sysdeps/unix/sysv/linux/generic/readlink_chk.c: Remove file. - -2018-08-20 Florian Weimer - - * sysdeps/unix/sysv/linux/generic/readlink_chk.c: Remove - HAVE_INLINED_SYSCALLS conditionals. Use INLINE_SYSCALL_CALL. - -2018-08-20 Joseph Myers - - * sysdeps/unix/sysv/linux/sys/signalfd.h (struct - signalfd_siginfo): Add ssi_addr_lsb, ssi_syscall, ssi_call_addr - and ssi_arch members. - - * elf/elf.c (NT_VMCOREDD): New macro. - (AT_MINSIGSTKSZ): Likewise. - -2018-08-20 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Remove s_sinf-ppc64, s_sinf-power8, - s_cosf-ppc64 and s_cosf-power8. - * sysdeps/powerpc/fpu/s_cosf.c: Remove file. - * sysdeps/powerpc/fpu/s_sinf.c: Likewise. - * sysdeps/powerpc/fpu/k_sinf.c: Likewise. - * sysdeps/powerpc/fpu/k_cosf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf.c: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_cosf.S: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_sinf.S: Likewise. - -2018-08-17 Florian Weimer - - * sysdeps/s390/fpu/libm-test-ulps: Regenerate. - -2018-08-17 Istvan Kurucsai - - * malloc/malloc.c (_int_malloc): Additional binning code checks. - -2018-08-16 Florian Weimer - - * configure.ac: Add --with-nonshared-cflags option. - * config.make.in (extra-nonshared-cflags): Set variable. - * Makeconfig (CFLAGS-.oS): Use it. - * manual/install.texi (Configuring and compiling): Document - --with-nonshared-cflags. - * configure: Regenerate. - * INSTALL: Likewise. - -2018-08-16 Florian Weimer - - * Makeconfig (ASFLAGS): Always append required assembler flags. - -2018-08-16 Moritz Eckert - - * malloc/malloc.c (_int_free): Check for corrupt prev_size vs size. - (malloc_consolidate): Likewise. - -2018-08-16 Pochang Chen - - * malloc/malloc.c (_int_malloc.c): Verify size of top chunk. - -2018-08-16 Siddhesh Poyarekar - - * benchtests/bench-strlen.c (do_test): Allocate buffers before - every strlen call. - - * benchtests/bench-strlen.c: Print performance numbers in json. - -2018-08-16 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/multiarch/Makefile - (sysdep_routines): Build strcmp-power9 and strncmp-power9 - only for little endian. - * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c - (strncmp): Move __strncmp_power9 inside ifdef __LITTLE_ENDIAN__. - (STRCMP): Move __strcmp_power9 inside ifdef __LITTLE_ENDIAN__. - * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: - Add check for little endian. - * sysdeps/powerpc/powerpc64/multiarch/strcmp.c - (__strcmp_power9): Add check for little endian. - * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: - Add check for little endian. - * sysdeps/powerpc/powerpc64/multiarch/strncmp.c - (__strncmp_power9): Add check for little endian. - * sysdeps/powerpc/powerpc64/power9/strcmp.S: Removed ifdef - __LITTLE_ENDIAN__ and moved to sysdeps/powerpc/powerpc64/le/power9. - * sysdeps/powerpc/powerpc64/power9/strncmp.S: Likewise. - * sysdeps/powerpc/powerpc64/le/power9/strcmp.S: New file. - * sysdeps/powerpc/powerpc64/le/power9/strncmp.S: Likewise. - -2018-08-15 Siddhesh Poyarekar - - * sysdeps/aarch64/strlen.S (__strlen): Rename to STRLEN. - [!STRLEN](STRLEN): Set to __strlen. - * sysdeps/aarch64/multiarch/strlen.c: New file. - * sysdeps/aarch64/multiarch/strlen_generic.S: Likewise. - * sysdeps/aarch64/multiarch/strlen_asimd.S: Likewise. - * sysdeps/aarch64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add strlen. - * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add - strlen_generic and strlen_asimd. - -2018-08-15 Wilco Dijkstra - - * sysdeps/ieee754/flt-32/e_lgammaf_r.c (sin_pif): Use __sinf/__cosf. - * sysdeps/ieee754/flt-32/k_cosf.c (__kernel_cosf): Remove all code. - * sysdeps/ieee754/flt-32/k_sinf.c (__kernel_sinf): Likewise. - -2018-08-15 Wilco Dijkstra - - * sysdeps/x86_64/fpu/libm-test-ulps: Regenerate to fix spaces. - -2018-08-14 Florian Weimer - - [BZ #23519] - * include/stdio.h (__vfxprintf): Declare. - * stdio-common/fxprintf.c (__vfxprintf): New function. - (__fxprintf): Call it. - * misc/err.c (convert_and_print): Remove function. - (vwarnx, vwarn): Call __fxprintf and __vfxprintf. - * misc/error.c [_LIBC] (error_tail): Call __vfxprintf. - * misc/Makefile (tests): Add tst-warn-wide. - * misc/tst-warn-wide.c: New file. - -2018-08-14 Wilco Dijkstra - Szabolcs Nagy - - * NEWS: Mention sinf, cosf, sincosf. - * sysdeps/aarch64/libm-test-ulps: Update ULP for sinf, cosf, sincosf. - * sysdeps/x86_64/fpu/libm-test-ulps: Update ULP for sinf and cosf. - * sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: Add definitions of - constants rather than including generic sincosf.h. - * sysdeps/x86_64/fpu/s_sincosf_data.c: Remove. - * sysdeps/ieee754/flt-32/s_cosf.c (cosf): Rewrite. - * sysdeps/ieee754/flt-32/s_sincosf.h (reduced_sin): Remove. - (reduced_cos): Remove. - (sinf_poly): New function. - * sysdeps/ieee754/flt-32/s_sinf.c (sinf): Rewrite. - -2018-08-14 Florian Weimer - - [BZ #23521] - [BZ #23522] - * nss/nss_files/files-alias.c (get_next_alias): During :include: - processing, bail out if no room, and close the stream before - returning ERANGE. - * nss/Makefile (tests): Add tst-nss-files-alias-leak. - (tst-nss-files-alias-leak): Link with libdl. - (tst-nss-files-alias-leak.out): Depend on nss_files. - - * nss/tst-nss-files-alias-leak.c: New file. - -2018-08-14 Florian Weimer - - * nscd/nscd_conf.c (nscd_parse_file): Deallocate old storage for - server_user, stat_user. - -2018-08-13 Joseph Myers - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 4.18. - (io_pgetevents): New syscall. - (rseq): Likewise. - - * manual/install.texi (Configuring and compiling): Do not list - tools used for testing pretty printers here. - (Tools for Compilation): List Python, PExpect and GDB here. - Update descriptions of uses of Perl and Python. - * INSTALL: Regenerate. - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - version to 4.18. - -2018-08-13 Florian Weimer - - * misc/error.c (error): Add missing va_end call. - (error_at_line): Likewise. - -2018-08-13 Florian Weimer - - * stdlib/mbstowcs.c (mbstowcs): Remove outdated comment. - -2018-08-11 Siddhesh Poyarekar - - * benchtests/scripts/benchout.schema.json (properties): Add - new properties. - - * benchtests/bench-skeleton.c (main): Add duration and - iterations attributes. - -2018-08-10 Paul Eggert - - regex: Gnulib unibyte RRI uses bytes not chars - Adjust the non-glibc code to agree with what Gawk needs for - rational range interpretation (RRI) for regular expression ranges. - In unibyte locales, Gawk wants ranges to use the underlying byte - rather than the character code point. This change does not affect - glibc proper. - * posix/regcomp.c (parse_byte) [!LIBC && RE_ENABLE_I18N]: - In unibyte locales, use the byte value rather than - running it through btowc. - -2018-08-10 Joseph Myers - - * sysdeps/generic/math-tests-snan.h: New file. - * sysdeps/generic/math-tests.h: Include . - (SNAN_TESTS_float): Do not define here. - (SNAN_TESTS_double): Likewise. - (SNAN_TESTS_long_double): Likewise. - (SNAN_TESTS_float128): Likewise. - * sysdeps/i386/fpu/math-tests-snan.h: New file. - * sysdeps/i386/fpu/math-tests.h: Remove file. - * sysdeps/ia64/math-tests-snan.h: New file. - * sysdeps/ia64/math-tests.h: Remove file. - * sysdeps/x86/math-tests.h: Likewise. - * sysdeps/x86_64/fpu/math-tests-snan.h: New file. - -2018-08-10 Wilco Dijkstra - Szabolcs Nagy - - * math/Makefile: Add s_sincosf_data.c. - * sysdeps/ia64/fpu/s_sincosf_data.c: New file. - * sysdeps/ieee754/flt-32/s_sincosf.h (abstop12): Add new function. - (sincosf_poly): Likewise. - (reduce_small): Likewise. - (reduce_large): Likewise. - * sysdeps/ieee754/flt-32/s_sincosf.c (sincosf): Rewrite. - * sysdeps/ieee754/flt-32/s_sincosf_data.c: New file with sincosf data. - * sysdeps/m68k/m680x0/fpu/s_sincosf_data.c: New file. - * sysdeps/x86_64/fpu/s_sincosf_data.c: New file. - -2018-08-10 Wilco Dijkstra - Szabolcs Nagy - - * sysdeps/aarch64/fpu/math_private.h (roundtoint): Use round. - (converttoint): Use lround. - * sysdeps/ieee754/flt-32/math_config.h (roundtoint): Declare and - document the semantics when TOINT_INTRINSICS is set. - (converttoint): Likewise. - (TOINT_RINT): Remove. - (TOINT_SHIFT): Remove. - * sysdeps/ieee754/flt-32/e_expf.c (__expf): Remove the TOINT_RINT code - path. - -2018-08-10 Florian Weimer - - [BZ #23497] - * sysdeps/unix/sysv/linux/getdents64.c (handle_overflow): New - function. - (__old_getdents64): Use getdents64. Convert entries without - moving them. - * sysdeps/unix/sysv/linux/tst-readdir64-compat.c: New file. - * sysdeps/unix/sysv/linux/Makefile (tests-internal): Add - tst-readdir64-compat. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-32/s390-mcount.S (_mcount): - Fix unwind. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-64/Versions (__fentry__): Add. - * sysdeps/s390/s390-64/s390x-mcount.S: Move the common - code to s390x-mcount.h and #include it. - * sysdeps/s390/s390-64/s390x-mcount.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist - (__fentry__): Add. - -2018-08-10 Ilya Leoshkevich - - * stdlib/Versions: Remove __fentry__. - * sysdeps/i386/Versions: Add __fentry__. - * sysdeps/x86_64/Versions: Add __fentry__. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/Makefile: Register the new tests. - * sysdeps/s390/tst-dl-runtime-mod.S: New file. - * sysdeps/s390/tst-dl-runtime-profile-audit.c: New file. - * sysdeps/s390/tst-dl-runtime-profile-noaudit.c: New file. - * sysdeps/s390/tst-dl-runtime-resolve-audit.c: New file. - * sysdeps/s390/tst-dl-runtime-resolve-noaudit.c: New file. - * sysdeps/s390/tst-dl-runtime.c: New file. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_profile): - Do not clobber R0. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve): - Do not clobber R0. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_profile): - Do not clobber R0. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve): - Do not clobber R0. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_profile): - Use symbolic offsets for stack variables. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve): - Use symbolic offsets for stack variables. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_profile): - Use symbolic offsets for stack variables. - -2018-08-10 Ilya Leoshkevich - - * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve): - Use symbolic offsets for stack variables. - -2018-08-09 Joseph Myers - - * math/gen-libm-test.py: New file. - * math/gen-libm-test.pl: Remove. - * math/Makefile [$(PERL) != no]: Change condition to [PYTHON]. - ($(objpfx)libm-test-ulps.h): Use gen-libm-test.py instead of - gen-libm-test.pl. - ($(libm-test-c-noauto-obj)): Likewise. - ($(libm-test-c-auto-obj)): Likewise. - ($(libm-test-c-narrow-obj)): Likewise. - (regen-ulps): Likewise. - * math/README.libm-test: Update references to gen-libm-test.pl. - * math/libm-test-driver.c (struct test_fj_f_data): Update comment - referencing gen-libm-test.pl. - * math/libm-test-nexttoward.inc (nexttoward_test_data): Likewise. - * math/libm-test-support.c: Likewise. - * math/libm-test-support.h: Likewise. - * sysdeps/generic/libm-test-ulps: Likewise. - -2018-08-08 Siddhesh Poyarekar - - * sysdeps/aarch64/strlen.S [TEST_PAGE_CROSS](MIN_PAGE_SIZE): - Fix value. - -2018-08-08 Joseph Myers - - * math/libm-test-nextdown.inc (do_test): Move comment to .... - * math/libm-test-nexttoward.inc (nexttoward_test_data): ... here. - -2018-08-08 Samuel Thibault - - * htl/Versions (__pthread_getspecific, __pthread_setspecific): Add - symbols. - * sysdeps/htl/pthreadP.h [IS_IN (libpthread)] (__pthread_getspecific, - __pthread_setspecific): Add hidden proto. - * sysdeps/htl/pt-getspecific.c (__pthread_getspecific): Add hidden def. - * sysdeps/htl/pt-setspecific.c (__pthread_setspecific): Add hidden def. - -2018-08-07 Siddhesh Poyarekar - - * benchtests/bench-string.h (buf1_size, buf2_size): New - variables. - (init_sizes): New function. - (test_init): Use it. - (alloc_buf, exit_error): New functions. - (alloc_bufs): Use ALLOC_BUF. - (realloc_bufs): Remove. - * benchtests/bench-memcmp.c (do_test): Adjust. - * benchtests/bench-memset-large.c (do_test): Likewise. - * benchtests/bench-memset-walk.c (do_test): Likewise. - * benchtests/bench-memset.c (do_test): Likewise. - * benchtests/bench-strncmp.c (do_test): Likewise. - -2018-08-06 Andreas Schwab - - * sysdeps/riscv/nptl/tls.h (DB_THREAD_SELF): Use REGISTER instead - of CONST_THREAD_AREA. - -2018-08-06 H.J. Lu - - * sysdeps/x86/cpu-features.h (STATE_SAVE_OFFSET): Removed. - (STATE_SAVE_MASK): Likewise. - Don't check __ASSEMBLER__ to include . - * sysdeps/x86/sysdep.h (STATE_SAVE_OFFSET): New. - (STATE_SAVE_MASK): Likewise. - * sysdeps/x86_64/dl-trampoline.S: Include - instead of . - -2018-08-03 DJ Delorie - - * sysdeps/riscv/rvf/math_private.h (libc_feholdexcept_setround_riscv): - Move libc_fesetround_riscv after libc_feholdexcept_riscv. - - * sysdeps/riscv/rv64/rvd/libm-test-ulps: Update. - -2018-08-03 Joseph Myers - - * math/libm-test-ilogb.inc (ilogb_test_data): Use ',' not ';' - after TEST_* calls. - * math/libm-test-llogb.inc (llogb_test_data): Likewise. - * math/libm-test-logb.inc (logb_test_data): Likewise. - -2018-08-03 Wilco Dijkstra - - * string/strcasestr.c (STRCASESTR): Simplify and speedup first match. - * string/strstr.c (AVAILABLE): Likewise. - -2018-08-03 H.J. Lu - - * sysdeps/i386/i686/multiarch/bzero-ia32.S: Don't include - . - * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core-avx2.S: Likewise. - * sysdeps/x86_64/multiarch/memset-sse2-unaligned-erms.S: Likewise. - -2018-08-03 Carlos O'Donell - - * po/be.po: Update translation. - - * po/be.po: Update translation. - -2018-08-03 H.J. Lu - - * sysdeps/x86/cpu-features-offsets.sym - (rtld_global_ro_offsetof): Removed. - (CPU_FEATURES_SIZE): Likewise. - (CPUID_OFFSET): Likewise. - (CPUID_SIZE): Likewise. - (CPUID_EAX_OFFSET): Likewise. - (CPUID_EBX_OFFSET): Likewise. - (CPUID_ECX_OFFSET): Likewise. - (CPUID_EDX_OFFSET): Likewise. - (FAMILY_OFFSET): Likewise. - (MODEL_OFFSET): Likewise. - (FEATURE_OFFSET): Likewise. - (FEATURE_SIZ): Likewise. - (COMMON_CPUID_INDEX_1): Likewise. - (COMMON_CPUID_INDEX_7): Likewise. - (FEATURE_INDEX_1): Likewise. - (RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET): Updated. - -2018-08-02 Carlos O'Donell - - * localedata/Makefile (INSTALL-SUPPORTED-LOCALES): Remove. - (INSTALL-SUPPORTED-LOCALE-ARCHIVE): Define. - (INSTALL-SUPPORTED-LOCALE-FILES): Define. - (install-locales): Depend on install-locale-archive. - (install-locale-archive): Define. - (install-locale-files): Define. - (build-one-locale): Define macro. - * manual/install.texi (Running make install): Document. - * manual/INSTALL: Regenerate. - -2018-08-02 Siddhesh Poyarekar - - * benchtests/scripts/compare_strings.py: Import traceback. - (parse_file): Pretty-print error. - - * NEWS: Mention the change. - * elf/dl-tunables.list: Rename tune namespace to cpu. - * sysdeps/powerpc/dl-tunables.list: Likewise. - * sysdeps/x86/dl-tunables.list: Likewise. - * sysdeps/aarch64/dl-tunables.list: Rename tune.cpu to - cpu.name. - * elf/dl-hwcaps.c (_dl_important_hwcaps): Adjust. - * elf/dl-hwcaps.h (GET_HWCAP_MASK): Likewise. - * manual/README.tunables: Likewise. - * manual/tunables.texi: Likewise. - * sysdeps/powerpc/cpu-features.c: Likewise. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c - (init_cpu_features): Likewise. - * sysdeps/x86/cpu-features.c: Likewise. - * sysdeps/x86/cpu-features.h: Likewise. - * sysdeps/x86/cpu-tunables.c: Likewise. - * sysdeps/x86_64/Makefile: Likewise. - * sysdeps/x86/dl-cet.c: Likewise. - -2018-08-02 Joseph Myers - - [BZ #23479] - * sysdeps/mips/bits/fenv.h (FE_INEXACT): Define only if - [__mips_hard_float]. - (FE_UNDERFLOW): Likewise. - (FE_OVERFLOW): Likewise. - (FE_DIVBYZERO): Likewise. - (FE_INVALID): Likewise. - (FE_ALL_EXCEPT): Define to 0 if [!__mips_hard_float]. - (FE_TOWARDZERO): Define only if [__mips_hard_float]. - (FE_UPWARD): Likewise. - (FE_DOWNWARD): Likewise. - (__FE_UNDEFINED): Define if [!__mips_hard_float] - (FE_NOMASK_ENV): Define only if [__mips_hard_float]. - * sysdeps/mips/mips64/sfp-machine.h (_FP_DECL_EX): Define only if - [__mips_hard_float]. - (FP_ROUNDMODE): Likewise. - (FP_RND_NEAREST): Likewise. - (FP_RND_ZERO): Likewise. - (FP_RND_PINF): Likewise. - (FP_RND_MINF): Likewise. - (FP_EX_INVALID): Likewise. - (FP_EX_OVERFLOW): Likewise. - (FP_EX_UNDERFLOW): Likewise. - (FP_EX_DIVZERO): Likewise. - (FP_EX_INEXACT): Likewise. - (FP_INIT_ROUNDMODE): Likewise. - * sysdeps/mips/nofpu/fesetenv.c: New file. - * sysdeps/mips/nofpu/feupdateenv.c: Likewise. - -2018-08-01 Joseph Myers - - * math/test-misc.c (do_test) [LDBL_MANT_DIG > DBL_MANT_DIG]: Make - code using FE_UNDERFLOW conditional on [FE_UNDERFLOW], code using - FE_OVERFLOW conditional on [FE_OVERFLOW] and code using FE_UPWARD - conditional on [FE_UPWARD]. - -2018-08-01 Paul Eggert - - regex: fix memory leak in Gnulib - Problem and fix reported by Assaf Gordon in: - https://lists.gnu.org/r/bug-gnulib/2018-07/txtqLKNwBdefE.txt - * posix/regcomp.c (free_charset) [!_LIBC]: Free range_starts and - range_ends members too, as they are defined in 'struct - re_charset_t' even if not _LIBC. This affects only Gnulib. - -2018-08-01 H.J. Lu - - * sysdeps/x86/cpu-features.c (get_common_indeces): Renamed to - ... - (get_common_indices): This. - (init_cpu_features): Updated. - -2018-08-01 Joseph Myers - - * sysdeps/generic/math-tests-snan-payload.h: New file. - * sysdeps/hppa/math-tests-snan-payload.h: Likewise. - * sysdeps/mips/math-tests-snan-payload.h: Likewise. - * sysdeps/riscv/math-tests-snan-payload.h: Likewise. - * sysdeps/generic/math-tests.h: Include - . - (SNAN_TESTS_PRESERVE_PAYLOAD): Do not define macro here. - * sysdeps/hppa/math-tests.h: Remove file. - * sysdeps/mips/math-tests.h [!__mips_nan2008] - (SNAN_TESTS_PRESERVE_PAYLOAD): Do not define macro here. - * sysdeps/riscv/math-tests.h (SNAN_TESTS_PRESERVE_PAYLOAD): - Likewise. - - * sysdeps/generic/math-tests-snan-cast.h: New file. - * sysdeps/powerpc/math-tests-snan-cast.h: Likewise. - * sysdeps/generic/math-tests.h: Include . - (SNAN_TESTS_TYPE_CAST): Do not define macro here. - * sysdeps/powerpc/math-tests.h (SNAN_TESTS_TYPE_CAST): Likewise. - -2018-08-01 Carlos O'Donel - - * version.h (RELEASE): Set to "development". - (VERSION): Set to "2.28.9000". - * NEWS (2.29): New section. - - * version.h (RELEASE): Set to "stable". - (VERSION): Set to "2.28". - * include/features.h (__GLIBC_MINOR__): Set to 2.28. - * NEWS: Add the list of bugs fixed in 2.28. - - * po/ca.po: Update to latest version. - * po/cs.po: Likewise - * po/da.po: Likewise - * po/el.po: Likewise - * po/eo.po: Likewise - * po/es.po: Likewise - * po/fi.po: Likewise - * po/fr.po: Likewise - * po/gl.po: Likewise - * po/hu.po: Likewise - * po/ia.po: Likewise - * po/id.po: Likewise - * po/it.po: Likewise - * po/ja.po: Likewise - * po/ko.po: Likewise - * po/lt.po: Likewise - * po/nb.po: Likewise - * po/nl.po: Likewise - * po/pt_BR.po: Likewise - * po/ru.po: Likewise - * po/rw.po: Likewise - * po/sk.po: Likewise - * po/sl.po: Likewise - * po/tr.po: Likewise - * po/zh_CN.po: Likewise - * po/zh_TW.po: Likewise - -2018-07-31 Samuel Thibault - - * sysdeps/mach/hurd/i386/init-first.c (init1): Move ELF hdr and TLS - initialization... - (init): ... before initializing libpthread. - - * mach/mach.h (__mach_setup_tls, mach_setup_tls): Add prototypes. - * mach/setup-thread.c (__mach_setup_thread): Move TLS setup to... - (__mach_setup_tls): ... new function. - (mach_setup_tls): New alias. - * hurd/hurdsig.c (_hurdsig_init): Call __mach_setup_tls after - __mach_setup_thread. - * sysdeps/mach/hurd/profil.c (update_waiter): Likewise. - * sysdeps/mach/hurd/setitimer.c (setitimer_locked): Likewise. - * mach/Versions [libc] (mach_setup_tls): Add symbol. - * sysdeps/mach/hurd/i386/libc.abilist (mach_setup_tls): Likewise. - -2018-07-31 Carlos O'Donell - - * manual/install.texi: Update versions. - * INSTALL: Regenerate. - - * manual/contrib.texi (Contributors): Update contributions. - -2018-07-31 Carlos O'Donell - - * po/be.po: Update translations. - -2018-07-31 Adhemerval Zanella - - * sysdeps/sh/libm-test-ulps: Update. - -2018-07-30 Carlos O'Donell - - * po/bg.po: Update translations. - * po/de.po: Likewise. - * po/hr.po: Likewise. - * po/pt_BR.po: Likewise. - * po/sv.po: Likewise. - * po/vi.po: Likewise. - -2018-07-30 H.J. Lu - - [BZ #23467] - * sysdeps/unix/sysv/linux/x86/Makefile (tests): Add - tst-cet-property-1 and tst-cet-property-2 if CET is enabled. - (CFLAGS-tst-cet-property-1.o): New. - (ASFLAGS-tst-cet-property-dep-2.o): Likewise. - ($(objpfx)tst-cet-property-2): Likewise. - ($(objpfx)tst-cet-property-2.out): Likewise. - * sysdeps/unix/sysv/linux/x86/tst-cet-property-1.c: New file. - * sysdeps/unix/sysv/linux/x86/tst-cet-property-2.c: Likewise. - * sysdeps/unix/sysv/linux/x86/tst-cet-property-dep-2.S: Likewise. - * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Parse - each property item until GNU_PROPERTY_X86_FEATURE_1_AND is found. - -2018-07-30 H.J. Lu - - [BZ #23458] - * sysdeps/x86/Makefile (tests): Add tst-get-cpu-features-static. - -2018-07-28 Samuel Thibault - - * sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read, - __sbrk): Do not set attribute_hidden. - * sysdeps/mach/hurd/not-errno.h: New file. - * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly. - * sysdeps/mach/hurd/i386/localplt.data: Update accordingly. - -2018-07-27 Carlos O'Donell - - * po/uk.po: Update translations. - * po/cs.po: Likewise. - * po/pl.po: Likewise. - -2018-07-27 H.J. Lu - - * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Don't - parse beyond the note end. - -2018-07-27 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/tst-ofdlocks.c: Return unsupported if - kernel does not support OFD locks. - * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Likewise. - -2018-07-27 Samuel Thibault - - * sysdeps/mach/hurd/Versions (libc): Make __access and - __access_noerrno external so they can override the ld symbols. - (ld): Make __access, __read, __sbrk, __strtoul_internal, __write, - __writev, __open64, __access_noerrno extern so they can be overrided. - * sysdeps/mach/hurd/i386/libc.abilist: Update accordingly. - * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly. - -2018-07-26 Carlos O'Donell - - * po/libc.pot: Regenerate. - -2018-07-26 Joseph Myers - - * sysdeps/powerpc/nofpu/libm-test-ulps: Update. - -2018-07-26 H.J. Lu - - [BZ #23459] - * sysdeps/x86/cpu-features.c (get_extended_indices): New - function. - (init_cpu_features): Call get_extended_indices for both Intel - and AMD CPUs. - * sysdeps/x86/cpu-features.h (COMMON_CPUID_INDEX_80000001): - Remove "for AMD" comment. - -2018-07-26 H.J. Lu - - [BZ # 23456] - * sysdeps/x86/cpu-features.h (index_cpu_LZCNT): Set to - COMMON_CPUID_INDEX_80000001. - -2018-07-26 Stefan Liebler - - * string/tst-xbzero-opt.c (use_test_buffer): New function. - (prepare_test_buffer): Call use_test_buffer as compiler barrier. - -2018-07-26 Florian Weimer - - * htl/lockfile.c (flockfile, funlockfile, ftrylockfile): Use weak - aliases for symbols not in the implementation namespace. - -2018-07-25 Carlos O'Donell - - [BZ #23393] - * localedata/locales/iso14651_t1_common: Deinterlace uppercase and - lowercase in LATIN script. - * localedata/Makefile (test-input): Add en_US.UTF-8. - * localedata/en_US.UTF-8.in: New file. - * posix/tst-fnmatch.input: Add comments and new tests for en_US.UTF-8, - and restore old tests. - * posix/tst-regexloc.c (do_test): Add back range expression test. - -2018-07-25 H.J. Lu - - * sysdeps/unix/sysv/linux/ia64/tst-setcontext4.c: New file. - -2018-07-25 Adhemerval Zanella - - * nptl/threads.h: Move to ... - * sysdeps/nptl/threads.h: ... here. - * sysdeps/hurd/stdc-predef.h: New file. - -2018-07-25 H.J. Lu - - * sysdeps/unix/sysv/linux/x86/Makefile (tests): Add - tst-cet-setcontext-1 if CET is enabled. - (CFLAGS-tst-cet-setcontext-1.c): Add -mshstk. - * sysdeps/unix/sysv/linux/x86/tst-cet-setcontext-1.c: New file. - -2018-07-25 Adhemerval Zanella - - * include/threads.h: Move to ... - * sysdeps/nptl/threads.h: ... here. - * sysdeps/htl/threads.h: New file. - * conform/Makefile (linknamespace-libs-ISO11): Use - static-thread-library instead of linking libpthread. - (linknamespace-libs-XPG4): Revert wrong libcrypt.a addition. - -2018-07-25 Florian Weimer - - * nptl/tst-mtx-timedlock.c (do_test): Implement carry from - nanoseconds into seconds. - * nptl/tst-cnd-basic.c (signal_parent): Lock and unlock mutex. - (do_test): Likewise. - * nptl/tst-cnd-timedwait.c (signal_parent): Likewise. - (do_test): Likewise. Avoid nanosecond overflow and spurious - timeouts due to system load. - * nptl/tst-cnd-broadcast.c (waiting_threads): New variable. - (child_wait): Increment it. - (do_test): Wait as long as necessary until all expected threads - have arrived. - -2018-07-25 Vedvyas Shanbhogue - H.J. Lu - - * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Add - __ssp. - * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Include - and "ucontext_i.h" when shadow stack is enabled. - (__push___start_context): New. - * sysdeps/unix/sysv/linux/x86_64/getcontext.S: Include - . - (__getcontext): Record the current shadow stack base. Save the - caller's shadow stack pointer and base. - * sysdeps/unix/sysv/linux/x86_64/makecontext.c: Include - , and . - (__push___start_context): New prototype. - (__makecontext): Call __push___start_context to allocate a new - shadow stack, push __start_context onto the new stack as well - as the new shadow stack. - * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Include - . - (__setcontext): Restore the target shadow stack. - * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Include - . - (__swapcontext): Record the current shadow stack base. Save - the caller's shadow stack pointer and base. Restore the target - shadow stack. - * sysdeps/unix/sysv/linux/x86_64/sysdep.h - (STACK_SIZE_TO_SHADOW_STACK_SIZE_SHIFT): New. - * sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym (oSSP): New. - -2018-07-25 H.J. Lu - - * stdlib/Makefile ((tests): Add tst-setcontext6, tst-setcontext7, - tst-setcontext8 and tst-setcontext9. - * stdlib/tst-setcontext6.c: New file. - * stdlib/tst-setcontext7.c: Likewise. - * stdlib/tst-setcontext8.c: Likewise. - * stdlib/tst-setcontext9.c: Likewise. - -2018-07-25 H.J. Lu - - * stdlib/Makefile ((tests): Add tst-setcontext5. - * stdlib/tst-setcontext5.c: New file. - -2018-07-25 H.J. Lu - - * stdlib/Makefile (tests): Add tst-setcontext4. - * stdlib/tst-setcontext4.c: New file. - -2018-07-25 H.J. Lu - - * stdlib/Makefile (tests): Add tst-swapcontext1. - * stdlib/tst-swapcontext1.c: New test. - -2018-07-25 H.J. Lu - - * sysdeps/x86/Makefile (tests): Add tst-cet-legacy-1, - tst-cet-legacy-2, tst-cet-legacy-2a, tst-cet-legacy-3, - tst-cet-legacy-4, tst-cet-legacy-4a, tst-cet-legacy-4b - and tst-cet-legacy-4c. - (modules-names): Add tst-cet-legacy-mod-1, tst-cet-legacy-mod-2 - and tst-cet-legacy-mod-4. - (CFLAGS-tst-cet-legacy-2.c): New. - (CFLAGS-tst-cet-legacy-mod-1.c): Likewise. - (CFLAGS-tst-cet-legacy-mod-2.c): Likewise. - (CFLAGS-tst-cet-legacy-3.c): Likewise. - (CFLAGS-tst-cet-legacy-4.c): Likewise. - (CFLAGS-tst-cet-legacy-mod-4.c): Likewise. - ($(objpfx)tst-cet-legacy-1): Likewise. - ($(objpfx)tst-cet-legacy-2): Likewise. - ($(objpfx)tst-cet-legacy-2.out): Likewise. - ($(objpfx)tst-cet-legacy-2a): Likewise. - ($(objpfx)tst-cet-legacy-2a.out): Likewise. - ($(objpfx)tst-cet-legacy-4): Likewise. - ($(objpfx)tst-cet-legacy-4.out): Likewise. - ($(objpfx)tst-cet-legacy-4a): Likewise. - ($(objpfx)tst-cet-legacy-4a.out): Likewise. - (tst-cet-legacy-4a-ENV): Likewise. - ($(objpfx)tst-cet-legacy-4b): Likewise. - ($(objpfx)tst-cet-legacy-4b.out): Likewise. - (tst-cet-legacy-4b-ENV): Likewise. - ($(objpfx)tst-cet-legacy-4c): Likewise. - ($(objpfx)tst-cet-legacy-4c.out): Likewise. - (tst-cet-legacy-4c-ENV): Likewise. - * sysdeps/x86/tst-cet-legacy-1.c: New file. - * sysdeps/x86/tst-cet-legacy-2.c: Likewise. - * sysdeps/x86/tst-cet-legacy-2a.c: Likewise. - * sysdeps/x86/tst-cet-legacy-3.c: Likewise. - * sysdeps/x86/tst-cet-legacy-4.c: Likewise. - * sysdeps/x86/tst-cet-legacy-4a.c: Likewise. - * sysdeps/x86/tst-cet-legacy-4b.c: Likewise. - * sysdeps/x86/tst-cet-legacy-4c.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-1.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-2.c: Likewise. - * sysdeps/x86/tst-cet-legacy-mod-4.c: Likewise. - -2018-07-25 H.J. Lu - - * sysdeps/i386/nptl/tcb-offsets.sym (SSP_BASE_OFFSET): New. - * sysdeps/i386/nptl/tls.h (tcbhead_t): Replace __glibc_reserved2 - with ssp_base. - * sysdeps/x86_64/nptl/tcb-offsets.sym (SSP_BASE_OFFSET): New. - * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Replace __glibc_reserved2 - with ssp_base. - -2018-07-25 Andreas Schwab - - [BZ #23442] - * locale/weightwc.h (findidx): Handle the case where usrc is a - prefix of cp but one character too short. - -2018-07-24 Adhemerval Zanella - - * NEWS: Add ISO C threads addition. - -2018-07-24 Florian Weimer - - * sysdeps/unix/sysv/linux/alpha/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040D00] (__ASSUME_MLOCK2) - (__ASSUME_COPY_FILE_RANGE): Undefine. Kernel support was added in - 4.13. - -2018-07-24 H.J. Lu - - * sysdeps/unix/sysv/linux/x86/include/asm/prctl.h: New file. - * sysdeps/unix/sysv/linux/x86/cpu-features.c: Include - and . - (get_cet_status): Call arch_prctl with ARCH_CET_STATUS. - * sysdeps/unix/sysv/linux/x86/dl-cet.h: Include - and . - (dl_cet_allocate_legacy_bitmap): Call arch_prctl with - ARCH_CET_LEGACY_BITMAP. - (dl_cet_disable_cet): Call arch_prctl with ARCH_CET_DISABLE. - (dl_cet_lock_cet): Call arch_prctl with ARCH_CET_LOCK. - * sysdeps/x86/libc-start.c: Include . - -2018-07-24 Florian Weimer - - * sysdeps/unix/sysv/linux/sh/kernel-features.h (__ASSUME_STATX): - Undefine. Suggested by Romain Naour . - -2018-07-24 Rical Jasan - Adhemerval Zanella - Juan Manuel Torres Palma - - [BZ #14092] - * manual/debug.texi: Update adjacent chapter name. - * manual/probes.texi: Likewise. - * manual/threads.texi (ISO C Threads): New section. - (POSIX Threads): Convert to a section. - -2018-07-24 Adhemerval Zanella - Juan Manuel Torres Palma - - [BZ# 14092] - * nptl/Makefile (tests): Add new test files. - * nptl/tst-call-once.c : New file. Tests C11 functions and types. - * nptl/tst-cnd-basic.c: Likewise. - * nptl/tst-cnd-broadcast.c: Likewise. - * nptl/tst-cnd-timedwait.c: Likewise. - * nptl/tst-mtx-basic.c: Likewise. - * nptl/tst-mtx-recursive.c: Likewise. - * nptl/tst-mtx-timedlock.c: Likewise. - * nptl/tst-mtx-trylock.c: Likewise. - * nptl/tst-thrd-basic.c: Likewise. - * nptl/tst-thrd-detach.c: Likewise. - * nptl/tst-thrd-sleep.c: Likewise. - * nptl/tst-tss-basic.c: Likewise. - -2018-07-24 Adhemerval Zanella - - [BZ #14092] - * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.28] - (thrd_current, thrd_equal, thrd_sleep, thrd_yield): Add C11 thread - symbols. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist [[GLIBC_2.28] - (call_once, cnd_broadcast, cnd_destroy, cnd_init, cnd_signal, - cnd_timedwait, cnd_wait, mtx_destroy, mtx_init, mtx_lock, - mtx_timedlock, mtx_trylock, mtx_unlokc, thrd_create, thrd_detach, - thrd_exit, thrd_join, tss_create, tss_delete, tss_get, tss_set): - Likewise. - * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Likewise. - ikewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist: - Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Likewise. - - [BZ #14092] - * conform/data/threads.h-data (thread_local): New macro. - (TSS_DTOR_ITERATIONS): Likewise. - (tss_t): New type. - (tss_dtor_t): Likewise. - (tss_create): New function. - (tss_get): Likewise. - (tss_set): Likewise. - (tss_delete): Likewise. - * nptl/Makefile (libpthread-routines): Add tss_create, tss_delete, - tss_get, and tss_set objects. - * nptl/Versions (libpthread) [GLIBC_2.28]: Likewise. - * nptl/tss_create.c: New file. - * nptl/tss_delete.c: Likewise. - * nptl/tss_get.c: Likewise. - * nptl/tss_set.c: Likewise. - * sysdeps/nptl/threads.h (thread_local): New define. - (TSS_DTOR_ITERATIONS): Likewise. - (tss_t): New typedef. - (tss_dtor_t): Likewise. - (tss_create): New prototype. - (tss_get): Likewise. - (tss_set): Likewise. - (tss_delete): Likewise. - - [BZ #14092] - * conform/data/threads.h-data (cnd_t): New type. - (cnd_init): New function. - (cnd_signal): Likewise. - (cnd_broadcast): Likewise. - (cnd_wait): Likewise. - (cnd_timedwait): Likewise. - (cnd_destroy): Likewise. - * nptl/Makefile (libpthread-routines): Add cnd_broadcast, - cnd_destroy, cnd_init, cnd_signal, cnd_timedwait, and cnd_wait - object. - * nptl/Versions (libpthread) [GLIBC_2.28]: Likewise. - * nptl/cnd_broadcast.c: New file. - * nptl/cnd_destroy.c: Likewise. - * nptl/cnd_init.c: Likewise. - * nptl/cnd_signal.c: Likewise. - * nptl/cnd_timedwait.c: Likewise. - * nptl/cnd_wait.c: Likewise. - * sysdeps/nptl/threads.h (cnd_t): New type. - (cnd_init): New prototype. - (cnd_signa): Likewise. - (cnd_broadcast): Likewise. - (cnd_wait): Likewise. - (cnd_timedwait): Likewise. - (cnd_destroy): Likewise. - - [BZ #14092] - * conform/data/threads.h-data (ONCE_FLAG_INIT): New macro. - (once_flag): New type. - (call_once): New function. - * nptl/Makefile (libpthread-routines): Add call_once object. - * nptl/Versions (libphread) [GLIBC_2.28]: Add call_once symbol. - * nptl/call_once.c: New file. - * sysdeps/nptl/threads.h (ONCE_FLAG_INIT): New define. - (once_flag): New type. - (call_once): New prototype. - - [BZ #14092] - * conform/data/threads.h-data (mtx_plain): New constant. - (mtx_recursive): Likewise. - (mtx_timed): Likewise. - (mtx_t): New type. - (mtx_init): New function. - (mtx_lock): Likewise. - (mtx_timedlock): Likewise. - (mtx_trylock): Likewise. - (mtx_unlock): Likewise. - (mtx_destroy): Likewise. - * nptl/Makefile (libpthread-routines): Add mtx_destroy, mtx_init, - mtx_lock, mtx_timedlock, mtx_trylock, and mtx_unlock object. - * nptl/Versions (libpthread) [GLIBC_2.28]): Add mtx_init, mtx_lock, - mtx_timedlock, mtx_trylock, mtx_unlock, and mtx_destroy. - * nptl/mtx_destroy.c: New file. - * nptl/mtx_init.c: Likewise. - * nptl/mtx_lock.c: Likewise. - * nptl/mtx_timedlock.c: Likewise. - * nptl/mtx_trylock.c: Likewise. - * nptl/mtx_unlock.c: Likewise. - * sysdeps/nptl/threads.h (mtx_plain): New enumeration. - (mtx_recursive): Likewise. - (mtx_timed): Likewise. - (mtx_t): New type. - (mtx_init): New prototype. - (mtx_lock): Likewise. - (mtx_timedlock): Likewise. - (mtx_trylock): Likewise. - (mtx_unlock): Likewise. - (mtx_destroy): Likewise. - - [BZ #14092] - * conform/Makefile (conformtest-headers-ISO11): Add threads.h. - (linknamespace-libs-ISO11): Add libpthread.a. - * conform/data/threads.h-data: New file: add C11 thrd_* types and - functions. - * include/stdc-predef.h (__STDC_NO_THREADS__): Remove definition. - * nptl/Makefile (headers): Add threads.h. - (libpthread-routines): Add new C11 thread thrd_create, thrd_current, - thrd_detach, thrd_equal, thrd_exit, thrd_join, thrd_sleep, and - thrd_yield. - * nptl/Versions (libpthread) [GLIBC_2.28]): Add new C11 thread - thrd_create, thrd_current, thrd_detach, thrd_equal, thrd_exit, - thrd_join, thrd_sleep, and thrd_yield symbols. - * nptl/descr.h (struct pthread): Add c11 field. - * nptl/pthreadP.h (ATTR_C11_THREAD): New define. - * nptl/pthread_create.c (START_THREAD_DEFN): Call C11 thread start - routine with expected function prototype. - (__pthread_create_2_1): Add C11 threads check based on attribute - value. - * sysdeps/unix/sysdep.h (INTERNAL_SYSCALL_CANCEL): New macro. - * nptl/thrd_create.c: New file. - * nptl/thrd_current.c: Likewise. - * nptl/thrd_detach.c: Likewise. - * nptl/thrd_equal.c: Likewise. - * nptl/thrd_exit.c: Likewise. - * nptl/thrd_join.c: Likewise. - * nptl/thrd_priv.h: Likewise. - * nptl/thrd_sleep.c: Likewise. - * nptl/thrd_yield.c: Likewise. - * include/threads.h: Likewise. - -2018-07-24 H.J. Lu - - * bits/indirect-return.h: New file. - * misc/sys/cdefs.h (__glibc_has_attribute): New. - * sysdeps/x86/bits/indirect-return.h: Likewise. - * stdlib/Makefile (headers): Add bits/indirect-return.h. - * stdlib/ucontext.h: Include . - (swapcontext): Add __INDIRECT_RETURN. - * string/tst-xbzero-opt.c (ALWAYS_INLINE): New. - (prepare_test_buffer): Use it. - -2018-07-24 Andreas Schwab - - [BZ #23448] - * iconvdata/ibm1364.c (MAX_NEEDED_OUTPUT) [FROM_LOOP]: Define. - (MAX_NEEDED_INPUT) [TO_LOOP]: Define. - -2018-07-24 H.J. Lu - - * sysdeps/unix/sysv/linux/i386/vfork.S (SYSCALL_ERROR_HANDLER): - Redefine if shadow stack is enabled. - (SYSCALL_ERROR_LABEL): Likewise. - (__vfork): Pop shadow stack and jump back to to caller directly - when shadow stack is in use. - * sysdeps/unix/sysv/linux/x86_64/vfork.S (SYSCALL_ERROR_HANDLER): - Redefine if shadow stack is enabled. - (SYSCALL_ERROR_LABEL): Likewise. - (__vfork): Pop shadow stack and jump back to to caller directly - when shadow stack is in use. - -2018-07-24 H.J. Lu - - * sysdeps/x86_64/tst-quadmod1.S (func): Add endbr64 if IBT is - enabled. - (foo): Likewise. - * sysdeps/x86_64/tst-quadmod2.S (func) : Likewise. - (foo): Likewise. - -2018-07-20 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default - binutils version to 2.31 branch. - -2018-07-20 Zong Li - - * scripts/build-many-glibcs.py (Context.checkout_tar): Change the - URL of gcc's tarball. - -2018-07-20 Florian Weimer - - [BZ #23396] - * posix/regcomp.c (build_equiv_class): When comparing weights, do - not compare an extra byte after the end of the weights. - -2018-07-20 Samuel Thibault - - * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Set multiple_threads - to 1. - * sysdeps/hurd/include/hurd/port.h [!_ISOMAC]: Do not declare libc - hidden prototypes. - * sysdeps/mach/include/mach-shortcuts-hidden.h [!_ISOMAC]: Likewise. - * sysdeps/mach/include/mach/mach_traps.h [!_ISOMAC]: Likewise. - * scripts/check-execstack.awk: Consider `xfail' variable containing a - list of libraries whose stack executability is expected. - * elf/Makefile ($(objpfx)check-execstack.out): Pass - $(check-execstack-xfail) to check-execstack.awk through `xfail' - variable. - * sysdeps/mach/hurd/i386/Makefile (check-execstack-xfail): Set to ld.so - libc.so libpthread.so. - -2018-07-20 Thomas Schwinge - - * sysdeps/mach/hurd/socket.c (__socket): Handle SOCK_CLOEXEC and - SOCK_NONBLOCK. - * sysdeps/mach/hurd/socketpair.c (__socketpair): Handle SOCK_CLOEXEC - and SOCK_NONBLOCK. - * sysdeps/mach/hurd/pipe2.c: New file, copy from pipe.c. Evolve it to - implement __pipe2. - * sysdeps/mach/hurd/pipe.c (__pipe): Reimplement using __pipe2. - -2018-07-19 Leonardo Sandoval - - * benchtests/scripts/compare_bench.py (__main__): use the argparse - library to improve command line parsing. - (__main__): make schema file as optional parameter (--schema), - defaulting to benchtests/scripts/benchout.schema.json. - (main): move out of the parsing stuff to __main_  and leave it - only as caller of main comparison functions. - -2018-07-19 H.J. Lu - - * NEWS: Add a note for Intel CET status. - * manual/install.texi: Likewise. - * INSTALL: Regenerated. - -2018-07-18 Quentin PAGÈS - - [BZ #23140] - * localedata/locales/oc_FR (mon): Rename to... - (alt_mon): This, then update October (typo fix). - (mon): New content (genitive case, month names preceded by - "de" or "d’"). - - [BZ #23422] - * localedata/locales/oc_FR (abday): Update all items. - (day): Update Wednesday and Saturday (typo fixes). - (abmon): Update all items, except May. - (d_fmt): Update "%d.%m.%Y" -> "%d/%m/%Y". - (LC_IDENTIFICATION): Bump the revision number and date. - Keep the "category" entries in alphabetic order. - (LC_ADDRESS): Remove no longer needed comment. - (LC_COLLATE): Use “copy "ca_ES"”. - (LC_NAME): Set the correct values of "name_fmt", "name_mr", and - "name_mrs". - -2018-07-18 Joseph Myers - - * grp/tst_fgetgrent.c: Include . - (main): Use mkstemp instead of tmpnam. - * io/test-utime.c (main): Likewise. - * posix/annexc.c (macrofile): Change to modifiable array. - (main): Remove macrofile here. - (get_null_defines): Use mkstemp instead of tmpnam. Do not remove - macrofile here. - (check_header): Do not remove macrofile here. - * posix/bug-getopt1.c: Include . - (do_test): Use mkstemp instead of tmpnam. - * posix/bug-getopt2.c: Include . - (do_test): Use mkstemp instead of tmpnam. - * posix/bug-getopt3.c: Include . - (do_test): Use mkstemp instead of tmpnam. - * posix/bug-getopt4.c: Include . - (do_test): Use mkstemp instead of tmpnam. - * posix/bug-getopt5.c: Include . - (do_test): Use mkstemp instead of tmpnam. - * stdio-common/bug7.c: Include and . - (main): Use mkstemp instead of tmpnam. - * stdio-common/tst-fdopen.c: Include . - (main): Use mkstemp instead of tmpnam. - * stdio-common/tst-ungetc.c: Include . - (main): use mkstemp instead of tmpnam. - * stdlib/isomac.c (macrofile): Change to modifiable array. - (main): Remove macrofile here. - (get_null_defines): Use mkstemp instead of tmpnam. Do not remove - macrofile here. - (check_header): Do not remove macrofile here. - -2018-07-18 H.J. Lu - - * manual/tunables.texi: Document glibc.tune.x86_ibt and - glibc.tune.x86_shstk. - -2018-07-18 H.J. Lu - - * NEWS: Mention --enable-cet. - * manual/install.texi: Document --enable-cet. - * INSTALL: Regenerated. - -2018-07-18 H.J. Lu - - * sysdeps/x86_64/multiarch/memcmp-sse4.S (BRANCH_TO_JMPTBL_ENTRY): - Add _CET_NOTRACK before indirect jump to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/i386/i686/multiarch/memset-sse2-rep.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/i386/i686/multiarch/strcat-sse2.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/i386/i686/multiarch/strcpy-sse2.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/i386/i686/multiarch/memcpy-ssse3.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - (BRANCH_TO_JMPTBL_ENTRY_TAIL): Likewise. - -2018-07-18 H.J. Lu - - * sysdeps/i386/i686/multiarch/memcmp-sse4.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/i386/i686/multiarch/memset-sse2.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/i386/i686/memcmp.S (memcmp): Add _CET_NOTRACK before - indirect jump to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/x86_64/multiarch/memcpy-ssse3.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - (MEMCPY): Likewise. - -2018-07-18 H.J. Lu - - * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - (MEMCPY): Likewise. - -2018-07-18 H.J. Lu - - * sysdeps/x86_64/multiarch/strcmp-sse42.S (STRCMP_SSE42): Add - _CET_NOTRACK before indirect jump to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S - (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump - to jump table. - -2018-07-18 H.J. Lu - - * sysdeps/x86_64/strcmp.S (STRCMP): Add _CET_NOTRACK before - indirect jump to jump table. - -2018-07-18 Valery Timiriliyev - - [BZ #22241] - * localedata/Makefile (test-input): Add sah_RU.UTF-8. - (LOCALES): Likewise. - * localedata/SUPPORTED (sah_RU/UTF-8): New entry. - * localedata/locales/sah_RU: New file. - * localedata/sah_RU.UTF-8.in: New file. - -2018-07-17 H.J. Lu - - * sysdeps/i386/add_n.S: Include , instead of - "sysdep.h". - (__mpn_add_n): Save and restore %ebx if IBT is enabed. Add - _CET_ENDBR to indirect jump targets and adjust jump destination - for _CET_ENDBR. - * sysdeps/i386/i686/add_n.S: Include , instead of - "sysdep.h". - (__mpn_add_n): Save and restore %ebx if IBT is enabed. Add - _CET_ENDBR to indirect jump targets and adjust jump destination - for _CET_ENDBR. - * sysdeps/i386/sub_n.S: Include , instead of - "sysdep.h". - (__mpn_sub_n): Save and restore %ebx if IBT is enabed. Add - _CET_ENDBR to indirect jump targets and adjust jump destination - for _CET_ENDBR. - -2018-07-17 H.J. Lu - - * sysdeps/x86_64/multiarch/strcmp-sse42.S (STRCMP_SSE42): Add - _CET_ENDBR. - -2018-07-17 H.J. Lu - - * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_return): Add - _CET_ENDBR. - (_dl_tlsdesc_undefweak): Likewise. - (_dl_tlsdesc_dynamic): Likewise. - (_dl_tlsdesc_resolve_abs_plus_addend): Likewise. - (_dl_tlsdesc_resolve_rel): Likewise. - (_dl_tlsdesc_resolve_rela): Likewise. - (_dl_tlsdesc_resolve_hold): Likewise. - * sysdeps/x86_64/dl-tlsdesc.S (_dl_tlsdesc_return): Likewise. - (_dl_tlsdesc_undefweak): Likewise. - (_dl_tlsdesc_dynamic): Likewise. - (_dl_tlsdesc_resolve_rela): Likewise. - (_dl_tlsdesc_resolve_hold): Likewise. - -2018-07-17 H.J. Lu - - * sysdeps/i386/crti.S (_init): Add _CET_ENDBR. - (_fini): Likewise. - * sysdeps/x86_64/crti.S (_init): Likewise. - (_fini): Likewise. - -2018-07-17 Rafal Luzynski - - [BZ #23140] - * localedata/locales/os_RU (mon): Rename to... - (alt_mon): This. - (mon): Import from CLDR (genitive case). - -2018-07-17 H.J. Lu - - * sysdeps/x86/cpu-features.c: Always include and - cet-tunables.h> when CET is enabled. - -2018-07-16 H.J. Lu - - [BZ #21598] - * configure.ac: Add --enable-cet. - * configure: Regenerated. - * elf/Makefille (all-built-dso): Add a comment. - * elf/dl-load.c (filebuf): Moved before "dynamic-link.h". - Include . - (_dl_map_object_from_fd): Call _dl_process_pt_note on PT_NOTE - segment. - * elf/dl-open.c: Include . - (dl_open_worker): Call _dl_open_check. - * elf/rtld.c: Include . - (dl_main): Call _rtld_process_pt_note on PT_NOTE segment. Call - _rtld_main_check. - * sysdeps/generic/dl-prop.h: New file. - * sysdeps/i386/dl-cet.c: Likewise. - * sysdeps/unix/sysv/linux/x86/cpu-features.c: Likewise. - * sysdeps/unix/sysv/linux/x86/dl-cet.h: Likewise. - * sysdeps/x86/cet-tunables.h: Likewise. - * sysdeps/x86/check-cet.awk: Likewise. - * sysdeps/x86/configure: Likewise. - * sysdeps/x86/configure.ac: Likewise. - * sysdeps/x86/dl-cet.c: Likewise. - * sysdeps/x86/dl-procruntime.c: Likewise. - * sysdeps/x86/dl-prop.h: Likewise. - * sysdeps/x86/libc-start.h: Likewise. - * sysdeps/x86/link_map.h: Likewise. - * sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Add - _CET_ENDBR. - (_dl_runtime_profile): Likewise. - (_dl_runtime_resolve_shstk): New. - (_dl_runtime_profile_shstk): Likewise. - * sysdeps/linux/x86/Makefile (sysdep-dl-routines): Add dl-cet - if CET is enabled. - (CFLAGS-.o): Add -fcf-protection if CET is enabled. - (CFLAGS-.os): Likewise. - (CFLAGS-.op): Likewise. - (CFLAGS-.oS): Likewise. - (asm-CPPFLAGS): Add -fcf-protection -include cet.h if CET - is enabled. - (tests-special): Add $(objpfx)check-cet.out. - (cet-built-dso): New. - (+$(cet-built-dso:=.note)): Likewise. - (common-generated): Add $(cet-built-dso:$(common-objpfx)%=%.note). - ($(objpfx)check-cet.out): New. - (generated): Add check-cet.out. - * sysdeps/x86/cpu-features.c: Include and - . - (TUNABLE_CALLBACK (set_x86_ibt)): New prototype. - (TUNABLE_CALLBACK (set_x86_shstk)): Likewise. - (init_cpu_features): Call get_cet_status to check CET status - and update dl_x86_feature_1 with CET status. Call - TUNABLE_CALLBACK (set_x86_ibt) and TUNABLE_CALLBACK - (set_x86_shstk). Disable and lock CET in libc.a. - * sysdeps/x86/cpu-tunables.c: Include . - (TUNABLE_CALLBACK (set_x86_ibt)): New function. - (TUNABLE_CALLBACK (set_x86_shstk)): Likewise. - * sysdeps/x86/sysdep.h (_CET_NOTRACK): New. - (_CET_ENDBR): Define if not defined. - (ENTRY): Add _CET_ENDBR. - * sysdeps/x86/dl-tunables.list (glibc.tune): Add x86_ibt and - x86_shstk. - * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve): Add - _CET_ENDBR. - (_dl_runtime_profile): Likewise. - -2018-07-16 Rogerio A. Cardoso - - [BZ #21895] - * sysdeps/powerpc/powerpc64/__longjmp-common.S: Remove condition code for - restore r2 on longjmp. - * sysdeps/powerpc/powerpc64/Makefile: Added tst-setjmp-bug21895-static to - test list. - Added rules to build test tst-setjmp-bug21895-static. - Added module setjmp-bug21895 and rules to build a shared object from it. - * sysdeps/powerpc/powerpc64/setjmp-bug21895.c: New test file. - * sysdeps/powerpc/powerpc64/tst-setjmp-bug21895-static.c: New test file. - -2018-07-15 Wilco Dijkstra - - * benchtests/bench-strcasestr.c: Rename __strnlen to strnlen. - * benchtests/bench-strstr.c: Likewise. - * string/memmem.c (FASTSEARCH): Define. - * string/str-two-way.h (two_way_short_needle): Minor cleanups. - Add support for FASTSEARCH. - * string/strcasestr.c (AVAILABLE): Use read-ahead __strnlen. - * string/strstr.c (AVAILABLE): Use read-ahead __strnlen. - (FASTSEARCH): Define. - * string/test-strcasestr.c: Rename __strnlen to strnlen. - * string/test-strstr.c: Likewise. - -2018-07-15 H.J. Lu - - * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: Undef - SHADOW_STACK_POINTER_OFFSET after including . - -2018-07-14 Igor Tsimbalist - H.J. Lu - - * sysdeps/i386/__longjmp.S: Include . - (__longjmp): Restore shadow stack pointer if shadow stack is - enabled, SHADOW_STACK_POINTER_OFFSET is defined and __longjmp - isn't defined for __longjmp_cancel. - * sysdeps/i386/bsd-_setjmp.S: Include . - (_setjmp): Save shadow stack pointer if shadow stack is enabled - and SHADOW_STACK_POINTER_OFFSET is defined. - * sysdeps/i386/bsd-setjmp.S: Include . - (setjmp): Save shadow stack pointer if shadow stack is enabled - and SHADOW_STACK_POINTER_OFFSET is defined. - * sysdeps/i386/setjmp.S: Include . - (__sigsetjmp): Save shadow stack pointer if shadow stack is - enabled and SHADOW_STACK_POINTER_OFFSET is defined. - * sysdeps/unix/sysv/linux/i386/____longjmp_chk.S: Include - . - (____longjmp_chk): Restore shadow stack pointer if shadow stack - is enabled and SHADOW_STACK_POINTER_OFFSET is defined. - * sysdeps/unix/sysv/linux/x86/Makefile (gen-as-const-headers): - Remove jmp_buf-ssp.sym. - * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: Include - . - (____longjmp_chk): Restore shadow stack pointer if shadow stack - is enabled and SHADOW_STACK_POINTER_OFFSET is defined. - * sysdeps/x86/Makefile (gen-as-const-headers): Add - jmp_buf-ssp.sym. - * sysdeps/x86/jmp_buf-ssp.sym: New dummy file. - * sysdeps/x86_64/__longjmp.S: Include . - (__longjmp): Restore shadow stack pointer if shadow stack is - enabled, SHADOW_STACK_POINTER_OFFSET is defined and __longjmp - isn't defined for __longjmp_cancel. - * sysdeps/x86_64/setjmp.S: Include . - (__sigsetjmp): Save shadow stack pointer if shadow stack is - enabled and SHADOW_STACK_POINTER_OFFSET is defined. - -2018-07-14 H.J. Lu - - [BZ #22563] - * nptl/pthread_create.c: Include . - (__pthread_create_2_1): Call tls_setup_tcbhead. - * sysdeps/generic/tls-setup.h: New file. - * sysdeps/x86/nptl/tls-setup.h: Likewise. - * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. - * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): - Likewise. - * sysdeps/i386/nptl/tls.h (tcbhead_t): Rename __glibc_reserved1 - to feature_1. - * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise. - * sysdeps/x86/sysdep.h (X86_FEATURE_1_IBT): New. - (X86_FEATURE_1_SHSTK): Likewise. - (CET_ENABLED): Likewise. - (IBT_ENABLED): Likewise. - (SHSTK_ENABLED): Likewise. - -2018-07-13 Rafal Luzynski - - [BZ #23208] - * localedata/Makefile (test-input): Add dsb_DE.UTF-8. - (LOCALES): Likewise. - * localedata/dsb_DE.UTF-8.in: New file. - * localedata/locales/dsb_DE (LC_COLLATE): Fix syntax error. - -2018-07-12 Florian Weimer - - * nptl/allocatestack.c [_STACK_GROWS_UP] (allocate_stack): Call - __mprotect, not mprotect. - -2018-07-11 Florian Weimer - - * io/Makefile (headers): Add bits/statx.h. - -2018-07-10 Mike FABIAN - - * localedata/charmaps/UTF-8: Use correct Unicode version 11.0.0 in comment. - * localedata/locales/i18n_ctype: Use correct Unicode version in comments - and headers. - * localedata/unicode-gen/utf8_gen.py: Add option to specify Unicode version - * localedata/unicode-gen/Makefile: Use option to specify Unicode version - for utf8_gen.py - -2018-07-10 Florian Weimer - - * io/Makefile (routines): Add statx. - (tests-internal): Add tst-statx. - * io/Versions (GLIBC_2.28): Export statx. - * io/bits/statx.h: New file. - * io/sys/stat.h [__USE_GNU]: Include it. - * io/fcntl.h [__USE_GNU] (AT_STATX_SYNC_TYPE) - (AT_STATX_SYNC_AS_STAT, AT_STATX_FORCE_SYNC, AT_STATX_DONT_SYNC): - Define. - * io/statx.c: New file. - * io/statx_generic.: Likewise. - * io/tst-statx.: Likewise. - * include/bits/statx.h: Likewise. - * sysdeps/unix/sysv/linux/kernel-features.h - [__LINUX_KERNEL_VERSION >= 0x040B00] (__ASSUME_STATX): Define. - * sysdeps/unix/sysv/linux/alpha/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040D00] (__ASSUME_STATX): Undefine. - * sysdeps/unix/sysv/linux/ia64/kernel-features.h (__ASSUME_STATX): - Undefine. - * sysdeps/unix/sysv/linux/microblaze/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040C00] (__ASSUME_STATX): Undefine. - * sysdeps/unix/sysv/linux/statx.c: New file. - * manual/filesys.texi: Note that statx is undocumented. - * sysdeps/**/libc*.abilist: Update. - -2018-07-10 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Add a comment about - a kernel issue which lead to test failure in some cases. - -2018-07-10 Florian Weimer - - [BZ #23036] - * posix/regexec.c (check_node_accept_bytes): When comparing - weights, do not compare an extra byte after the end of the - weights. - -2018-07-10 Florian Weimer - - * libio/readline.c: Fix copyright year. - * libio/tst-readline.c Likewise. - * nss/tst-nss-files-hosts-getent.c: Likewise. - -2018-07-06 Florian Weimer - - [BZ #18991] - * nss/nss_files/files-XXX.c (internal_getent): Use - __libc_readline_unlocked. Seek back to the start of the line if - parsing failes with ERANGE. - (get_contents_ret, get_contents): Remove. - * nss/tst-nss-files-hosts-getent.c: New file. - * nss/Makefile (tests): Add tst-nss-files-hosts-getent. - (tst-nss-files-hosts-getent): Link with -ldl. - -2018-07-06 Florian Weimer - - * include/stdio.h (__libc_readline_unlocked): Declare. - (__ftello64, __fseeko64): Declare aliases. - * libio/readline.c: New file. - * libio/tst-readline.c: Likewise. - (routines): Add readline. - (tests-internal): Add tst-readlime. - * libio/Versions (GLIBC_PRIVATE): Export __fseeko64, __ftello64, - __libc_readline_unlocked. - * libio/fseeko.c (__fseeko): Rename from fseeko. - (fseeko): Add alias. - [__OFF_T_MATCHES_OFF64_T] (fseeko64, __fseeko64): Likewise. - * libio/fseeko64.c (__fseeko64): Rename from fseeko64. - (fseeko64): Add alias. - * libio/ftello.c [__OFF_T_MATCHES_OFF64_T] (__ftello64): Add alias. - * libio/ftello64.c (__ftello64): Rename from ftello64. - (ftello64): Add alias. - -2018-07-06 Szabolcs Nagy - - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h (HWCAP_IMPORTANT): Add - HWCAP_ATOMICS. - -2018-07-06 Szabolcs Nagy - - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (init_cpu_features): - Use dl_hwcap without masking. - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h (HWCAP_IMPORTANT): - Remove HWCAP_CPUID. - -2018-07-06 Florian Weimer - - * conform/conformtest.pl (checknamespace): Escape literal braces - in regular expressions. - -2018-07-06 Amit Pawar - - * sysdeps/x86/cpu-features.c (get_common_indeces): - AVX_Fast_Unaligned_Load is enabled when AVX2 is detected. - * sysdeps/x86/cpu-features.c (init_cpu_features): - AVX_Fast_Unaligned_Load is disabled for Excavator core. - -2018-07-05 Florian Weimer - - * csu/Makefile (CFLAGS-static-reloc.os): Build with stack - protector. - (CFLAGS-elf-init.oS): Likewise. - -2018-07-05 Florian Weimer - Carlos O'Donell - - * debug/Makefile (CFLAGS-stack_chk_fail_local.c): Remove - $(no-stack-protector). stack_chk_fail_local.c can be compiled - with stack protector enabled because there is no risk of infinite - recursion. - -2018-07-05 Maciej W. Rozycki - - [BZ #19818] - [BZ #23307] - * libc-abis (ABSOLUTE): New ABI. - * sysdeps/unix/sysv/linux/mips/libc-abis (ABSOLUTE): New ABI. - * NEWS: Mention the new ABI. - -2018-07-05 Florian Weimer - - [BZ # 17662] - * libio/stdio.h [__USE_GNU] (RENAME_NOREPLACE, RENAME_EXCHANGE) - (RENAME_WHITEOUT): Define. - [__USE_GNU] (renameat2): Declare. - * stdio-common/Makefile (routines): Add renameat2. - (tests): Add tst-renameat2. - * stdio-common/Versions (GLIBC_2_28): Export renameat2. - * stdio-common/renameat2.c: New file. - * stdio-common/tst-renameat2.c: Likewise. - * sysdeps/unix/sysv/linux/renameat2.c: Likewise. - * manual/filesys.texi (Temporary Files): Note that renameat2 is - undocumented. - * sysdeps/unix/sysv/linux/kernel-features.h - [__LINUX_KERNEL_VERSION >= 0x030F00] (__ASSUME_RENAMEAT2): Define. - * sysdeps/unix/sysv/linux/alpha/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x031100] (__ASSUME_RENAMEAT2): Undefine. - * sysdeps/unix/sysv/linux/microblaze/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x031100] (__ASSUME_RENAMEAT2): Undefine. - * sysdeps/unix/sysv/linux/sh/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_RENAMEAT2): Undefine. - * sysdeps/unix/sysv/linux/sparc/kernel-features.h - [__LINUX_KERNEL_VERSION < 0x031000] (__ASSUME_RENAMEAT2): Undefine. - * include/stdio.h (__renameat): Add alias for renameat. - * stdio-common/renameat.c (__renameat): Rename from renameat. - Add hidden definition and alias. - * sysdeps/unix/sysv/linux/renameat.c: Likewise. - * sysdeps/mach/hurd/renameat.c: Likewise. - * sysdeps/**/libc*.abilist: Add renameat2. - -2018-07-04 Adhemerval Zanella - - * posix/bug-regex33.c: Fix build after regex sync. - -2018-07-04 Carlos O'Donell - - [BZ #23164] - * localedata/tst-langinfo-setlocale.c: New file. - * localedata/tst-langinfo-setlocale-static.c: New file. - * localedata/tst-langinfo-newlocale.c: New file. - * localedata/tst-langinfo-newlocale-static.c: New file. - * localedata/Makefile (test-srcs): Remove tst-langinfo. Add - tst-langinfo-setlocale, tst-langinfo-setlocale-static, - tst-langinfo-newlocale, tst-langinfo-newlocale-static. - (tests-static): Remove tst-langinfo-static. Add - tst-langinfo-newlocale-static, tst-langinfo-setlocale-static. - (tests-special): Remove $(objpfx)tst-langinfo.out, - $(objpfx)tst-langinfo-static.out. Add - $(objpfx)tst-langinfo-setlocale.out, - $(objpfx)tst-langinfo-newlocale.out, - $(objpfx)tst-langinfo-setlocale-static.out, - $(objpfx)tst-langinfo-newlocale-static.out. - ($(objpfx)tst-langinfo.out): Remove. - ($(objpfx)tst-langinfo-static.out): Remove. - ($(objpfx)tst-langinfo-newlocale.out): New target. - ($(objpfx)tst-langinfo-newlocale-static.out): New target. - (test-xfail-tst-langinfo-newlocale-static): Add. - ($(objpfx)tst-langinfo-setlocale.out): New target. - ($(objpfx)tst-langinfo-setlocale-static.out): New target. - * localedata/tst-langinfo.c: Call test_locale. - * localedata/tst-langinfo.sh: Add LC_MONETARY CURRENCY_SYMBOL test - data. - -2018-07-04 Florian Weimer - - testrun.sh: Implement --tool=strace, --tool=valgrind - * Makefile (testrun-script): Define variable. - (testrun.sh): Use variable. - * manual/install.texi (Tools for Compilation): make 4.0 or later - is required. - * configure.ac: Check for make 4.0 or later. - * INSTALL: Regenerate. - * configure: Likewise. - -2018-07-04 Adhemerval Zanella - - [BZ #23233] - [BZ #21163] - [BZ #18986] - [BZ #13762] - * posix/Makefile (tests): Add bug-regex37 and bug-regex38. - * posix/PCRE.tests: Remove invalid test. - * posix/bug-regex28.c: Fix expected values for used syntax. - * posix/bug-regex37.c: New file. - * posix/bug-regex38.c: Likewise. - * posix/regcomp.c: Sync with gnulib. - * posix/regex.c: Likewise. - * posix/regex.h: Likewise. - * posix/regex_internal.c: Likewise. - * posix/regex_internal.h: Likewise. - * posix/regexec.c: Likewise. - -2018-06-26 Mike FABIAN - - [BZ #23308] - * unicode-gen/Makefile (UNICODE_VERSION): Set to 11.0.0. - * localedata/unicode-gen/DerivedCoreProperties.txt: Update to Unicode 11.0.0. - * localedata/unicode-gen/EastAsianWidth.txt: likewise. - * localedata/unicode-gen/PropList.txt: likewise. - * localedata/unicode-gen/UnicodeData.txt: likewise. - * localedata/charmaps/UTF-8: Regenerate. - * localedata/locales/i18n_ctype: likewise. - * localedata/locales/tr_TR: likewise. - * localedata/locales/translit_circle: likewise. - * localedata/locales/translit_cjk_compat: likewise. - * localedata/locales/translit_combining: likewise. - * localedata/locales/translit_compat: likewise. - * localedata/locales/translit_font: likewise. - * localedata/locales/translit_fraction: likewise. - -2018-07-03 Florian Weimer - - [BZ #23363] - * stdio-common/tst-printf.c (DEC, INT, UNS, fp_test): Remove. - * stdio-common/tst-printf.sh: Adjust expected output. - * LICENSES: Update. - -2018-07-03 Adhemerval Zanella - - * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl): Remove - symbol. - -2018-07-02 Gabriel F. T. Gomes - - * stdio-common/Makefile (test-srcs): Add tst-printfsz-islongdouble. - (tests-special) Add $(objpfx)tst-printfsz-islongdouble.out. - ($(objpfx)tst-printfsz-islongdouble.out): New build and run rule. - * stdio-common/tst-printfsz-islongdouble.c: New file. - * stdio-common/tst-printfsz-islongdouble.sh: Likewise. - * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: - [subdir == stdio-common] (routines): Add ieee128-printf_size. - [subdir == stdio-common] (tests-internal): Add - test-printf-size-ieee128, and test-printf-size-ibm128. - [subdir == stdio-common] (CFLAGS-test-printf-size-ieee128.c) - (CFLAGS-test-printf-size-ibm128.c): New variables. - [subdir == stdio-common] (tests-special): Add - $(objpfx)test-printf-size-ieee128.out and - $(objpfx)test-printf-size-ibm128.out. - [subdir == stdio-common] ($(objpfx)test-printf-size-ieee128.out) - ($(objpfx)test-printf-size-ibm128.out): New build and run rules. - * sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add - __printf_sizeieee128. - * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf_size.c: - New file. - * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-size-ibm128.c: - Likewise. - * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-size-ieee128.c: - Likewise. - -2018-07-02 Szabolcs Nagy - - * sysdeps/ieee754/flt-32/e_powf.c (__powf): Use uint32_t. - (exp2f_inline): Likewise. - * sysdeps/ieee754/flt-32/math_config.h (__math_oflowf): Likewise. - (__math_uflowf): Likewise. - (__math_may_uflowf): Likewise. - (__math_divzerof): Likewise. - (__math_invalidf): Likewise. - * sysdeps/ieee754/flt-32/math_errf.c (xflowf): Likewise. - (__math_oflowf): Likewise. - (__math_uflowf): Likewise. - (__math_may_uflowf): Likewise. - (__math_divzerof): Likewise. - (__math_invalidf): Likewise. - -2018-06-29 DJ Delorie - Carlos O'Donell - - [BZ #23329] - * include/libc-symbols.h: Comment the freeres framework. - * include/set-hooks.h: Include libc-symbols.h. Fix comment. - * dlfcn/Makefile (libdl-routines): Add dlfreeres. - * dlfcn/Versions (GLIBC_PRIVATE): Add __libdl_freeres. - * dlfcn/dlerror.c: Include libc-symbols.h - (__dlerror_main_freeres): New function. - * dlfcn/dlfreeres.c: New file. - * dlfcn/sdlfreeres.c: New file. - * include/dlfcn.h: Declare __dlerror_main_freeres. - * malloc/set-freeres.c: Declare __libdl_freeres, and - __libpthread_freeres. - (__libc_subfreeres): Call __libdl_freeres, and __libpthread_freeres if - the releavant libraries are loaded. - * malloc/thread-freeres.c: Add comments. - * nptl/Makefile (libpthread-routines): Add nptlfreeres. - * nptl/Version (GLIBC_PRIVATE): Add __libpthread_freeres. - * nptl/allocatestack.c (__nptl_free_stacks): New function. - (__free_stacks): Rename to... - (free_stacks): ...this. Mark static. - (queue_stack): Call free_stacks. - * nptl/libc_pthread_init.c [SHARED] (freeres_libpthread): Delete. - * nptl/nptl-init.c: Delete delcaration of nptl_freeres. - * sysdeps/nptl/pthread-functions.h (pthread_functions): Remove - ptr_freeres element from struct. - (pthread_functions): Remove .ptr_freeres from struct initializer. - [SHARED] (nptl_freeres): Remove. - * nptl/nptlfreeres.c: New file. - * nptl/pthreadP.h - [IS_IN (libpthread) && SHARED ] (__unwind_freeres): Rename to... - [IS_IN (libpthread)] (__nptl_unwind_freeres): ...this. Mark - attribute_hidden. - (__free_stacks): Rename to... - (__nptl_stacks_freeres): ...this. - (__shm_directory_freeres): Declare. - * nptl/unwind-forcedunwind.c (__unwind_freeres): Rename to... - (__nptl_unwind_freeres): ...this. - * resolv/res-close.c: Add comment. - * resolv/resolv_conf.c: Include libc-symbols.h. - * string/strerror_l.c: Include libc-symbols.h. - * sunrpc/rpc_thread.c: Include libc-symbols.h. - * sysdeps/mach/strerror_l.c: Inlcude libc-symbols.h - * sysdeps/unix/sysv/linux/shm-directory.c (freeit): Rename to... - [IS_IN (libpthread)] (__shm_directory_freeres): ...this. - -2018-06-29 Rajalakshmi Srinivasaraghavan - - * stdlib/tst-strfmon_l.c: Add tests for long double. - -2018-06-29 Michael Wolf - - [BZ #23208] - * localedata/SUPPORTED (dsb_DE/UTF-8): New entry. - * localedata/locales/dsb_DE: New file. - -2018-06-29 Rafal Luzynski - - [BZ #23140] - * localedata/locales/hy_AM (mon): Synchronize with CLDR (lowercase, - genitive case). - (alt_mon): New entry, import from CLDR (nominative case). - -2018-06-29 Sylvain Lesage - - [BZ #22996] - * localedata/locales/es_BO (LC_PAPER): Change to “copy "en_US"”. - -2018-06-29 Siddhesh Poyarekar - - * sysdeps/aarch64/multiarch/memcpy_falkor.S (__memcpy_falkor): - Use vector registers. - - * sysdeps/aarch64/multiarch/memmove_falkor.S - (__memcpy_falkor): Use vector registers. - -2018-06-29 Martin Sebor - - * manual/stdio.texi (Customizing Printf): Mention interaction - with GCC built-ins. - -2018-06-29 Maciej W. Rozycki - - [BZ #23307] - * elf/dl-lookup.c (check_match): Do not reject a symbol whose - `st_value' is 0 if `st_shndx' is SHN_ABS. - * elf/tst-absolute-zero.c: New file. - * elf/tst-absolute-zero-lib.c: New file. - * elf/tst-absolute-zero-lib.lds: New file. - * elf/Makefile (tests): Add `tst-absolute-zero'. - (modules-names): Add `tst-absolute-zero-lib'. - (LDLIBS-tst-absolute-zero-lib.so): New variable. - ($(objpfx)tst-absolute-zero-lib.so): New dependency. - ($(objpfx)tst-absolute-zero: New dependency. - -2018-06-29 Zack Weinberg - - * configure.ac: New command-line option --disable-crypt. - Force --disable-nss-crypt when --disable-crypt is given, with a - warning if it was explicitly enabled. - * configure: Regenerate. - * config.make.in: New boolean substitution variable $(build-crypt). - * Makeconfig: Only include 'crypt' in all-subdirs and rpath-dirs - when $(build-crypt). - * manual/install.texi: Document --disable-crypt. - * INSTALL: Regenerate. - - * crypt/Makefile: Remove code conditional on $(crypt-in-libc), - which is never set. - * conform/Makefile: Only include libcrypt.a in - linknamespace-libs-xsi and linknamespace-libs-XPG4 - when $(build-crypt). - * elf/Makefile (CFLAGS-tst-linkall-static.c): Only define - USE_CRYPT to 1 when $(build-crypt). - (tst-linkall-static): Only link libcrypt.a when $(build-crypt). - (localplt-built-dso): Only add libcrypt.so when $(build-crypt). - * elf/tst-linkall-static.c: Only include crypt.h when USE_CRYPT. - -2018-06-29 Zack Weinberg - - * crypt/crypt.h, posix/unistd.h: Update comments and - prototypes for crypt and crypt_r. - - * manual/crypt.texi (Cryptographic Functions): New initial - exposition. - (crypt): Section renamed to 'Passphrase Storage'. Full rewrite. - (Unpredictable Bytes): Improve initial exposition. Clarify error - behavior of getentropy and getrandom. - * manual/examples/genpass.c: Generate a salt using getentropy - instead of the current time. Use hash $5$ (SHA-2-256). - * manual/examples/testpass.c: Demonstrate validation against - hashes generated with three different one-way functions. - - * manual/intro.texi: crypt.texi does not need an overview - anymore. - - * manual/nss.texi, manual/memory.texi, manual/socket.texi - * manual/terminal.texi: Consistently refer to "passphrases" - * instead of "passwords", and to the "user database" instead - * of the "password database". - * manual/users.texi: Similarly. Add notes about how actual - passphrase hashes are now stored in the shadow database. - Remove 20-year-old junk todo note. - -2018-06-29 Zack Weinberg - - * manual/crypt.texi: Use a normal top-level @node declaration. - Move most of the introductory text to the 'crypt' section. - Move the example programs below the @deftypefun for 'crypt_r'. - Move the 'getpass' section... - * manual/terminal.texi: ...here. - -2018-06-29 Zack Weinberg - Florian Weimer - - * posix/unistd.h: Do not declare encrypt. - (_XOPEN_CRYPT): Remove macro definition. - (crypt): Declare only for _USE_MISC. - * stdlib/stdlib.h: Do not declare setkey. - * crypt/crypt.h: Do not declare encrypt, setkey, encrypt_r, setkey_r. - * sunrpc/Makefile: Do not install des_crypt.h nor rpc_des.h. - - * crypt/crypt-entry.c: Make fcrypt a compat symbol. - * crypt/crypt_util.c: Make encrypt, encrypt_r, setkey, setkey_r - into compat symbols. Don't define initial_perm if it's not - going to be used. - * crypt/cert.c: Link explicitly with the expected versions for - setkey and encrypt. If they are not available at all, mark - the test as unsupported. - - * sunrpc/des_crypt.c: Unconditionally block linkage with - cbc_crypt and ecb_crypt for new binaries. - * sunrpc/des_soft.c: Unconditionally block linkage with - des_setparity for new binaries. - - * manual/crypt.texi: Remove the entire "DES Encryption" - section. Also remove the paragraph talking about FIPS 140-2 - from the introduction. - * manual/string.texi (strfry, memfrob): Revise. Recommend use - of libgcrypt for "real" encryption, not DES. - * manual/conf.texi (Constants for Sysconf): Mention that - _XOPEN_CRYPT is no longer impelemented. - - * conform/data/unistd.h-data: Remove crypt function declaration. - -2018-06-29 Florian Weimer - - [BZ #23351] - * malloc/hooks.c: Update comments on restoring of dumped heaps. - (disallow_malloc_check): Remove variable. - (__malloc_check_init): Adjust. - (malloc_set_state): Update comment. - * malloc/malloc.c (__malloc_get_state, __malloc_set_state): Remove - declarations. - -2018-06-29 Rafal Luzynski - - [BZ #23140] - * localedata/locales/ast_ES (mon): Rename to... - (alt_mon): This. - (mon): Import from CLDR (genitive case). - -2018-06-29 Daniel Alvarez - Jakub Sitnicki - - [BZ #21812] - * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs_internal): Retry - on NLM_F_DUMP_INTR. - -2018-06-28 Szabolcs Nagy - - * manual/llio.texi: Remove spurious space. - -2018-06-28 Florian Weimer - - [BZ #23349] - * time/bits/types/struct_timespec.h: Change header inclusion guard to - _STRUCT_TIMESPEC. - -2018-06-28 Rajalakshmi Srinivasaraghavan - - * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Add __strfromieee128, - __strtoieee128, __strtoieee128_l,__wcstoieee128 and __wcstoieee128_l. - * sysdeps/ieee754/ldbl-128ibm-compat/strfromf128.c: New file. - * sysdeps/ieee754/ldbl-128ibm-compat/strtof128.c: New file. - * sysdeps/ieee754/ldbl-128ibm-compat/strtof128_l.c: New file. - * sysdeps/ieee754/ldbl-128ibm-compat/wcstof128.c: New file. - * sysdeps/ieee754/ldbl-128ibm-compat/wcstof128_l.c: New file. - -2018-06-27 Maciej W. Rozycki - - [BZ #23266] - * nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_pwent): - Copy and null-terminate entries that are not terminated, in - addition to empty ones. - -2018-06-27 Florian Weimer - - [BZ #18023] - * include/alloca.h (stackinfo_alloca_round, extend_alloca) - (extend_alloca_account): Remove. - * manual/stdio.texi (Variable Arguments Output): Update comment. - -2018-06-27 Joseph Myers - - * nptl/sockperf.c: Remove file. - -2018-06-27 Florian Weimer - - [BZ #18023] - * elf/dl-deps.c (_dl_map_object_deps): Use struct - scratch_buffer instead of extend_alloca. - -2018-06-27 Florian Weimer - - [BZ #18023] - * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use struct - scratch_buffer instead of extend_alloca. Update comments. - -2018-06-27 Florian Weimer - - [BZ #18023] - * posix/wordexp.c (parse_tilde): Use struct scratch_buffer - instead of extend_alloca. - -2018-06-26 Joseph Myers - - [BZ #13888] - * posix/Makefile (CFLAGS-tst-spawn3.c): New variable. - * posix/tst-spawn3.c (do_test): Put tst-spwan3.pid in OBJPFX, not - /tmp. - * scripts/test-installation.pl: Put temporary files in build - directory, not /tmp. - * stdio-common/Makefile (CFLAGS-bug3.c): New variable. - (CFLAGS-bug4.c): Likewise. - (CFLAGS-bug5.c): Likewise. - (CFLAGS-test-fseek.c): Likewise. - (CFLAGS-test-popen.c): Likewise. - (CFLAGS-test_rdwr.c): Likewise. - * stdio-common/bug3.c (main): Put temporary file in OBJPFX, not - /tmp. - * stdio-common/bug4.c (main): Likewise. - * stdio-common/bug5.c (main): Likewise. - * stdio-common/test-fseek.c (TESTFILE): Likewise. - * stdio-common/test-popen.c (do_test): Likewise. - * stdio-common/test_rdwr.c (main): Likewise. - -2018-06-26 Patsy Franklin - - * nptl/sem_open.c [!__HAVE_64B_ATOMICS] (sem_open): Don't update pad. - (sem_open): Set sem.newsem.pad to zero for valgrind. - -2018-06-26 Adhemerval Zanella - - [BZ #20251] - * NEWS: Mention fcntl64 addition. - * csu/check_fds.c: Replace __fcntl_nocancel by __fcntl64_nocancel. - * login/utmp_file.c: Likewise. - * sysdeps/posix/fdopendir.c: Likewise. - * sysdeps/posix/opendir.c: Likewise. - * sysdeps/unix/pt-fcntl.c: Likewise. - * include/fcntl.h (__libc_fcntl64, __fcntl64, - __fcntl64_nocancel_adjusted): New prototype. - (__fcntl_nocancel_adjusted): Remove prototype. - * io/Makefile (routines): Add fcntl64. - (CFLAGS-fcntl64.c): New rule. - * io/Versions [GLIBC_2.28] (fcntl64): New symbol. - [GLIBC_PRIVATE] (__libc_fcntl): Rename to __libc_fcntl64. - * io/fcntl.h (fcntl64): Add prototype and redirect if - __USE_FILE_OFFSET64 is defined. - * io/fcntl64.c: New file. - * manual/llio.text: Add a note for which commands fcntl acts a - cancellation point. - * nptl/Makefile (CFLAGS-fcntl64.c): New rule. - * sysdeps/mach/hurd/fcntl.c: Alias fcntl to fcntl64 symbols. - * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl, fcntl64): - New symbols. - * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Fix F_GETLK64, - F_OFD_GETLK, F_SETLK64, F_SETLKW64, F_OFD_SETLK, and F_OFD_SETLKW for - non-LFS case. - * sysdeps/unix/sysv/linux/fcntl64.c: New file. - * sysdeps/unix/sysv/linux/fcntl_nocancel.c (__fcntl_nocancel): Rename - to __fcntl64_nocancel. - (__fcntl_nocancel_adjusted): Rename to __fcntl64_nocancel_adjusted. - * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Rename - to __fcntl64_nocancel. - * sysdeps/generic/not-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/tst-ofdlocks.c: New file. - * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-ofdlocks. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.28] - (fcntl64): New symbol. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist [GLIBC_2.28] (fcntl, - fcntl64): Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilis: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - -2018-06-26 Florian Weimer - - Run thread shutdown functions in an explicit order. - * malloc/thread-freeres.c (__libc_thread_subfreeres): Remove hook - definition. - (__libc_thread_freeres): Call thread shutdown functions - explicitly. - * include/rpc/rpc.h (__rpc_thread_destroy): Add hidden attribute. - * include/string.h (__strerror_thread_freeres): Declare. - * malloc/arena.c (__malloc_arena_thread_freeres): Renamed from - arena_thread_freeres. No longer static. Remove thread shutdown - hook registration. - * malloc/malloc-internal.h (__malloc_arena_thread_freeres): - Declare. - * resolv/res-close.c (__res_thread_freeres): Renamed from - res_thread_freeres. No longer static. Remove thread shutdown - hook registration. - * resolv/resolv-internal.h (__res_thread_freeres): Declare. - * resolv/resolv_conf.c (freeres): Remove incorrect section - attribute and use libc_freeres_fn. - * string/strerror_l.c (__strerror_thread_freeres): Renamed from - strerror_thread_freeres. No longer static. Remove thread - shutdown hook registration. - * sysdeps/mach/strerror_l.c (__strerror_thread_freeres): Likewise. - * sunrpc/rpc_thread.c (__rpc_thread_destroy): Remove thread - shutdown hook registration. - * Makerules (shlib.lds): Do not provide section boundary symbols - for __libc_thread_subfreeres. - * manual/memory.texi (Basic Allocation): Update comment. - -2018-06-26 Florian Weimer - - Remove always-defined _RPC_THREAD_SAFE_ macro. - * sunrpc/Makefile (sunrpc-CPPFLAGS, CPPFLAGS, BUILD_CPPFLAGS): - Do not define _RPC_THREAD_SAFE_. - * include/rpc/rpc.h: Remove _RPC_THREAD_SAFE_ preprocessor - conditional. - * sunrpc/clnt_perr.c: Likewise. - * sunrpc/clnt_raw.c: Likewise. - * sunrpc/clnt_simp.c: Likewise. - * sunrpc/key_call.c: Likewise. - * sunrpc/rpc_common.c: Likewise. - * sunrpc/rpc_main.c: Likewise. - * sunrpc/rpc_thread.c: Likewise. - * sunrpc/svc.c: Likewise. - * sunrpc/svc_raw.c: Likewise. - * sunrpc/svc_simple.c: Likewise. - * sumrpc/svcauth_des.c: Likewise. - -2018-06-26 Florian Weimer - - * libio/Makefile (tests-internal): Add tst-vtables, - tst-vtables-interposed. - * libio/tst-vtables.c: New file. - * libio/tst-vtables-common.c: Likewise. - * libio/tst-vtables-interposed.c: Likewise. - -2018-06-26 Florian Weimer - - * support/support_test_main.c (support_test_main): Only call - setvbuf if not disables. - * support/test-driver.c (main): Check TEST_NO_SETVBUF. - * support/test-driver.h (struct test_config): Add no_setvbuf member. - -2018-06-26 Florian Weimer - - [BZ #23313] - * libio/vtables.c (check_stdfiles_vtables): New ELF constructor. - -2018-06-25 Florian Weimer - - [BZ #18023] - * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): - Use struct scratch_buffer instead of extend_alloca. - -2018-06-25 Florian Weimer - - [BZ #18023] - * nss/getent.c (initgroups_keys): Use dynarray instead of - extend_alloca. - -2018-06-25 Florian Weimer - - [BZ #18023] - * nis/nss_nis/nis-initgroups.c (get_uid, _nss_nis_initgroups_dyn): - Use struct scratch_buffer instead of extend_alloca. - -2018-06-25 Florian Weimer - - [BZ #18023] - * nss/nss_compat/compat-initgroups.c (getgrent_next_nss): Fall - back to malloc directly, without stack allocations. - -2018-06-25 Florian Weimer - - [BZ #18023] - * nscd/aicache.c (addhstaiX): Use struct scratch_buffer instead - of extend_alloca. - -2018-06-25 Florian Weimer - - [BZ #18023] - * nscd/grpcache.c (addgrbyX): Use struct scratch_buffer instead - of extend_alloca. - * nscd/hstcache.c (addhstbyX): Likewise. - * nscd/pwdcache.c (addpwbyX): Likewise. - * nscd/servicescache.c (addservbyX): Likewise. - -2018-06-25 Florian Weimer - - [BZ #18023] - * nscd/connections.c (read_cmdline): New function. - (restart): Use it. Update comment. - -2018-06-25 Rafal Luzynski - - [BZ #23140] - * localedata/locales/csb_PL (mon): Rename to... - (alt_mon): This. - (abmon): Rename to... - (ab_alt_mon): This. - (mon): Add with proper genitive forms, copy from Wikipedia. - (abmon): Likewise. - -2018-06-25 Rafal Luzynski - - [BZ #19485] - * localedata/locales/csb_PL (mon): Fix typos: - "łżëkwiôt" -> "łżëkwiat" (April); "lëpinc" -> "lëpińc" (July). - (yesstr): Add, value is "jo". - (nostr): Add, value is "nié". - -2018-06-22 Tulio Magno Quites Machado Filho - - * sysdeps/m68k/m680x0/fpu/s_log1p.c: Set as the generic file for - all log1p and significand functions on m680x0. - * sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_log1p.c instead - of s_significand.c.. - * sysdeps/m68k/m680x0/fpu/s_log1pl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_significandf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_significandl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_significand.c: Move all the code to - s_log1p.c and include it.. - -2018-06-21 Vincent Chen - - * elf/elf.h (R_NDS32_NONE): New define. - (R_NDS32_32_RELA): Likewise. - (R_NDS32_COPY): Likewise. - (R_NDS32_GLOB_DAT): Likewise. - (R_NDS32_JUMP_SLOT): Likewise. - (R_NDS32_RELATIVE): Likewise. - (R_NDS32_TLS_TPOFF): Likewise. - (R_NDS32_TLS_DESC): Likewise. - -2018-06-21 Mark Wielaard - - * elf/elf.h (R_BPF_MAP_FD): Removed. - (R_BPF_64_64, R_BPF_64_32): New. - -2018-06-21 Florian Weimer - - [BZ #23253] - * sysdeps/generic/math_private.h (default_libc_feholdsetround_ctx): - Renamed from libc_feholdsetround_ctx. - (default_libc_feresetround_ctx): Renamed from - libc_feresetround_ctx. - (default_libc_feholdsetround_noex_ctx): Renamed from - libc_feholdsetround_noex_ctx. - (default_libc_feresetround_noex_ctx): Renamed from - libc_feresetround_noex_ctx. - [!HAVE_RM_CTX] (libc_feholdsetround_ctx, libc_feresetround_ctx) - (libc_feholdsetround_noex_ctx, libc_feresetround_noex_ctx): Macros - forwardning to the old implementations under the new names. - * sysdeps/i386/fpu/fenv_private.h [__SSE_MATH__] - (libc_feholdexcept_setround_ctx, libc_fesetenv_ctx) - (libc_feupdateenv_ctx, libc_feholdsetround_ctx) - (libc_feresetround_ctx): Forward to default implements for i386 - and MATH_SET_BOTH_ROUNDING_MODES. - * sysdeps/i386/Makefile [$(subdir) == math] (CFLAGS-e_gamma_r.c): - Add -DMATH_SET_BOTH_ROUNDING_MODES. - -2018-06-20 Joseph Myers - - * string/tst-cmp.c: Include . - (strncmp_max): Disable -Wstringop-overflow= around call to - strncmp. - (strncasecmp_max): Disable -Wstringop-overflow= around call to - strncasecmp. - - * string/bug-strpbrk1.c: Include . - (main): Disable -Wunused-value around call to strpbrk. - * string/bug-strspn1.c: Include . - (main): Disable -Wunused-value around call to strspn. - -2018-06-20 Tulio Magno Quites Machado Filho - Gabriel F. T. Gomes - - * sysdeps/ieee754/ldbl-128ibm-compat/Versions: New file. - * sysdeps/ieee754/ldbl-128ibm-compat/libm-alias-float128.h: New file. - -2018-06-20 Tulio Magno Quites Machado Filho - - * math/Makefile (libm-calls): Move s_significandF to... - (gen-libm-calls): ... here. - * math/s_significand_template.c: New file. - * math/s_significand.c: Removed. - * math/s_significandf.c: Removed. - * math/s_significandl.c: Removed. - * sysdeps/ieee754/ldbl-opt/s_significand.c: Removed. - * sysdeps/ieee754/ldbl-opt/s_significandl.c: Removed. - - * math/e_exp2_template.c (declare_mgen_finite_alias, - declare_mgen_finite_alias_s, declare_mgen_finite_alias_x): Move to... - * sysdeps/generic/math-type-macros.h (declare_mgen_finite_alias, - declare_mgen_finite_alias_s, declare_mgen_finite_alias_x): ... here. - -2018-06-20 Florian Weimer - - * libio/libioP.h (IO_validate_vtable): Avoid ptrdiff_t overflow. - -2018-06-19 Joseph Myers - - [BZ #23280] - * stdio-common/vfscanf.c (_IO_vfscanf_internal): Pass sign of - floating-point number to strtod functions rather than possibly - negating result of those functions. - * stdio-common/tst-scanf-round.c: New file. - * stdio-common/Makefile (tests): Add tst-scanf-round. - ($(objpfx)tst-scanf-round): Depend on $(libm). - -2018-06-18 Samuel Thibault - - * sysdeps/mach/hurd/localplt.data: Move to... - * sysdeps/mach/hurd/i386/localplt.data: new file. Add + REL - R_386_GLOB_DAT like on Linux i386. - -2018-06-18 Joseph Myers - - * sysdeps/unix/sysv/linux/alpha/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): New macro. - * sysdeps/unix/sysv/linux/arm/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/generic/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/mips/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/s390/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/sh/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/x86/bits/shm.h [__USE_MISC] - (SHM_STAT_ANY): Likewise. - - * sysdeps/unix/sysv/linux/alpha/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): New macro. - * sysdeps/unix/sysv/linux/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/generic/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/mips/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/s390/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/x86/bits/sem.h [__USE_MISC] - (SEM_STAT_ANY): Likewise. - - * sysdeps/unix/sysv/linux/alpha/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): New macro. - * sysdeps/unix/sysv/linux/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/generic/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/mips/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/s390/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - * sysdeps/unix/sysv/linux/x86/bits/msq.h [__USE_MISC] - (MSG_STAT_ANY): Likewise. - - * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] - (MAP_TYPE): Change value to 0x2b. - -2018-06-18 Florian Weimer - - [BZ #15722] - * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Create Netlink - socket with SOCK_CLOEXEC. - -2018-06-18 Joseph Myers - - [BZ #23303] - * sysdeps/powerpc/powerpc64/le/Makefile - (CFLAGS-tst-strtod-nan-sign.c): Add -mfloat128. - (CFLAGS-tst-wcstod-nan-sign.c): Likewise. - (gnulib-tests): Also add $(f128-loader-link) for - tst-strtod-nan-sign abd tst-wcstod-nan-sign. - -2018-06-15 Samuel Thibault - - * include/sys/sendfile.h (__sendfile64): Declare hidden prototype. - * sysdeps/mach/hurd/sendfile.c (sendfile): Call __sendfile64 instead - of sendfile. - * sysdeps/mach/hurd/sendfile64.c (sendfile64): Rename to __sendfile64. - (sendfile64): New strong alias. - * sysdeps/mach/hurd/lseek.c: Include . - * sysdeps/mach/hurd/lseek.c (__libc_lseek): Check that the value - returned by __lseek64 can fit off_t, return EOVERFLOW otherwise. - * sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Add hidden - attribute. - * htl/pt-join.c (__pthread_get_cleanup_stack): Define to - ___pthread_get_cleanup_stack. - * sysdeps/mach/hurd/localplt.data (ld.so): Make ref to __open optional. - * sysdeps/mach/include/mach-shortcuts-hidden.h: New file. - * mach/shortcut.awk: Make syscall stubs include - and add hidden definition. - * sysdeps/mach/include/mach.h: Include . - (__mach_msg): Add hidden prototype. - * mach/msg.c: Include . - (__mach_msg): Add hidden definition. - * mach/Makefile ($(mach-syscalls:%=$(objpfx))): Add hidden definition. - * sysdeps/mach/include/mach/mach_traps.h (__mach_reply_port, - __mach_thread_self, __mach_task_self, __mach_host_self, __swtch, - __swtch_pri, __thread_switch, __evc_wait): Add hidden prototypes. - * sysdeps/mach/hurd/localplt.data (siglongjmp, longjmp, - __libc_lseek64, _IO_funlockfile): Whitelist PLT references. - * sysdeps/hurd/include/hurd/signal.h (_hurd_self_sigstate): Add hidden - prototype and definition. - * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Use - hidden target for _hurd_self_sigstate. - -2018-06-15 Joseph Myers - - [BZ #23007] - * stdlib/tst-strtod-nan-sign-main.c: New file. - * stdlib/tst-strtod-nan-sign.c: Likewise. - * wcsmbs/tst-wcstod-nan-sign.c: Likewise. - * stdlib/Makefile (tests): Add tst-strtod-nan-sign. - ($(objpfx)tst-strtod-nan-sign): Depend on $(libm). - * wcsmbs/Makefile (tests) Add tst-wcstod-nan-sign. - ($(objpfx)tst-wcstod-nan-sign): Depend on $(libm). - -2018-06-15 Herman ten Brugge - - [BZ #23007] - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Return NaN of - appropriate sign. - -2018-06-14 Florian Weimer - - [BZ #23290] - * localedata/charmaps/IBM273: Map codepoint 0xbc to U+00AF, so - that the result stays within the ISO-8859-1 range. - * iconvdata/ibm273.c (HAS_HOLES): Define as 0 because all 256 - characters are defined in IBM273. - -2018-06-14 Samuel Thibault - - * sysdeps/mach/include/mach/mach_traps.h (__mach_thread_self, - __mach_task_self): Remove attribute_hidden. - -2018-06-14 Joseph Myers - - * string/tester.c (test_strncat) [__GNUC_PREREQ (7, 0)]: Also - ignore -Wrestrict for one test. - -2018-06-14 Steve Ellcey - Szabolcs Nagy - - * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: New file. - -2018-06-14 Florian Weimer - - * scripts/update-abilist.sh: Accept empty list of files to patch. - -2018-06-13 Samuel Thibault - - * sysdeps/mach/hurd/i386/Makefile (test-xfail-check-abi-libhurduser, - test-xfail-check-abi-libmachuser): Add. - * sysdeps/mach/hurd/localplt.data (ld.so): Add __open64, rename - __libc_read and __libc_write to __read and __write. - * sysdeps/hurd/include/hurd/port.h: New file. - * mach/mach/mach_traps.h (__mach_reply_port, __mach_thread_self, - __mach_task_self, __mach_host_self, __swtch, __swtch_pri, - __thread_switch, __evc_wait): Move declarations to... - * sysdeps/mach/include/mach/mach_traps.h: ... new file, and add - attribute_hidden. - * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not - use PLT to call _hurd_self_sigstate. - -2018-06-13 Joseph Myers - - [BZ #23279] - * stdlib/strtod_l.c (round_and_return): Handle an exponent of - MAX_EXP as overflowing. - * stdlib/gen-tst-strtod-round.c (string_to_fp): Clear MPFR - overflow flag. - (round_str): Output also whether result overflows in each rounding - mode. - * stdlib/tst-strtod-round-data: Add more tests. - * stdlib/tst-strtod-round-data.h: Regenerated. - * stdlib/tst-strtod-round-skeleton.c (_XNTRY): Update comment. - (TEST): Handle extra arguments for overflow flags. - (struct test_overflow): New type. - [!FE_OVERFLOW] (FE_OVERFLOW): Define to 0. - (GEN_ONE_TEST): Clear all exceptions. Test overflow flag. - (test_in_one_mode): Take argument with overflow information. - (do_test): Update calls to test_in_one_mode. - -2018-06-12 Carlos O'Donell - - * elf/dl-load (_dl_dst_substitute): Correct comment. - (_dl_dst_count): Likewise. - - * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Call - lll_futex_timed_wait. - -2018-06-12 Joseph Myers - - [BZ #23277] - * math/bits/mathcalls.h [__USE_ISOC99] (nan): Do not use __const__ - attribute. - * math/test-nan-const.c: New file. - * math/Makefile (tests): Add test-nan-const. - (CFLAGS-test-nan-const.c): New variable. - -2018-06-12 H.J. Lu - - * benchtests/scripts/compare_strings.py (process_results): Add - funcs argument. Compare only functions which are selected. - (main): Check if base function is among selected functions. - Pass selected functions to process_results. - (__main__): Add -f/--functions argument. - -2018-06-12 Minfeng Kang - Hongbo Zhang - - * sysdeps/aarch64/multiarch/memcpy.c (libc_ifunc): reuse - __memcpy_falkor for phecda core. - * sysdeps/aarch64/multiarch/memmove.c (libc_ifunc): reuse - __memmove_falkor for phecda core. - * sysdeps/aarch64/multiarch/memset.c (libc_ifunc): reuse - __memset_falkor for phecda core. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c: add MIDR entry - for phecda core. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_PHECDA): add - macro to identify phecda core. - -2018-06-12 Carlos O'Donell - Andreas Schwab - Dmitry V. Levin - Florian Weimer - - [BZ #23102] - [BZ #21942] - [BZ #18018] - [BZ #23259] - CVE-2011-0536 - * elf/dl-dst.h: Remove DL_DST_COUNT. - * elf/dl-deps.c (expand_dst): Call _dl_dst_count. - * elf/dl-load.c (is_trusted_path_normalize): Don't handle colons. - (is_dst): Comment. Support ELF gABI. - (_dl_dst_count): Comment. Simplify and count DSTs. - (_dl_dst_substitute): Comment. Support __libc_enable_secure handling. - (expand_dybamic_string_token): Comment. Call _dl_dst_count. Rename - locals. - -2018-06-12 Zack Weinberg - - * elf/dl-load.c, elf/dl-misc.c, elf/dl-profile.c, elf/rtld.c - * sysdeps/unix/sysv/linux/dl-sysdep.c - Include not-cancel.h. Use __close_nocancel instead of __close, - __open64_nocancel instead of __open, __read_nocancel instead of - __libc_read, and __write_nocancel instead of __libc_write. - - * csu/check_fds.c (check_one_fd) - * sysdeps/posix/fdopendir.c (__fdopendir) - * sysdeps/posix/opendir.c (__alloc_dir): Use __fcntl_nocancel - instead of __fcntl and/or __libc_fcntl. - - * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np) - * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np) - * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): - Use __open64_nocancel instead of __open_nocancel. - - * sysdeps/unix/sysv/linux/not-cancel.h: Move all of the - hidden_proto declarations to the end and issue them if either - IS_IN(libc) or IS_IN(rtld). - * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): - Add close_nocancel, fcntl_nocancel, nanosleep_nocancel, - open_nocancel, open64_nocancel, openat_nocancel, pause_nocancel, - read_nocancel, waitpid_nocancel, write_nocancel. - - * io/Versions [GLIBC_PRIVATE]: Add __libc_fcntl, - __fcntl_nocancel, __open64_nocancel, __write_nocancel. - * posix/Versions: Add __nanosleep_nocancel, __pause_nocancel. - - * nptl/pt-fcntl.c: New file. - * nptl/Makefile (pthread-compat-wrappers): Remove fcntl. - (libpthread-routines): Add pt-fcntl. - * include/fcntl.h (__fcntl_nocancel_adjusted): New function. - (__libc_fcntl): Remove attribute_hidden. - * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Call - __fcntl_nocancel_adjusted, not fcntl_common. - (__fcntl_nocancel): Move to new file fcntl_nocancel.c. - (fcntl_common): Rename to __fcntl_nocancel_adjusted; also move - to fcntl_nocancel.c. - * sysdeps/unix/sysv/linux/fcntl_nocancel.c: New file. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Remove file. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: - Define FCNTL_ADJUST_CMD here, as a self-contained macro. - - * sysdeps/unix/sysv/linux/close.c: Move __close_nocancel to... - * sysdeps/unix/sysv/linux/close_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/nanosleep.c: Move __nanosleep_nocancel to... - * sysdeps/unix/sysv/linux/nanosleep_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/open.c: Move __open_nocancel to... - * sysdeps/unix/sysv/linux/open_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/open64.c: Move __open64_nocancel to... - * sysdeps/unix/sysv/linux/open64_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/openat.c: Move __openat_nocancel to... - * sysdeps/unix/sysv/linux/openat_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/openat64.c: Move __openat64_nocancel to... - * sysdeps/unix/sysv/linux/openat64_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/pause.c: Move __pause_nocancel to... - * sysdeps/unix/sysv/linux/pause_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/read.c: Move __read_nocancel to... - * sysdeps/unix/sysv/linux/read_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/waitpid.c: Move __waitpid_nocancel to... - * sysdeps/unix/sysv/linux/waitpid_nocancel.c: ...this new file. - * sysdeps/unix/sysv/linux/write.c: Move __write_nocancel to... - * sysdeps/unix/sysv/linux/write_nocancel.c: ...this new file. - - * sysdeps/unix/sysv/linux/nios2/Makefile: Don't override - libpthread-routines. - * sysdeps/unix/sysv/linux/nios2/pt-vfork.S: New file which - defines nothing. - - * sysdeps/mach/hurd/dl-sysdep.c: Define __read instead of - __libc_read, and __write instead of __libc_write. Define - __open64 in addition to __open. - -2018-06-12 H.J. Lu - - [BZ #23250] - [BZ #10686] - * sysdeps/i386/nptl/tls.h (tcbhead_t): Change __private_tm[4] - to _private_tm[3] and add __glibc_reserved2. - Add _Static_assert of offset of __private_ss == 0x30. - * sysdeps/x86_64/nptl/tls.h: Add _Static_assert of offset of - __private_ss == 0x40 for ILP32 and == 0x70 for LP64. - -2018-06-12 Florian Weimer - - x86: Make strncmp usable from rtld. - * sysdeps/i386/i686/multiarch/strncmp-c.c: Only rename strncmp to - __strncmp_ia32 if in libc (and not in rtld). - * sysdeps/x86_64/multiarch/strncmp-sse2.S: Rename strcmp to - strncmp if not in libc (and not to __strncmp_sse2). - -2018-06-12 Rafal Luzynski - - [BZ #23140] - * localedata/locales/gd_GB (mon): Rename to... - (alt_mon): This. - (mon): Import from CLDR (genitive case). - * localedata/locales/hsb_DE (mon): Rename to... - (alt_mon): This. - (mon): Import from CLDR (genitive case). - * localedata/locales/wa_BE (mon): Rename to... - (alt_mon): This. - (mon): Add, fill with the proper genitive forms, but CLDR data - is incomplete; completed according to the comments in this file. - (d_t_fmt): Do not use "di" before the month name, no longer needed. - - * localedata/locales/wa_BE (country_name): Reword - "Beljike" -> "Beldjike". - -2018-06-11 Joseph Myers - - [BZ #23272] - * sysdeps/ieee754/ldbl-96/s_fma.c (__fma): Start by handling all - cases of non-finite arguments. - * math/libm-test-fma.inc (fma_test_data): Add more tests. - -2018-06-10 John David Anglin - - [BZ #23174] - * sysdeps/unix/sysv/linux/hppa/Makefile: xfail check-execstack. - -2018-06-08 Adhemerval Zanella - - [BZ #23264] - * include/unistd.h (__execvpex): New prototype. - * posix/Makefile (tests): Add tst-spawn4. - (tests-internal): Add tst-spawn4-compat. - * posix/execvpe.c (__execvpe_common, __execvpex): New functions. - * posix/tst-spawn4-compat.c: New file. - * posix/tst-spawn4.c: Likewise. - * sysdeps/unix/sysv/linux/spawni.c (__spawni): Do not interpret invalid - binaries as shell scripts. - * sysdeps/posix/spawni.c (__spawni): Likewise. - -2018-06-08 H.J. Lu - - [BZ #23145] - * elf/Makefile (tests-special): Add $(objpfx)check-initfini.out. - ($(all-built-dso:=.dynsym): New target. - (common-generated): Add $(all-built-dso:$(common-objpfx)%=%.dynsym). - ($(objpfx)check-initfini.out): New target. - (generated): Add check-initfini.out. - * scripts/check-initfini.awk: New file. - * sysdeps/aarch64/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/alpha/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/arm/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/hppa/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/i386/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/ia64/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/m68k/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/microblaze/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/mips/mips32/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/mips/mips64/n32/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/mips/mips64/n64/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/nios2/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/powerpc/powerpc32/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/powerpc/powerpc64/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/s390/s390-32/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/s390/s390-64/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/sh/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/sparc/crti.S (_init): Mark as hidden. - (_fini): Likewise. - * sysdeps/x86_64/crti.S (_init): Mark as hidden. - (_fini): Likewise. - -2018-06-06 Tulio Magno Quites Machado Filho - - * sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c - [__HAVE_FLOAT128_UNLIKE_LDBL] (TFtype, TF): Restrict TFtype - and TF redirection to KFtype and KF only when the default - long double type is not the IEEE 128-bit floating point type. - -2018-06-05 Joseph Myers - - * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_DIT): New - macro. - (HWCAP_USCAT): Likewise. - (HWCAP_ILRCPC): Likewise. - (HWCAP_FLAGM): Likewise. - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT): - Increase to 28. - (_dl_aarch64_cap_flags): Add new flag names. - - * sysdeps/unix/sysv/linux/aarch64/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): New macro. - * sysdeps/unix/sysv/linux/alpha/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/arm/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/m68k/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/microblaze/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/mips/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/nios2/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/riscv/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/s390/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/sh/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - * sysdeps/unix/sysv/linux/x86/bits/mman.h [__USE_MISC] - (MAP_FIXED_NOREPLACE): Likewise. - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 4.17. - -2018-06-04 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - version to 4.17 - -2018-06-02 Samuel Thibault - - * bits/shm.h (struct shmid_ds): Make shm_segsz field size_t instead of - int. - * sysdeps/gnu/bits/shm.h (struct shmid_ds): Likewise. - -2018-06-01 Leonardo Sandoval - - * benchtests/scripts/compare_string.py: (process_results) Catch - exception in non-existent base_func and catch exception in - non-existent attribute. - (parse_file) Catch exception if input file does not exist. - -2018-06-01 Leonardo Sandoval - - * benchtests/scripts/compare_string.py: Add --no-diff and --no-header - options to avoid diff calculation and omit header, respectively. - (main): process --no-diff and --no-header - -2018-06-01 Leonardo Sandoval - H.J. Lu - - * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add - strcmp-avx2, strncmp-avx2, wcscmp-avx2, wcscmp-sse2, wcsncmp-avx2 and - wcsncmp-sse2. - * sysdeps/x86_64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add tests for __strcmp_avx2, - __strncmp_avx2, __wcscmp_avx2, __wcsncmp_avx2, __wcscmp_sse2 - and __wcsncmp_sse2. - * sysdeps/x86_64/multiarch/strcmp.c (OPTIMIZE (avx2)): - (IFUNC_SELECTOR): Return OPTIMIZE (avx2) on AVX 2 machines if - AVX unaligned load is fast and vzeroupper is preferred. - * sysdeps/x86_64/multiarch/strncmp.c: Likewise. - * sysdeps/x86_64/multiarch/strcmp-avx2.S: New file. - * sysdeps/x86_64/multiarch/strncmp-avx2.S: Likewise. - * sysdeps/x86_64/multiarch/wcscmp-avx2.S: Likewise. - * sysdeps/x86_64/multiarch/wcscmp-sse2.S: Likewise. - * sysdeps/x86_64/multiarch/wcscmp.c: Likewise. - * sysdeps/x86_64/multiarch/wcsncmp-avx2.S: Likewise. - * sysdeps/x86_64/multiarch/wcsncmp-sse2.c: Likewise. - * sysdeps/x86_64/multiarch/wcsncmp.c: Likewise. - * sysdeps/x86_64/wcscmp.S (__wcscmp): Add alias only if __wcscmp - is undefined. - -2018-06-01 Florian Weimer - - * sysdeps/i386/fpu/libm-test-ulps: Update with results from - configuring with --disable-multi-arch, building with - “-march=x86-64 -mtune=generic -mfpmath=sse” and running on a - Haswell-era CPU. - -2018-06-01 Florian Weimer - - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update with - results from building with “-march=x86-64 -mtune=generic - -mfpmath=sse” and running on a Haswell-era CPU. - -2018-06-01 Joseph Myers - - [BZ #18473] - * soft-fp/sqrttf2.c: Remove file. - * soft-fp/sqrtdf2.c: Move to .... - * sysdeps/powerpc/nofpu/sqrtdf2.c: ... here. Include - . - (__sqrtdf2): Make conditional on - [SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)]. Define as compat - symbol. - * soft-fp/sqrtsf2.c: Move to .... - * sysdeps/powerpc/nofpu/sqrtsf2.c: ... here. Include - . - (__sqrtsf2): Make conditional on - [SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)]. Define as compat - symbol. - * soft-fp/Makefile (gcc-single-routines): Remove sqrtsf2. - (gcc-double-routines): Remove sqrtdf2. - (gcc-quad-routines): Remove sqrttf2. - * sysdeps/nios2/Makefile [$(subdir) = soft-fp] (sysdep_routines): - Do not filter out sqrtsf2 and sqrtdf2. - * sysdeps/powerpc/nofpu/Makefile [$(subdir) = soft-fp] - (sysdep_routines): Add sqrtsf2 and sqrtdf2. - -2018-06-01 Florian Weimer - - * sysdeps/generic/libcidn.abilist: Remove file. - -2018-06-01 Florian Weimer - - [BZ #23236] - * libio/strfile.h (struct _IO_str_fields): Rename members to - discourage their use and add comment. - (_IO_STR_DYNAMIC): Remove unused macro. - * libio/strops.c (_IO_str_init_static_internal): Do not use - callback pointers. Call malloc and free. - (_IO_str_overflow): Do not use callback pointers. Call malloc - and free. - (enlarge_userbuf): Likewise. - (_IO_str_finish): Call free. - * libio/wstrops.c (_IO_wstr_init_static): Initialize - _allocate_buffer_unused. - (_IO_wstr_overflow): Do not use callback pointers. Call malloc - and free. - (enlarge_userbuf): Likewise. - (_IO_wstr_finish): Call free. - * debug/vasprintf_chk.c (__vasprintf_chk): Initialize - _allocate_buffer_unused, _free_buffer_unused. - * libio/memstream.c (__open_memstream): Likewise. - * libio/vasprintf.c (_IO_vasprintf): Likewise. - * libio/wmemstream.c (open_wmemstream): Likewise. - -2018-05-30 Paul Pluzhnikov - - * sysdeps/x86_64/fpu/libm-test-ulps (log_vlen8_avx2): Update for - AMD Ryzen 7 1800X. - -2018-05-30 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile: New file to - add w_sqrtf128-power9 and w_sqrtf128-ppc64le to libm-sysdep_routines. - * sysdeps/powerpc/powerpc64/le/fpu/multiarch/w_sqrtf128-power9.c: - New file. - * sysdeps/powerpc/powerpc64/le/fpu/multiarch/w_sqrtf128-ppc64le.c: - Likewise. - * sysdeps/powerpc/powerpc64/le/fpu/multiarch/w_sqrtf128.c: Likewise. - -2018-05-29 Florian Weimer - - * support/Makefile (libsupport-routines): Add - xpthread_barrierattr_destroy, xpthread_barrierattr_init, - xpthread_barrierattr_setpshared. - * support/xpthread_barrierattr_destroy.c: New file. - * support/xpthread_barrierattr_init.c: Likewise. - * support/xpthread_barrierattr_setpshared.c: Likewise. - -2018-05-29 H.J. Lu - - [BZ #23206] - * elf/dl-reloc-static-pie.c (_dl_relocate_static_pie): Initialize - _r_debug and update DT_DEBUG for debugger. - -2018-05-29 Florian Weimer - - * stdlib/Makefile (tst-strtod1i.out): Depend on generated locales. - (tst-strtod5i.out): Likewise. - -2018-05-25 Joseph Myers - - * sysdeps/sparc/sparc64/Implies: Remove sparc/sparc64/soft-fp. - * sysdeps/sparc/sparc64/Makefile [$(subdir) = soft-fp] - (sparc64-quad-routines): New variable. Moved from .... - [$(subdir) = soft-fp] (sysdep_routines): Add - $(sparc64-quad-routines). Moved from .... - [$(subdir) = math] (CPPFLAGS): Add -I../soft-fp/. Moved from .... - * sysdeps/sparc/sparc64/soft-fp/Makefile: ... here. Remove file. - * sysdeps/sparc/sparc64/Versions (libc): Add GLIBC_2.2 symbols - moved from .... - * sysdeps/sparc/sparc64/soft-fp/Versions: ... here. Remove file. - * sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c: Remove file. - * sysdeps/sparc/sparc64/soft-fp/qp_add.c: Move to .... - * sysdeps/sparc/sparc64/qp_add.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: Move to .... - * sysdeps/sparc/sparc64/qp_cmp.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: Move to .... - * sysdeps/sparc/sparc64/qp_cmpe.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_div.c: Move to .... - * sysdeps/sparc/sparc64/qp_div.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Move to .... - * sysdeps/sparc/sparc64/qp_dtoq.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_feq.c: Move to .... - * sysdeps/sparc/sparc64/qp_feq.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_fge.c: Move to .... - * sysdeps/sparc/sparc64/qp_fge.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: Move to .... - * sysdeps/sparc/sparc64/qp_fgt.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_fle.c: Move to .... - * sysdeps/sparc/sparc64/qp_fle.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_flt.c: Move to .... - * sysdeps/sparc/sparc64/qp_flt.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_fne.c: Move to .... - * sysdeps/sparc/sparc64/qp_fne.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Move to .... - * sysdeps/sparc/sparc64/qp_itoq.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_mul.c: Move to .... - * sysdeps/sparc/sparc64/qp_mul.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_neg.S: Move to .... - * sysdeps/sparc/sparc64/qp_neg.S: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Move to .... - * sysdeps/sparc/sparc64/qp_qtod.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Move to .... - * sysdeps/sparc/sparc64/qp_qtoi.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Move to .... - * sysdeps/sparc/sparc64/qp_qtos.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Move to .... - * sysdeps/sparc/sparc64/qp_qtoui.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Move to .... - * sysdeps/sparc/sparc64/qp_qtoux.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Move to .... - * sysdeps/sparc/sparc64/qp_qtox.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: Move to .... - * sysdeps/sparc/sparc64/qp_sqrt.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Move to .... - * sysdeps/sparc/sparc64/qp_stoq.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Move to .... - * sysdeps/sparc/sparc64/qp_sub.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Move to .... - * sysdeps/sparc/sparc64/qp_uitoq.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_util.c: Move to .... - * sysdeps/sparc/sparc64/qp_util.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Move to .... - * sysdeps/sparc/sparc64/qp_uxtoq.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Move to .... - * sysdeps/sparc/sparc64/qp_xtoq.c: ... here. - * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Move to .... - * sysdeps/sparc/sparc64/sfp-machine.h: ... here. - - * sysdeps/sparc/sparc32/Implies: Remove sparc/sparc32/soft-fp. - * sysdeps/sparc/sparc32/Makefile [$(subdir) = soft-fp] - (sparc32-quad-routines): New variable. Moved from .... - [$(subdir) = soft-fp] (sysdep_routines): Add - $(sparc32-quad-routines). Moved from .... - * sysdeps/sparc/sparc32/soft-fp/Makefile: ... here. Remove file. - * sysdeps/sparc/sparc32/Versions (libc): Add GLIBC_2.4 symbols - moved from .... - * sysdeps/sparc/sparc32/soft-fp/Versions: ... here. Remove file. - * sysdeps/sparc/sparc32/soft-fp/q_add.c: Move to .... - * sysdeps/sparc/sparc32/q_add.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_cmp.c: Move to .... - * sysdeps/sparc/sparc32/q_cmp.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_cmpe.c: Move to .... - * sysdeps/sparc/sparc32/q_cmpe.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_div.c: Move to .... - * sysdeps/sparc/sparc32/q_div.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_dtoq.c: Move to .... - * sysdeps/sparc/sparc32/q_dtoq.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_feq.c: Move to .... - * sysdeps/sparc/sparc32/q_feq.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_fge.c: Move to .... - * sysdeps/sparc/sparc32/q_fge.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_fgt.c: Move to .... - * sysdeps/sparc/sparc32/q_fgt.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_fle.c: Move to .... - * sysdeps/sparc/sparc32/q_fle.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_flt.c: Move to .... - * sysdeps/sparc/sparc32/q_flt.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_fne.c: Move to .... - * sysdeps/sparc/sparc32/q_fne.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_itoq.c: Move to .... - * sysdeps/sparc/sparc32/q_itoq.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: Move to .... - * sysdeps/sparc/sparc32/q_lltoq.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_mul.c: Move to .... - * sysdeps/sparc/sparc32/q_mul.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_neg.c: Move to .... - * sysdeps/sparc/sparc32/q_neg.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_qtod.c: Move to .... - * sysdeps/sparc/sparc32/q_qtod.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: Move to .... - * sysdeps/sparc/sparc32/q_qtoi.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: Move to .... - * sysdeps/sparc/sparc32/q_qtoll.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_qtos.c: Move to .... - * sysdeps/sparc/sparc32/q_qtos.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_qtou.c: Move to .... - * sysdeps/sparc/sparc32/q_qtou.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_qtoull.c: Move to .... - * sysdeps/sparc/sparc32/q_qtoull.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_sqrt.c: Move to .... - * sysdeps/sparc/sparc32/q_sqrt.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_stoq.c: Move to .... - * sysdeps/sparc/sparc32/q_stoq.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_sub.c: Move to .... - * sysdeps/sparc/sparc32/q_sub.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: Move to .... - * sysdeps/sparc/sparc32/q_ulltoq.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_util.c: Move to .... - * sysdeps/sparc/sparc32/q_util.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/q_utoq.c: Move to .... - * sysdeps/sparc/sparc32/q_utoq.c: ... here. - * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Move to .... - * sysdeps/sparc/sparc32/sfp-machine.h: ... here. - -2018-05-24 Tulio Magno Quites Machado Filho - Gabriel F. T. Gomes - - * sysdeps/powerpc/Implies: Removed. Previous contents copied to... - * sysdeps/powerpc/powerpc32/Implies-after: ... here. - * sysdeps/powerpc/powerpc64/be/Implies-after: ... here. - * sysdeps/powerpc/powerpc64/le/Implies-before: ... and here. - -2018-05-24 Joseph Myers - - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies: Remove - powerpc/soft-fp. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies: - Likewise. - * sysdeps/powerpc/soft-fp/sfp-machine.h: Move to .... - * sysdeps/powerpc/nofpu/sfp-machine.h: ... here. - -2018-05-24 Gabriel F. T. Gomes - - [BZ #23171] - * math/math.h [C++] (iseqsig): Fix parameter type for the long - double version. - -2018-05-23 Joseph Myers - - * sysdeps/sh/Implies: Remove sh/soft-fp. - * sysdeps/sh/soft-fp/sfp-machine.h: Move to .... - * sysdeps/sh/sfp-machine.h: ... here. - -2018-05-23 H.J. Lu - - * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S - (__mempcpy_erms): Skip zero length. - (__memmove_erms): Likewise. - * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S - (__memset_erms): Likewise. - -2018-05-23 Joseph Myers - - * sysdeps/alpha/Implies: Remove alpha/soft-fp. - * sysdeps/alpha/Makefile [$(subdir) = soft-fp] (sysdep_routines): - Add functions moved from .... - [$(subdir) = math] (CPPFLAGS): Add -I../soft-fp. Moved from .... - * sysdeps/alpha/soft-fp/Makefile: ... here. Remove file. - * sysdeps/alpha/Versions (libc): Add GLIBC_2.3.4 symbols moved - from .... - * sysdeps/alpha/soft-fp/Versions: ... here. Remove file. - * sysdeps/alpha/soft-fp/e_sqrtl.c: Move to .... - * sysdeps/alpha/e_sqrtl.c: ... here. - * sysdeps/alpha/soft-fp/local-soft-fp.h: Move to .... - * sysdeps/alpha/local-soft-fp.h: ... here. - * sysdeps/alpha/soft-fp/ots_add.c: Move to .... - * sysdeps/alpha/ots_add.c: ... here. - * sysdeps/alpha/soft-fp/ots_cmp.c: Move to .... - * sysdeps/alpha/ots_cmp.c: ... here. - * sysdeps/alpha/soft-fp/ots_cmpe.c: Move to .... - * sysdeps/alpha/ots_cmpe.c: ... here. - * sysdeps/alpha/soft-fp/ots_cvtqux.c: Move to .... - * sysdeps/alpha/ots_cvtqux.c: ... here. - * sysdeps/alpha/soft-fp/ots_cvtqx.c: Move to .... - * sysdeps/alpha/ots_cvtqx.c: ... here. - * sysdeps/alpha/soft-fp/ots_cvttx.c: Move to .... - * sysdeps/alpha/ots_cvttx.c: ... here. - * sysdeps/alpha/soft-fp/ots_cvtxq.c: Move to .... - * sysdeps/alpha/ots_cvtxq.c: ... here. - * sysdeps/alpha/soft-fp/ots_cvtxt.c: Move to .... - * sysdeps/alpha/ots_cvtxt.c: ... here. - * sysdeps/alpha/soft-fp/ots_div.c: Move to .... - * sysdeps/alpha/ots_div.c: ... here. - * sysdeps/alpha/soft-fp/ots_mul.c: Move to .... - * sysdeps/alpha/ots_mul.c: ... here. - * sysdeps/alpha/soft-fp/ots_nintxq.c: Move to .... - * sysdeps/alpha/ots_nintxq.c: ... here. - * sysdeps/alpha/soft-fp/ots_sub.c: Move to .... - * sysdeps/alpha/ots_sub.c: ... here. - * sysdeps/alpha/soft-fp/sfp-machine.h: Move to .... - * sysdeps/alpha/sfp-machine.h: ... here. - -2018-05-23 Florian Weimer - - [BZ #19728] - [BZ #19729] - [BZ #22247] - CVE-2016-6261 - CVE-2016-6263 - CVE-2017-14062 - Switch to extern IDNA implementation (libidn2). - * libidn: Remove subdirectory. - * LICENSES: Do not mention licensing conditions for the removed - libidn code. - * config.h.in (HAVE_LIBIDN): Remove. - * include/dlfcn.h (__libc_dlopen): Update comment. - * include/idna.h: Remove file. - * inet/Makefile (routines): Add idna. - (tests-static, tests-internal): Add tst-idna_name_classify. - (LOCALES): Generate locales for tests. - (tst-idna_name_classify.out): Depend on generated locales. - * inet/idna_name_classify.c: New file. - * inet/tst-idna_name_classify.c: Likewise. - * inet/net-internal.h (__idna_to_dns_encoding) - (__idna_from_dns_encoding): Declare. - * inet/net-internal.h (enum idna_name_classification): Define. - (__idna_name_classify): Declare. - * inet/Versions (GLIBC_PRIVATE): Add __idna_to_dns_encoding, - __idna_from_dns_encoding. - * inet/getnameinfo.c (DEPRECATED_NI_IDN): Define. - (gni_host_inet_name): Call __idna_from_dns_encoding. Use punycode - name as a fallback in case of encoding errors. - (getnameinfo): Use DEPRECATED_NI_IDN. - * inet/idna.c: New file. - * nscd/gai.c: Do not include . - * resolv/Makefile (tests): Add tst-resolv-ai_idn, - tst-resolv-ai_idn-latin1, tst-resolv-ai_idn-nolibidn2. - (modules-names): Add tst-no-libidn2. - (extra-test-objs): Add tst-no-libidn2.os. - (LDFLAGS-tst-no-libidn2.so): Set soname. - (LOCALES): Set, and generate locales. - (tst-resolv-ai_idn): Link with -ldl -lresolv -lpthread. - (tst-resolv-ai_idn-latin1): Likewise. - (tst-resolv-ai_idn-nolibidn2): Likewise. - (tst-resolv-ai_idn.out): Depend on locales. - (tst-resolv-ai_idn-latin1.out): Depend on locales. - (tst-resolv-ai_idn-nolibidn2.out): Depend on locales and - tst-no-libidn2.so. - * resolv/netdb.h (AI_IDN_ALLOW_UNASSIGNED) - (AI_IDN_USE_STD3_ASCII_RULES, NI_IDN_ALLOW_UNASSIGNED) - (NI_IDN_USE_STD3_ASCII_RULES): Deprecate. - * resolv/tst-resolv-ai_idn.c: New file. - * resolv/tst-resolv-ai_idn-latin1.c: Likewise. - * resolv/tst-resolv-ai_idn-nolibidn2.c: Likewise. - * resolv/tst-no-libidn2.c: Likewise. - * support/support_format_addrinfo.c (format_ai_flags): Do not - handle AI_IDN_ALLOW_UNASSIGNED, AI_IDN_USE_STD3_ASCII_RULES. - * sysdeps/posix/getaddrinfo.c (DEPRECATED_AI_IDN): Define. - (gaih_inet): Call __idna_to_dns_encoding and - __idna_from_dns_encoding, and use the original (punycode) name if - __idna_from_dns_encoding fails due to an encoding error. - (getaddrinfo): Use DEPRECATED_AI_IDN. - * sysdeps/unix/inet/Subdirs (libidn): Remove. - * sysdeps/unix/inet/configure: Remove file. - * sysdeps/unix/inet/configure.ac: Likewise. - -2018-05-23 Florian Weimer - - Implement allocate_once. - * include/allocate_once.h: New file. - * misc/allocate_once.c: Likewise. - * misc/tst-allocate_once.c: Likewise. - * misc/Makefile (routines): Add allocate_once. - (tests-internal): Add tst-allocate_once. - (generated): Add tst-allocate_once.mtrace, - tst-allocate_once-mem.out. - (tests-special): Add tst-allocate_once-mem.out. - (tst-allocate_once-ENV): Set MALLOC_TRACE. - (tst-allocate_once-mem.out): Call mtrace. - * misc/Versions (GLIBC_PRIVATE): Add __libc_allocate_once_slow. - -2018-05-23 H.J. Lu - - [BZ #23196] - * string/test-memcpy.c (do_test1): New function. - (test_main): Call it. - -2018-05-23 Andreas Schwab - - [BZ #23196] - CVE-2018-11237 - * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S - (L(preloop_large)): Save initial destination pointer in %r11 and - use it instead of %rax after the loop. - * string/test-mempcpy.c (MIN_PAGE_SIZE): Define. - -2018-05-22 Joseph Myers - - * sysdeps/aarch64/Implies: Remove aarch64/soft-fp. - * sysdeps/aarch64/Makefile [$(subdir) = math] (CPPFLAGS): Add - -I../soft-fp. Moved from .... - * sysdeps/aarch64/soft-fp/Makefile: ... here. Remove file. - * sysdeps/aarch64/soft-fp/e_sqrtl.c: Move to .... - * sysdeps/aarch64/e_sqrtl.c: ... here. - * sysdeps/aarch64/soft-fp/sfp-machine.h: Move to .... - * sysdeps/aarch64/sfp-machine.h: ... here. - - * sysdeps/ieee754/dbl-64/k_rem_pio2.c (__kernel_rem_pio2): Ignore - -Wmaybe-uninitialized around access to fq[0]. - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Likewise. - - [BZ #18471] - * sysdeps/unix/make-syscalls.sh (emit_weak_aliases): Use weak - aliases for non-libc case of versioned symbols. - * sysdeps/unix/sysv/linux/lseek64.c: Include . - (llseek): Define as compat symbol if - [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_28)], not as weak alias - with link warning. - * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list (llseek): - Make into a compat symbol, disabled for minimum symbol version - GLIBC_2.28 and later. - * sysdeps/unix/sysv/linux/x86_64/x32/llseek.S: Remove file. - -2018-05-22 Florian Weimer - - * sysdeps/i386/Makefile [$(subdir) == math] (sysdep-CFLAGS): Do - not add -mpreferred-stack-boundary=4. - [$(subdir) == csu] (sysdep-CFLAGS): Likewise. - (stack-align-test-flags): Likewise. - [$(subdir) == stdlib] (CFLAGS-exit.c, CFLAGS-cxa_finalize.c): - Likewise. - [$(subdir) == elf] (CFLAGS-dl-init.c, CFLAGS-dl-fini.c) - (CFLAGS-dl-open.c, CFLAGS-dl-close.c, CFLAGS-dl-error.c): Likewise. - [$(subdir) == dlfcn] (CFLAGS-dlopen.c, CFLAGS-dlopenold.c) - (CFLAGS-dlclose.c, CFLAGS-dlerror.c): Likewise. - * sysdeps/i386/nptl/Makefile [$(subdir) == nptl] - (CFLAGS-pthread_create.c, CFLAGS-tst-align.c) - (CFLAGS-tst-align2.c): Likewise. - -2018-05-21 H.J. Lu - - * sysdeps/x86/cpu-features.h (bit_arch_Prefer_FSRM): New. - (index_arch_Prefer_FSRM): Likewise. - * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)): - Also check Prefer_FSRM. - * sysdeps/x86_64/multiarch/ifunc-memmove.h (IFUNC_SELECTOR): - Also return OPTIMIZE (erms) for Prefer_FSRM. - -2018-05-21 H.J. Lu - - * sysdeps/x86/cpu-features.h (bit_cpu_FSRM): New. - (index_cpu_FSRM): Likewise. - (reg_FSRM): Likewise. - -2018-05-18 Joseph Myers - - * math/gen-tgmath-tests.py: Import sys. - (Tests.__init__): Initialize macros_seen. - (Tests.add_tests): Add macro to macros_seen. Only generate tests - if requested to do so for this macro. - (Tests.add_all_tests): Take argument for macro for which to - generate tests. - (Tests.check_macro_list): New function. - (main): Handle check-list argument and argument specifying macro - for which to generate tests. - * math/Makefile [PYTHON] (tgmath3-macros): New variable. - [PYTHON] (tgmath3-macro-tests): Likewise. - [PYTHON] (tests): Add $(tgmath3-macro-tests) not test-tgmath3. - [PYTHON] (generated): Add $(addsuffix .c,$(tgmath3-macro-tests)) - not test-tgmath3.c. - [PYTHON] (CFLAGS-test-tgmath3.c): Remove. - [PYTHON] ($(tgmath3-macro-tests:%=$(objpfx)%.o): Add -fno-builtin - to CFLAGS. - [PYTHON] ($(objpfx)test-tgmath3.c): Replace rule by.... - [PYTHON] ($(foreach - m,$(tgmath3-macros),$(objpfx)test-tgmath3-$(m).c): ... this. New - rule. - [PYTHON] (tests-special): Add - $(objpfx)test-tgmath3-macro-list.out. - [PYTHON] ($(objpfx)test-tgmath3-macro-list.out): New rule. - - * sysdeps/unix/sysv/linux/syscalls.list (nfsservctl): Make into a - compat symbol, disabled for minimum symbol version GLIBC_2.28 and - later. - - [BZ #22639] - * time/tzset.c (SECSPERDAY): Cast to time_t. - * time/tst-y2039.c: New file. - * time/Makefile (tests): Add tst-y2039. - -2018-05-17 Leonardo Sandoval - - * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S - (PREFETCH_ONE_SET): Remove duplicate line. - -2018-05-17 Florian Weimer - - * sysdeps/generic/math-type-macros-double.h: Include - after . - * sysdeps/generic/math-type-macros-float.h: Include - after . - * sysdeps/generic/math-type-macros-float128.h: Include - after . - * sysdeps/generic/math-type-macros-ldouble.h: Include - after . - -2018-05-17 Andreas Schwab - - * resolv/res_send.c (__res_context_send): Don't set errno when - returing error after malloc failure. - -2018-05-17 H.J. Lu - - * nptl/allocatestack.c (allocate_stack): Remove the - !__ASSUME_PRIVATE_FUTEX paths. - * nptl/descr.h (header): Remove the !__ASSUME_PRIVATE_FUTEX path. - * nptl/nptl-init.c (__pthread_initialize_minimal_internal): - Likewise. - * sysdeps/i386/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Removed. - * sysdeps/powerpc/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. - * sysdeps/sh/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. - * sysdeps/x86_64/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. - * sysdeps/i386/nptl/tls.h: (tcbhead_t): Remve the - !__ASSUME_PRIVATE_FUTEX path. - * sysdeps/s390/nptl/tls.h (tcbhead_t): Likewise. - * sysdeps/sparc/nptl/tls.h (tcbhead_t): Likewise. - * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise. - * sysdeps/unix/sysv/linux/i386/lowlevellock.S: Remove the - !__ASSUME_PRIVATE_FUTEX macros. - * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. - * sysdeps/unix/sysv/linux/kernel-features.h - (__ASSUME_PRIVATE_FUTEX): Removed. - -2018-05-17 Joseph Myers - - * math/Makefile (libm-narrow-fns): Add div. - (libm-test-funcs-narrow): Likewise. - * math/Versions (GLIBC_2.28): Add narrowing divide functions. - * math/bits/mathcalls-narrow.h (div): Use __MATHCALL_NARROW. - * math/gen-auto-libm-tests.c (test_functions): Add div. - * math/math-narrow.h (CHECK_NARROW_DIV): New macro. - (NARROW_DIV_ROUND_TO_ODD): Likewise. - (NARROW_DIV_TRIVIAL): Likewise. - * sysdeps/ieee754/float128/float128_private.h (__fdivl): New - macro. - (__ddivl): Likewise. - * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fdiv and - ddiv. - (CFLAGS-nldbl-ddiv.c): New variable. - (CFLAGS-nldbl-fdiv.c): Likewise. - * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add - __nldbl_ddivl. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_ddivl): New - prototype. - * manual/arith.texi (Misc FP Arithmetic): Document fdiv, fdivl, - ddivl, fMdivfN, fMdivfNx, fMxdivfN and fMxdivfNx. - * math/auto-libm-test-in: Add tests of div. - * math/auto-libm-test-out-narrow-div: New generated file. - * math/libm-test-narrow-div.inc: New file. - * sysdeps/i386/fpu/s_f32xdivf64.c: Likewise. - * sysdeps/ieee754/dbl-64/s_f32xdivf64.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fdiv.c: Likewise. - * sysdeps/ieee754/float128/s_f32divf128.c: Likewise. - * sysdeps/ieee754/float128/s_f64divf128.c: Likewise. - * sysdeps/ieee754/float128/s_f64xdivf128.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_ddivl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_f64xdivf128.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_fdivl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_ddivl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fdivl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_ddivl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fdivl.c: Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c: Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c: Likewise. - * sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fdiv.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise. - * sysdeps/powerpc/fpu/libm-test-ulps: Update. - * sysdeps/mach/hurd/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - -2018-05-16 Adhemerval Zanella - - [BZ #23178] - * nscd/nscd-client.h (sendfileall): Remove prototype. - * nscd/connections.c [HAVE_SENDFILE] (sendfileall): Remove function. - (handle_request): Use writeall instead of sendfileall. - * nscd/aicache.c (addhstaiX): Likewise. - * nscd/grpcache.c (cache_addgr): Likewise. - * nscd/hstcache.c (cache_addhst): Likewise. - * nscd/initgrcache.c (addinitgroupsX): Likewise. - * nscd/netgroupcache.c (addgetnetgrentX, addinnetgrX): Likewise. - * nscd/pwdcache.c (cache_addpw): Likewise. - * nscd/servicescache.c (cache_addserv): Likewise. - * sysdeps/unix/sysv/linux/Makefile [$(subdir) == nscd] - (sysdep-CFLAGS): Remove -DHAVE_SENDFILE. - * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_SENDFILE): - Remove define. - -2018-05-16 H.J. Lu - - * sysdeps/x86_64/multiarch/strncat-c.c (STRNCAT_PRIMARY): Removed. - Include . - * sysdeps/x86_64/multiarch/strncat.c (__strncat): New strong - alias. - (__GI___strncat): New hidden alias. - -2018-05-16 Joseph Myers - - * sysdeps/mips/mips32/libm-test-ulps: Update. - * sysdeps/mips/mips64/libm-test-ulps: Likewise. - -2018-05-16 Florian Weimer - - * support/Makefile (libsupport-routines): Add support_quote_blob, - support_test_compare_blob. - (tests): Add tst-support_quote_blob, tst-test_compare_blob. - * support/check.h (TEST_COMPARE_BLOB): Define. - (support_test_compare_blob): Declare. - * support/support.h (support_quote_blob): Declare. - * support/support_quote_blob.c: New file. - * support/support_test_compare_blob.c: Likewise. - * support/tst-support_quote_blob.c: Likewise. - * support/tst-test_compare_blob.c: Likewise. - -2018-05-16 Florian Weimer - - * stdlib/strtod_nan.c: Include instead - of . - * stdlib/strtod_nan_main.c (STRTOD_NAN): Use SET_NAN_PAYLOAD - instead of SET_MANTISSA. - * stdlib/strtof_nan.c: Include instead - of include . - * stdlib/strtold_nan.c: Include - instead of . - * stdlib/strtod_nan_double.h: Move to ... - * sysdeps/generic/math-nan-payload-double.h: ... here. - (FLOAT): Remove definition. - (SET_MANTISSA): Rename to ... - (SET_NAN_PAYLOAD): ... this. - * stdlib/strtod_nan_float.h: Move to ... - * sysdeps/generic/math-nan-payload-float.h: ... here. - (FLOAT): Remove definition. - (SET_MANTISSA): Rename to ... - (SET_NAN_PAYLOAD): ... this. - * sysdeps/generic/math-type-macros-double.h: Include - . Include - instead of . - * sysdeps/generic/math-type-macros-float.h: Include - . Include - instead of . - * sysdeps/generic/math-type-macros-float128.h: Include - . - * sysdeps/generic/math-type-macros-ldouble.h: Include - . Include - instead of . - * sysdeps/generic/math-type-macros.h: Document SET_NAN_PAYLOAD and - check for definition. - * sysdeps/ieee754/float128/strtod_nan_float128.h: Move to ... - * sysdeps/ieee754/float128/math-nan-payload-float128.h: ... here. - Include . - (FLOAT): Remove definition. - (SET_MANTISSA): Rename to ... - (SET_NAN_PAYLOAD): ... this. - * sysdeps/ieee754/float128/strtof128_nan.c: Include - instead of . - Do not include . - * sysdeps/ieee754/float128/wcstof128_nan.c: Likewise. - * sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h: Move to ... - * sysdeps/ieee754/ldbl-128/math-nan-payload-ldouble.h: ... here. - (FLOAT): Remove definition. - (SET_MANTISSA): Rename to ... - (SET_NAN_PAYLOAD): ... this. - * sysdeps/ieee754/ldbl-128ibm/strtod_nan_ldouble.h: Move to ... - * sysdeps/ieee754/ldbl-128ibm/math-nan-payload-ldouble.h: ... here. - (FLOAT): Remove definition. - (SET_MANTISSA): Rename to ... - (SET_NAN_PAYLOAD): ... this. - * sysdeps/ieee754/ldbl-96/strtod_nan_ldouble.h: Move to ... - * sysdeps/ieee754/ldbl-96/math-nan-payload-ldouble.h: ... here. - (FLOAT): Remove definition. - (SET_MANTISSA): Rename to ... - (SET_NAN_PAYLOAD): ... this. - * wcsmbs/wcstod_nan.c: Include instead - of "../stdlib/strtod_nan_double.h". - * wcsmbs/wcstof_nan.c: Include instead - of "../stdlib/strtod_nan_float.h". - * wcsmbs/wcstold_nan.c: Include - instead of "../stdlib/strtod_nan_ldouble.h". - * manual/arith.texi (Parsing of Floats): Adjust comment. - -2018-05-16 Joseph Myers - - * math/Makefile (libm-narrow-fns): Add mul. - (libm-test-funcs-narrow): Likewise. - * math/Versions (GLIBC_2.28): Add narrowing multiply functions. - * math/bits/mathcalls-narrow.h (mul): Use __MATHCALL_NARROW. - * math/gen-auto-libm-tests.c (test_functions): Add mul. - * math/math-narrow.h (CHECK_NARROW_MUL): New macro. - (NARROW_MUL_ROUND_TO_ODD): Likewise. - (NARROW_MUL_TRIVIAL): Likewise. - * soft-fp/op-common.h (FP_TRUNC_COOKED): Likewise. - * sysdeps/ieee754/float128/float128_private.h (__fmull): New - macro. - (__dmull): Likewise. - * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fmul and - dmul. - (CFLAGS-nldbl-dmul.c): New variable. - (CFLAGS-nldbl-fmul.c): Likewise. - * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add - __nldbl_dmull. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_dmull): New - prototype. - * manual/arith.texi (Misc FP Arithmetic): Document fmul, fmull, - dmull, fMmulfN, fMmulfNx, fMxmulfN and fMxmulfNx. - * math/auto-libm-test-in: Add tests of mul. - * math/auto-libm-test-out-narrow-mul: New generated file. - * math/libm-test-narrow-mul.inc: New file. - * sysdeps/i386/fpu/s_f32xmulf64.c: Likewise. - * sysdeps/ieee754/dbl-64/s_f32xmulf64.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fmul.c: Likewise. - * sysdeps/ieee754/float128/s_f32mulf128.c: Likewise. - * sysdeps/ieee754/float128/s_f64mulf128.c: Likewise. - * sysdeps/ieee754/float128/s_f64xmulf128.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_dmull.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_f64xmulf128.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_fmull.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_dmull.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fmull.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_dmull.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fmull.c: Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-dmul.c: Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-fmul.c: Likewise. - * sysdeps/ieee754/soft-fp/s_dmull.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fmul.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fmull.c: Likewise. - * sysdeps/powerpc/fpu/libm-test-ulps: Update. - * sysdeps/mach/hurd/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - -2018-05-14 H.J. Lu - - * sysdeps/i386/crti.S (_init): Replace PREINIT_FUNCTION@PLT - with *%eax in call. - -2018-05-14 H.J. Lu - - * sysdeps/i386/ldsodefs.h: Removed. - * sysdeps/x86_64/ldsodefs.h: Moved to ... - * sysdeps/x86/ldsodefs.h: This. - (La_i86_regs): New. - (La_i86_retval): Likewise. - (ARCH_PLTENTER_MEMBERS): Add i86_gnu_pltenter. - (ARCH_PLTEXIT_MEMBERS): i86_gnu_pltexit. - -2018-05-14 H.J. Lu - - * sysdeps/x86_64/multiarch/strlen-avx2.S (STRLEN): Remove the - unnecessary testl. - -2018-05-13 Alan Modra - - * sysdeps/hppa/dl-machine.h (elf_machine_rela): Add - R_PARISC_TLS_DTPOFF32 reloc addend. - -2018-05-11 Tulio Magno Quites Machado Filho - - * bits/floatn-common.h: Define __HAVE_FLOAT128_UNLIKE_LDBL. - * math/math.h: Restrict the prototype definition for the functions - issignaling(_Float128) and iszero(_Float128); and template - __iseqsig_type<_Float128>, from __HAVE_DISTINCT_FLOAT128 to - __HAVE_FLOAT128_UNLIKE_LDBL. - * sysdeps/powerpc/bits/floatn.h [__HAVE_FLOAT128 - && (!__GNUC_PREREQ (7, 0) || defined __cplusplus) - && __LDBL_MANT_DIG__ == 113]: Use long double suffix for - __f128() constants; define the type _Float128 as long double; - and reuse long double in __CFLOAT128. - -2018-05-11 Joseph Myers - - * sysdeps/generic/math_private.h: Do not include - . - * stdlib/strtod_l.c: Include instead of - . - * math/fromfp.h: Include . - * math/math-narrow.h: Likewise. - * math/s_nextafter.c: Likewise. - * math/s_nexttowardf.c: Likewise. - * sysdeps/aarch64/fpu/s_llrint.c: Likewise. - * sysdeps/aarch64/fpu/s_llrintf.c: Likewise. - * sysdeps/aarch64/fpu/s_lrint.c: Likewise. - * sysdeps/aarch64/fpu/s_lrintf.c: Likewise. - * sysdeps/i386/fpu/s_nextafterl.c: Likewise. - * sysdeps/i386/fpu/s_nexttoward.c: Likewise. - * sysdeps/i386/fpu/s_nexttowardf.c: Likewise. - * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. - * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise. - * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. - * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise. - * sysdeps/ieee754/dbl-64/e_j0.c: Likewise. - * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. - * sysdeps/ieee754/dbl-64/s_expm1.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fma.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise. - * sysdeps/ieee754/dbl-64/s_log1p.c: Likewise. - * sysdeps/ieee754/dbl-64/s_nearbyint.c: Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Likewise. - * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise. - * sysdeps/ieee754/flt-32/e_j0f.c: Likewise. - * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise. - * sysdeps/ieee754/flt-32/s_log1pf.c: Likewise. - * sysdeps/ieee754/flt-32/s_nearbyintf.c: Likewise. - * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise. - * sysdeps/ieee754/k_standardl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_nextafterl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_nexttowardf.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_nexttowardf.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_nextafterl.c: Likewise. - -2018-05-11 Florian Weimer - - Use 64-bit epoch values in the time zone file parser. - * include/time.h (internal_time_t): Define. - (__tzfile_compute): Use it. - * time/tzfile.c (struct leap): Use internal_time_t for epoch - member. - (transitions): Switch to internal_time_t. - (__tzfile_read): Likewise. Remove code dealing with 4-byte time_t - types. - (__tzfile_compute): Use internal_time_t for timer argument. Check - for truncation before calling __offtime. - -2018-05-11 Florian Weimer - - [BZ #23166] - * include/rpc/clnt.h (rpc_createerr): Declare hidden alias. - * include/rpc/svc.h (svc_pollfd, svc_max_pollfd, svc_fdset): - Likewise. - * sunrpc/rpc_common.c (svc_fdset, rpc_createerr, svc_pollfd) - (svc_max_pollfd): Add nocommon attribute and hidden alias. Do not - export without --enable-obsolete-rpc. - * sunrpc/svcauth_des.c (svcauthdes_stats): Turn into compatibility - symbol. This should not have been exported, ever. - -2018-05-11 Rafal Luzynski - - [BZ #23152] - * localedata/locales/gd_GB (abmon): Fix typo in May: - "Mhàrt" -> "Cèit". Adjust the comment according to the change. - -2018-05-11 Siddhesh Poyarekar - - * sysdeps/aarch64/multiarch/memcpy_falkor.S (__memcpy_falkor): - Use multiple registers to copy data in loop tail. - - * sysdeps/aarch64/multiarch/memmove_falkor.S - (__memmove_falkor): Use multiple registers to move data in - loop tail. - -2018-05-10 Joseph Myers - - * math/math-underflow.h: New file. - * sysdeps/generic/math_private.h: Do not include . - (fabs_tg): Remove macro. Moved to math-underflow.h. - (min_of_type_f): Likewise. - (min_of_type_): Likewise. - (min_of_type_l): Likewise. - (min_of_type_f128): Likewise. - (min_of_type): Likewise. - (math_check_force_underflow): Likewise. - (math_check_force_underflow_nonneg): Likewise. - (math_check_force_underflow_complex): Likewise. - * math/e_exp2_template.c: Include . - * math/k_casinh_template.c: Likewise. - * math/s_catan_template.c: Likewise. - * math/s_catanh_template.c: Likewise. - * math/s_ccosh_template.c: Likewise. - * math/s_cexp_template.c: Likewise. - * math/s_clog10_template.c: Likewise. - * math/s_clog_template.c: Likewise. - * math/s_csin_template.c: Likewise. - * math/s_csinh_template.c: Likewise. - * math/s_csqrt_template.c: Likewise. - * math/s_ctan_template.c: Likewise. - * math/s_ctanh_template.c: Likewise. - * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. - * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise. - * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise. - * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise. - * sysdeps/ieee754/dbl-64/e_hypot.c: Likewise. - * sysdeps/ieee754/dbl-64/e_j1.c: Likewise. - * sysdeps/ieee754/dbl-64/e_jn.c: Likewise. - * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. - * sysdeps/ieee754/dbl-64/e_sinh.c: Likewise. - * sysdeps/ieee754/dbl-64/s_asinh.c: Likewise. - * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. - * sysdeps/ieee754/dbl-64/s_erf.c: Likewise. - * sysdeps/ieee754/dbl-64/s_expm1.c: Likewise. - * sysdeps/ieee754/dbl-64/s_log1p.c: Likewise. - * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. - * sysdeps/ieee754/dbl-64/s_sincos.c: Likewise. - * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. - * sysdeps/ieee754/dbl-64/s_tanh.c: Likewise. - * sysdeps/ieee754/flt-32/e_asinf.c: Likewise. - * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise. - * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. - * sysdeps/ieee754/flt-32/e_j1f.c: Likewise. - * sysdeps/ieee754/flt-32/e_jnf.c: Likewise. - * sysdeps/ieee754/flt-32/e_sinhf.c: Likewise. - * sysdeps/ieee754/flt-32/k_sinf.c: Likewise. - * sysdeps/ieee754/flt-32/k_tanf.c: Likewise. - * sysdeps/ieee754/flt-32/s_asinhf.c: Likewise. - * sysdeps/ieee754/flt-32/s_atanf.c: Likewise. - * sysdeps/ieee754/flt-32/s_erff.c: Likewise. - * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise. - * sysdeps/ieee754/flt-32/s_log1pf.c: Likewise. - * sysdeps/ieee754/flt-32/s_tanhf.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_atanhl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_hypotl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. - * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise. - * sysdeps/ieee754/ldbl-128/k_sincosl.c: Likewise. - * sysdeps/ieee754/ldbl-128/k_sinl.c: Likewise. - * sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_asinhl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_tanhl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_atanhl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_powl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/k_sincosl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/k_sinl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/k_tanl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_erfl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_tanhl.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_hypotl.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. - * sysdeps/ieee754/ldbl-96/e_sinhl.c: Likewise. - * sysdeps/ieee754/ldbl-96/k_sinl.c: Likewise. - * sysdeps/ieee754/ldbl-96/k_tanl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_asinhl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_tanhl.c: Likewise. - * sysdeps/powerpc/fpu/e_hypot.c: Likewise. - * sysdeps/x86/fpu/powl_helper.c: Likewise. - * sysdeps/ieee754/dbl-64/s_nextup.c: Include . - * sysdeps/ieee754/flt-32/s_nextupf.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_nextupl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_nextupl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_nextupl.c: Likewise. - -2018-05-09 Joseph Myers - - * sysdeps/generic/math-barriers.h: New file. - * sysdeps/generic/math_private.h [!math_opt_barrier] - (math_opt_barrier): Move to math-barriers.h. - [!math_opt_barrier] (math_force_eval): Likewise. - * sysdeps/aarch64/fpu/math-barriers.h: New file. - * sysdeps/aarch64/fpu/math_private.h (math_opt_barrier): Move to - math-barriers.h. - (math_force_eval): Likewise. - * sysdeps/alpha/fpu/math-barriers.h: New file. - * sysdeps/alpha/fpu/math_private.h (math_opt_barrier): Move to - math-barriers.h. - (math_force_eval): Likewise. - * sysdeps/x86/fpu/math-barriers.h: New file. - * sysdeps/i386/fpu/fenv_private.h (math_opt_barrier): Move to - math-barriers.h. - (math_force_eval): Likewise. - * sysdeps/m68k/m680x0/fpu/math_private.h: Move to.... - * sysdeps/m68k/m680x0/fpu/math-barriers.h: ... here. Adjust - multiple-include guard for rename. - * sysdeps/powerpc/fpu/math-barriers.h: New file. - * sysdeps/powerpc/fpu/math_private.h (math_opt_barrier): Move to - math-barriers.h. - (math_force_eval): Likewise. - -2018-05-09 Paul Pluzhnikov - - [BZ #22786] - CVE-2018-11236 - * stdlib/canonicalize.c (__realpath): Fix overflow in path length - computation. - * stdlib/Makefile (test-bz22786): New test. - * stdlib/test-bz22786.c: New test. - -2018-05-09 Joseph Myers - - * include/math-narrow-eval.h: New file. Contents moved from .... - * sysdeps/generic/math_private.h: ... here. - (math_narrow_eval): Remove macro. Moved to math-narrow-eval.h. - [FLT_EVAL_METHOD != 0] (excess_precision): Likewise. - * math/s_fdim_template.c: Include . - * stdlib/strtod_l.c: Likewise. - * sysdeps/i386/fpu/s_f32xaddf64.c: Likewise. - * sysdeps/i386/fpu/s_f32xsubf64.c: Likewise. - * sysdeps/i386/fpu/s_fdim.c: Likewise. - * sysdeps/ieee754/dbl-64/e_cosh.c: Likewise. - * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise. - * sysdeps/ieee754/dbl-64/e_j1.c: Likewise. - * sysdeps/ieee754/dbl-64/e_jn.c: Likewise. - * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Likewise. - * sysdeps/ieee754/dbl-64/e_sinh.c: Likewise. - * sysdeps/ieee754/dbl-64/gamma_productf.c: Likewise. - * sysdeps/ieee754/dbl-64/k_rem_pio2.c: Likewise. - * sysdeps/ieee754/dbl-64/lgamma_neg.c: Likewise. - * sysdeps/ieee754/dbl-64/s_erf.c: Likewise. - * sysdeps/ieee754/dbl-64/s_llrint.c: Likewise. - * sysdeps/ieee754/dbl-64/s_lrint.c: Likewise. - * sysdeps/ieee754/flt-32/e_coshf.c: Likewise. - * sysdeps/ieee754/flt-32/e_exp2f.c: Likewise. - * sysdeps/ieee754/flt-32/e_expf.c: Likewise. - * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. - * sysdeps/ieee754/flt-32/e_j1f.c: Likewise. - * sysdeps/ieee754/flt-32/e_jnf.c: Likewise. - * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise. - * sysdeps/ieee754/flt-32/e_sinhf.c: Likewise. - * sysdeps/ieee754/flt-32/k_rem_pio2f.c: Likewise. - * sysdeps/ieee754/flt-32/lgamma_negf.c: Likewise. - * sysdeps/ieee754/flt-32/s_erff.c: Likewise. - * sysdeps/ieee754/flt-32/s_llrintf.c: Likewise. - * sysdeps/ieee754/flt-32/s_lrintf.c: Likewise. - * sysdeps/ieee754/ldbl-96/gamma_product.c: Likewise. - -2018-05-08 Andreas Schwab - - * sysdeps/nptl/internaltypes.h: Fix comment. - -2018-05-07 H.J. Lu - - * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S - (MEMSET_SYMBOL (__memset, erms)): Mark the debugger symbol as - hidden. - -2018-05-07 Siddhesh Poyarekar - - * benchtests/bench-memcpy-walk.c (test_main): Move declaration - of I into loop header. - * benchtests/bench-memmove-walk.c - (test_main): Likewise. - -2018-05-07 Alexandre Oliva - - Revert: - 2018-04-30 Raymond Nicholson - * manual/startup.texi (Aborting a Program): Remove inappropriate joke. - -2018-05-05 Paul Pluzhnikov - - [BZ #20419] - * elf/dl-load.c (open_verify): Fix stack overflow. - * elf/Makefile (tst-big-note): New test. - * elf/tst-big-note-lib.S: New. - * elf/tst-big-note.c: New. - -2018-05-04 Joseph Myers - - * scripts/abilist.awk: Ignore absolute symbols. - * sysdeps/mach/hurd/i386/ld.abilist: Remove absolute symbols. - * sysdeps/mach/hurd/i386/libBrokenLocale.abilist: Likewise. - * sysdeps/mach/hurd/i386/libanl.abilist: Likewise. - * sysdeps/mach/hurd/i386/libc.abilist: Likewise. - * sysdeps/mach/hurd/i386/libcrypt.abilist: Likewise. - * sysdeps/mach/hurd/i386/libdl.abilist: Likewise. - * sysdeps/mach/hurd/i386/libm.abilist: Likewise. - * sysdeps/mach/hurd/i386/libnsl.abilist: Likewise. - * sysdeps/mach/hurd/i386/libpthread.abilist: Likewise. - * sysdeps/mach/hurd/i386/libresolv.abilist: Likewise. - * sysdeps/mach/hurd/i386/librt.abilist: Likewise. - * sysdeps/mach/hurd/i386/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libcidn.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libnss_compat.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libnss_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libnss_dns.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libnss_files.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libnss_hesiod.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libnss_nis.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libnss_nisplus.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libthread_db.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/librt-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/libmvec.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist: Likewise. - -2018-05-04 Stefan Liebler - - [BZ #23137] - * sysdeps/nptl/lowlevellock.h (lll_wait_tid): - Use atomic_load_acquire to load __tid. - -2018-05-02 H.J. Lu - - * sysdeps/unix/sysv/linux/x86_64/swapcontext.S (__swapcontext): - Restore the pointer into %rdx, after syscall and use %rdx, - instead of %rsi, to restore context. - -2018-05-02 H.J. Lu - - * sysdeps/unix/sysv/linux/x86_64/setcontext.S (__setcontext): - Pop the pointer into %rdx after syscall and use %rdx, instead - of %rsi, to restore context. - -2018-05-02 H.J. Lu - - * nptl/pthread_create.c (START_THREAD_DEFN): Clear previous - handlers after setjmp. - * setjmp/longjmp.c (__libc_longjmp): Don't define alias if - defined. - * sysdeps/unix/sysv/linux/x86/setjmpP.h: Include - . - (_JUMP_BUF_SIGSET_BITS_PER_WORD): New. - (_JUMP_BUF_SIGSET_NSIG): Changed to 96. - (_JUMP_BUF_SIGSET_NWORDS): Changed to use ALIGN_UP and - _JUMP_BUF_SIGSET_BITS_PER_WORD. - * sysdeps/x86/Makefile (sysdep_routines): Add __longjmp_cancel. - * sysdeps/x86/__longjmp_cancel.S: New file. - * sysdeps/x86/longjmp.c: Likewise. - * sysdeps/x86/nptl/pt-longjmp.c: Likewise. - -2018-05-02 Adhemerval Zanella - - * NEWS: Add ustat.h deprecation entry. - * bits/ustat.h: Remove file. - * misc/sys/ustat.h: Likewise. - * misc/ustat.h: Likewise. - * sysdeps/unix/sysv/linux/generic/ustat.c: Likewise. - * misc/Makefile (headers): Remove ustat.h and sys/ustat.h. - * misc/ustat.c (__ustat): Rename to __old_ustat and export only in - compatibility mode. - * sysdeps/unix/sysv/linux/ustat.c (__ustat): Likewise. - * sysdeps/unix/sysv/linux/mips/ustat.c: Define DEV_TO_KDEV and use - generic Linux implementation. - -2018-04-30 Tulio Magno Quites Machado Filho - - * math/w_exp_compat.c: Replace hidden_def with libm_hidden_def.. - * math/w_expl_compat.c: Likewise. - * math/w_exp_template.c: Likewise. Remove hidden_def_x. - -2018-04-30 Raymond Nicholson - - * manual/startup.texi (Aborting a Program): Remove inappropriate joke. - -2018-04-27 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/arm/readahead.c: Remove file. - * sysdeps/unix/sysv/linux/mips/mips32/readahead.c: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list (readahead): - Remove. - * sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. - * sysdeps/unix/sysv/linux/readahead.c (__readahead): Assume - __NR_readahead existence, and use INLINE_SYSCALL_CALL, __ALIGNMENT_ARG, - and SYSCALL_LL64. - -2018-04-27 Tulio Magno Quites Machado Filho - - * math/e_exp2_template.c: Replace M_SUF (M_LN2) with M_MLIT (M_LN2). - - * math/w_acos_template.c: Replace M_SUF (fabs) with M_FABS. - * math/w_asin_template.c: Likewise. - * math/w_atanh_template.c: Likewise. - -2018-04-27 Gabriel F. T. Gomes - - * sysdeps/powerpc/preconfigure [machine == powerpc64] (machine): Define - to powerpc/powerpc64/be for big-endian. - [machine == powerpc64le]: Define to powerpc/powerpc64/le for - little-endian. - - * sysdeps/powerpc/powerpc64/power4/Implies: Move to powerpc64/be. - * sysdeps/powerpc/powerpc64/power4/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power4/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power4/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power5+/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power5+/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power5/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power5/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power5/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power6/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power6/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power6/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power6/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power6x/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power6x/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power7/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power7/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power7/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power8/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power8/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power9/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power9/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/power9/multiarch/Implies: Likewise. - - * sysdeps/powerpc/powerpc64/be/power4/Implies: Move from powerpc64 and - adjusted to imply powerpc64 and older processors on powerpc64/be. - * sysdeps/powerpc/powerpc64/be/power4/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power4/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power4/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power5+/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power5+/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power5+/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power5+/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power5/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power5/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power5/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power5/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power6/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power6/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power6/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power6/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power6x/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power6x/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power6x/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power6x/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power7/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power7/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power7/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power7/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power8/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power8/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power8/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power8/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power9/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power9/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power9/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/power9/multiarch/Implies: Likewise. - - * sysdeps/powerpc/powerpc64/970/Implies: Move to powerpc64/be. - * sysdeps/powerpc/powerpc64/be/970/Implies: Move from powerpc64/be. - * sysdeps/powerpc/powerpc64/be/a2/Implies: New file. - * sysdeps/powerpc/powerpc64/be/cell/Implies: Likewise. - - * sysdeps/powerpc/powerpc64/be/Implies: New file. - * sysdeps/powerpc/powerpc64/be/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/be/multiarch/Implies: Likewise. - - * sysdeps/powerpc/powerpc64le/Implies: Move to powerpc64/le. - * sysdeps/powerpc/powerpc64le/Implies-before: Likewise. - * sysdeps/powerpc/powerpc64le/Makefile: Likewise. - * sysdeps/powerpc/powerpc64le/configure: Likewise. - * sysdeps/powerpc/powerpc64le/configure.ac: Likewise. - * sysdeps/powerpc/powerpc64le/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/fpu/e_sqrtf128.c: Likewise. - * sysdeps/powerpc/powerpc64le/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/fpu/sfp-machine.h: Likewise. - * sysdeps/powerpc/powerpc64le/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c: Likewise. - - * sysdeps/powerpc/powerpc64/le/Implies: Move from powerpc64le. - * sysdeps/powerpc/powerpc64/le/Implies-before: Likewise. - * sysdeps/powerpc/powerpc64/le/Makefile: Likewise. - * sysdeps/powerpc/powerpc64/le/configure: Likewise. - * sysdeps/powerpc/powerpc64/le/configure.ac: Likewise. - * sysdeps/powerpc/powerpc64/le/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c: Likewise. - * sysdeps/powerpc/powerpc64/le/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/fpu/sfp-machine.h: Likewise. - * sysdeps/powerpc/powerpc64/le/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power9/fpu/e_sqrtf128.c: Likewise. - - * sysdeps/powerpc/powerpc64le/power7/Implies: Move to powerpc64/le. - * sysdeps/powerpc/powerpc64le/power7/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power7/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power7/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power8/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power8/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power8/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power8/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power9/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power9/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power9/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64le/power9/multiarch/Implies: Likewise. - - * sysdeps/powerpc/powerpc64/le/power7/Implies: Move from powerpc64le - and adjusted to imply olders processors. - * sysdeps/powerpc/powerpc64/le/power7/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power7/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power7/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power8/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power8/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power8/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power8/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power9/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power9/fpu/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power9/fpu/multiarch/Implies: Likewise. - * sysdeps/powerpc/powerpc64/le/power9/multiarch/Implies: Likewise. - - * sysdeps/unix/sysv/linux/powerpc/powerpc64le/Implies: Move to - powerpc64/le. - * sysdeps/unix/sysv/linux/powerpc/powerpc64le/float128-abi.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64le/fpu/Implies: Likewise. - - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/Implies: Move from - powerpc64le. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/fpu/Implies: Likewise. - - * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: Move to - powerpc64/be. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/a2/Implies: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/fpu/Implies: Likewise. - - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/970/Implies: Move from - powerpc64 and adjusted. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/a2/Implies: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/cell/Implies: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/cell/fpu/Implies: - Likewise. - -2018-04-27 Joseph Myers - - * sysdeps/tile: Remove. - * sysdeps/unix/sysv/linux/tile: Likewise. - * README (tilegx-*-linux-gnu): Remove from list of supported - configurations. - * manual/contrib.texi (Contributors): Mention Chris Metcalf's - contribution of support for generic Linux kernel syscall - interface. - * scripts/build-many-glibcs.py (Context.add_all_configs): Remove - tilegx configurations. - (Config.install_linux_headers): Do not handle tile. - * sysdeps/unix/sysv/linux/aarch64/ldsodefs.h: Do not mention Tile - in comment. - * sysdeps/unix/sysv/linux/nios2/Makefile: Likewise. - * sysdeps/unix/sysv/linux/posix_fadvise.c: Likewise. - [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove - conditional undefine and redefine. - * sysdeps/unix/sysv/linux/posix_fadvise64.c: Do not mention Tile - in comment. - [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove - conditional undefine and redefine. - -2018-04-26 Aurelien Jarno - - * signal/tst-sigaction.c: New file to test BZ #23069. - * signal/Makefile (tests): Fix indentation. Add tst-sigaction. - -2018-04-26 Tulio Magno Quites Machado Filho - - [BZ #22766] - * include/dlfcn.h [__libc_dl_open]: Replace RTLD_LAZY with RTLD_NOW. - * sysdeps/gnu/unwind-resume.c (__lib_gcc_s_init): Replace - __libc_dlopen_mode() using RTLD_NOW with __libc_dlopen. - * sysdeps/nptl/unwind-forcedunwind.c: Likewise. - -2018-04-25 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/getdirentries.c (getdirentries): Build iff - _DIRENT_MATCHES_DIRENT64 is not defined. - * sysdeps/unix/sysv/linux/getdirentries64.c (getdirentries64): Open - implementation and alias to getdirentries if _DIRENT_MATCHES_DIRENT64 - is defined. - * sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: Remove file. - * sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: Remove file. - -2018-04-25 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default GCC - version to GCC 8 branch. - -2018-04-24 Joseph Myers - - * sysdeps/mach/hurd/dl-sysdep.c: Include . - (check_no_hidden): Use type of original function when declaring - alias. - - * sysdeps/unix/sysv/linux/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): New enum value and macro. - * sysdeps/unix/sysv/linux/bits/ptrace-shared.h - (struct __ptrace_seccomp_metadata): New type. - * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): Likewise. - * sysdeps/unix/sysv/linux/arm/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): Likewise. - * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): Likewise. - * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): Likewise. - * sysdeps/unix/sysv/linux/s390/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): Likewise. - * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): Likewise. - * sysdeps/unix/sysv/linux/tile/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): Likewise. - * sysdeps/unix/sysv/linux/x86/sys/ptrace.h - (PTRACE_SECCOMP_GET_METADATA): Likewise. - -2018-04-23 Adhemerval Zanella - - * dirent/alphasort.c (alphasort): Build iff _DIRENT_MATCHES_DIRENT64 is - defined. - * dirent/versionsort.c (versionsort): Likewise. - * dirent/alphasort64.c (alphasort64): Build regardless and alias to - alphasort if _DIRENT_MATCHES_DIRENT64 is defined. - * dirent/versionsort64.c (versionsort64): Likewise. - * sysdeps/unix/sysv/linux/i386/alphasort64.c: Remove file. - * sysdeps/unix/sysv/linux/arm/alphasort64.c: Likewise. - * sysdeps/unix/sysv/linux/arm/versionsort64.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/alphasort64.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/versionsort64.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c: Likewise. - * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise. - * sysdeps/unix/sysv/linux/alphasort64.c: New file. - * sysdeps/unix/sysv/linux/versionsort64.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/alphasort64.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/versionsort64.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/alphasort64.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/versionsort64.c: Likewise. - -2018-04-23 Joseph Myers - - * elf/elf.h (NT_PPC_PKEY): New macro. - -2018-04-23 Dragan Stanojevic - Nevidljivi - - [BZ #23094] - * localedata/locales/hr_HR: fix thousands_sep and - mon_thousands_sep - -2018-04-20 Joseph Myers - - * sysdeps/unix/sysv/linux/alpha/bits/termios.h [__USE_MISC] - (XTABS): Define to TAB3. - -2018-04-20 Adhemerval Zanella - - * sysdeps/hppa/fpu/libm-test-ulps: Update. - - * dirent/scandir-tail-common.c: New file. - * dirent/scandir-tail.c: Use scandir-tail-common.c. - (__scandir_tail): Build iff _DIRENT_MATCHES_DIRENT64 is not defined. - * dirent/scandir.c: Use scandir-tail-common.c. - * dirent/scandirat.c: Likewise. - * dirent/scandir64-tail.c: Use scandir-tail-common.c. - * dirent/scandir64.c (scandir64): Always build and alias to scandir - if _DIRENT_MATCHES_DIRENT64 is defined. - * dirent/scandirat64.c (scandirat64): Likewise. - * include/dirent.h (__scandir_tail): Only define iff - _DIRENT_MATCHES_DIRENT64 is not defined. - (__scandir64_tail): Define regardless. - (__scandirat, scandirat64): Remove libc_hidden_proto. - * sysdeps/unix/sysv/linux/arm/scandir64.c: Remove file. - * sysdeps/unix/sysv/linux/m68k/scandir64.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c: Likewise. - * sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c: Likewise. - * sysdeps/unix/sysv/linux/scandir64.c: New file. - -2018-04-20 Joseph Myers - - * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_ASIMDFHM): - New macro. - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT): - Increase to 24. - (_dl_aarch64_cap_flags): Add asimdfhm. - -2018-04-19 Chung-Lin Tang - - * sysdeps/nios2/libm-test-ulps: Update. - -2018-04-19 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c (__getdents64): - Only alias to __getdents for _DIRENT_MATCHES_DIRENT64. - - * sysdeps/unix/sysv/linux/alpha/getdents.c: Add comments with alpha - requirements. - (_DIRENT_MATCHES_DIRENT64): Undef - * sysdeps/unix/sysv/linux/alpha/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/arm/getdents64.c: Remove file. - * sysdeps/unix/sysv/linux/generic/getdents.c: Likewise. - * sysdeps/unix/sysv/linux/generic/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c: Likewise. - * sysdeps/unix/sysv/linux/getdents.c: Simplify implementation by - use getdents64 syscalls as base. - * sysdeps/unix/sysv/linux/getdents64.c: Likewise and add compatibility - symbol if required. - * sysdeps/unix/sysv/linux/hppa/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/i386/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/getdents.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c - (__get_clockfreq_via_proc_openprom): Use __getdents64. - * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c: New file. - -2018-04-19 Stefan Liebler - - * scripts/test_printers_common.py (init_test): Disable lock elision. - -2018-04-19 Stefan Liebler - - * math/test-tgmath.c (count_double, count_float, - count_ldouble, count_cdouble, count_cfloat, - count_cldouble): Use volatile int. - -2018-04-19 Samuel Thibault - - * sysdeps/mach/hurd/i386/Makefile [$(subdir) = conform] - (conformtest-xfail-conds): Add i386-gnu. - * conform/data/fcntl.h-data (flock.l_type, flock.l_whence): XFAIL on - i386-gnu. - * conform/data/sys/ipc.h-data (ipc_perm.uid, ipc_perm.gid, - ipc_perm.cuid, ipc_perm.cgid): Likewise. - * conform/data/sys/msg.h-data (msqid_ds.msg_lspid, - msqid_ds.msg_lrpid): Likewise. - * conform/data/sys/shm.h-data (shmid_ds.shm_lpid, shmid_ds.shm_cpid): - Likewise. - * conform/data/sys/stat.h-data (stat.st_dev): Likewise. - * conform/data/sys/statvfs.h-data (statvfs.f_fsid): Likewise. - * sysdeps/mach/hurd/bits/statvfs.h (struct statvfs): Make f_bsize, - f_namemax, f_frsize, and f_flag fields unsigned long int instead of - unsigned int. - (struct statvfs64): Likewise. - * sysdeps/mach/hurd/bits/statfs.h (struct statfs, struct statfs64): - Likewise. - * bits/in.h [!__USE_MISC]: Do not define struct ip_opts. - * conform/data/netinet/in.h-data: Allow sin_ and sin6_ prefix. - * sysdeps/gnu/bits/msq.h (struct msqid_ds): Use __wait_queue struct - instead of wait_queue. - * sysdeps/gnu/bits/shm.h (struct shmid_ds): Use __vm_area_struct - instead of vm_area_struct. - * bits/sched.h: Include and move - struct sched_param definition to it. - * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. - * bits/types/struct_sched_param.h: New file. - * sysdeps/htl/bits/types/struct___pthread_attr.h: Include - instead of . - * posix/Makefile (headers): Add bits/types/struct_sched_param.h. - * sysdeps/pthread/bits/types/sigevent_t.h: New file, based on the - generic version but include to make struct - sigevent's sigev_notify_attributes field a pthread_attr_t*. - * bits/types/siginfo_t.h: Remove siginfo struct name, unused and - non-compliant. - * bits/termios.h [__USE_XOPEN || __USE_XOPEN2K8] (IXANY): Define. - [__USE_XOPEN && !__USE_XOPEN2K] (IUCLC, OLCUC): Define. - [__USE_XOPEN] (OFDEL): New macro. - [__USE_XOPEN && !__USE_XOPEN2K] (XCASE): New macro. - * bits/resource.h (RLIM_SAVED_MAX, RLIM_SAVED_CUR): New macros. - * sysdeps/hurd/include/hurd.h [!_ISOMAC]: Do not declare libc hidden - prototypes. - * sysdeps/hurd/include/hurd/fd.h [!_ISOMAC]: Likewise. - * sysdeps/hurd/include/hurd/signal.h [!_ISOMAC]: Likewise. - * sysdeps/arm/sys/ucontext.h: Remove fpregset struct name, unused and - non-compliant. - * sysdeps/i386/sys/ucontext.h: Likewise. - * sysdeps/m68k/sys/ucontext.h: Likewise. - * sysdeps/mips/sys/ucontext.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Likewise. - * sysdeps/mach/hurd/i386/Makefile - (test-xfail-POSIX/fcntl.h/conform): Add. - (test-xfail-POSIX/signal.h/conform): Add. - (test-xfail-POSIX/semaphore.h/conform): Add. - (test-xfail-POSIX/regex.h/conform): Add. - (test-xfail-POSIX/aio.h/conform): Add. - (test-xfail-POSIX/mqueue.h/conform): Add. - (test-xfail-POSIX/sys/types.h/conform): Add. - (test-xfail-UNIX98/fcntl.h/conform): Add. - (test-xfail-UNIX98/netdb.h/conform): Add. - (test-xfail-UNIX98/signal.h/conform): Add. - (test-xfail-UNIX98/semaphore.h/conform): Add. - (test-xfail-UNIX98/regex.h/conform): Add. - (test-xfail-UNIX98/aio.h/conform): Add. - (test-xfail-UNIX98/ftw.h/conform): Add. - (test-xfail-UNIX98/mqueue.h/conform): Add. - (test-xfail-UNIX98/netinet/in.h/conform): Add. - (test-xfail-UNIX98/sys/wait.h/conform): Add. - (test-xfail-UNIX98/sys/sem.h/conform): Add. - (test-xfail-UNIX98/sys/uio.h/conform): Add. - (test-xfail-UNIX98/sys/socket.h/conform): Add. - (test-xfail-UNIX98/sys/types.h/conform): Add. - (test-xfail-UNIX98/stdlib.h/conform): Add. - (test-xfail-UNIX98/arpa/inet.h/conform): Add. - (test-xfail-POSIX2008/fcntl.h/conform): Add. - (test-xfail-POSIX2008/netdb.h/conform): Add. - (test-xfail-POSIX2008/signal.h/conform): Add. - (test-xfail-POSIX2008/semaphore.h/conform): Add. - (test-xfail-POSIX2008/regex.h/conform): Add. - (test-xfail-POSIX2008/aio.h/conform): Add. - (test-xfail-POSIX2008/mqueue.h/conform): Add. - (test-xfail-POSIX2008/netinet/in.h/conform): Add. - (test-xfail-POSIX2008/sys/wait.h/conform): Add. - (test-xfail-POSIX2008/sys/socket.h/conform): Add. - (test-xfail-POSIX2008/sys/types.h/conform): Add. - (test-xfail-POSIX2008/arpa/inet.h/conform): Add. - (test-xfail-XOPEN2K/fcntl.h/conform): Add. - (test-xfail-XOPEN2K/netdb.h/conform): Add. - (test-xfail-XOPEN2K/signal.h/conform): Add. - (test-xfail-XOPEN2K/semaphore.h/conform): Add. - (test-xfail-XOPEN2K/regex.h/conform): Add. - (test-xfail-XOPEN2K/aio.h/conform): Add. - (test-xfail-XOPEN2K/ftw.h/conform): Add. - (test-xfail-XOPEN2K/mqueue.h/conform): Add. - (test-xfail-XOPEN2K/netinet/in.h/conform): Add. - (test-xfail-XOPEN2K/sys/wait.h/conform): Add. - (test-xfail-XOPEN2K/sys/sem.h/conform): Add. - (test-xfail-XOPEN2K/sys/uio.h/conform): Add. - (test-xfail-XOPEN2K/sys/socket.h/conform): Add. - (test-xfail-XOPEN2K/sys/types.h/conform): Add. - (test-xfail-XOPEN2K/stdlib.h/conform): Add. - (test-xfail-XOPEN2K/arpa/inet.h/conform): Add. - (test-xfail-XOPEN2K8/fcntl.h/conform): Add. - (test-xfail-XOPEN2K8/netdb.h/conform): Add. - (test-xfail-XOPEN2K8/signal.h/conform): Add. - (test-xfail-XOPEN2K8/semaphore.h/conform): Add. - (test-xfail-XOPEN2K8/regex.h/conform): Add. - (test-xfail-XOPEN2K8/aio.h/conform): Add. - (test-xfail-XOPEN2K8/ftw.h/conform): Add. - (test-xfail-XOPEN2K8/mqueue.h/conform): Add. - (test-xfail-XOPEN2K8/netinet/in.h/conform): Add. - (test-xfail-XOPEN2K8/sys/wait.h/conform): Add. - (test-xfail-XOPEN2K8/sys/sem.h/conform): Add. - (test-xfail-XOPEN2K8/sys/uio.h/conform): Add. - (test-xfail-XOPEN2K8/sys/socket.h/conform): Add. - (test-xfail-XOPEN2K8/sys/types.h/conform): Add. - (test-xfail-XOPEN2K8/stdlib.h/conform): Add. - (test-xfail-XOPEN2K8/arpa/inet.h/conform): Add. - * conform/data/signal.h-data (SA_SIGINFO, SA_NOCLDWAIT): XFAIL on - i386-gnu. - * conform/data/sys/wait.h-data (WIFCONTINUED, WEXITED, WSTOPPED, - WCONTINUED, WNOWAIT): XFAIL on i386-gnu. - -2018-04-18 Joseph Myers - - * scripts/build-many-glibcs.py (Context.add_all_configs): Use - --enable-obsolete for powerpc-linux-gnuspe. - -2018-04-18 Samuel Thibault - - * conform/data/sys/un.h-data: Allow sun_ prefix. - * sysdeps/mach/include/lock-intern.h: Do not declare libc hidden - prototypes. - * sysdeps/mach/include/mach.h: Likewise. - * sysdeps/mach/include/mach/mig_support.h: Likewise. - * sysdeps/mach/include/mach_error.h: Likewise. - -2018-04-16 Adhemerval Zanella - - * sysdeps/arm/armv6t2/memchr.S (memchr): Remove ARM code path. - * sysdeps/arm/armv6t2/strlen.S (memchr): Likewise. - * sysdeps/arm/armv7/multiarch/memchr_neon.S (memchr): Likewise. - * sysdeps/arm/armv7/strcmp.S (strcmp): Likewise. - -2018-04-16 Andreas Schwab - - [BZ #19527] - * iconvdata/gconv-modules (ARMSCII8//, ShiftJISX0213//): New aliases. - -2018-04-15 Patrick McGehearty - - * sysdeps/ieee754/dbl-64/e_exp.c: faster __ieee754_exp() - * sysdeps/ieee754/dbl-64/eexp.tbl: New file for e_exp.c - -2018-04-12 DJ Delorie - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 4.16. - -2018-04-12 Stefan Liebler - - * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h - (struct kernel_sigaction): Use the same definition on 31bit as is used - on 64bit. - -2018-04-09 Florian Weimer - - [BZ #23037] - * resolv/res_send.c (send_dg): Use designated initializers instead - of assignment to zero-initialize other fields of struct mmsghdr. - -2018-04-06 Adhemerval Zanella - - * sysdeps/posix/readdir.c (__READDIR, __GETDENTS, DIRENTY_TYPE, - __READDIR_ALIAS): Undefine after usage. - * sysdeps/posix/readdir_r.c (__READDIR_R, __GETDENTS, DIRENT_TYPE, - __READDIR_R_ALIAS): Likewise. - * sysdeps/unix/sysv/linux/arm/readdir64.c: Remove file. - * sysdeps/unix/sysv/linux/arm/readdir64_r.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/readdir64.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/readdir64_r.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/readdir64.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/readdir64_r.c: Likewise. - * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise. - * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/readdir.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/readdir64.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Likewise. - * sysdeps/unix/sysv/linux/readdir.c: New file. - * sysdeps/unix/sysv/linux/readdir_r.c: Likewise. - * sysdeps/unix/sysv/linux/readdir64.c: Add compat symbol if required. - * sysdeps/unix/sysv/linux/readdir64_r.c: Likewise. - - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update. - -2018-04-06 Andreas Schwab - - * manual/charset.texi (Converting a Character): Fix typo. - -2018-04-05 Adhemerval Zanella - - * sysdeps/sparc/fpu/libm-test-ulps: Update. - - * sysdeps/arm/libm-test-ulps: Update. - - * sysdeps/unix/sysv/linux/aarch64/sigaction.c: Use default Linux version - as base implementation. - * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. - * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise. - * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h: Add include guards, - remove unrequired definitions and update comments. - * sysdeps/unix/sysv/linux/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/kernel_sigaction.h: New file. - * sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/nios2/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/kernel_sigaction: Likewise. - * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/sh/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/tile/kernel_sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/sigaction.c: Remove file. - * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise. - * sysdeps/unix/sysv/linux/sigaction.c: Add STUB, SET_SA_RESTORER, - and RESET_SA_RESTORER hooks. - -2018-04-05 Stefan Liebler - - * sysdeps/s390/fpu/libm-test-ulps: Regenerated. - -2018-04-05 Florian Weimer - - * manual/examples/mbstouwcs.c (mbstouwcs): Fix loop termination, - integer overflow, memory leak on error, and indeterminate errno - value. Add a null wide character to terminate the result string. - * manual/charset.texi (Converting a Character): Mention embedded - null bytes in the mbrtowc input string. Explain what happens in - the -2 result case. Do not claim that mbrtowc is simple or - obvious to use. Adjust the description of the code example. Use - @code, not @var, for concrete variables. - -2018-04-05 Florian Weimer - - * manual/examples/mbstouwcs.c: New file. - * manual/charset.texi (Converting a Character): Include it. - -2018-04-05 Samuel Thibault - - * include/dirent.h (dirfd): Add hidden proto. - * dirent/dirfd.c (dirfd): Add hidden def. - * sysdeps/mach/hurd/dirfd.c (dirfd): Add hidden def. - * sysdeps/posix/dirfd.c (dirfd): Add hidden def. - -2018-04-04 Tulio Magno Quites Machado Filho - - * sysdeps/powerpc/fpu/libm-test-ulps: Increase double-precision - sin, cos and sincos to 1 ULP. - -2018-04-04 Maciej W. Rozycki - - [BZ #19818] - * sysdeps/generic/ldsodefs.h (SYMBOL_ADDRESS): Handle SHN_ABS - symbols. - * elf/dl-addr.c (determine_info): Ignore SHN_ABS symbols. - * elf/tst-absolute-sym.c: New file. - * elf/tst-absolute-sym-lib.c: New file. - * elf/tst-absolute-sym-lib.lds: New file. - * elf/Makefile (tests): Add `tst-absolute-sym'. - (modules-names): Add `tst-absolute-sym-lib'. - (LDLIBS-tst-absolute-sym-lib.so): New variable. - ($(objpfx)tst-absolute-sym-lib.so): New dependency. - ($(objpfx)tst-absolute-sym): New dependency. - - [BZ #19818] - * sysdeps/generic/ldsodefs.h (LOOKUP_VALUE_ADDRESS): Add `set' - parameter. - (SYMBOL_ADDRESS): New macro. - [!ELF_FUNCTION_PTR_IS_SPECIAL] (DL_SYMBOL_ADDRESS): Use - SYMBOL_ADDRESS for symbol address calculation. - * elf/dl-runtime.c (_dl_fixup): Likewise. - (_dl_profile_fixup): Likewise. - * elf/dl-symaddr.c (_dl_symbol_address): Likewise. - * elf/rtld.c (dl_main): Likewise. - * sysdeps/aarch64/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise. - (elf_machine_rela): Likewise. - * sysdeps/hppa/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Likewise. - * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. - (elf_machine_rela): Likewise. - * sysdeps/ia64/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/microblaze/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): - Likewise. - (elf_machine_reloc): Likewise. - (elf_machine_got_rel): Likewise. - * sysdeps/mips/dl-trampoline.c (__dl_runtime_resolve): Likewise. - * sysdeps/nios2/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): - Likewise. - * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): - Likewise. - * sysdeps/riscv/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): - Likewise. - * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): - Likewise. - * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): - Likewise. - * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): - Likewise. - * sysdeps/tile/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. - -2018-04-04 Zack Weinberg - - * sysdeps/generic/internal-signals.h: Include signal.h, - sigsetops.h, and stdbool.h. - (__libc_signal_block_all): Actually block all signals. - (__libc_signal_block_app): Likewise. - (__libc_signal_restore_set): Actually restore the signal mask. - -2018-04-04 Florian Weimer - - inet: Actually build and run tst-deadline. - * inet/Makefile (tests-internal): Add tst-deadline and do not - overwrite the variable. - (tests-static-internal): Remove variable. - -2018-04-03 H.J. Lu - - [BZ #22947] - * bits/uio-ext.h (RWF_APPEND): New. - * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise. - * manual/llio.texi: Document RWF_APPEND. - * misc/tst-preadvwritev2-common.c (RWF_APPEND): New. - (RWF_SUPPORTED): Add RWF_APPEND. - -2018-04-03 Adhemerval Zanella - - [BZ #22391] - * nptl/sigaction.c (__sigaction): Use __is_internal_signal to - check for internal nptl signals. - * nptl/sigaction.c (__sigaction): Likewise. - * signal/sigaddset.c (sigaddset): Likewise. - * signal/sigdelset.c (sigdelset): Likewise. - * sysdeps/posix/signal.c (__bsd_signal): Likewise. - * sysdeps/posix/sigset.c (sigset): Call and check sigaddset return - value. - * signal/sigfillset.c (sigfillset): User __clear_internal_signals - to filter out internal nptl signals. - * signal/tst-sigset.c (do_test): Check ech signal indidually and - also check realtime signals using standard macros. - * sysdeps/generic/internal-signals.h (__clear_internal_signals, - __is_internal_signal, __libc_signal_block_all, - __libc_signal_block_app, __libc_signal_restore_set): New functions. - * sysdeps/nptl/sigfillset.c: Remove file. - * sysdeps/unix/sysv/linux/internal-signals.h (__is_internal_signal): - Change return to bool. - (__clear_internal_signals): Remove SIGTIMER clean since it is - equal to SIGCANEL on Linux. - * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Assume - signal set was constructed using standard functions. - -2018-04-03 Samuel Thibault - - * sysdeps/mach/hurd/if_index.c (__if_nametoindex): Return ENODEV if - ifname is too long. - * hurd/hurdsig.c (interrupted_reply_port_location): Use - DIAG_IGNORE_NEEDS_COMMENT to silence warning with GCC 6 and before. - * sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal): Add - hidden def. - * mach/spin-lock.c (__mutex_unlock): Add hidden def. - * signal/sigaddset.c: Include . - * signal/sigdelset.c: Likewise. - -2018-04-03 Wilco Dijkstra - - * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Cleanup ifdefs. - (__cos): Likewise. - * sysdeps/ieee754/dbl-64/s_sin.c (__sincos): Refactor using the same - logic as sin and cos. - -2018-04-03 Wilco Dijkstra - - * sysdeps/ieee754/dbl-64/s_sin.c (do_sin): Use TAYLOR_SIN for small - inputs. Return correct sign. - (do_sincos): Remove small input check before do_sin, let do_sin set - the sign. - (__sin): Likewise. - (__cos): Likewise. - -2018-04-03 Wilco Dijkstra - - * sysdeps/ieee754/dbl-64/s_sin.c (TAYLOR_SLOW): Remove. - (do_cos_slow): Likewise. - (do_sin_slow): Likewise. - (reduce_and_compute): Likewise. - (slow): Likewise. - (slow1): Likewise. - (slow2): Likewise. - (sloww): Likewise. - (sloww1): Likewise. - (sloww2): Likewise. - (bslow): Likewise. - (bslow1): Likewise. - (bslow2): Likewise. - (cslow2): Likewise. - -2018-04-03 Wilco Dijkstra - - * sysdeps/ieee754/dbl-64/s_sin.c (TAYLOR_SIN): Remove cor parameter. - (do_cos): Remove corp parameter and calculations. - (do_sin): Likewise. - (do_sincos): Remove cor variable. - (__sin): Use do_sincos for huge inputs. - (__cos): Likewise. - * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise. - (reduce_and_compute_sincos): Remove unused function. - -2018-04-03 Wilco Dijkstra - - * sysdeps/ieee754/dbl-64/s_sin.c (reduce_sincos_1): Rename to - reduce_sincos, improve accuracy to 136 bits. - (do_sincos_1): Rename to do_sincos, remove fallbacks to slow functions. - (__sin): Use improved reduction and simplified do_sincos calculation. - (__cos): Likewise. - * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise. - -2018-04-03 Wilco Dijkstra - - * sysdeps/ieee754/dbl-64/s_sin.c (reduce_sincos_2): Remove function. - (do_sincos_2): Likewise. - (__sin): Remove middle range reduction case. - (__cos): Likewise. - * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Remove middle range - reduction case. - -2018-04-03 Wilco Dijkstra - - * sysdeps/aarch64/libm-test-ulps: Update ULP for sin, cos, sincos. - * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Remove slow paths for small - inputs. - (__cos): Likewise. - * sysdeps/x86_64/fpu/libm-test-ulps: Update ULP for sin, cos, sincos. - -2018-04-03 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - version to 4.16 - -2018-04-03 Adhemerval Zanella - - * sysdeps/posix/opendir.c (o_directory_works, tryopen_o_directory): - Remove definitions. - (opendir_oflags): Use O_DIRECTORY regardless. - (__opendir, __opendirat): Remove need_isdir_precheck usage. - * sysdeps/unix/sysv/linux/opendir.c: Remove file. - -2018-04-02 Samuel Thibault - - * sysdeps/mach/hurd/bits/local_lim.h (_POSIX_THREAD_KEYS_MAX, - _POSIX_THREAD_DESTRUCTOR_ITERATIONS, _POSIX_THREAD_THREADS_MAX): Define - macros. - * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_THREADS, - _POSIX_THREAD_ATTR_STACKSIZE, _POSIX_THREAD_ATTR_STACKADDR, - _POSIX_SEMAPHORES, _POSIX_READER_WRITER_LOCKS, _POSIX_TIMEOUTS, - _POSIX_SPIN_LOCKS, _POSIX_BARRIERS): Define macros to 200809L. - * sysdeps/mach/hurd/net/if_ppp.h: Remove file. - * sysdeps/mach/hurd/Makefile (sysdep_headers): Remove net/if_ppp.h. - - * htl/Makefile: Bump licence to LGPL 2.1+. - * htl/alloca_cutoff.c: Likewise. - * htl/cthreads-compat.c: Likewise. - * htl/lockfile.c: Likewise. - * htl/pt-alloc.c: Likewise. - * htl/pt-cancel.c: Likewise. - * htl/pt-cleanup.c: Likewise. - * htl/pt-create.c: Likewise. - * htl/pt-dealloc.c: Likewise. - * htl/pt-detach.c: Likewise. - * htl/pt-exit.c: Likewise. - * htl/pt-getattr.c: Likewise. - * htl/pt-initialize.c: Likewise. - * htl/pt-internal.h: Likewise. - * htl/pt-join.c: Likewise. - * htl/pt-self.c: Likewise. - * htl/pt-setcancelstate.c: Likewise. - * htl/pt-setcanceltype.c: Likewise. - * htl/pt-sigmask.c: Likewise. - * htl/pt-spin-inlines.c: Likewise. - * htl/pt-testcancel.c: Likewise. - * htl/pt-yield.c: Likewise. - * htl/tests/test-1.c: Likewise. - * htl/tests/test-10.c: Likewise. - * htl/tests/test-11.c: Likewise. - * htl/tests/test-12.c: Likewise. - * htl/tests/test-13.c: Likewise. - * htl/tests/test-14.c: Likewise. - * htl/tests/test-15.c: Likewise. - * htl/tests/test-16.c: Likewise. - * htl/tests/test-17.c: Likewise. - * htl/tests/test-2.c: Likewise. - * htl/tests/test-3.c: Likewise. - * htl/tests/test-4.c: Likewise. - * htl/tests/test-5.c: Likewise. - * htl/tests/test-6.c: Likewise. - * htl/tests/test-7.c: Likewise. - * htl/tests/test-8.c: Likewise. - * htl/tests/test-9.c: Likewise. - * htl/tests/test-__pthread_destroy_specific-skip.c: Likewise. - * sysdeps/htl/bits/cancelation.h: Likewise. - * sysdeps/htl/bits/pthread-np.h: Likewise. - * sysdeps/htl/bits/pthread.h: Likewise. - * sysdeps/htl/bits/pthreadtypes.h: Likewise. - * sysdeps/htl/bits/semaphore.h: Likewise. - * sysdeps/htl/bits/types/__pthread_key.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_attr.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_barrier.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_barrierattr.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_cond.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_condattr.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_mutex.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_mutexattr.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_once.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_rwlock.h: Likewise. - * sysdeps/htl/bits/types/struct___pthread_rwlockattr.h: Likewise. - * sysdeps/htl/old_pt-atfork.c: Likewise. - * sysdeps/htl/pt-atfork.c: Likewise. - * sysdeps/htl/pt-attr-destroy.c: Likewise. - * sysdeps/htl/pt-attr-getdetachstate.c: Likewise. - * sysdeps/htl/pt-attr-getguardsize.c: Likewise. - * sysdeps/htl/pt-attr-getinheritsched.c: Likewise. - * sysdeps/htl/pt-attr-getschedparam.c: Likewise. - * sysdeps/htl/pt-attr-getschedpolicy.c: Likewise. - * sysdeps/htl/pt-attr-getscope.c: Likewise. - * sysdeps/htl/pt-attr-getstack.c: Likewise. - * sysdeps/htl/pt-attr-getstackaddr.c: Likewise. - * sysdeps/htl/pt-attr-getstacksize.c: Likewise. - * sysdeps/htl/pt-attr-init.c: Likewise. - * sysdeps/htl/pt-attr-setdetachstate.c: Likewise. - * sysdeps/htl/pt-attr-setguardsize.c: Likewise. - * sysdeps/htl/pt-attr-setinheritsched.c: Likewise. - * sysdeps/htl/pt-attr-setschedparam.c: Likewise. - * sysdeps/htl/pt-attr-setschedpolicy.c: Likewise. - * sysdeps/htl/pt-attr-setscope.c: Likewise. - * sysdeps/htl/pt-attr-setstack.c: Likewise. - * sysdeps/htl/pt-attr-setstackaddr.c: Likewise. - * sysdeps/htl/pt-attr-setstacksize.c: Likewise. - * sysdeps/htl/pt-attr.c: Likewise. - * sysdeps/htl/pt-barrier-destroy.c: Likewise. - * sysdeps/htl/pt-barrier-init.c: Likewise. - * sysdeps/htl/pt-barrier-wait.c: Likewise. - * sysdeps/htl/pt-barrier.c: Likewise. - * sysdeps/htl/pt-barrierattr-destroy.c: Likewise. - * sysdeps/htl/pt-barrierattr-getpshared.c: Likewise. - * sysdeps/htl/pt-barrierattr-init.c: Likewise. - * sysdeps/htl/pt-barrierattr-setpshared.c: Likewise. - * sysdeps/htl/pt-cond-brdcast.c: Likewise. - * sysdeps/htl/pt-cond-destroy.c: Likewise. - * sysdeps/htl/pt-cond-init.c: Likewise. - * sysdeps/htl/pt-cond-signal.c: Likewise. - * sysdeps/htl/pt-cond-timedwait.c: Likewise. - * sysdeps/htl/pt-cond-wait.c: Likewise. - * sysdeps/htl/pt-cond.c: Likewise. - * sysdeps/htl/pt-condattr-destroy.c: Likewise. - * sysdeps/htl/pt-condattr-getclock.c: Likewise. - * sysdeps/htl/pt-condattr-getpshared.c: Likewise. - * sysdeps/htl/pt-condattr-init.c: Likewise. - * sysdeps/htl/pt-condattr-setclock.c: Likewise. - * sysdeps/htl/pt-condattr-setpshared.c: Likewise. - * sysdeps/htl/pt-destroy-specific.c: Likewise. - * sysdeps/htl/pt-equal.c: Likewise. - * sysdeps/htl/pt-getconcurrency.c: Likewise. - * sysdeps/htl/pt-getcpuclockid.c: Likewise. - * sysdeps/htl/pt-getschedparam.c: Likewise. - * sysdeps/htl/pt-getspecific.c: Likewise. - * sysdeps/htl/pt-init-specific.c: Likewise. - * sysdeps/htl/pt-key-create.c: Likewise. - * sysdeps/htl/pt-key-delete.c: Likewise. - * sysdeps/htl/pt-key.h: Likewise. - * sysdeps/htl/pt-mutex-destroy.c: Likewise. - * sysdeps/htl/pt-mutex-getprioceiling.c: Likewise. - * sysdeps/htl/pt-mutex-init.c: Likewise. - * sysdeps/htl/pt-mutex-lock.c: Likewise. - * sysdeps/htl/pt-mutex-setprioceiling.c: Likewise. - * sysdeps/htl/pt-mutex-timedlock.c: Likewise. - * sysdeps/htl/pt-mutex-trylock.c: Likewise. - * sysdeps/htl/pt-mutex-unlock.c: Likewise. - * sysdeps/htl/pt-mutexattr-destroy.c: Likewise. - * sysdeps/htl/pt-mutexattr-getprioceiling.c: Likewise. - * sysdeps/htl/pt-mutexattr-getprotocol.c: Likewise. - * sysdeps/htl/pt-mutexattr-getpshared.c: Likewise. - * sysdeps/htl/pt-mutexattr-gettype.c: Likewise. - * sysdeps/htl/pt-mutexattr-init.c: Likewise. - * sysdeps/htl/pt-mutexattr-setprioceiling.c: Likewise. - * sysdeps/htl/pt-mutexattr-setprotocol.c: Likewise. - * sysdeps/htl/pt-mutexattr-setpshared.c: Likewise. - * sysdeps/htl/pt-mutexattr-settype.c: Likewise. - * sysdeps/htl/pt-mutexattr.c: Likewise. - * sysdeps/htl/pt-once.c: Likewise. - * sysdeps/htl/pt-rwlock-attr.c: Likewise. - * sysdeps/htl/pt-rwlock-destroy.c: Likewise. - * sysdeps/htl/pt-rwlock-init.c: Likewise. - * sysdeps/htl/pt-rwlock-rdlock.c: Likewise. - * sysdeps/htl/pt-rwlock-timedrdlock.c: Likewise. - * sysdeps/htl/pt-rwlock-timedwrlock.c: Likewise. - * sysdeps/htl/pt-rwlock-tryrdlock.c: Likewise. - * sysdeps/htl/pt-rwlock-trywrlock.c: Likewise. - * sysdeps/htl/pt-rwlock-unlock.c: Likewise. - * sysdeps/htl/pt-rwlock-wrlock.c: Likewise. - * sysdeps/htl/pt-rwlockattr-destroy.c: Likewise. - * sysdeps/htl/pt-rwlockattr-getpshared.c: Likewise. - * sysdeps/htl/pt-rwlockattr-init.c: Likewise. - * sysdeps/htl/pt-rwlockattr-setpshared.c: Likewise. - * sysdeps/htl/pt-setconcurrency.c: Likewise. - * sysdeps/htl/pt-setschedparam.c: Likewise. - * sysdeps/htl/pt-setschedprio.c: Likewise. - * sysdeps/htl/pt-setspecific.c: Likewise. - * sysdeps/htl/pt-spin.c: Likewise. - * sysdeps/htl/pt-startup.c: Likewise. - * sysdeps/htl/pthread.h: Likewise. - * sysdeps/htl/sem-close.c: Likewise. - * sysdeps/htl/sem-destroy.c: Likewise. - * sysdeps/htl/sem-getvalue.c: Likewise. - * sysdeps/htl/sem-init.c: Likewise. - * sysdeps/htl/sem-open.c: Likewise. - * sysdeps/htl/sem-post.c: Likewise. - * sysdeps/htl/sem-timedwait.c: Likewise. - * sysdeps/htl/sem-trywait.c: Likewise. - * sysdeps/htl/sem-unlink.c: Likewise. - * sysdeps/htl/sem-wait.c: Likewise. - * sysdeps/hurd/htl/pt-kill.c: Likewise. - * sysdeps/i386/htl/pt-machdep.h: Likewise. - * sysdeps/mach/htl/pt-block.c: Likewise. - * sysdeps/mach/htl/pt-spin.c: Likewise. - * sysdeps/mach/htl/pt-stack-alloc.c: Likewise. - * sysdeps/mach/htl/pt-thread-alloc.c: Likewise. - * sysdeps/mach/htl/pt-thread-start.c: Likewise. - * sysdeps/mach/htl/pt-thread-terminate.c: Likewise. - * sysdeps/mach/htl/pt-timedblock.c: Likewise. - * sysdeps/mach/htl/pt-wakeup.c: Likewise. - * sysdeps/mach/hurd/htl/bits/pthread-np.h: Likewise. - * sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h: Likewise. - * sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c: Likewise. - * sysdeps/mach/hurd/htl/pt-attr-setstacksize.c: Likewise. - * sysdeps/mach/hurd/htl/pt-docancel.c: Likewise. - * sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c: Likewise. - * sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-consistent.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-destroy.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-getprioceiling.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-init.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-lock.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-setprioceiling.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-timedlock.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-trylock.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex-unlock.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutex.h: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-destroy.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-getprioceiling.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-getprotocol.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-getpshared.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-getrobust.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-gettype.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-init.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-setprioceiling.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-setpshared.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-setrobust.c: Likewise. - * sysdeps/mach/hurd/htl/pt-mutexattr-settype.c: Likewise. - * sysdeps/mach/hurd/htl/pt-sigstate-destroy.c: Likewise. - * sysdeps/mach/hurd/htl/pt-sigstate-init.c: Likewise. - * sysdeps/mach/hurd/htl/pt-sigstate.c: Likewise. - * sysdeps/mach/hurd/htl/pt-sysdep.c: Likewise. - * sysdeps/mach/hurd/htl/pt-sysdep.h: Likewise. - * sysdeps/mach/hurd/i386/htl/pt-machdep.c: Likewise. - * sysdeps/mach/hurd/i386/htl/pt-setup.c: Likewise. - - * NEWS: Announce that glibc now builds unpatched on GNU/Hurd. - * README: Remove the mention of out-of-tree patches needed for - GNU/Hurd. - - * sysdeps/mach/hurd/bits/stat.h [!__USE_MISC && __USE_ATFILE] - (UTIME_NOW, UTIME_OMIT): Define macros. - - * htl/cthreads-compat.c (__cthread_detach): Call __pthread_detach - instead of pthread_detach. - (__cthread_fork): Call __pthread_create instead of pthread_create. - (__cthread_keycreate): Call __pthread_key_create instead of - pthread_key_create. - (__cthread_getspecific): Call __pthread_getspecific instead of - pthread_getspecific. - (__cthread_setspecific): Call __pthread_setspecific instead of - pthread_setspecific. - * htl/pt-alloc.c (__pthread_alloc): Call __pthread_mutex_lock and - __pthread_mutex_unlock instead of pthread_mutex_lock and - pthread_mutex_unlock. - * htl/pt-cleanup.c (__pthread_get_cleanup_stack): Rename to - ___pthread_get_cleanup_stack. - (__pthread_get_cleanup_stack): New strong alias. - * htl/pt-create.c: Include . - (entry_point): Call __pthread_exit instead of pthread_exit. - (pthread_create): Rename to __pthread_create. - (pthread_create): New strong alias. - * htl/pt-detach.c (pthread_detach): Rename to __pthread_detach. - (pthread_detach): New strong alias. - (__pthread_detach): Call __pthread_cond_broadcast instead of - pthread_cond_broadcast. - * htl/pt-exit.c: Include . - (__pthread_exit): Call __pthread_setcancelstate and - ___pthread_get_cleanup_stack instead of pthread_setcancelstate and - __pthread_get_cleanup_stack. - * htl/pt-testcancel.c: Include . - (pthread_testcancel): Call __pthread_exit instead of pthread_exit. - * sysdeps/htl/pt-attr-getstack.c: Include - (__pthread_attr_getstack): Call __pthread_attr_getstackaddr and - __pthread_attr_getstacksize instead of pthread_attr_getstackaddr and - pthread_attr_getstacksize. - * sysdeps/htl/pt-attr-getstackaddr.c (pthread_attr_getstackaddr): - Rename to __pthread_attr_getstackaddr. - (pthread_attr_getstackaddr): New strong alias. - * sysdeps/htl/pt-attr-getstacksize.c (pthread_attr_getstacksize): - Rename to __pthread_attr_getstacksize. - (pthread_attr_getstacksize): New strong alias. - * sysdeps/htl/pt-attr-setstack.c: Include . - (pthread_attr_setstack): Rename to __pthread_attr_setstack. - (pthread_attr_setstack): New strong alias. - (__pthread_attr_setstack): Call __pthread_attr_getstacksize, - __pthread_attr_setstacksize and __pthread_attr_setstackaddr instead of - pthread_attr_getstacksize, pthread_attr_setstacksize and - pthread_attr_setstackaddr. - * sysdeps/htl/pt-attr-setstackaddr.c (pthread_attr_setstackaddr): - Rename to __pthread_attr_setstackaddr. - (pthread_attr_setstackaddr): New strong alias. - * sysdeps/htl/pt-attr-setstacksize.c (pthread_attr_setstacksize): - Rename to __pthread_attr_setstacksize. - (pthread_attr_setstacksize): New strong alias. - * sysdeps/htl/pt-cond-timedwait.c: Include . - (__pthread_cond_timedwait_internal): Use __pthread_exit instead of - pthread_exit. - * sysdeps/htl/pt-key-create.c: Include . - (__pthread_key_create): New hidden def. - * sysdeps/htl/pt-key.h: Include . - * sysdeps/htl/pthreadP.h (_pthread_mutex_init, - __pthread_cond_broadcast, __pthread_create, __pthread_detach, - __pthread_exit, __pthread_key_create, __pthread_getspecific, - __pthread_setspecific, __pthread_setcancelstate, - __pthread_attr_getstackaddr, __pthread_attr_setstackaddr, - __pthread_attr_getstacksize, __pthread_attr_setstacksize, - __pthread_attr_setstack, ___pthread_get_cleanup_stack): New - declarations. - (__pthread_key_create, _pthread_mutex_init): New hidden declarations. - * sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c - (pthread_attr_setstackaddr): Rename to __pthread_attr_setstackaddr. - (pthread_attr_setstackaddr): New strong alias. - * sysdeps/mach/hurd/htl/pt-attr-setstacksize.c - (pthread_attr_setstacksize): Rename to __pthread_attr_setstacksize. - (pthread_attr_setstacksize): New strong alias. - * sysdeps/mach/hurd/htl/pt-docancel.c: Include . - (call_exit): Call __pthread_exit instead of pthread_exit. - * sysdeps/mach/hurd/htl/pt-mutex-init.c: Include . - (_pthread_mutex_init): New hidden definition. - * sysdeps/mach/hurd/htl/pt-sysdep.c: Include . - (_init_routine): Call __pthread_attr_init and __pthread_attr_setstack - instead of pthread_attr_init and pthread_attr_setstack. - - * hurd/hurdauth.c (_S_msg_add_auth): Call __vm_allocate and - __vm_deallocate instead of vm_allocate and vm_deallocate. - * hurd/hurdmsg.c (_S_msg_set_env_variable): Call __setenv instead of - setenv. - * hurd/hurdprio.c (_hurd_priority_which_map): Call __geteuid instead - of geteuid. - * hurd/path-lookup.c (file_name_path_scan): Call __strdup instead of - strdup. - * hurd/siginfo.c: Include . - (_hurd_siginfo_handler): Call _IO_puts instead of puts. - * hurd/xattr.c (_hurd_xattr_get, _hurd_xattr_set): Call __munmap instead of - munmap. - * mach/devstream.c: Include . - (dealloc_ref): Call __mach_port_deallocate instead of - mach_port_deallocate. - (mach_open_devstream): Call _IO_fopencookie instead of fopencookie. - Call __mach_port_deallocate instead of mach_port_deallocate. - * stdlib/canonicalize.c (__realpath): Call __pathconf instead of - pathconf. - * sysdeps/mach/hurd/ifreq.c (__ifreq): Call __munmap instead of - munmap. - * sysdeps/mach/hurd/ifreq.h (__if_freereq): Likewise. - * sysdeps/mach/hurd/ptrace.c (ptrace): Call __kill instead of kill. - * sysdeps/mach/hurd/sendfile64.c (sendfile64): Call __munmap instead - of munmap. - * sysdeps/mach/hurd/socketpair.c (__socketpair): Call __close instead - of close. - * sysdeps/posix/clock_getres.c (realtime_getres): Call __sysconf - instead of sysconf. - * sysdeps/pthread/timer_gettime.c (timer_gettime): Call - __clock_gettime instead of clock_gettime. - * sysdeps/pthread/timer_routines.c (thread_func): Likewise. - * sysdeps/pthread/timer_settime.c (timer_settime): Likewise. - * sysdeps/unix/bsd/gtty.c (gtty): Call __ioctl instead of ioctl. - * sysdeps/unix/bsd/stty.c (stty): Likewise. - * sysdeps/unix/bsd/tcflow.c (tcflow): Call __tcgetattr instead of - tcgetattr. - * sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call - __clock_gettime and __nanosleep instead of clock_gettime and - nanosleep. - * hurd/catch-signal.c (hurd_catch_signal): Rename to - __hurd_catch_signal. - (hurd_catch_signal): New strong alias. - (hurd_safe_memset, hurd_safe_copyout, hurd_safe_copyin): Call - __hurd_catch_signal instead of hurd_catch_signal. - * hurd/exc2signal.c (_hurd_exception2signal): Add hidden def. - * hurd/hurdexec.c (_hurd_init): Add hidden def. - * hurd/hurdinit.c (_hurd_init): Add hidden def. - * hurd/hurdsig.c: Include . - (_hurd_thread_sigstate): Add hidden def. - (_hurd_internal_post_signal): Use __mutex_unlock instead of - mutex_unlock. - * hurd/intern-fd.c (_hurd_intern_fd): Add hidden def. - * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add hidden def. - * hurd/path-lookup.c (hurd_file_name_path_lookup): Rename to - __hurd_file_name_path_lookup. - (hurd_file_name_path_lookup): New strong alias. - (file_name_path_lookup): Call __hurd_file_name_path_lookup instead of - hurd_file_name_path_lookup. - * mach/errstring.c (mach_error_type): Add hidden def. - * mach/msg-destroy.c (__mach_msg_destroy): Add hidden def. - * mach/mutex-init.c (__mutex_init): Add hidden def. - * mach/spin-lock.c (__spin_lock_locked, __spin_lock, __spin_unlock, - __spin_try_lock, __mutex_lock, __mutex_trylock): Add hidden defs. - * mach/spin-solid.c (__spin_lock_solid): Add hidden def. - * sysdeps/mach/hurd/getcwd.c - (_hurd_canonicalize_directory_name_internal): Rename to - __hurd_canonicalize_directory_name_internal. - (_hurd_canonicalize_directory_name_internal): New strong alias. - (__canonicalize_directory_name_internal, __getcwd): Call - __hurd_canonicalize_directory_name_internal instead of - _hurd_canonicalize_directory_name_internal. - * sysdeps/mach/hurd/mig-reply.c: Include . - (__mig_get_reply_port, __mig_dealloc_reply_port, __mig_init): Add - hidden defs. - * sysdeps/hurd/include/hurd.h: New file. - * sysdeps/hurd/include/hurd/fd.h: New file. - * sysdeps/hurd/include/hurd/signal.h: New file. - * sysdeps/mach/include/lock-intern.h: New file. - * sysdeps/mach/include/mach.h: New file. - * sysdeps/mach/include/mach/mig_support.h: New file. - * sysdeps/mach/include/mach_error.h: New file. - * sysdeps/hurd/include/hurd/signal.h (_hurd_raise_signal): Add hidden - prototype. - * hurd/hurd-raise.c (_hurd_raise_signal): Add hidden def. - * hurd/Makefile ($(inlines:%=$(objpfx)%.c): Define - _HEADER_H_HIDDEN_DEF macro. - * sysdeps/hurd/include/hurd/fd.h (_hurd_fd_error, - _hurd_fd_error_signal): Add hidden prototype. - [_HURD_FD_H_HIDDEN_DEF] (_hurd_fd_error, _hurd_fd_error_signal): Add - hidden def. - * libio/iolibio.h (_IO_puts): New hidden prototype. - * libio/ioputs.c (_IO_puts): New hidden def. - * sysdeps/mach/hurd/localplt.data: New file. - -2018-04-02 Agustina Arzille - Amos Jeffries - David Michael - Marco Gerards - Marcus Brinkmann - Neal H. Walfield - Pino Toscano - Richard Braun - Roland McGrath - Samuel Thibault - Thomas DiModica - Thomas Schwinge - - * htl: New directory. - * sysdeps/htl: New directory. - * sysdeps/hurd/htl: New directory. - * sysdeps/i386/htl: New directory. - * sysdeps/mach/htl: New directory. - * sysdeps/mach/hurd/htl: New directory. - * sysdeps/mach/hurd/i386/htl: New directory. - * nscd/Depend, resolv/Depend, rt/Depend: Add htl dependency. - * sysdeps/mach/hurd/i386/Implies: Add mach/hurd/i386/htl imply. - * sysdeps/mach/hurd/i386/libpthread.abilist: New file. - -2018-04-02 Samuel Thibault - - * sysdeps/pthread/timer_routines.c (__timer_thread_start): Block all - signals in thread created for runing timers. - -2018-04-01 Florian Weimer - - * support/support_format_addrinfo.c (support_format_addrinfo): - Include unknown error number in formatted result. - -2018-03-29 Florian Weimer - - * sysdeps/unix/sysv/linux/i386/tst-bz21269.c (do_test): Also - capture SIGBUS. - -2018-03-27 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/arch-fork.h [__ASSUME_CLONE_BACKWARDS] - (arch_fork): Issue INLINE_CLONE_SYSCALL if defined. - * sysdeps/unix/sysv/linux/sparc/kernel-features.h - (__ASSUME_CLONE_BACKWARDS): Define. - -2018-03-27 Jesse Hathaway - - [BZ #23024] - * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return - early when linux sentinel value is set. - -2018-03-27 Samuel Thibault - - * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_MEMLOCK): Define. - -2018-03-27 Andreas Schwab - - [BZ #23005] - * resolv/res_send.c (__res_context_send): Return ENOMEM if - allocation of private copy of nsaddr_list fails. - -2018-03-26 Joseph Myers - - [BZ #16552] - * sysdeps/unix/sysv/linux/generic/umount.c: Move to .... - * sysdeps/unix/sysv/linux/umount.c: ... here. - * sysdeps/unix/sysv/linux/arm/umount.c: Remove file. - * sysdeps/unix/sysv/linux/hppa/umount.c: Likewise. - * sysdeps/unix/sysv/linux/ia64/umount.c: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/umount.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: Likewise. - * sysdeps/unix/sysv/linux/umount.S: Likewise. - * sysdeps/unix/sysv/linux/x86_64/umount.c: Likewise. - -2018-03-26 Andreas Schwab - - * elf/elf.h (R_RISCV_BRANCH, R_RISCV_JAL, R_RISCV_CALL) - (R_RISCV_CALL_PLT, R_RISCV_GOT_HI20, R_RISCV_TLS_GOT_HI20) - (R_RISCV_TLS_GD_HI20, R_RISCV_PCREL_HI20, R_RISCV_PCREL_LO12_I) - (R_RISCV_PCREL_LO12_S, R_RISCV_HI20, R_RISCV_LO12_I) - (R_RISCV_LO12_S, R_RISCV_TPREL_HI20, R_RISCV_TPREL_LO12_I) - (R_RISCV_TPREL_LO12_S, R_RISCV_TPREL_ADD, R_RISCV_ADD8) - (R_RISCV_ADD16, R_RISCV_ADD32, R_RISCV_ADD64, R_RISCV_SUB8) - (R_RISCV_SUB16, R_RISCV_SUB32, R_RISCV_SUB64) - (R_RISCV_GNU_VTINHERIT, R_RISCV_GNU_VTENTRY, R_RISCV_ALIGN) - (R_RISCV_RVC_BRANCH, R_RISCV_RVC_JUMP, R_RISCV_RVC_LUI) - (R_RISCV_GPREL_I, R_RISCV_GPREL_S, R_RISCV_TPREL_I) - (R_RISCV_TPREL_S, R_RISCV_RELAX, R_RISCV_SUB6, R_RISCV_SET6) - (R_RISCV_SET8, R_RISCV_SET16, R_RISCV_SET32, R_RISCV_32_PCREL) - (R_RISCV_NUM): Define. - -2018-03-25 Samuel Thibault - - * include/errno.h [IS_IN(rtld) && !RTLD_PRIVATE_ERRNO]: Do not use the - TLS declaration of errno. - * sysdeps/generic/libc-start.h [!SHARED] (ARCH_SETUP_TLS): Define to - __libc_setup_tls. - * sysdeps/unix/sysv/linux/powerpc/libc-start.h [!SHARED] - (ARCH_SETUP_TLS): Likewise. - * sysdeps/mach/hurd/libc-start.h: New file copied from - sysdeps/generic/libc-start.h, but define ARCH_SETUP_TLS to empty. - * csu/libc-start.c [!SHARED] (LIBC_START_MAIN): Call ARCH_SETUP_TLS - instead of __libc_setup_tls. - * sysdeps/mach/hurd/i386/init-first.c [!SHARED] (init1): Call - __libc_setup_tls before initializing libpthread and running _hurd_init - which starts the signal thread. - * sysdeps/generic/ldsodefs.h [SHARED] (__pthread_initialize_minimal): - Declare function. - * sysdeps/mach/hurd/bits/errno.h: Regenerate. - -2018-03-24 H.J. Lu - - [BZ #22998] - * elf/Makefile (tests): Add $(tests-execstack-$(have-z-execstack)) - after it is defined. - -2018-03-23 Andrew Senkevich - Max Horn - - [BZ #22644] - CVE-2017-18269 - * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed - branch conditions. - * string/test-memmove.c (do_test2): New testcase. - -2018-03-22 Joseph Myers - - * sysdeps/generic/frame.h: Remove file. - * sysdeps/arm/frame.h: Likewise. - * sysdeps/hppa/frame.h: Likewise. - * sysdeps/generic/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Remove - macro. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/mach/hurd/i386/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): - Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (ADVANCE_STACK_FRAME): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/s390/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/sh/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (FIRST_FRAME_POINTER): Likewise. - (ADVANCE_STACK_FRAME): Likewise. - (GET_STACK): Likewise. - (GET_FRAME): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (ADVANCE_STACK_FRAME): Likewise. - (GET_STACK): Likewise. - (GET_FRAME): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/tile/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h - (SIGCONTEXT_EXTRA_ARGS): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (CALL_SIGHANDLER): Likewise. - -2018-03-21 Joseph Myers - - * sysdeps/x86_64/backtrace.c: Move to .... - * debug/backtrace.c: ... here. - * sysdeps/aarch64/backtrace.c: Remove file. - * sysdeps/alpha/backtrace.c: Likewise. - * sysdeps/hppa/backtrace.c: Likewise. - * sysdeps/ia64/backtrace.c: Likewise. - * sysdeps/mips/backtrace.c: Likewise. - * sysdeps/nios2/backtrace.c: Likewise. - * sysdeps/riscv/backtrace.c: Likewise. - * sysdeps/sh/backtrace.c: Likewise. - * sysdeps/tile/backtrace.c: Likewise. - -2018-03-20 Joseph Myers - - [BZ #22987] - * sysdeps/powerpc/bits/mathinline.h (fdim): Remove inline - function. - (fdimf): Likewise. - * sysdeps/sparc/fpu/bits/mathinline.h: Remove file. - - [BZ #17343] - * stdlib/random_r.c (__random_r): Use unsigned arithmetic for - possibly overflowing computations. - -2018-03-20 Samuel Thibault - - * manual/errno.texi (EOWNERDEAD, ENOTRECOVERABLE): Remove errno - values from Linux-specific section now that it is in the GNU section. - * sysdeps/gnu/errlist.c: Regenerate. - -2018-03-20 Joseph Myers - - * math/Makefile (libm-narrow-fns): Add sub. - (libm-test-funcs-narrow): Likewise. - * math/Versions (GLIBC_2.28): Add narrowing subtract functions. - * math/bits/mathcalls-narrow.h (sub): Use __MATHCALL_NARROW. - * math/gen-auto-libm-tests.c (test_functions): Add sub. - * math/math-narrow.h (CHECK_NARROW_SUB): New macro. - (NARROW_SUB_ROUND_TO_ODD): Likewise. - (NARROW_SUB_TRIVIAL): Likewise. - * sysdeps/ieee754/float128/float128_private.h (__fsubl): New - macro. - (__dsubl): Likewise. - * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fsub and - dsub. - (CFLAGS-nldbl-dsub.c): New variable. - (CFLAGS-nldbl-fsub.c): Likewise. - * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add - __nldbl_dsubl. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_dsubl): New - prototype. - * manual/arith.texi (Misc FP Arithmetic): Document fsub, fsubl, - dsubl, fMsubfN, fMsubfNx, fMxsubfN and fMxsubfNx. - * math/auto-libm-test-in: Add tests of sub. - * math/auto-libm-test-out-narrow-sub: New generated file. - * math/libm-test-narrow-sub.inc: New file. - * sysdeps/i386/fpu/s_f32xsubf64.c: Likewise. - * sysdeps/ieee754/dbl-64/s_f32xsubf64.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fsub.c: Likewise. - * sysdeps/ieee754/float128/s_f32subf128.c: Likewise. - * sysdeps/ieee754/float128/s_f64subf128.c: Likewise. - * sysdeps/ieee754/float128/s_f64xsubf128.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_dsubl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_f64xsubf128.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_fsubl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_dsubl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fsubl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_dsubl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_fsubl.c: Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-dsub.c: Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-fsub.c: Likewise. - * sysdeps/ieee754/soft-fp/s_dsubl.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fsub.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fsubl.c: Likewise. - * sysdeps/powerpc/fpu/libm-test-ulps: Update. - * sysdeps/mach/hurd/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - -2018-03-19 Joseph Myers - - [BZ #20079] - * elf/elf.h (SHT_X86_64_UNWIND): New macro. - -2018-03-19 Wilco Dijkstra - - * benchtests/bench-timing.h (attribute_hidden): Undefine. - -2018-03-18 Richard Braun - - * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Use a temporary - thread reference. - -2018-03-18 Agustina Arzille - - * sysdeps/mach/libc-lock.h (__libc_cleanup_frame): Define structure. - (__libc_cleanup_fct): Define function. - (__libc_cleanup_region_start, __libc_cleanup_region_end, - __libc_cleanup_end): Rewrite implementation using - __attribute__ ((__cleanup__)). - (__libc_cleanup_push, __libc_cleanup_pop): New macros. - * hurd/Makefile (routines): Add hurdlock. - * hurd/Versions (GLIBC_PRIVATE): Added new entry to export the above - interface. - (HURD_CTHREADS_0.3): Remove __libc_getspecific. - * hurd/hurdpid.c: Include - (_S_msg_proc_newids): Use lll_wait to synchronize. - * hurd/hurdsig.c: (reauth_proc): Use __mutex_lock and __mutex_unlock. - * hurd/setauth.c: Include , use integer for synchronization. - * mach/Makefile (lock-headers): Remove machine-lock.h. - * mach/lock-intern.h: Include instead of - . - (__spin_lock_t): New type. - (__SPIN_LOCK_INITIALIZER): New macro. - (__spin_lock, __spin_unlock, __spin_try_lock, __spin_lock_locked, - __mutex_init, __mutex_lock_solid, __mutex_unlock_solid, __mutex_lock, - __mutex_unlock, __mutex_trylock): Use lll to implement locks. - * mach/mutex-init.c: Include instead of . - (__mutex_init): Initialize with lll. - * manual/errno.texi (EOWNERDEAD, ENOTRECOVERABLE): New errno values. - * sysdeps/mach/Makefile: Add libmachuser as dependencies for libs - needing lll. - * sysdeps/mach/hurd/bits/errno.h: Regenerate. - * sysdeps/mach/hurd/cthreads.c (__libc_getspecific): Remove function. - * sysdeps/mach/hurd/bits/libc-lock.h: Remove file. - * sysdeps/mach/hurd/setpgid.c: Include . - (__setpgid): Use lll for synchronization. - * sysdeps/mach/hurd/setsid.c: Likewise with __setsid. - * sysdeps/mach/bits/libc-lock.h: Include and - instead of . - (_IO_lock_inexpensive): New macro - (__libc_lock_recursive_t, __rtld_lock_recursive_t): New structures. - (__libc_lock_self0): New declaration. - (__libc_lock_owner_self): New macro. - (__libc_key_t): Remove type. - (_LIBC_LOCK_INITIALIZER): New macro. - (__libc_lock_define_initialized, __libc_lock_init, __libc_lock_fini, - __libc_lock_fini_recursive, __rtld_lock_fini_recursive, - __libc_lock_lock, __libc_lock_trylock, __libc_lock_unlock, - __libc_lock_define_initialized_recursive, - __rtld_lock_define_initialized_recursive, - __libc_lock_init_recursive, __libc_lock_trylock_recursive, - __libc_lock_lock_recursive, __libc_lock_unlock_recursive, - __rtld_lock_initialize, __rtld_lock_trylock_recursive, - __rtld_lock_lock_recursive, __rtld_lock_unlock_recursive - __libc_once_define, __libc_mutex_unlock): Reimplement with lll. - (__libc_lock_define_recursive, __rtld_lock_define_recursive, - _LIBC_LOCK_RECURSIVE_INITIALIZER, _RTLD_LOCK_RECURSIVE_INITIALIZER): - New macros. - Include to reimplement libc_key* with pthread_key*. - * hurd/hurdlock.c: New file. - * hurd/hurdlock.h: New file. - * mach/lowlevellock.h: New file - -2018-03-18 Samuel Thibault - - * sysdeps/mach/hurd/cthreads.c: Include . - * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ELOOP - when opening a symlink with O_NOFOLLOW. - * hurd/hurdlookup.c (__hurd_file_name_lookup): Do not append '/' to - path when flags contains O_NOFOLLOW. - * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ENOTDIR - if flags contains O_DIRECTORY and the result is a directory. - * sysdeps/mach/hurd/i386/init-first.c (init): Also find ELF headers by - oneself when the pointer given in D is nul (as set by ext2fs). - * sysdeps/mach/hurd/mlockall.c: New file. - * sysdeps/mach/hurd/munlockall.c: New file. - -2018-03-17 Samuel Thibault - - * hurd/hurdsig.c: Include . - (_hurdsig_init): Call pthread_getattr_np and pthread_attr_getstack to - get the signal thread stack layout. - * hurd/Makefile (headers): Remove threadvar.h. - (inline-headers): Remove threadvar.h. - * hurd/Versions (GLIBC_2.0: Remove __hurd_sigthread_stack_base, - __hurd_sigthread_stack_end, __hurd_sigthread_variables, - __hurd_threadvar_max, __hurd_errno_location. - (HURD_CTHREADS_0.3): Add pthread_getattr_np, pthread_attr_getstack. - * hurd/hurd/signal.h: Do not include . - (_hurd_self_sigstate): Use THREAD_SELF to get _hurd_sigstate. - (_HURD_SIGNAL_H_EXTERN_INLINE): Use THREAD_SELF to get _hurd_sigstate, - unless TLS is not initialized yet, in which case we do not need a - critical section yet anyway. - * hurd/hurd/threadvar.h: Include , do not include - . - (__hurd_sigthread_variables, __hurd_threadvar_max): Remove variables - declarations. - (__hurd_threadvar_index): Remove enum. - (_HURD_THREADVAR_H_EXTERN_INLINE): Remove macro. - (__hurd_threadvar_location_from_sp,__hurd_threadvar_location): Remove - inlines. - (__hurd_reply_port0): New variable declaration. - (__hurd_local_reply_port): New macro. - * hurd/hurdsig.c (__hurd_sigthread_variables): Remove variable. - (interrupted_reply_port_location): Add thread_t parameter. Use it - with THREAD_TCB to access thread-local variables. - (_hurdsig_abort_rpcs): Pass ss->thread to - interrupted_reply_port_location. - (_hurd_internal_post_signal): Likewise. - (_hurdsig_init): Use presence of cthread_fork instead of - __hurd_threadvar_stack_mask to start signal thread by hand. - Remove signal thread threadvar initialization. - * hurd/hurdstartup.c: Do not include - * hurd/sigunwind.c: Include - (_hurdsig_longjmp_from_handler): Use __hurd_local_reply_port instead - of threadvar. - * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE): Add - __libc_lock_self0. - (ld.GLIBC_2.0): Remove __hurd_sigthread_stack_base, - __hurd_sigthread_stack_end, __hurd_sigthread_variables. - (ld.GLIBC_PRIVATE): Add __libc_lock_self0. - * sysdeps/mach/hurd/cthreads.c: Add __libc_lock_self0. - * sysdeps/mach/hurd/dl-sysdep.c (errno, __hurd_sigthread_stack_base, - __hurd_sigthread_stack_end, __hurd_sigthread_variables, threadvars, - __hurd_threadvar_stack_offset, __hurd_threadvar_stack_mask): Do not - define variables. - * sysdeps/mach/hurd/errno-loc.c: Do not include and - . - [IS_IN(rtld)] (rtld_errno): New variable. - [IS_IN(rtld)] (__errno_location): New weak function. - [!IS_IN(rtld)]: Include "../../../csu/errno-loc.c". - * sysdeps/mach/hurd/errno.c: Remove file. - * sysdeps/mach/hurd/fork.c: Include - (__fork): Remove THREADVAR_SPACE macro and its use. - * sysdeps/mach/hurd/i386/init-first.c (__hurd_threadvar_max): Remove - variable. - (init): Do not initialize threadvar. - * sysdeps/mach/hurd/i386/libc.abilist (__hurd_threadvar_max): Remove - symbol. - * sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Use - __hurd_local_reply_port instead of threadvar. - * sysdeps/mach/hurd/i386/tls.h (tcbhead_t): Add reply_port and - _hurd_sigstate fields. - (HURD_DESC_TLS, __LIBC_NO_TLS, THREAD_TCB): New macro. - * sysdeps/mach/hurd/i386/trampoline.c: Remove outdated comment. - * sysdeps/mach/hurd/libc-lock.h: Do not include . - (__libc_lock_owner_self): Use &__libc_lock_self0 and THREAD_SELF - instead of threadvar. - * sysdeps/mach/hurd/libc-tsd.h: Remove file. - * sysdeps/mach/hurd/mig-reply.c (GETPORT, reply_port): Remove macros. - (use_threadvar, global_reply_port): Remove variables. - (__hurd_reply_port0): New variable. - (__mig_get_reply_port): Use __hurd_local_reply_port and - __hurd_reply_port0 instead of threadvar. - (__mig_dealloc_reply_port): Likewise. - (__mig_init): Do not initialize threadvar. - * sysdeps/mach/hurd/profil.c: Fix comment. - * hurd/Versions (HURD_CTHREADS_0.3): Rename weak refs cthread_fork, - cthread_detach, pthread_getattr_np, pthread_attr_getstack, - cthread_keycreate, cthread_getspecific, cthread_setspecific to - __cthread_fork, __cthread_detach, __pthread_getattr_np, - __pthread_attr_getstack, __cthread_keycreate, __cthread_getspecific, - __cthread_setspecific. - * hurd/hurdsig.c (_hurdsig_init): Use __cthread_fork, - __cthread_detach, __pthread_getattr_np, __pthread_attr_getstack, - __cthread_t instead of cthread_fork, cthread_detach, - pthread_getattr_np, pthread_attr_getstack. - * sysdeps/mach/hurd/cthreads.c (cthread_keycreate): Rename to - __cthread_keycreate. - (cthread_getspecific): Rename to __cthread_getspecific. - (cthread_setspecific): Rename to __cthread_setspecific. - (__libc_getspecific): Use __cthread_getspecific instead of - cthread_getspecific. - * sysdeps/mach/hurd/libc-lock.h (__libc_key_create): Use - __cthread_keycreate instead of cthread_keycreate. - (__libc_setspecific): Use __cthread_setspecific instead of - cthread_setspecific. - * sysdeps/mach/libc-lock.h (__libc_key_create, __libc_setspecific): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Always include - . Test for value of RTLD_PRIVATE_ERRNO instead of - testing whether it is defined. - -2018-03-16 Samuel Thibault - - * sysdeps/generic/thread_state.h (MACHINE_NEW_THREAD_STATE_FLAVOR): - Define macro. - * sysdeps/mach/thread_state.h (MACHINE_THREAD_STATE_FIX_NEW): New macro. - * sysdeps/mach/i386/thread_state.h - (MACHINE_NEW_THREAD_STATE_FLAVOR): New macro, defined to - i386_THREAD_STATE. - (MACHINE_THREAD_STATE_FLAVOR): Define to i386_REGS_SEGS_STATE instead of - i386_THREAD_STATE. - (MACHINE_THREAD_STATE_FIX_NEW): New macro, reads segments. - - * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): Use - i386_REGS_SEGS_STATE instead of i386_THREAD_STATE. - - * sysdeps/mach/hurd/i386/tls.h (TCB_ALIGNMENT, HURD_SEL_LDT): New - macros. - (_hurd_tls_fork): Add original thread parameter, Duplicate existing LDT - descriptor instead of creating a new one. - (_hurd_tls_new): New function, creates a new descriptor and updates tcb. - - * mach/setup-thread.c: Include . - (__mach_setup_thread): Call _dl_allocate_tls, pass - MACHINE_NEW_THREAD_STATE_FLAVOR to __thread_set_state instead of - MACHINE_THREAD_STATE_FLAVOR, before getting - MACHINE_THREAD_STATE_FLAVOR, calling _hurd_tls_new, and setting - MACHINE_THREAD_STATE_FLAVOR with the result. - * hurd/hurdfault.c (_hurdsig_fault_init): Call - MACHINE_THREAD_STATE_FIX_NEW. - * sysdeps/mach/hurd/fork.c (__fork): Call _hurd_tls_fork for sigthread - too. Add original thread parameter. - -2018-03-16 Joseph Myers - - * sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC] (__finite): - Remove inline function. - - * sysdeps/i386/fpu/libm-test-ulps: Update. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - -2018-03-16 Wilco Dijkstra - - * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Revert previous - commit. - -2018-03-15 Joseph Myers - - * sysdeps/x86/fpu/bits/mathinline.h [__FAST_MATH__] - (__sincos_code): Remove define and undefine. - [__FAST_MATH__] (__sincos): Remove inline function. - [__FAST_MATH__] (__sincosf): Remove inline function. - [__FAST_MATH__] (__sincosl): Remove inline function. - (__atan2l): Remove inline functions. - [!__GNUC_PREREQ (3, 4)] (__atan2_code): Remove macro. - [!__GNUC_PREREQ (3, 4) && __FAST_MATH__] (atan2): Remove inline - function. - (floor): Remove inline function. - (ceil): Likewise. - [__FAST_MATH__] (__ldexp_code): Remove macro. - [__FAST_MATH__] (ldexp): Remove inline function. - [__FAST_MATH__ && __USE_ISOC99] (ldexpf): Likewise. - [__FAST_MATH__ && __USE_ISOC99] (ldexpl): Likewise. - [__FAST_MATH__ && __USE_ISOC99] (rint): Likewise. - [__USE_ISOC99] (__lrint_code): Remove macro. - [__USE_ISOC99] (__llrint_code): Likewise. - [__USE_ISOC99] (lrintf): Remove inline function. - [__USE_ISOC99] (lrint): Likewise. - [__USE_ISOC99] (lrintl): Likewise. - [__USE_ISOC99] (llrint): Likewise. - [__USE_ISOC99] (llrintf): Likewise. - [__USE_ISOC99] (llrintl): Likewise. - -2018-03-15 Wilco Dijkstra - - * sysdeps/aarch64/fpu/math_private.h (__ieee754_sqrt): Remove. - (__ieee754_sqrtf): Remove. - * sysdeps/alpha/fpu/math_private.h (__ieee754_sqrt): Remove. - (__ieee754_sqrtf): Remove. - * sysdeps/generic/math-type-macros.h (M_SQRT): Use sqrt. - * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Remove. - * sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrt): Remove. - (__ieee754_sqrtf): Remove. - * sysdeps/s390/fpu/bits/mathinline.h: Remove file. - * sysdeps/sparc/fpu/bits/mathinline.h (sqrt) Remove. - (sqrtf): Remove. - (sqrtl): Remove. - (__ieee754_sqrt): Remove. - (__ieee754_sqrtf): Remove. - (__ieee754_sqrtl): Remove. - * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Remove. - * sysdeps/x86/fpu/math_private.h (__ieee754_sqrt): Remove. - * sysdeps/x86_64/fpu/math_private.h (__ieee754_sqrt): Remove. - (__ieee754_sqrtf): Remove. - (__ieee754_sqrtl): Remove. - -2018-03-15 Wilco Dijkstra - - * sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Use sqrt. - * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Likewise. - * sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise. - * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_j0): Likewise. - * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_j1): Likewise. - * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise. - * sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c (__ieee754_acosh): - Likewise. - * sysdeps/ieee754/flt-32/e_acosf.c (__ieee754_acosf): Likewise. - * sysdeps/ieee754/flt-32/e_acoshf.c (__ieee754_acoshf): Likewise. - * sysdeps/ieee754/flt-32/e_asinf.c (__ieee754_asinf): Likewise. - * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise. - * sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Likewise. - * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_j0f): Likewise. - * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_j1f): Likewise. - * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise. - * sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise. - * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): Use sqrtl. - * sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Likewise. - * sysdeps/ieee754/ldbl-128/e_asinl.c (__ieee754_asinl): Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): Likewise. - * sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl): Likewise. - * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Likewise. - * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise. - * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. - * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise. - * sysdeps/ieee754/ldbl-128/s_asinhl.c (__ieee754_asinhl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (__ieee754_acoshl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_asinl.c (__ieee754_asinl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (__ieee754_hypotl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_j0l.c (__ieee754_j0l): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_j1l.c (__ieee754_j1l): Likewise - * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c (__ieee754_asinhl): Likewise. - * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Use sqrtl. - * sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): Likewise. - * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise. - * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise. - * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise. - * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. - * sysdeps/ieee754/ldbl-96/s_asinhl.c (__ieee754_asinhl): Likewise. - * sysdeps/m68k/m680x0/fpu/e_pow.c (__ieee754_pow): Likewise. - * sysdeps/powerpc/fpu/e_hypot.c (__ieee754_hypot): Likewise. - * sysdeps/powerpc/fpu/e_hypotf.c (__ieee754_hypotf): Likewise. - -2018-03-15 Wilco Dijkstra - - * include/math.h (sqrt): Declare with asm redirect. - (sqrtf): Likewise. - (sqrtl): Likewise. - (sqrtf128): Likewise. - * Makeconfig: Add -fno-math-errno for libc/libm, but build testsuite, - nonlib and libnldbl with -fmath-errno. - * math/w_sqrt_compat.c: Define NO_MATH_REDIRECT. - * math/w_sqrt_template.c: Likewise. - * math/w_sqrtf_compat.c: Likewise. - * math/w_sqrtl_compat.c: Likewise. - * sysdeps/i386/fpu/w_sqrt.c: Likewise. - * sysdeps/i386/fpu/w_sqrt_compat.c: Likewise. - * sysdeps/generic/math-type-macros-float128.h: Remove math.h and - complex.h. - -2018-03-15 Wilco Dijkstra - - * benchtests/Makefile: Define _ISOMAC. - * benchtests/bench-strcoll.c: Add missing sys/stat.h include. - * benchtests/bench-string.h: Define inhibit_loop_to_libcall macro. - * benchtests/bench-strstr.c: Define empty libc_hidden_builtin_def. - * benchtests/bench-strtok.c (oldstrtok): Use rawmemchr. - * benchtests/bench-timing.h: Define attribute_hidden. - -2018-03-15 Siddhesh Poyarekar - - * sysdeps/aarch64/strncmp.S (strncmp): Use lsr instead of - mov + lsr. - -2018-03-15 Rafal Luzynski - - [BZ #22963] - * localedata/locales/cs_CZ (mon): Rename to... - (alt_mon): This. - (mon): Import from CLDR (genitive case). - -2018-03-15 Rafal Luzynski - - [BZ #22937] - * localedata/locales/el_CY (abmon): Rename to... - (ab_alt_mon): This. - (abmon): Import from CLDR (abbreviated genitive case). - * localedata/locales/el_GR (abmon): Rename to... - (ab_alt_mon): This. - (abmon): Import from CLDR (abbreviated genitive case). - -2018-03-15 Rafal Luzynski - - [BZ #22932] - * localedata/locales/lt_LT (abmon): Synchronize with CLDR. - -2018-03-15 Robert Buj - - [BZ #22848] - * localedata/locales/ca_ES (abmon): Rename to... - (ab_alt_mon): This, then synchronize with CLDR (nominative case). - (mon): Rename to... - (alt_mon): This. - (abmon): Import from CLDR (genitive case, month names preceded by - "de" or "d’"). - (mon): Likewise. - (abday): Synchronize with CLDR. - (d_t_fmt): Likewise. - (d_fmt): Likewise. - (am_pm): Likewise. - - (LC_TIME): Improve indentation. - (LC_TELEPHONE): Likewise. - (LC_NAME): Likewise. - (LC_ADDRESS): Likewise. - -2018-03-14 Joseph Myers - - * sysdeps/x86/fpu/bits/mathinline.h [!__GNUC_PREREQ (3, 4)] - (lrintf): Remove definitions used only with old GCC. - [!__GNUC_PREREQ (3, 4)] (lrint): Likewise. - [!__GNUC_PREREQ (3, 4)] (llrintf): Likewise. - [!__GNUC_PREREQ (3, 4)] (llrint): Likewise. - [!__GNUC_PREREQ (3, 4)] (fmaxf): Likewise. - [!__GNUC_PREREQ (3, 4)] (fmax): Likewise. - [!__GNUC_PREREQ (3, 4)] (fminf): Likewise. - [!__GNUC_PREREQ (3, 4)] (fmin): Likewise. - [!__GNUC_PREREQ (3, 4)] (rint): Likewise. - [!__GNUC_PREREQ (3, 4)] (rintf): Likewise. - [!__GNUC_PREREQ (3, 4)] (nearbyint): Likewise. - [!__GNUC_PREREQ (3, 4)] (nearbyintf): Likewise. - [!__GNUC_PREREQ (3, 4)] (ceil): Likewise. - [!__GNUC_PREREQ (3, 4)] (ceilf): Likewise. - [!__GNUC_PREREQ (3, 4)] (floor): Likewise. - [!__GNUC_PREREQ (3, 4)] (floorf): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (tan): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (fmod): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (sin): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (cos): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log10): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (asin): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (acos): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (atan): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log1p): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (logb): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log2): Likewise. - [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (drem): Likewise. - [__FAST_MATH__] (__M_SQRT2): Remove macro. - -2018-03-14 Siddhesh Poyarekar - - * sysdeps/aarch64/strncmp.S (strncmp): Use a separate shift - instruction to unbreak builds with binutils 2.26 and older. - -2018-03-13 Siddhesh Poyarekar - - * sysdeps/aarch64/strncmp.S (count): New macro. - (strncmp): Store misaligned length in SRC1 in COUNT. - (mutual_align): Adjust. - (misaligned8): Load dword at a time when it is safe. - -2018-03-12 Zack Weinberg - - [BZ #1190] - [BZ #19476] - * libio/fileops.c (_IO_new_file_underflow): Return EOF immediately - if the _IO_EOF_SEEN bit is already set; update commentary. - * libio/oldfileops.c (_IO_old_file_underflow): Likewise. - * libio/wfileops.c (_IO_wfile_underflow): Likewise. - - * support/support_openpty.c, support/tty.h: New files. - * support/Makefile (libsupport-routines): Add support_openpty. - - * libio/tst-fgetc-after-eof.c, wcsmbs/test-fgetwc-after-eof.c: - New test cases. - * libio/Makefile (tests): Add tst-fgetc-after-eof. - * wcsmbs/Makefile (tests): Add tst-fgetwc-after-eof. - -2018-03-12 Dmitry V. Levin - - * po/pt_BR.po: Update translations. - -2018-03-12 David Michael - - * sysdeps/mach/hurd/reboot.c: Include - (reboot): Lookup _SERVERS_STARTUP instead of calling proc_getmsgport to - get a port to the startup server. - -2018-03-11 Zack Weinberg - - * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include math.h - before nldbl-compat.h. - -2018-03-10 Zack Weinberg - - * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Don't include - math.h or math_private.h. - - * sysdeps/alpha/fpu/s_isnan.c - * sysdeps/ieee754/ldbl-128ibm/s_ceill.c - * sysdeps/ieee754/ldbl-128ibm/s_floorl.c - * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c - * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c - * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c - * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c - * sysdeps/ieee754/ldbl-128ibm/s_rintl.c - * sysdeps/ieee754/ldbl-128ibm/s_roundl.c - * sysdeps/ieee754/ldbl-128ibm/s_truncl.c - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot.c - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf.c: - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf.c - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf.c: - Include math_private.h. - - * sysdeps/ieee754/ldbl-64-128/s_finitel.c - * sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c - * sysdeps/ieee754/ldbl-64-128/s_isinfl.c - * sysdeps/ieee754/ldbl-64-128/s_isnanl.c - * sysdeps/ieee754/ldbl-64-128/s_signbitl.c - * sysdeps/powerpc/power7/fpu/s_logb.c: - Include math.h and math_private.h. - - * sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Wrap manual - uses of $at in .set noat / .set at. - -2018-03-10 H.J. Lu - - * include/setjmp.h (__libc_longjmp): Remove libc_hidden_proto. - * setjmp/longjmp.c (__libc_longjmp): Remove libc_hidden_def. - * sysdeps/s390/longjmp.c (__libc_longjmp): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S (__libc_longjmp): - Likewise. - -2018-03-09 Florian Weimer - - * malloc/malloc.c (prev_size, set_prev_size, prev_chunk): Fix typo - in comment. - -2018-03-09 Aurelien Jarno - - [BZ #22919] - * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext): - Add nop before __startcontext, add explaining comments. - -2018-03-07 Adhemerval Zanella - - [BZ #22926] - * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Define - empty for __SPE__. - * sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise. - * sysdeps/unix/sysv/linux/powerpc/elision-lock.c (__lll_lock_elision): - Do not build hardware transactional code for __SPE__. - * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c - (__lll_trylock_elision): Likewise. - * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c - (__lll_unlock_elision): Likewise. - - * sysdeps/nptl/fork.c (ARCH_FORK): Replace by arch_fork. - * sysdeps/unix/sysv/linux/alpha/arch-fork.h: Remove file. - * sysdeps/unix/sysv/linux/riscv/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/aarch64/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/arm/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/i386/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/microblaze/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/mips/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/nios2/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/s390/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/sh/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/tile/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/arch-fork.h (arch_fork): New function. - * sysdeps/unix/sysv/linux/aarch64/kernel-features.h: New file. - * sysdeps/unix/sysv/linux/riscv/kernel-features.h: Likewise. - * sysdeps/unix/sysv/linux/arm/kernel-features.h - (__ASSUME_CLONE_BACKWARDS): Define. - * sysdeps/unix/sysv/linux/createthread.c (ARCH_CLONE): Define to - __clone2 if __NR_clone2 is defined. - * sysdeps/unix/sysv/linux/hppa/kernel-features.h - (__ASSUME_CLONE_BACKWARDS): Likewise. - * sysdeps/unix/sysv/linux/i386/kernel-features.h - (__ASSUME_CLONE_BACKWARDS): Likewise. - * sysdeps/unix/sysv/linux/ia64/kernel-features.h - (__ASSUME_CLONE2): Likewise. - * sysdeps/unix/sysv/linux/microblaze/kernel-features.h - (__ASSUME_CLONE_BACKWARDS3): Likewise. - * sysdeps/unix/sysv/linux/kernel-features.h: Document possible clone - variants and the define architecture can use. - (__ASSUME_CLONE_DEFAULT): Define as default. - * sysdeps/unix/sysv/linux/mips/kernel-features.h - (__ASSUME_CLONE_BACKWARDS): Likewise. - * sysdeps/unix/sysv/linux/powerpc/kernel-features.h - (__ASSUME_CLONE_BACKWARDS): Likewise. - * sysdeps/unix/sysv/linux/s390/kernel-features.h - (__ASSUME_CLONE_BACKWARDS2): Likewise. - -2018-03-06 Siddhesh Poyarekar - - * sysdeps/aarch64/memcmp.S (more16): Fix loop16 branch target. - - * sysdeps/aarch64/memcmp.S: Widen comparison to 16 bytes at a - time. - - * benchtests/bench-strncmp.c (test_main): Remove 0 length tests. - (do_test_limit): Likewise. - - * benchtests/bench-strncmp.c (do_test_limit): Reallocate buffers - for every implementation. - (do_test): Likewise. - - * benchtests/bench-strncmp.c: Convert output to json. - -2018-03-06 Samuel Thibault - - * io/futimens.c: Add missing start-of-file descriptive comment. - * io/utime.c: Likewise. - * misc/futimesat.c: Likewise. - * misc/utimes.c: Likewise. - * sysdeps/mach/hurd/futimesat.c: Likewise. - * sysdeps/mach/hurd/utimes.c: Likewise. - * sysdeps/posix/utime.c: Likewise. - * sysdeps/posix/utimes.c: Likewise. - * sysdeps/unix/sysv/linux/futimesat.c: Likewise. - * sysdeps/unix/sysv/linux/generic/futimesat.c: Likewise. - * sysdeps/unix/sysv/linux/generic/utimes.c: Likewise. - * sysdeps/unix/sysv/linux/utimes.c: Likewise. - -2018-03-05 Samuel Thibault - - * sysdeps/mach/hurd/utime-helper.c (hurd_futimens): Rename function to - hurd_futimes. - * sysdeps/mach/hurd/utimes.c (__utimes): Update call accordingly. - * sysdeps/mach/hurd/lutimes.c (__lutimes): Likewise. - * sysdeps/mach/hurd/futimens.c: Include "utime-helper.c". - (__futimens): Move implementation to... - * sysdeps/mach/hurd/utime-helper.c (utime_ts_from_tspec, - utime_tvalue_from_tspec): ... new helper functions. - (hurd_futimens): New function. - * sysdeps/mach/hurd/futimesat.c: New file. - * sysdeps/mach/hurd/utimensat.c: New file. - -2018-03-05 Flávio Cruz - - * sysdeps/mach/hurd/bits/stat.h [__USE_ATFILE] (UTIME_NOW, - UTIME_OMIT): New macros. - * sysdeps/mach/hurd/futimens.c (__futimens): Try to use __file_utimens - before reverting to converting time spec to time value and calling - __file_utimes. - * sysdeps/mach/hurd/utime-helper.c: New file. - * sysdeps/mach/hurd/futimes.c: Include "utime-helper.c". - (__futimes): Try to use utime_ts_from_tval and __file_utimens before - reverting to utime_tvalue_from_tval and __file_utimes. - * sysdeps/mach/hurd/lutimes.c: Include "utime-helper.c". - (__lutimes): Just call hurd_futimens after lookup. - * sysdeps/mach/hurd/utimes.c: Likewise. - -2018-03-05 Samuel Thibault - - * bits/sigaction.h: Add include guard. - * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. - * sysdeps/unix/sysv/linux/tile/bits/sigaction.h: Likewise. - * hurd/hurd/signal.h: Include . - -2018-03-05 Joseph Myers - - * iconv/loop.c (UNICODE_TAG_HANDLER): Disable - -Wmaybe-uninitialized for -Os. - * sysdeps/s390/multiarch/8bit-generic.c (BODY): Add comment about - this disabling. - -2018-03-03 Adhemerval Zanella - - * bits/dirent.h (__INO_T_MATCHES_INO64_T): Define regardless whether - __INO_T_MATCHES_INO64_T is defined. - * sysdeps/unix/sysv/linux/bits/dirent.h: Likewise. - * dirent/alphasort.c: Check _DIRENT_MATCHES_DIRENT64 value instead - of definition. - * dirent/alphasort64.c: Likewise. - * dirent/scandir.c: Likewise. - * dirent/scandir64-tail.c: Likewise. - * dirent/scandir64.c: Likewise. - * dirent/scandirat.c: Likewise. - * dirent/scandirat64.c: Likewise. - * dirent/versionsort.c: Likewise. - * dirent/versionsort64.c: Likewise. - * include/dirent.h: Likewise. - - * nptl/tst-cancel4-common.h (set_socket_buffer): New function. - * nptl/tst-cancel4-common.c (do_test): Call set_socket_buffer - for socketpair endpoint. - * nptl/tst-cancel4.c (tf_send): Call set_socket_buffer and use - WRITE_BUFFER_SIZE as buffer size for sending socket. - (tf_sendto): Use SOCK_STREAM instead of SOCK_DGRAM and fix an - issue on system where send is implemented with sendto syscall. - * sysdeps/unix/sysv/linux/mips/mips64/Makefile [$(subdir) = socket] - (CFLAGS-recv.c, CFLAGS-send.c): Remove rules. - [$(subdir) = nptl] (CFLAGS-recv.c, CFLAGS-send.c): Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/Makefile: Remove file. - - [BZ #21269] - * sysdeps/unix/sysv/linux/i386/Makefile (tests): Add tst-bz21269. - * sysdeps/unix/sysv/linux/i386/sigaction.c (SET_SA_RESTORER): Clear - sa_restorer for vDSO case. - * sysdeps/unix/sysv/linux/i386/tst-bz21269.c: New file. - -2018-03-03 Samuel Thibault - - * scripts/check-installed-headers.sh: Ignore Hurd and Mach headers. - * hurd/hurd/id.h: Include - * hurd/hurd/ioctl.h: Include - * hurd/hurd/lookup.h: Include - * mach/Makefile ($(objpfx)mach-shortcuts.h): Make it include - and . - (headers): Move mach/param.h to bits/mach/param.h. - * sysdeps/mach/i386/mach/param.h: Move file to ... - * sysdeps/mach/i386/bits/mach/param.h: ... here. Update path in #error. - * sysdeps/mach/hurd/bits/param.h: Include instead - of . - * hurd/hurd/port.h: Do not include . - * hurd/hurd/userlink.h [!defined __USE_EXTERN_INLINES || - !defined _LIBC || !IS_IN (libc)]: Do not include . - * hurd/hurd/fd.h (_hurd_fd_error): Fix struct initializer to be - trivial, for C++ conformity. - * sysdeps/mach/hurd/dl-sysdep.c: Include . - * mach/Machrules ($(patsubst %,$(objpfx)%.h,$(user-interfaces)): - Process mig output through $(migheadersed). - * hurd/Makefile (migheadersed): Define variable. - * mach/mach/mig_support.h [defined __USE_GNU]: Do not #error out. - * scripts/check-installed-headers.sh: Do not ignore Hurd and Mach - headers. - * hurd/hurd.h: Include - * hurd/hurd/fd.h: Include and - (_hurd_fd_read, _hurd_fd_write): Use __loff_t instead of loff_t. - * hurd/hurd/signal.h: Include and - . - [!defined __USE_GNU]: Do not #error out. - (struct hurd_sigstate): Use _NSIG instead of NSIG. - * hurd/hurd/sigpreempt.h (__need_size_t): Define. - Include and - (struct hurd_signal_preemptor, hurd_catch_signal): Use __sighandler_t - instead of sighandler_t. - * stdlib/errno.h (error_t): Move definition to... - * bits/types/error_t.h: ... new header. - * stdlib/Makefile (headers): Add bits/types/error_t.h. - * sysdeps/mach/hurd/bits/errno.h (error_t): Move definition to... - * sysdeps/mach/hurd/bits/types/error_t.h: ... new header. - * sysdeps/mach/hurd/errnos.awk (error_t): Likewise. - * hurd/hurd.h: Include - * hurd/hurd/fd.h: Include - * hurd/hurd/id.h: Include and - * hurd/hurd/lookup.h: Include and - * hurd/hurd/resource.h: Include - * hurd/hurd/signal.h: Include - * hurd/hurd/sigpreempt.h: Include - * sysdeps/mach/hurd/futimens.c: New file. - -2018-03-03 Andreas Schwab - - [BZ #22918] - * nss/nsswitch.h (DEFINE_DATABASE): Don't define __nss_*_database. - * nss/nsswitch.c (DEFINE_DATABASE): Define __nss_*_database here. - * nscd/gai.c (__nss_hosts_database): Readd definition. - * posix/tst-rfc3484.c (__nss_hosts_database): Likewise. - * posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise. - * posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise. - -2018-03-02 Joseph Myers - - * sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Make always_inline. - (ifunc_one): Likewise. - -2018-03-01 DJ Delorie - - [BZ #22342] - * nscd/netgroupcache.c (addinnetgrX): Include trailing NUL in - key value. - -2018-03-01 Maciej W. Rozycki - - * nptl_db/td_ta_thr_iter.c (iterate_thread_list): Remove - `match_pid' parameter. - (td_ta_thr_iter): Update accordingly. - -2018-03-01 Florian Weimer - - * nptl/Makefile (install-lib-ldscripts): Remove. - (install): Remove rule. - ($(inst_libdir)/libpthread.so): Likewise. - -2018-03-01 Mike FABIAN - - [BZ #22896] - * localedata/locales/an_ES: update month and day names, - improve d_fmt, improve postal_fmt, add country_post, - add country_isbn - -2018-03-01 Mike FABIAN - - * localedata/locales/bg_BG (LC_COLLATE): The comment mentioned - Ukrainian instead of Bulgarian. - -2018-03-01 Florian Weimer - - * nptl/Makefile (libpthread.so): Drop libpthread_nonshared.a - reference. - -2018-03-01 Florian Weimer - - Move pthread_atfork to libc. Remove libpthread_nonshared.a. - * nptl/Makefile (routines): Add pthread_atfork. - (static-only-routines): Set to pthread_atfork. - (libpthread-routines): Remove pthread_atfork. - (libpthread-static-only-routines): Remove. - (install): Update comment. - (libpthread.so): Do not install libpthread_nonshared.a. - (tests): Do not link with libpthread_nonshared.a. - (generated): Remove libpthread_nonshared.a. - * nptl/pthread_atfork.c (pthread_atfork): Turn into weak alias. - * sysdeps/nptl/Makeconfig (shared-thread-library): Do not link - with libpthread_nonshared.a. - -2018-02-28 Joseph Myers - - [BZ #22902] - * sysdeps/i386/fpu/fenv_private.h [!__x86_64__] - (libc_feholdexcept_setroundf128): New macro. - [!__x86_64__] (libc_feupdateenv_testf128): Likewise. - - [BZ #15105] - * sysdeps/wordsize-32/strtoumax.c (strtoumax): Use - libc_hidden_def. - * sysdeps/wordsize-64/strtoumax.c (strtoumax): Likewise. - * include/inttypes.h: New file. - -2018-02-27 Joseph Myers - - * locale/weightwc.h (findidx): Ignore -Wmaybe-uninitialized for - -Os in two more places. - -2018-02-27 Mike FABIAN - - See this bug https://sourceware.org/bugzilla/show_bug.cgi?id=22898 - * localedata/cmn_TW.UTF-8.in: Remove the lines which cannot - be sorted correctly at the moment because of a bug. - -2018-02-27 Mike FABIAN - - [BZ #22550] - es_ES locale (and other es_* locales): collation should - treat ñ as a primary different character, sync the collation - for Spanish with CLDR. - [BZ #21547] - Tibetan script collation broken (Dzongkha and Tibetan). - * localedata/Makefile: Add new test files. - * localedata/lv_LV.UTF-8.in: Adapt test file to new collation order. - * localedata/sv_SE.ISO-8859-1.in: Adapt test file to new - collation order. - * localedata/uk_UA.UTF-8.in: Adapt test file to new collation order. - * localedata/am_ET.UTF-8.in: New test file. - * localedata/az_AZ.UTF-8.in: Likewise. - * localedata/be_BY.UTF-8.in: Likewise. - * localedata/ber_DZ.UTF-8.in: Likewise. - * localedata/ber_MA.UTF-8.in: Likewise. - * localedata/bg_BG.UTF-8.in: Likewise. - * localedata/br_FR.UTF-8.in: Likewise. - * localedata/cmn_TW.UTF-8.in: Likewise. - * localedata/crh_UA.UTF-8.in: Likewise. - * localedata/csb_PL.UTF-8.in: Likewise. - * localedata/cv_RU.UTF-8.in: Likewise. - * localedata/cy_GB.UTF-8.in: Likewise. - * localedata/dz_BT.UTF-8.in: Likewise. - * localedata/eo.UTF-8.in: Likewise. - * localedata/es_ES.UTF-8.in: Likewise. - * localedata/fa_IR.UTF-8.in: Likewise. - * localedata/fi_FI.UTF-8.in: Likewise. - * localedata/fil_PH.UTF-8.in: Likewise. - * localedata/fur_IT.UTF-8.in: Likewise. - * localedata/gez_ER.UTF-8@abegede.in: Likewise. - * localedata/ha_NG.UTF-8.in: Likewise. - * localedata/ig_NG.UTF-8.in: Likewise. - * localedata/ik_CA.UTF-8.in: Likewise. - * localedata/kk_KZ.UTF-8.in: Likewise. - * localedata/ku_TR.UTF-8.in: Likewise. - * localedata/ky_KG.UTF-8.in: Likewise. - * localedata/ln_CD.UTF-8.in: Likewise. - * localedata/mi_NZ.UTF-8.in: Likewise. - * localedata/ml_IN.UTF-8.in: Likewise. - * localedata/mn_MN.UTF-8.in: Likewise. - * localedata/mr_IN.UTF-8.in: Likewise. - * localedata/mt_MT.UTF-8.in: Likewise. - * localedata/nb_NO.UTF-8.in: Likewise. - * localedata/om_KE.UTF-8.in: Likewise. - * localedata/os_RU.UTF-8.in: Likewise. - * localedata/ps_AF.UTF-8.in: Likewise. - * localedata/ro_RO.UTF-8.in: Likewise. - * localedata/ru_RU.UTF-8.in: Likewise. - * localedata/sc_IT.UTF-8.in: Likewise. - * localedata/se_NO.UTF-8.in: Likewise. - * localedata/sq_AL.UTF-8.in: Likewise. - * localedata/sv_SE.UTF-8.in: Likewise. - * localedata/szl_PL.UTF-8.in: Likewise. - * localedata/tg_TJ.UTF-8.in: Likewise. - * localedata/tk_TM.UTF-8.in: Likewise. - * localedata/tt_RU.UTF-8.in: Likewise. - * localedata/tt_RU.UTF-8@iqtelif.in: Likewise. - * localedata/ug_CN.UTF-8.in: Likewise. - * localedata/uz_UZ.UTF-8.in: Likewise. - * localedata/vi_VN.UTF-8.in: Likewise. - * localedata/yi_US.UTF-8.in: Likewise. - * localedata/yo_NG.UTF-8.in: Likewise. - * localedata/zh_CN.UTF-8.in: Likewise. - * localedata/locales/am_ET: Adapt collation rules to new iso14651_t1_common - file and fix bugs in the collation. - * localedata/locales/az_AZ: Likewise. - * localedata/locales/be_BY: Likewise. - * localedata/locales/ber_DZ: Likewise. - * localedata/locales/ber_MA: Likewise. - * localedata/locales/bg_BG: Likewise. - * localedata/locales/br_FR: Likewise. - * localedata/locales/br_FR@euro: Likewise. - * localedata/locales/ca_ES: Likewise. - * localedata/locales/cns11643_stroke: Likewise. - * localedata/locales/crh_UA: Likewise. - * localedata/locales/cs_CZ: Likewise. - * localedata/locales/csb_PL: Likewise. - * localedata/locales/cv_RU: Likewise. - * localedata/locales/cy_GB: Likewise. - * localedata/locales/da_DK: Likewise. - * localedata/locales/dz_BT: Likewise. - * localedata/locales/en_CA: Likewise. - * localedata/locales/eo: Likewise. - * localedata/locales/es_CU: Likewise. - * localedata/locales/es_EC: Likewise. - * localedata/locales/es_ES: Likewise. - * localedata/locales/es_US: Likewise. - * localedata/locales/et_EE: Likewise. - * localedata/locales/fa_IR: Likewise. - * localedata/locales/fi_FI: Likewise. - * localedata/locales/fil_PH: Likewise. - * localedata/locales/fur_IT: Likewise. - * localedata/locales/gez_ER@abegede: Likewise. - * localedata/locales/ha_NG: Likewise. - * localedata/locales/hr_HR: Likewise. - * localedata/locales/hsb_DE: Likewise. - * localedata/locales/hu_HU: Likewise. - * localedata/locales/ig_NG: Likewise. - * localedata/locales/ik_CA: Likewise. - * localedata/locales/is_IS: Likewise. - * localedata/locales/iso14651_t1_pinyin: Likewise. - * localedata/locales/kk_KZ: Likewise. - * localedata/locales/ku_TR: Likewise. - * localedata/locales/ky_KG: Likewise. - * localedata/locales/ln_CD: Likewise. - * localedata/locales/lt_LT: Likewise. - * localedata/locales/lv_LV: Likewise. - * localedata/locales/mi_NZ: Likewise. - * localedata/locales/ml_IN: Likewise. - * localedata/locales/mn_MN: Likewise. - * localedata/locales/mr_IN: Likewise. - * localedata/locales/mt_MT: Likewise. - * localedata/locales/nb_NO: Likewise. - * localedata/locales/om_KE: Likewise. - * localedata/locales/os_RU: Likewise. - * localedata/locales/pl_PL: Likewise. - * localedata/locales/ps_AF: Likewise. - * localedata/locales/ro_RO: Likewise. - * localedata/locales/ru_RU: Likewise. - * localedata/locales/ru_UA: Likewise. - * localedata/locales/sc_IT: Likewise. - * localedata/locales/se_NO: Likewise. - * localedata/locales/si_LK: Likewise. - * localedata/locales/sq_AL: Likewise. - * localedata/locales/sv_FI: Likewise. - * localedata/locales/sv_FI@euro: Likewise. - * localedata/locales/sv_SE: Likewise. - * localedata/locales/szl_PL: Likewise. - * localedata/locales/tg_TJ: Likewise. - * localedata/locales/ti_ER: Likewise. - * localedata/locales/tk_TM: Likewise. - * localedata/locales/tl_PH: Likewise. - * localedata/locales/tr_TR: Likewise. - * localedata/locales/tt_RU: Likewise. - * localedata/locales/tt_RU@iqtelif: Likewise. - * localedata/locales/ug_CN: Likewise. - * localedata/locales/uk_UA: Likewise. - * localedata/locales/uz_UZ: Likewise. - * localedata/locales/uz_UZ@cyrillic: Likewise. - * localedata/locales/vi_VN: Likewise. - * localedata/locales/yi_US: Likewise. - * localedata/locales/yo_NG: Likewise. - -2018-02-27 Mike FABIAN - - * gen-locales.mk: Make test files which contain @ modifiers in their - name work. - * localedata/gen-locale.sh: Likewise. - -2018-02-27 Mike FABIAN - - * posix/tst-fnmatch.input: Fix results for range expressions - for non C locales. - * posix/tst-regexloc.c: Do not use a range expression for - de_DE.ISO-8859-1 locale. - -2018-02-27 Mike FABIAN - - * posix/bug-regex5.c: Fix test case because with the new - iso14651_t1_common file, the da_DK locale now has 6 collating elements - in the ISO-8859-1 range instead of 4 with the old iso14651_t1_common - file. - -2018-02-27 Mike FABIAN - - * localedata/da_DK.ISO-8859-1.in: In the new iso14651_t1_common file - downloaded from ISO, the collation order of @-. and space has changed. - Therefore, this test file needed to be adapted. - * localedata/fr_CA.UTF-8.in: Likewise. - * localedata/fr_FR.UTF-8.in: Likewise. - * localedata/uk_UA.UTF-8.in: Likewise. - -2018-02-27 Mike FABIAN - - * localedata/cs_CZ.UTF-8.in: adapt this test file to the collation - order of ȥ in the new iso14651_t1_common file. - * localedata/pl_PL.UTF-8.in: Likewise. - -2018-02-27 Mike FABIAN - - * localedata/locales/iso14651_t1_common: Add sections for various - scripts to the iso14651_t1_common file. - -2018-02-27 Mike FABIAN - - * localedata/locales/iso14651_t1_common: Use the code point of a - character in the fourth collation level instead of IGNORE for all - entries which have IGNORE on all 4 levels. - -2018-02-27 Mike FABIAN - - * localedata/locales/iso14651_t1_common: Add some convenient collation - symbols like , to make tailoring easier using - rules similar to those in CLDR. - -2018-02-27 Mike FABIAN - - * localedata/locales/iso14651_t1_common: The new version of this - file downloaded from ISO contained several syntax errors which - are fixed by this patch. - -2018-02-27 Mike FABIAN - - * localedata/locales/iso14651_t1_common: replace all - with because glibc understands only 4 digit or 8 digit - -2018-02-27 Mike FABIAN - - * localedata/locales/iso14651_t1_common: Necessary changes - to make the file downloaded from ISO usable by glibc. - -2018-02-27 Mike FABIAN - - [BZ #14095] - * localedata/locales/iso14651_t1_common: Update file to - latest version from ISO (ISO14651_2016_TABLE1_en.txt). - -2018-02-27 Samuel Thibault - - * sysdeps/pthread/timer_routines.c: Include instead - of - (thread_attr_compare): Move function to... - [!defined DELAYTIMER_MAX] (DELAYTIMER_MAX): Define to INT_MAX. - * sysdeps/nptl/timer_routines.h: ... new header. - * sysdeps/mach/hurd/gai_misc.h: New file. - -2018-02-26 Joseph Myers - - * string/strcoll_l.c: Include . - (STRCOLL): Ignore -Wmaybe-uninitialized for -Os around - declarations of seq1 and seq2. - - [BZ #15105] - * stdlib/atoi.c (atoi): Use libc_hidden_def. - * include/stdlib.h [!_ISOMAC] (atoi): Use libc_hidden_proto. - -2018-02-26 Dmitry V. Levin - - [BZ #22433] - [BZ #22807] - * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (__ptrace_request): Add - PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS, - PTRACE_GETVRREGS, PTRACE_SETVRREGS, PTRACE_GETEVRREGS, - PTRACE_SETEVRREGS, PTRACE_GETREGS64, PTRACE_SETREGS64, - PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG, PTRACE_GETVSRREGS, - PTRACE_SETVSRREGS, and PTRACE_SINGLEBLOCK. - -2018-02-26 Tulio Magno Quites Machado Filho - - * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux - macros used in __ptrace_request. - -2018-02-23 H.J. Lu - - [BZ #22792] - * Makerules ($(common-objpfx)%.h): Pass -DGEN_AS_CONST_HEADERS - to $(CC). - * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Include - only if GEN_AS_CONST_HEADERS isn't defined. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Don't include - . - -2018-02-23 Joseph Myers - - [BZ #15105] - * ctype/ctype.c (tolower): Use libc_hidden_def. - (toupper): Likewise. - * include/ctype.h [!_ISOMAC] (tolower): Use libc_hidden_proto. - [!_ISOMAC] (toupper): Likewise. - -2018-02-23 Mike FABIAN - - * localedata/Makefile: Remove --quiet argument when - installing locales - -2018-02-23 Mike FABIAN - - [BZ #17438] - * localedata/locales/pt_BR (LC_TIME): use / instead of - - in d_fmt. - * localedata/locales/pt_PT (LC_TIME): likewise - -2018-02-23 Mike FABIAN - - [BZ #22646] - * localedata/locales/es_CL (LC_TIME): copy "es_BO". - * localedata/locales/es_CU (LC_TIME): copy "es_BO". - * localedata/locales/es_EC (LC_TIME): copy "es_BO". - -2018-02-22 Adhemerval Zanella - - * sysdeps/sparc/fpu/libm-test-ulps: Update. - - * nptl/Makefile (routines): Remove unregister-atfork. - * nptl/register-atfork.c (fork_handler_pool): Remove variable. - (fork_handler_alloc): Remove function. - (fork_handlers, fork_handler_init): New variables. - (__fork_lock): Rename to atfork_lock. - (__register_atfork, __unregister_atfork, libc_freeres_fn): Rewrite - to use a dynamic array to add/remove atfork handlers. - * sysdeps/nptl/fork.c (__libc_fork): Likewise. - * sysdeps/nptl/fork.h (__fork_lock, __fork_handlers, __linkin_atfork): - Remove declaration. - (fork_handler): Remove next, refcntr, and need_signal member. - (__run_fork_handler_type): New enum. - (__run_fork_handlers): New prototype. - * nptl/register-atfork.c: Remove file. - * sysdeps/nptl/libc-lockP.h (__libc_atfork): Remove declaration. - - * sysdeps/nptl/nptl-signals.h: Move to ... - * sysdeps/generic/internal-signals.h: ... here. Adjust internal - comments. - * sysdeps/unix/sysv/linux/internal-signals.h: Add include guards. - (__nptl_is_internal_signal): Rename to __is_internal_signal and remove - unnecessary check for SIGTIMER. - (__nptl_clear_internal_signals): Rename to __clear_internal_signals and - remove unnecessary removal of SIGTIMER. - * sysdeps/unix/sysv/linux/raise.c: Adjust nptl-signal.h to - include-signals.h rename. - * nptl/pthreadP.h: Likewise. - * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Call - __is_internal_signal instead of __nptl_is_internal_signal. - -2018-02-22 Andrew Waterman - - [BZ # 22884] - * sysdeps/riscv/rvd/s_fmax.c (__fmax): Handle sNaNs correctly. - * sysdeps/riscv/rvd/s_fmin.c (__fmin): Likewise. - * sysdeps/riscv/rvf/s_fmaxf.c (__fmaxf): Likewise. - * sysdeps/riscv/rvf/s_fminf.c (__fminf): Likewise. - -2018-02-22 DJ Delorie - - * sysdeps/riscv/tls-macros.h: Do not initialize $gp. - -2018-02-22 Siddhesh Poyarekar - - * sysdeps/aarch64/strcmp.S (do_misaligned): Jump back to - do_misaligned, not misaligned8. - -2018-02-22 Steve Ellcey - - * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): - Add memcpy_thunderx2. - * sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC): - Increment to 4. - (__libc_ifunc_impl_list): Add __memcpy_thunderx2. - * sysdeps/aarch64/multiarch/memcpy.c (libc_ifunc): Add IS_THUNDERX2 - and IS_THUNDERX2PA checks. - * sysdeps/aarch64/multiarch/memcpy_thunderx.S (USE_THUNDERX2): - Use macro to set name appropriately. - (memcpy): Use USE_THUNDERX2 macro to modify prefetches. - * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: New file. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_THUNDERX2PA): - New macro. - (IS_THUNDERX2): New macro. - -2018-02-22 Stefan Liebler - - * sysdeps/s390/fpu/libm-test-ulps: Regenerated. - -2018-02-21 Zack Weinberg - - * libio/libio.h (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust): - Define here, unconditionally. - * libio/iolibio.h (_IO_pos_BAD): Don't define here. - * libio/libioP.h: Remove #if 0 blocks. - (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust): Don't define here. - (_IO_va_start, COERCE_FILE, MAYBE_SET_EINVAL): Don't define. - (CHECK_FILE): Don't use MAYBE_SET_EINVAL or COERCE_FILE. Fix style. - - * libio/clearerr.c, libio/fputc.c, libio/getchar.c: - Assume weak_alias is always defined. - - * libio/fileops.c, libio/genops.c, libio/oldfileops.c - * libio/oldpclose.c, libio/pclose.c, libio/wfileops.c: - Remove #if 0 and #ifdef TODO blocks. - Assume text_set_element is always defined. - - * libio/iofdopen.c, libio/iogetdelim.c, libio/oldiofdopen.c - Use __set_errno (EINVAL) instead of MAYBE_SET_EINVAL. - * libio/tst-mmap-eofsync.c: Make #if 1 block unconditional. - - * libio/libio.h (_IOS_ATEND, _IOS_APPEND, _IOS_TRUNC) - (_IOS_NOCREATE, _IOS_NOREPLACE, _IOS_BIN, _OLD_STDIO_MAGIC) - (_IO_SKIPWS, _IO_LEFT, _IO_RIGHT, _IO_INTERNAL, _IO_DEC) - (_IO_OCT, _IO_HEX, _IO_SHOWBASE, _IO_SHOWPOINT, _IO_UPPERCASE) - (_IO_SHOWPOS, _IO_SCIENTIFIC, _IO_FIXED, _IO_UNITBUF, _IO_STDIO) - (_IO_DONT_CLOSE, _IO_BOOLALPHA, _IO_BAD_SEEN): Remove, unused. - Reformat bit flags for _flags field to make occupancy clearer. - Update commentary. - * libio/bits/types/struct_FILE.h (_IO_EOF_SEEN, _IO_ERR_SEEN): - Keep definitions consistent with those in libio/libio.h. - - * libio/libio.h (_IO_file_flags): Remove macro. - All uses changed to _flags. - - * libio/libio.h (_IO_UNIFIED_JUMPTABLES, _STDIO_USES_IOSTREAM) - (__HAVE_COLUMN, _IO_BE): Don't define. - (_IO_peekc_unlocked, _IO_getwc_unlocked, _IO_putwc_unlocked) - (_IO_fwide_maybe_incompatible): Use __glibc_unlikely. - * libio/libioP.h (EOF): Don't define. - * libio/iofdopen.c, libio/iofopen.c, libio/iopopen.c - * libio/iovdprintf.c, libio/oldiofdopen.c, libio/oldiofopen.c - * libio/oldiopopen.c, debug/vdprintf_chk.c: Remove #if block - testing _IO_UNIFIED_JUMPTABLES. - - * libio/libio.h (_IO_FILE): Delete; all uses changed to FILE. - (_IO_fpos_t): Delete; all uses changed to __fpos_t. - (_IO_fpos64_t): Delete; all uses changed to __fpos64_t. - (_IO_size_t): Delete; all uses changed to size_t. - (_IO_ssize_t): Delete; all uses changed to ssize_t or __ssize_t. - (_IO_off_t): Delete; all uses changed to off_t. - (_IO_off64_t): Delete; all uses changed to off64_t. - (_IO_pid_t): Delete; all uses changed to pid_t. - (_IO_uid_t): Delete; all uses changed to uid_t. - (_IO_wint_t): Delete; all uses changed to wint_t. - (_IO_va_list): Delete; all uses changed to va_list or __gnuc_va_list. - (_IO_BUFSIZ): Delete; all uses changed to BUFSIZ. - (_IO_cookie_io_functions_t): Delete; all uses changed to - cookie_io_functions_t. - (__io_read_fn): Delete; all uses changed to cookie_read_function_t. - (__io_write_fn): Delete; all uses changed to cookie_write_function_t. - (__io_seek_fn): Delete; all uses changed to cookie_seek_function_t. - (__io_close_fn): Delete: all uses changed to cookie_close_function_t. - - * libio/iofopncook.c: Remove unnecessary forward declarations. - * libio/iolibio.h: Correct outdated commentary. - * malloc/malloc.c (__malloc_stats): Remove unnecessary casts. - * stdio-common/fxprintf.c (__fxprintf_nocancel): - Remove unnecessary casts. - * stdio-common/getline.c: Use _IO_getdelim directly. - Don't redefine ssize_t. - * stdio-common/printf_fp.c, stdio_common/printf_fphex.c - * stdio-common/printf_size.c: Don't redefine size_t or FILE. - Remove outdated comments. - * stdio-common/vfscanf.c: Don't redefine va_list. - - * libio/iolibio.h, libio/libioP.h: Remove extern "C". - * libio/libio.h: Remove __BEGIN_DECLS and __END_DECLS. - Remove preprocessor conditionals on _LIBC and __USE_GNU, - which are always true, and __cplusplus, which is always false. - -2018-02-21 Joseph Myers - - [BZ #15105] - [BZ #19463] - * libio/fputc_u.c (fputc_unlocked): Use libc_hidden_def. - * libio/putc_u.c (putc_unlocked): Rename to __putc_unlocked and - define as weak alias of __putc_unlocked. Use libc_hidden_weak. - * include/stdio.h [!_ISOMAC] (fputc_unlocked): Use - libc_hidden_proto. - [!_ISOMAC] (putc_unlocked): Likewise. - [!_ISOMAC] (__putc_unlocked): Declare as hidden function, and - define inline if [__USE_EXTERN_INLINES]. - * misc/syslog.c (__vsyslog_chk): Call __putc_unlocked instead of - putc_unlocked. - - [BZ #15105] - [BZ #19463] - * libio/getc_u.c (getc_unlocked): Use libc_hidden_weak. - * include/stdio.h [!_ISOMAC] (__getc_unlocked): Use - attribute_hidden, and define inline if [__USE_EXTERN_INLINES]. - [!_ISOMAC] (getc_unlocked): Use libc_hidden_proto. - * misc/getttyent.c (__getttyent): Call __getc_unlocked instead of - getc_unlocked. - * time/tzfile.c (__tzfile_read): Likewise. - -2018-02-21 Mike FABIAN - - [BZ #22517] - * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end” - -2018-02-21 Rical Jasan - - * io/fcntl.h: Fix a typo in a comment. - -2018-02-21 Rical Jasan - - [BZ #22862] - * include/features.h: Add _ISOC11_SOURCE to test for whether to - define _DEFAULT_SOURCE. - * manual/creature.texi (_DEFAULT_SOURCE): Improve documentation. - -2018-02-21 Florian Weimer - - [BZ #20890] - * elf/cache.c (save_cache): Call fsync on temporary file before - renaming it. - (save_aux_cache): Call fdatasync on temporary file before renaming - it. - -2018-02-21 Florian Weimer - - [BZ #22787] - * include/caller.h: Remove file. - * elf/dl-caller.c: Likewise. - * elf/Makefile (dl-routines): Remove dl-caller. - (shared-only-routines): Do not add dl-caller. - * elf/dl-load.c (_dl_map_object_from_fd): Do not call - __check_caller. - * elf/dl-open.c (struct dl_open_args): Remove caller_dl_open - member. - (dl_open_worker): Do not call __check_caller. - (_dl_open): Do not set caller_dl_open member. - * elf/rtld.c (_rtld_global_ro): Do not initialize - _dl_check_caller member. - * sysdeps/generic/ldsodefs.h (rtld_global): Remove - _dl_check_caller member. - (_dl_check_caller): Remove declaration. - * sysdeps/unix/sysv/linux/dl-execstack.c - (_dl_make_stack_executable): Do not call __check_caller. - -2018-02-21 Samuel Thibault - - * sysdeps/mach/hurd/dl-sysdep.c (_dl_random): New variable. - * sysdeps/mach/hurd/sysdep-cancel.h: New file. - -2018-02-20 Rical Jasan - - * manual/creature.texi (_ISOC99_SOURCE): Update the dated - description. - -2018-02-20 Rical Jasan - - [BZ #16335] - * manual/creature.texi (_POSIX_C_SOURCE): Document special values - of 199606L, 200112L, and 200809L. - (_XOPEN_SOURCE): Document special values of 600 and 700. - (_ISOC11_SOURCE): Document macro. - (_ATFILE_SOURCE): Likewise. - (_FORTIFY_SOURCE): Likewise. - -2018-02-19 Joseph Myers - - [BZ #15105] - [BZ #19463] - * libio/ferror_u.c (ferror_unlocked): Rename to __ferror_unlocked - and define as weak alias of __ferror_unlocked. Use - libc_hidden_weak. - * include/stdio.h [!_ISOMAC] (ferror_unlocked): Use - libc_hidden_proto. - [!_ISOMAC] (__ferror_unlocked) New declaration, and inline - function if [__USE_EXTERN_INLINES]. - * time/getdate.c (__getdate_r): Call __ferror_unlocked instead of - ferror_unlocked. - -2018-02-19 Rical Jasan - - [BZ #6889] - * manual/filesys.texi (get_current_dir_name): Clarify behaviour. - -2018-02-18 Aurelien Jarno - - [BZ #22818] - * posix/tst-glob_lstat_compat.c [__alpha__] (glob): Access - the GLIBC_2.1 version. - -2018-02-18 Aurelien Jarno - - [BZ #21508] - * catgets/xopen-msg.awk: Ignore POT-Creation-Date line. - * intl/Makefile ($(objpfx)tst-gettext-de.po): Generate - intl/tst-gettext-de.po from po/de.po by removing the - POT-Creation-Date line. - ($(objpfx)msgs.h): Depend on $(objpfx)tst-gettext-de.po instead of - ../po/de.po. - * intl/tst-gettext.sh: Use ${objpfx}tst-gettext-de.po instead of - ../po/de.po. - -2018-02-17 Samuel Thibault - - * mach/Makefile (headers): Add mach/param.h. - * sysdeps/mach/hurd/bits/param.h: Include . - * sysdeps/mach/i386/mach/param.h: New file, defines EXEC_PAGESIZE - * sysdeps/mach/hurd/ptsname.c: Include . - (__ptsname_r): Move implementation to... - (__ptsname_internal): ... new function. Add filling the STP - structure. - -2018-02-17 John David Anglin - - * sysdeps/hppa/fpu/libm-test-ulps (pow): Increase double and - idouble to 1 ULP. - -2018-02-16 Rical Jasan - - * manual/platform.texi (__riscv_flush_icache): Fix @deftypefun - syntax. - -2018-02-16 Stefan Liebler - - * nptl/Makefile (tst-mutex8-ENV): Delete. - * nptl/tst-mutex8.c (check_type): - Add runtime check if mutex will be elided. - -2018-02-15 Joseph Myers - - [BZ #20980] - [BZ #21234] - * manual/install.texi (Configuring and compiling): Describe - passing CC and CFLAGS on configure command line, not as - environment variables. Use @code markup on those variables. - Specify what options go in CC and what go in CFLAGS. Note the - requirement to compile with optimization. - * INSTALL: Regenerated. - - [BZ #18124] - * sysdeps/hppa/bsd-setjmp.S: Include . - (setjmp): Use HIDDEN_JUMPTARGET with __sigsetjmp. - * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Call - __sigprocmask instead of sigprocmask. - * sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext): - Likewise. - * sysdeps/unix/sysv/linux/hppa/localplt.data: Remove entries for - __sigsetjmp and sigprocmask. - - [BZ #15105] - * include/argz.h (argz_next): Use libc_hidden_proto. - (__argz_next): Likewise. - * string-argz-next.c (__argz_next): Use libc_hidden_def. - (argz_next): Use libc_hidden_weak. - - [BZ #15105] - * include/sys/socket.h [!_ISOMAC] (__cmsg_nxthdr): Use - libc_hidden_proto. - * sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Use - libc_hidden_def. - - [BZ #15105] - * include/stdio.h [!_ISOMAC && IS_IN (libc)] (fputs): Use - libc_hidden_proto. - * libio/iofputs.c (fputs): Use libc_hidden_weak. - - [BZ #15105] - [BZ #19463] - * libio/feof_u.c (feof_unlocked): Rename to __feof_unlocked and - define as weak alias of __feof_unlocked. Use libc_hidden_weak. - * include/stdio.h (feof_unlocked): Use libc_hidden_proto. - (__feof_unlocked): New declaration, and inline function if - [__USE_EXTERN_INLINES]. - * iconv/gconv_conf.c (read_conf_file): Call __feof_unlocked - instead of feof_unlocked. - * intl/localealias.c [_LIBC] (FEOF): Likewise. - * nss/nsswitch.c (nss_parse_file): Likewise. - * sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): - Likewise. - * time/getdate.c (__getdate_r): Likewise. - * sysdeps/posix/getaddrinfo.c [IS_IN (libc)] (feof_unlocked): - Define as macro to call __feof_unlocked. - -2018-02-15 Wilco Dijkstra - - * sysdeps/aarch64/fpu/fpu_control.h: Use <> in include. - -2018-02-15 Wilco Dijkstra - - * math/Makefile: Remove mpexp.c and mplog.c - * sysdeps/i386/fpu/mpexp.c: Delete file. - * sysdeps/i386/fpu/mplog.c: Likewise. - * sysdeps/ia64/fpu/mpexp.c: Likewise. - * sysdeps/ia64/fpu/mplog.c: Likewise. - * sysdeps/ieee754/dbl-64/e_exp.c: Remove mention of mpexp and mplog. - * sysdeps/ieee754/dbl-64/mpa.h (__pow_mp): Remove unused function. - * sysdeps/ieee754/dbl-64/mpexp.c: Delete file. - * sysdeps/ieee754/dbl-64/mplog.c: Likewise. - * sysdeps/m68k/m680x0/fpu/mpexp.c: Likewise. - * sysdeps/m68k/m680x0/fpu/mplog.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/Makefile: Remove mpexp* and mplog*. - * sysdeps/x86_64/fpu/multiarch/e_log-avx.c: Remove unused defines. - * sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_log-fma4.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mpexp-avx.c: Delete file. - * sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mpexp-fma4.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mplog-avx.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mplog-fma4.c: Likewise. - -2018-02-15 Stefan Liebler - - * sysdeps/s390/fpu/libm-test-ulps: Regenerated. - -2018-02-14 Adhemerval Zanella - - * sysdeps/sh/libm-test-ulps: Update. - -2018-02-12 Tulio Magno Quites Machado Filho - - * sysdeps/powerpc/fpu/libm-test-ulps (pow): Increase double and - idouble to 1 ULP. - -2018-02-12 Zack Weinberg - - [BZ #19239] - * posix/sys/types.h: Don't include sys/sysmacros.h. - * misc/sys/sysmacros.h: Remove the conditional deprecation - warnings for the macros defined by this header. - -2018-02-12 Szabolcs Nagy - - * manual/probes.texi: Remove slowexp probes. - * math/Makefile: Remove slowexp. - * sysdeps/generic/math_private.h (__slowexp): Remove. - * sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Remove __slowexp and - document error bounds. - * sysdeps/i386/fpu/slowexp.c: Remove. - * sysdeps/ia64/fpu/slowexp.c: Remove. - * sysdeps/ieee754/dbl-64/slowexp.c: Remove. - * sysdeps/ieee754/dbl-64/uexp.h (err_0): Remove. - * sysdeps/m68k/m680x0/fpu/slowexp.c: Remove. - * sysdeps/powerpc/power4/fpu/Makefile (CPPFLAGS-slowexp.c): Remove. - * sysdeps/x86_64/fpu/multiarch/Makefile: Remove slowexp-fma. - * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Remove. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Remove. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Remove. - * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Remove. - * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Remove. - * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Remove. - -2018-02-12 Wilco Dijkstra - - [BZ #13932] - * sysdeps/ieee754/dbl-64/uexp.h (err_1): Remove. - * benchtests/pow-inputs: Update comment for slow path cases. - * manual/probes.texi (slowpow_p10): Delete removed probe. - (slowpow_p10): Likewise. - * math/Makefile: Remove halfulp.c and slowpow.c. - * sysdeps/aarch64/libm-test-ulps: Set ULP of pow to 1. - * sysdeps/generic/math_private.h (__exp1): Remove error argument. - (__halfulp): Remove. - (__slowpow): Remove. - * sysdeps/i386/fpu/halfulp.c: Delete file. - * sysdeps/i386/fpu/slowpow.c: Likewise. - * sysdeps/ia64/fpu/halfulp.c: Likewise. - * sysdeps/ia64/fpu/slowpow.c: Likewise. - * sysdeps/ieee754/dbl-64/e_exp.c (__exp1): Remove error argument, - improve comments and add error analysis. - * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Add error analysis. - (power1): Remove function: - (log1): Remove error argument, add error analysis. - (my_log2): Remove function. - * sysdeps/ieee754/dbl-64/halfulp.c: Delete file. - * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. - * sysdeps/m68k/m680x0/fpu/halfulp.c: Likewise. - * sysdeps/m68k/m680x0/fpu/slowpow.c: Likewise. - * sysdeps/powerpc/power4/fpu/Makefile: Remove CPPFLAGS-slowpow.c. - * sysdeps/x86_64/fpu/libm-test-ulps: Set ULP of pow to 1. - * sysdeps/x86_64/fpu/multiarch/Makefile: Remove slowpow-fma.c, - slowpow-fma4.c, halfulp-fma.c, halfulp-fma4.c. - * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c (__slowpow): Remove define. - * sysdeps/x86_64/fpu/multiarch/e_pow-fma4.c (__slowpow): Likewise. - * sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Delete file. - * sysdeps/x86_64/fpu/multiarch/halfulp-fma4.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowpow-fma4.c: Likewise. - -2018-02-11 Samuel Thibault - - * nscd/connections.c (RWLOCK_INITIALIZER): Define to - PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP or - -2018-02-10 Dmitry V. Levin - - [BZ #22433] - * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (__ptrace_request): - Remove arm-specific PTRACE_GET_THREAD_AREA, PTRACE_GETHBPREGS, - and PTRACE_SETHBPREGS. - -2018-02-10 Zack Weinberg - - [BZ #22830] - * malloc/malloc.c (__malloc_stats): Restore stderr->_flags2 - correctly. - * malloc/tst-malloc-stats-cancellation.c: New test case. - * malloc/Makefile: Add new test case. - -2018-02-10 Wilco Dijkstra - - * sysdeps/aarch64/fpu/fpu_control.h: Add features.h to fix build error. - -2018-02-10 Joseph Myers - - * math/Makefile (libm-narrow-fns): Add add. - (libm-test-funcs-narrow): Likewise. - * math/Versions (GLIBC_2.28): Add narrowing add functions. - * math/bits/mathcalls-narrow.h (add): Use __MATHCALL_NARROW . - * math/gen-auto-libm-tests.c (test_functions): Add add. - * math/math-narrow.h (CHECK_NARROW_ADD): New macro. - (NARROW_ADD_ROUND_TO_ODD): Likewise. - (NARROW_ADD_TRIVIAL): Likewise. - * sysdeps/ieee754/float128/float128_private.h (__faddl): New - macro. - (__daddl): Likewise. - * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fadd and - dadd. - (CFLAGS-nldbl-dadd.c): New variable. - (CFLAGS-nldbl-fadd.c): Likewise. - * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add - __nldbl_daddl. - * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_daddl): New - prototype. - * manual/arith.texi (Misc FP Arithmetic): Document fadd, faddl, - daddl, fMaddfN, fMaddfNx, fMxaddfN and fMxaddfNx. - * math/auto-libm-test-in: Add tests of add. - * math/auto-libm-test-out-narrow-add: New generated file. - * math/libm-test-narrow-add.inc: New file. - * sysdeps/i386/fpu/s_f32xaddf64.c: Likewise. - * sysdeps/ieee754/dbl-64/s_f32xaddf64.c: Likewise. - * sysdeps/ieee754/dbl-64/s_fadd.c: Likewise. - * sysdeps/ieee754/float128/s_f32addf128.c: Likewise. - * sysdeps/ieee754/float128/s_f64addf128.c: Likewise. - * sysdeps/ieee754/float128/s_f64xaddf128.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_daddl.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_f64xaddf128.c: Likewise. - * sysdeps/ieee754/ldbl-128/s_faddl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_daddl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_faddl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_daddl.c: Likewise. - * sysdeps/ieee754/ldbl-96/s_faddl.c: Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-dadd.c: Likewise. - * sysdeps/ieee754/ldbl-opt/nldbl-fadd.c: Likewise. - * sysdeps/ieee754/soft-fp/s_daddl.c: Likewise. - * sysdeps/ieee754/soft-fp/s_fadd.c: Likewise. - * sysdeps/ieee754/soft-fp/s_faddl.c: Likewise. - * sysdeps/powerpc/fpu/libm-test-ulps: Update. - * sysdeps/mach/hurd/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - - * sysdeps/powerpc/powerpc64le/Makefile [$(subdir) = math] - (f128-pairs): New variable. - [$(subdir) = math] ($(foreach suf,$(all-object-suffixes),$(foreach - pair,$(f128-pairs),$(objpfx)test-$(pair)%$(suf)))): Add -mfloat128 - to CFLAGS. - [$(subdir) = math] ($(foreach pair,$(f128-pairs),test-$(pair)%)): - Also make tests add $(f128-loader-link) to gnulib-tests. - -2018-02-09 DJ Delorie - - [BZ #22827] - * sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use - 64-bit ELF type for 64-bit ELF objects. - -2018-02-09 Joseph Myers - - * math/libm-test-driver.c (snan_tests_arg): New variable. - * math/libm-test-support.h (snan_tests_arg): New declaration. - * math/libm-test-support.c (enable_test): Check snan_tests_arg. - - * math/Makefile (test-type-pairs): New variable. - (test-type-pairs-f64xf128-yes): Likewise. - (tests): Add test-narrow-macros. - (libm-test-funcs-narrow): New variable. - (libm-test-c-narrow): Likewise. - (generated): Add $(libm-test-c-narrow). - (libm-tests-base-narrow): New variable. - (libm-tests-narrow): Likewise. - (libm-tests): Add $(libm-tests-narrow). - (libm-tests-for-type): Handle $(libm-tests-narrow). - (libm-test-c-narrow-obj): New variable. - ($(libm-test-c-narrow-obj)): New rule. - ($(foreach t,$(libm-tests-narrow),$(objpfx)$(t).c)): Likewise. - ($(foreach f,$(libm-test-funcs-narrow),$(objpfx)$(o)-$(f).o)): Use - $(o-iterator) to set dependencies and CFLAGS. - * math/gen-auto-libm-tests.c: Document use for narrowing - functions. - (output_for_one_input_case): Take argument NARROW. - (generate_output): Likewise. Update call to - output_for_one_input_case. - (main): Take --narrow option. Update call to generate_output. - * math/gen-libm-test.pl (_apply_lit): Take macro name as argument. - (apply_lit): Update call to _apply_lit. - (apply_arglit): New function. - (parse_args): Handle "a" arguments. - (parse_auto_input): Handle format names using ":". - * math/README.libm-test: Document "a" parameter type. - * math/libm-test-support.h (ARG_TYPE_MIN): New macro. - (ARG_TYPE_TRUE_MIN): Likewise. - (ARG_TYPE_MAX): Likwise. - (ARG_MIN_EXP): Likewise. - (ARG_MAX_EXP): Likewise. - (ARG_MANT_DIG): Likewise. - (TEST_COND_arg_ibm128): Likewise. - (TEST_COND_ibm128_libgcc): Define conditional on [ARG_FLOAT]. - (TEST_COND_arg_fmt): New macro. - (init_max_error): Update prototype. - * math/libm-test-support.c (test_ibm128): New variable. - (init_max_error): Take argument testing_ibm128 and set test_ibm128 - instead of using [TEST_COND_ibm128] conditional. - (test_exceptions): Use test_ibm128 instead of TEST_COND_ibm128. - * math/libm-test-driver.c (STR_ARG_FLOAT): New macro. - [TEST_NARROW] (TEST_MSG): New definition. - (arg_plus_zero): New macro. - (arg_minus_zero): Likewise. - (arg_plus_infty): Likewise. - (arg_minus_infty): Likewise. - (arg_qnan_value_pl): Likewise. - (arg_qnan_value): Likewise. - (arg_snan_value_pl): Likewise. - (arg_snan_value): Likewise. - (arg_max_value): Likewise. - (arg_min_value): Likewise. - (arg_min_subnorm_value): Likewise. - [ARG_FLOAT] (struct test_aa_f_data): New struct type. - (RUN_TEST_LOOP_aa_f): New macro. - (TEST_SUFF): New macro. - (TEST_SUFF_STR): Likewise. - [!TEST_MATHVEC] (VEC_SUFF): Don't define. - (TEST_COND_any_ibm128): New macro. - (START): Use TEST_SUFF and TEST_SUFF_STR in initializer for - this_func. Update call to init_max_error. - * math/test-double.h (FUNC_NARROW_PREFIX): New macro. - * math/test-float.h (FUNC_NARROW_PREFIX): Likewise. - * math/test-float128.h (FUNC_NARROW_PREFIX): Likewise. - * math/test-float32.h (FUNC_NARROW_PREFIX): Likewise. - * math/test-float32x.h (FUNC_NARROW_PREFIX): Likewise. - * math/test-float64.h (FUNC_NARROW_PREFIX): Likewise. - * math/test-float64x.h (FUNC_NARROW_PREFIX): Likewise. - * math/test-math-scalar.h (TEST_NARROW): Likewise. - * math/test-math-vector.h (TEST_NARROW): Likewise. - * math/test-arg-double.h: New file. - * math/test-arg-float128.h: Likewise. - * math/test-arg-float32x.h: Likewise. - * math/test-arg-float64.h: Likewise. - * math/test-arg-float64x.h: Likewise. - * math/test-arg-ldouble.h: Likewise. - * math/test-math-narrow.h: Likewise. - * math/test-narrow-macros.c: Likewise. - * sysdeps/ieee754/ldbl-opt/test-narrow-macros-ldbl-64.c: Likewise. - * sysdeps/ieee754/ldbl-opt/Makefile (tests): Add - test-narrow-macros-ldbl-64. - (CFLAGS-test-narrow-macros-ldbl-64.c): New variable. - - * math/bits/mathcalls-narrow.h: New file. - * include/bits/mathcalls-narrow.h: Likewise. - * math/math-narrow.h: Likewise. - * math/math.h (__MATHCALL_NARROW_ARGS_1): New macro. - (__MATHCALL_NARROW_ARGS_2): Likewise. - (__MATHCALL_NARROW_ARGS_3): Likewise. - (__MATHCALL_NARROW_NORMAL): Likewise. - (__MATHCALL_NARROW_REDIR): Likewise. - (__MATHCALL_NARROW): Likewise. - [__GLIBC_USE (IEC_60559_BFP_EXT)]: Repeatedly include - with _Mret_, _Marg_ and __MATHCALL_NAME - defined. - [__GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. - * math/Makefile (headers): Add bits/mathcalls-narrow.h. - (libm-narrow-fns): New variable. - (libm-narrow-types-basic): Likewise. - (libm-narrow-types-ldouble-yes): Likewise. - (libm-narrow-types-float128-yes): Likewise. - (libm-narrow-types-float128-alias-yes): Likewise. - (libm-narrow-types): Likewise. - (libm-routines): Add narrowing functions. - * sysdeps/i386/fpu/fenv_private.h [__x86_64__] - (libc_feholdexcept_setroundf128): New macro. - [__x86_64__] (libc_feupdateenv_testf128): Likewise. - * sysdeps/ieee754/float128/float128_private.h: Include - . - [libc_feholdexcept_setroundf128] (libc_feholdexcept_setroundl): - Undefine and redefine. - [libc_feupdateenv_testf128] (libc_feupdateenv_testl): Likewise. - (libm_alias_float_ldouble): Undefine and redefine. - (libm_alias_double_ldouble): Likewise. - - * math/Makefile [$(PERL) != no] (libm-test-incs): Remove variable. - -2018-02-09 Wilco Dijkstra - - * sysdeps/aarch64/fpu/fpu_control.h: Use builtins for accessing - FPCR/FPSR. - -2018-02-09 Rical Jasan - - * manual/creature.texi: Convert references to gcc.info to gcc. - * manual/stdio.texi: Likewise. - * manual/string.texi: Likewise. - -2018-02-07 Joseph Myers - - [BZ #17979] - * posix/bits/types.h (__int_least8_t): New typedef. - (__uint_least8_t): Likewise. - (__int_least16_t): Likewise. - (__uint_least16_t): Likewise. - (__int_least32_t): Likewise. - (__uint_least32_t): Likewise. - (__int_least64_t): Likewise. - (__uint_least64_t): Likewise. - * sysdeps/generic/stdint.h (int_least8_t): Define using - __int_least8_t. - (int_least16_t): Define using __int_least16_t. - (int_least32_t): Define using __int_least32_t. - (int_least64_t): Define using __int_least64_t. - (uint_least8_t): Define using __uint_least8_t. - (uint_least16_t): Define using __uint_least16_t. - (uint_least32_t): Define using __uint_least32_t. - (uint_least64_t): Define using __uint_least64_t. - * wcsmbs/uchar.h: Include . - (char16_t): Define using __uint_least16_t conditional only on - [!__USE_ISOCXX11]. - (char32_t): Define using __uint_least32_t conditional only on - [!__USE_ISOCXX11]. - * wcsmbs/test-char-types.c: New file. - * wcsmbs/Makefile (tests): Add test-char-types. - - * scripts/build-many-glibcs.py (Context.checkout): Default MPFR - version to 4.0.1. - -2018-02-07 Zack Weinberg - - * bits/_G_config.h: Move back to sysdeps/generic/_G_config.h. - Delete all contents except for definitions of _G_HAVE_MMAP and - _G_HAVE_MREMAP. Add commentary explaining those two symbols. - * sysdeps/unix/sysv/linux/bits/_G_config.h: Move back to - sysdeps/unix/sysv/linux/_G_config.h. Make same content - change as above. - - * libio/libio.h: Don't include bits/_G_config.h here. - Include stddef.h with __need_wchar_t defined. Include - bits/types/__mbstate_t.h, bits/types/wint_t.h, and gconv.h. - Define _IO_iconv_t here, directly. - Don't define _IO_HAVE_ST_BLKSIZE. - * libio/libioP.h: Include _G_config.h here. Move include of - shlib-compat.h up with rest of includes. Simplify conditionals - controlling definition of _IO_JUMPS_OFFSET. - - * csu/init.c: Remove always-true #if around entire file. - Don't include stdio.h. Set _IO_stdin_used to hardwired - constant 0x20001, and update commentary. - * include/stdio.h, sysdeps/ieee754/ldbl-opt/nldbl-compat.h: - Replace all uses of _G_va_list with __gnuc_va_list. - * libio/filedoalloc.c: Use #if defined _STATBUF_ST_BLKSIZE - instead of #if _IO_HAVE_ST_BLKSIZE. - * libio/fileops.c: Test _G_HAVE_MREMAP with #if, not #ifdef. - * libio/iofdopen.c, libio/iofopen.c: Test _G_HAVE_MMAP with #if, - not #ifdef. - - * libio/bits/libio.h: Move back to libio/libio.h and adjust - multiple-include guard to match. - Merge contents of libio/bits/libio-ldbl.h and include/libio.h - into this file. - Remove preprocessor conditionals that are always true and/or - redundant to other preprocessor conditionals in the same nest. - Include shlib-compat.h unconditionally. - Error out if _LIBC is not defined, or if _ISOMAC is defined, - or if _IO_MTSAFE_IO is defined but _IO_lock_t_defined is not - defined after including stdio.h. - Use __BEGIN_DECLS/__END_DECLS. - - * libio/bits/libio-ldbl.h, include/bits/libio.h: Delete file. - * include/stdio.h, libio/iolibio.h, libio/libioP.h: Include - libio.h as rather than as . - -2018-02-07 Zack Weinberg - - * libio/bits/types/__fpos_t.h, libio/bits/types/__fpos64_t.h: - New single-type headers split from _G_config.h. - * libio/bits/types/cookie_io_functions_t.h - * libio/bits/types/struct_FILE.h - New single-type headers split from libio.h. - - * libio/Makefile: Install the above new headers. Don't install - libio.h, _G_config.h, bits/libio.h, bits/_G_config.h, or - bits/libio-ldbl.h. - * libio/_G_config.h, libio/libio.h: Delete file. - - * libio/bits/libio.h: Remove improper-inclusion guard. - Include stdio.h and don't repeat anything that it does. - Define _IO_fpos_t as __fpos_t, _IO_fpos64_t as __fpos64_t, - _IO_BUFSIZ as BUFSIZ, _IO_va_list as __gnuc_va_list, - __io_read_fn as cookie_read_function_t, - __io_write_fn as cookie_write_function_t, - __io_seek_fn as cookie_seek_function_t, - __io_close_fn as cookie_close_function_t, - and _IO_cookie_io_functions_t as cookie_io_functions_t. - Define _STDIO_USES_IOSTREAM, __HAVE_COLUMN, and _IO_file_flags - here, in the "compatibility defines" section. Remove an #if 0 - block. Use the "body" macros from bits/types/struct_FILE.h to - define _IO_getc_unlocked, _IO_putc_unlocked, _IO_feof_unlocked, - and _IO_ferror_unlocked. - Move prototypes of __uflow and __overflow... - - * libio/stdio.h: ...here. Don't include bits/libio.h. - Don't define _STDIO_USES_IOSTREAM. Get __gnuc_va_list - directly from stdarg.h. Include bits/types/__fpos_t.h, - bits/types/__fpos64_t.h, bits/types/struct_FILE.h, - and, when __USE_GNU, bits/types/cookie_io_functions_t.h. - Use __gnuc_va_list, not _G_va_list; __fpos_t, not _G_fpos_t; - __fpos64_t, not _G_fpos64_t; FILE, not struct _IO_FILE; - cookie_io_functions_t, not _IO_cookie_io_functions_t; - __ssize_t, not _IO_ssize_t. Unconditionally define - BUFSIZ as 8192 and EOF as (-1). - - * libio/bits/stdio.h: Add multiple-include guard. Use the "body" - macros from bits/types/struct_FILE.h instead of _IO_* macros - from libio.h; use __gnuc_va_list instead of va_list and __ssize_t - instead of _IO_ssize_t. - * libio/bits/stdio2.h: Similarly. - - * libio/iolibio.h: Add multiple-include guard. - Include bits/libio.h after stdio.h. - * libio/libioP.h: Add multiple-include guard. - Include stdio.h and bits/libio.h before iolibio.h. - - * include/bits/types/__fpos_t.h, include/bits/types/__fpos64_t.h - * include/bits/types/cookie_io_functions_t.h - * include/bits/types/struct_FILE.h: New wrappers. - - * bits/_G_config.h, sysdeps/unix/sysv/linux/_G_config.h: - Get definitions of _G_fpos_t and _G_fpos64_t from - bits/types/__fpos_t.h and bits/types/__fpos64_t.h - respectively. Remove improper-inclusion guards. - - * conform/data/stdio.h-data: Update expectations of va_list. - * scripts/check-installed-headers.sh: Remove special case for - libio.h and _G_config.h. - -2018-02-07 Joseph Myers - - [BZ #15105] - [BZ #19463] - * include/sys/sysmacros.h [!_ISOMAC] - (__SYSMACROS_NEED_IMPLEMENTATION): Define macro. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] - (_SYS_SYSMACROS_H_WRAPPER): Likewise. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_major): Use - libc_hidden_proto. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_minor): Likewise. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_makedev): - Likewise. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__SYSMACROS_DECL_TEMPL): - Undefine and redefine to add use __gnu_dev_ prefix. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__SYSMACROS_IMPL_TEMPL): - Likewise. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_major): Declare - and define as hidden inline function. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_minor): - Likewise. - [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_makedev): - Likewise. - * misc/makedev.c (OUT_OF_LINE_IMPL_TEMPL): Use __gnu_dev_ prefix. - (gnu_dev_major): Use weak_alias and libc_hidden_weak. - (gnu_dev_minor): Likewise. - (gnu_dev_makedev): Likewise. - * csu/check_fds.c (check_one_fd): Use __gnu_dev_makedev instead of - makedev. - * posix/wordexp.c (exec_comm_child): Likewise. - * sysdeps/mach/hurd/xmknodat.c (__xmknodat): Use __gnu_dev_minor - instead of minor and __gnu_dev_major instead of major. - * sysdeps/unix/sysv/linux/device-nrs.h (DEV_TTY_P): Use - __gnu_dev_major instead of major. - * sysdeps/unix/sysv/linux/pathconf.c (distinguish_extX): Use - __gnu_dev_major instead of gnu_dev_major and __gnu_dev_minor - instead of gnu_dev_minor. - * sysdeps/unix/sysv/linux/ptsname.c (MASTER_P): Likewise. - (SLAVE_P): Likewise. - (__ptsname_internal): Use __gnu_dev_minor instead of minor. - * sysdeps/unix/sysv/linux/ttyname.h (is_pty): Use __gnu_dev_major - instead of major. - - [BZ #21313] - * locale/weight.h (findidx): Disable -Wmaybe-uninitialized for -Os - in another place. - * locale/weightwc.h (findidx): Likewise. - -2018-02-07 Wilco Dijkstra - - * manual/probes.texi (slowlog): Delete documentation of removed probe. - (slowlog_inexact): Likewise - * sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Remove slow paths. - * sysdeps/ieee754/dbl-64/ulog.h: Remove unused declarations. - -2018-02-07 Igor Gnatenko - - [BZ #22797] - * sysdeps/unix/sysv/linux/bits/mman-shared.h (pkey_get): Add - missing second underscore to parameter name. - -2018-02-06 Joseph Myers - - [BZ #14508] - [BZ #15512] - [BZ #17082] - [BZ #20530] - * bits/byteswap.h: Update file comment. Do not include - . - (__bswap_constant_16): Cast result to __uint16_t. Use signed 0xff - constant. - (__bswap_16): Define as inline function. - (__bswap_constant_32): Reformat definition. - (__bswap_32): Always define as inline function, not macro, using - __uint32_t. Use __builtin_bswap32 if [__GNUC_PREREQ (4, 3)], - otherwise __bswap_constant_32. - (__bswap_constant_64): Reformat definition. Do not use - __extension__ here. - (__bswap_64): Always define as inline function, not macro. Use - __extension__ on function definition. Use __builtin_bswap64 if - [__GNUC_PREREQ (4, 3)], otherwise __bswap_constant_64. - * string/test-endian-file-scope.c: New file. - * string/test-endian-sign-conversion.c: Likewise. - * string/Makefile (headers): Remove bits/byteswap-16.h. - (tests): Add test-endian-file-scope and - test-endian-sign-conversion. - (CFLAGS-test-endian-sign-conversion.c): New variable. - * bits/byteswap-16.h: Remove file. - * sysdeps/ia64/bits/byteswap-16.h: Likewise. - * sysdeps/ia64/bits/byteswap.h: Likewise. - * sysdeps/m68k/bits/byteswap.h: Likewise. - * sysdeps/s390/bits/byteswap-16.h: Likewise. - * sysdeps/s390/bits/byteswap.h: Likewise. - * sysdeps/tile/bits/byteswap.h: Likewise. - * sysdeps/x86/bits/byteswap-16.h: Likewise. - * sysdeps/x86/bits/byteswap.h: Likewise. - - [BZ #17721] - * misc/sys/cdefs.h [!__GNUC__ && (__cplusplus || (__STDC_VERSION__ - && __STDC_VERSION__ >= 199901L))] (__inline): Define to inline. - [!__GNUC_PREREQ (2,92) && __STDC_VERSION__ && __STDC_VERSION__ >= - 199901L] (__restrict): Define to restrict. - - [BZ #19667] - * string/testcopy.c: Include . Do not include - . Use . - (main): Rename to do_test. Make static. Use xmalloc instead of - malloc. - - [BZ #13575] - * posix/bits/posix1_lim.h: Include . - [!SSIZE_MAX && !(__WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG)] - (SSIZE_MAX): Define to INT_MAX. - * posix/test-ssize-max.c: New file. - * posix/Makefile (tests): Add test-ssize-max. - - [BZ #19668] - * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c: Include - . Do not include . - (query_auxv): Use xmalloc instead of malloc. - - [BZ #14553] - * posix/sys/types.h (loff_t): Only define for [__USE_MISC]. - * sysdeps/unix/sysv/linux/sys/quota.h (dqoff): Use __loff_t - instead of loff_t. - -2018-02-06 Florian Weimer - - [BZ #18023] - * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): - Use scratch_buffer instead of extend_alloca. - -2018-02-06 Zack Weinberg - - * libio/stdio.h: Don't define getc or putc as macros. - * libio/bits/stdio.h (getchar, putchar): Use getc and putc, - not _IO_getc and _IO_putc. - - * stdio-common/tstgetln.c: Don't redefine FILE, va_list, or BUFSIZ. - * stdio-common/tstgetln.c: Don't redefine ssize_t. - -2018-02-06 Joseph Myers - - * sysdeps/gnu/netinet/tcp.h (TCP_FASTOPEN_KEY): New macro. - (TCP_FASTOPEN_NO_COOKIE): Likewise. - - * sysdeps/unix/sysv/linux/bits/in.h (IPV6_FREEBIND): New macro. - - [BZ #14890] - * elf/elf.h (NT_PRFPREG): New macro. - (NT_S390_VXRS_LOW): Likewise. - (NT_S390_VXRS_HIGH): Likewise. - (NT_S390_GS_CB): Likewise. - (NT_S390_GS_BC): Likewise. - (NT_S390_RI_CB): Likewise. - - * sysdeps/unix/sysv/linux/aarch64/bits/mman.h [__USE_MISC] - (MAP_SYNC): New macro. - * sysdeps/unix/sysv/linux/arm/bits/mman.h [__USE_MISC] (MAP_SYNC): - Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/mman.h [__USE_MISC] - (MAP_SYNC): Likewise. - * sysdeps/unix/sysv/linux/m68k/bits/mman.h [__USE_MISC] - (MAP_SYNC): Likewise. - * sysdeps/unix/sysv/linux/microblaze/bits/mman.h [__USE_MISC] - (MAP_SYNC): Likewise. - * sysdeps/unix/sysv/linux/nios2/bits/mman.h [__USE_MISC] - (MAP_SYNC): Likewise. - * sysdeps/unix/sysv/linux/riscv/bits/mman.h [__USE_MISC] - (MAP_SYNC): Likewise. - * sysdeps/unix/sysv/linux/s390/bits/mman.h [__USE_MISC] - (MAP_SYNC): Likewise. - * sysdeps/unix/sysv/linux/sh/bits/mman.h [__USE_MISC] (MAP_SYNC): - Likewise. - * sysdeps/unix/sysv/linux/x86/bits/mman.h [__USE_MISC] (MAP_SYNC): - Likewise. - - * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_MISC] - (MAP_SHARED_VALIDATE): New macro. - * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] - (MAP_SHARED_VALIDATE): Likewise. - -2018-02-05 H.J. Lu - - * elf/dl-addr.c (determine_info): Use ADDRIDX with DT_GNU_HASH. - * elf/dl-lookup.c (_dl_setup_hash): Likewise. - * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise. - -2018-02-05 H.J. Lu - - * elf/elf.h (DT_SYMTAB_SHNDX): New. Set to 34. - (DT_NUM): Updated to 35. - -2018-02-05 H.J. Lu - - * sysdeps/i386/dl-machine.h (elf_machine_rel): Replace - __builtin_expect with __glibc_likely and __glibc_unlikely. - (elf_machine_rela): Likewise. - (elf_machine_lazy_rel): Likewise. - -2018-02-05 H.J. Lu - - * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Replace - __builtin_expect with __glibc_likely and __glibc_unlikely. - (elf_machine_lazy_rel): Likewise. - -2018-02-05 H.J. Lu - - [BZ #22638] - * sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of - SHARED. - * sysdeps/sparc/sparc64/start.S (_start): Likewise. - -2018-02-05 Andreas Schwab - - [BZ #22761] - * assert/assert-perr.c (__assert_perror_fail): Append %n to format - string. - -2018-02-04 Samuel Thibault - - * stdlib/test-atexit-race-common.c [!defined PTHREAD_STACK_MIN]: Do - not check against PTHREAD_STACK_MIN. - -2018-02-02 Sean McKean - - [BZ #22735] - * time/time.h (clock): Reference CLOCKS_PER_SEC in comment. - -2018-02-02 Florian Weimer - - [BZ #22753] - * sysdeps/posix/preadv2.c (preadv2): Handle offset == -1. - * sysdeps/posix/preadv64v2.c (preadv64v2): Likewise. - * sysdeps/posix/pwritev2.c (pwritev2): Likewise. - * sysdeps/posix/pwritev64v2.c (pwritev64v2): Likweise. - * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise. - * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise. - * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise. - * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likweise. - * manual/llio.texi (Scatter-Gather): Mention offset -1. - * misc/tst-preadvwritev-common.c (do_test_without_offset): New. - * misc/tst-preadvwritev2.c (do_test): Call it. - * misc/tst-preadvwritev64v2.c (do_test): Likewise. - -2018-02-02 Siddhesh Poyarekar - - * sysdeps/aarch64/memcmp.S: Use L() macro for labels. - - * benchtests/bench-memcmp.c: Print json instead of plain text. - - * benchtests/bench-memcmp.c (do_test): Call realloc_buf for - every test run. - -2018-02-01 Joseph Myers - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 4.15. - (s390_sthyi): New syscall. - - * sysdeps/generic/ldbl-classify-compat.h: New file. - * sysdeps/arm/ldbl-classify-compat.h: Likewise. - * sysdeps/m68k/coldfire/ldbl-classify-compat.h: Likewise. - * sysdeps/microblaze/ldbl-classify-compat.h: Likewise. - * sysdeps/mips/ldbl-classify-compat.h: Likewise. - * sysdeps/nios2/ldbl-classify-compat.h: Likewise. - * sysdeps/sh/ldbl-classify-compat.h: Likewise. - * sysdeps/ieee754/dbl-64/s_finite.c: Include - . - [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. - * sysdeps/ieee754/dbl-64/s_isinf.c: Include - . - [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. - * sysdeps/ieee754/dbl-64/s_isnan.c: Include - . - [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. - * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Include - . - [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. - * sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: Include - . - [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. - * sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Include - . - [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. - * sysdeps/arm/math_private.h (LDBL_CLASSIFY_COMPAT): Remove macro. - * sysdeps/mips/math_private.h (LDBL_CLASSIFY_COMPAT): Likewise. - * sysdeps/m68k/coldfire/math_private.h: Remove file. - * sysdeps/microblaze/math_private.h: Likewise. - * sysdeps/nios2/math_private.h: Likewise. - * sysdeps/sh/math_private.h: Likewise. - - * sysdeps/m68k/coldfire/fpu/math_private.h: Move to .... - * sysdeps/m68k/coldfire/math_private.h: ... here. - * sysdeps/m68k/coldfire/nofpu/math_private.h: Remove file. - * sysdeps/tile/math_private.h: Likewise. - * sysdeps/microblaze/math_private.h (libc_feholdexcept_setround): - Remove macro. - * sysdeps/nios2/math_private.h (libc_feholdexcept_setround): - Likewise. - - * sysdeps/m68k/coldfire/nofpu/math_private.h (libc_fesetround): - Remove macro. - (libc_fetestexcept): Likewise. - (libc_feupdateenv_test): Likewise. - * sysdeps/microblaze/math_private.h (libc_fesetround): Likewise. - (libc_fetestexcept): Likewise. - (libc_feupdateenv_test): Likewise. - * sysdeps/nios2/math_private.h (libc_fesetround): Likewise. - (libc_fetestexcept): Likewise. - (libc_feupdateenv_test): Likewise. - * sysdeps/tile/math_private.h (libc_fesetround): Likewise. - (libc_fetestexcept): Likewise. - (libc_feupdateenv_test): Likewise. - - * sysdeps/generic/math_private.h - [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept): - New inline function. - [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feholdexcept): - Likewise. - - * include/fenv.h [!_ISOMAC && !FE_TONEAREST]: Give #error. - [!_ISOMAC] (FE_HAVE_ROUNDING_MODES): New macro. - * sysdeps/generic/math_private.h - [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (fegetenv): New - inline function. - [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__fegetenv): - Likewise. - [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (fesetenv): - Likewise. - [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__fesetenv): - Likewise. - [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feupdateenv): - Likewise. - [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feupdateenv): - Likewise. - [!FE_HAVE_ROUNDING_MODES] (fegetround): Likewise. - [!FE_HAVE_ROUNDING_MODES] (__fegetround): Likewise. - [!FE_HAVE_ROUNDING_MODES] (fesetround): Likewise. - [!FE_HAVE_ROUNDING_MODES] (__fesetround): Likewise. - * sysdeps/tile/math_private.h (fegetenv): Remove inline function. - (__fegetenv): Likewise. - (fesetenv): Likewise. - (__fesetenv): Likewise. - (feupdateenv): Likewise. - (__feupdateenv): Likewise. - (fegetround): Likewise. - (__fegetround): Likewise. - (fesetround): Likewise. - (__fesetround): Likewise. - - * sysdeps/generic/math_private.h [FE_ALL_EXCEPT == 0] - (feraiseexcept): New macro. - [FE_ALL_EXCEPT == 0] (__feraiseexcept): Likewise. - * sysdeps/m68k/coldfire/nofpu/math_private.h (feraiseexcept): - Remove macro. - (__feraiseexcept): Likewise. - (feclearexcept): Likewise. - * sysdeps/microblaze/math_private.h (feraiseexcept): Likewise. - (__feraiseexcept): Likewise. - (feclearexcept): Likewise. - * sysdeps/nios2/math_private.h (feraiseexcept): Likewise. - (__feraiseexcept): Likewise. - (feclearexcept): Likewise. - * sysdeps/tile/math_private.h (feraiseexcept): Likewise. - (__feraiseexcept): Likewise. - (feclearexcept): Likewise. - (fetestexcept): Likewise. - - * sysdeps/m68k/coldfire/math-tests.h: New file. - - * sysdeps/m68k/fpu/bits/fenv.h: Move to .... - * sysdeps/m68k/bits/fenv.h: ... here. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_INEXACT): Do - not define. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_DIVBYZERO): - Likewise. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_UNDERFLOW): - Likewise. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_OVERFLOW): - Likewise. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_INVALID): - Likewise. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_ALL_EXCEPT): - Define to 0. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] - (__FE_UNDEFINED): New enum constant. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_TOWARDZERO): - Do not define. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_DOWNWARD): - Likewise. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_UPWARD): - Likewise. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (fenv_t): Define - to match generic bits/fenv.h. - [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_NOMASK_ENV): - Do not define. - - * soft-fp/double.h (union _FP_UNION_D): Do not use attribute - packed on bits. - * soft-fp/extended.h (union _FP_UNION_E): Likewise. - * soft-fp/half.h (union _FP_UNION_H): Likewise. - * soft-fp/quad.h (union _FP_UNION_Q): Likewise. - * soft-fp/single.h (union _FP_UNION_S): Likewise. - -2018-02-01 Carlos O'Donell - Ramin Seyed-Moussavi - Joseph Myers - - [BZ #21314] - * sysdeps/ieee754/dbl-64/s_log1p.c: Include . - (__log1p): Disable -Wmaybe-uninitialized for -Os around - computation using c. - * sysdeps/ieee754/flt-32/s_log1pf.c: Include . - (__log1pf): Disable -Wmaybe-uninitialized for -Os around - computation using c. - -2018-02-01 Dmitry V. Levin - - * version.h (RELEASE): Set to "development". - (VERSION): Set to "2.27.9000". - * NEWS (2.28): New section. - - * version.h (RELEASE): Set to "stable". - (VERSION): Set to "2.27". - * include/features.h (__GLIBC_MINOR__): Set to 2.27. - - * NEWS: Add the list of bugs fixed in 2.27. - -2018-02-01 Adhemerval Zanella - - * stdlib/test-atexit-race-common.c (do_test): Check stack size - against PTHREAD_STACK_MIN. - -2018-02-01 Dmitry V. Levin - - * manual/contrib.texi (Palmer Dabbelt, Arjun Shankar, Florian Weimer): - New entries. - (Rafal Luzynski, Andreas Schwab): Update. - -2018-02-01 Rafal Luzynski - - [BZ #10871] - * NEWS: List the languages which actually use the alternative - months feature in this release. Also explain that "alt_mon" and - "ab_alt_mon" are optional. - -2018-01-31 Il'ya Malakhov - - [BZ #22765] - * crypt/badsalttest.c (do_test): Set cd.initialized to 0. - -2018-01-31 Dmitry V. Levin - - * manual/install.texi (Tools for Compilation): Update the newest - versions of gcc, binutils, texinfo, gawk, bison, and sed. - * INSTALL: Regenerated. - -2018-01-30 Samuel Thibault - - * sysdeps/pthread/allocalim.h (__libc_use_alloca): Use __glibc_likely - instead of __builtin_expect. - -2018-01-30 Florian Weimer - - * nss/bug17079.c (do_test): Use nss_files only for reading passwd - data. - * nss/tst-nss-getpwent.c (do_test): Likewise. - -2018-01-30 Rafal Luzynski - - [BZ #10871] - * localedata/locales/hr_HR (mon): Rename to... - (alt_mon): This. - (mon): Import from CLDR (genitive case). - (d_t_fmt): Update the comment. - -2018-01-29 Andreas Schwab - - * sysdeps/posix/fpathconf.c (__fpathconf): Verify the values of - _POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, _POSIX_VDISABLE. - * sysdeps/posix/pathconf.c (__pathconf): Likewise. - -2018-01-29 Samuel Thibault - - * mach/Versions: Fix version when __mach_host_self_ was added. - * hurd/Versions: Fix version when _hurd_exec_paths was added. - * sysdeps/mach/hurd/i386/ld.abilist: New file. - * sysdeps/mach/hurd/i386/libBrokenLocale.abilist: New file. - * sysdeps/mach/hurd/i386/libanl.abilist: New file. - * sysdeps/mach/hurd/i386/libc.abilist: New file. - * sysdeps/mach/hurd/i386/libcrypt.abilist: New file. - * sysdeps/mach/hurd/i386/libdl.abilist: New file. - * sysdeps/mach/hurd/i386/libm.abilist: New file. - * sysdeps/mach/hurd/i386/libnsl.abilist: New file. - * sysdeps/mach/hurd/i386/libresolv.abilist: New file. - * sysdeps/mach/hurd/i386/librt.abilist: New file. - * sysdeps/mach/hurd/i386/libutil.abilist: New file. - * sysdeps/pthread/allocalim.h (__libc_use_alloca): Commute operands of - || to respect codestyle. - * libio/tst-memstream3.c (_FWRITE): Rename to FWRITE_FUNC. - (do_test_bz20181): Rename accordingly. - * malloc/malloc.c: Include . - (assert): Do not define. - [!defined NDEBUG] (__assert_fail): Define to __malloc_assert. - * bits/fcntl.h: Fix comment for FREAD and FWRITE. - * sysdeps/mach/hurd/bits/fcntl.h: Likewise. - * sysdeps/mach/hurd/hp-timing.h: New file. - * sysdeps/mach/hurd/i386/tlsdesc.sym: New file. - -2018-01-29 Darius Rad - - * sysdeps/unix/sysv/linux/riscv/ipc_priv.h: New file. - -2018-01-29 Palmer Dabbelt - - * sysdeps/init_array/crti.S (.section .init_array): Add - PREINIT_FUNCTION when defined. - * manual/math.texi: RISC-V supports _Float128 and _Float64x. - * config.h.in: Regenerate. - * manual/platform.texi: Add RISC-V documenation for - __riscv_flush_icache. - * sysdeps/riscv/__longjmp.S: New file. - * sysdeps/riscv/backtrace.c: Likewise. - * sysdeps/riscv/bits/endian.h: Likewise. - * sysdeps/riscv/bits/setjmp.h: Likewise. - * sysdeps/riscv/bits/wordsize.h: Likewise. - * sysdeps/riscv/bsd-_setjmp.c: Likewise. - * sysdeps/riscv/bsd-setjmp.c: Likewise. - * sysdeps/riscv/dl-trampoline.S: Likewise. - * sysdeps/riscv/gccframe.h: Likewise. - * sysdeps/riscv/jmpbuf-offsets.h: Likewise. - * sysdeps/riscv/jmpbuf-unwind.h: Likewise. - * sysdeps/riscv/machine-gmon.h: Likewise. - * sysdeps/riscv/memusage.h: Likewise. - * sysdeps/riscv/setjmp.S: Likewise. - * sysdeps/riscv/sys/asm.h: Likewise. - * sysdeps/riscv/tls-macros.h: Likewise. - * sysdeps/riscv/dl-tls.h: New file. - * sysdeps/riscv/libc-tls.c: Likewise. - * sysdeps/riscv/nptl/tcb-offsets.sym: Likewise. - * sysdeps/riscv/nptl/tls.h: Likewise. - * sysdeps/riscv/stackinfo.h: Likewise. - * sysdeps/riscv/bits/fenv.h: New file. - * sysdeps/riscv/e_sqrtl.c: Likewise. - * sysdeps/riscv/fpu_control.h: Likewise. - * sysdeps/riscv/math-tests.h: Likewise. - * sysdeps/riscv/nofpu/Implies: Likewise. - * sysdeps/riscv/sfp-machine.h: Likewise. - * sysdeps/riscv/tininess.h: Likewise. - * sysdeps/riscv/rv64/rvd/s_ceil.c: New file. - * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_llrint.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_llround.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_lrint.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_lround.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_nearbyint.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_rint.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_round.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_roundeven.c: Likewise. - * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise. - * sysdeps/riscv/rv64/rvf/s_llrintf.c: Likewise. - * sysdeps/riscv/rv64/rvf/s_llroundf.c: Likewise. - * sysdeps/riscv/rv64/rvf/s_lrintf.c: Likewise. - * sysdeps/riscv/rv64/rvf/s_lroundf.c: Likewise. - * sysdeps/riscv/rvd/e_sqrt.c: Likewise. - * sysdeps/riscv/rvd/s_copysign.c: Likewise. - * sysdeps/riscv/rvd/s_finite.c: Likewise. - * sysdeps/riscv/rvd/s_fma.c: Likewise. - * sysdeps/riscv/rvd/s_fmax.c: Likewise. - * sysdeps/riscv/rvd/s_fmin.c: Likewise. - * sysdeps/riscv/rvd/s_fpclassify.c: Likewise. - * sysdeps/riscv/rvd/s_isinf.c: Likewise. - * sysdeps/riscv/rvd/s_isnan.c: Likewise. - * sysdeps/riscv/rvd/s_issignaling.c: Likewise. - * sysdeps/riscv/rvf/e_sqrtf.c: Likewise. - * sysdeps/riscv/rvf/fclrexcpt.c: Likewise. - * sysdeps/riscv/rvf/fegetenv.c: Likewise. - * sysdeps/riscv/rvf/fegetmode.c: Likewise. - * sysdeps/riscv/rvf/fegetround.c: Likewise. - * sysdeps/riscv/rvf/feholdexcpt.c: Likewise. - * sysdeps/riscv/rvf/fesetenv.c: Likewise. - * sysdeps/riscv/rvf/fesetexcept.c: Likewise. - * sysdeps/riscv/rvf/fesetmode.c: Likewise. - * sysdeps/riscv/rvf/fesetround.c: Likewise. - * sysdeps/riscv/rvf/feupdateenv.c: Likewise. - * sysdeps/riscv/rvf/fgetexcptflg.c: Likewise. - * sysdeps/riscv/rvf/fraiseexcpt.c: Likewise. - * sysdeps/riscv/rvf/fsetexcptflg.c: Likewise. - * sysdeps/riscv/rvf/ftestexcept.c: Likewise. - * sysdeps/riscv/rvf/get-rounding-mode.h: Likewise. - * sysdeps/riscv/rvf/math_private.h: Likewise. - * sysdeps/riscv/rvf/s_ceilf.c: Likewise. - * sysdeps/riscv/rvf/s_copysignf.c: Likewise. - * sysdeps/riscv/rvf/s_finitef.c: Likewise. - * sysdeps/riscv/rvf/s_floorf.c: Likewise. - * sysdeps/riscv/rvf/s_fmaf.c: Likewise. - * sysdeps/riscv/rvf/s_fmaxf.c: Likewise. - * sysdeps/riscv/rvf/s_fminf.c: Likewise. - * sysdeps/riscv/rvf/s_fpclassifyf.c: Likewise. - * sysdeps/riscv/rvf/s_isinff.c: Likewise. - * sysdeps/riscv/rvf/s_isnanf.c: Likewise. - * sysdeps/riscv/rvf/s_issignalingf.c: Likewise. - * sysdeps/riscv/rvf/s_nearbyintf.c: Likewise. - * sysdeps/riscv/rvf/s_rintf.c: Likewise. - * sysdeps/riscv/rvf/s_roundevenf.c: Likewise. - * sysdeps/riscv/rvf/s_roundf.c: Likewise. - * sysdeps/riscv/rvf/s_truncf.c: Likewise. - * sysdeps/riscv/nptl/bits/pthreadtypes-arch.h: New file. - * sysdeps/riscv/nptl/bits/semaphore.h: Likewise. - * sysdeps/riscv/nptl/libc-lowlevellock.c: Likewise. - * sysdeps/unix/sysv/linux/riscv/atomic-machine.h: Likewise. - * sysdeps/riscv/nptl/nptl-sysdep.S: New file. - * sysdeps/unix/sysv/linux/riscv/arch-fork.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/clone.S: Likewise. - * sysdeps/unix/sysv/linux/riscv/profil-counter.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/pt-vfork.S: Likewise. - * sysdeps/unix/sysv/linux/riscv/syscall.c: Likewise. - * sysdeps/unix/sysv/linux/riscv/sysdep.S: Likewise. - * sysdeps/unix/sysv/linux/riscv/sysdep.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/vfork.S: Likewise. - * sysdeps/riscv/nptl/pthread-offsets.h: New file. - * sysdeps/riscv/nptl/pthreaddef.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/bits/fcntl.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/bits/mman.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/bits/sigcontext.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/dl-cache.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/flush-icache.c: Likewise. - * sysdeps/unix/sysv/linux/riscv/getcontext.S: Likewise. - * sysdeps/unix/sysv/linux/riscv/init-first.c: Likewise. - * sysdeps/unix/sysv/linux/riscv/libc-vdso.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/makecontext.c: Likewise. - * sysdeps/unix/sysv/linux/riscv/readelflib.c: Likewise. - * sysdeps/unix/sysv/linux/riscv/register-dump.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/setcontext.S: Likewise. - * sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/swapcontext.S: Likewise. - * sysdeps/unix/sysv/linux/riscv/sys/cachectl.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/sys/procfs.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/sys/ucontext.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/sys/user.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/ucontext-macros.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/ucontext_i.sym: Likewise. - * sysdeps/unix/sysv/linux/riscv/dl-static.c: New file. - * sysdeps/unix/sysv/linux/riscv/ldconfig.h: Likewise. - * sysdeps/unix/sysv/linux/riscv/ldsodefs.h: Likewise. - * sysdeps/riscv/nofpu/libm-test-ulps: New file. - * sysdeps/riscv/nofpu/libm-test-ulps-name: Likewise. - * sysdeps/riscv/rv64/rvd/libm-test-ulps: Likewise. - * sysdeps/riscv/rv64/rvd/libm-test-ulps-name: Likewise. - * sysdeps/unix/sysv/linux/riscv/localplt.data: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/c++-types.data: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist: Likewise. - * sysdeps/riscv/Implies: New file. - * sysdeps/riscv/Makefile: Likewise. - * sysdeps/riscv/configure: Likewise. - * sysdeps/riscv/configure.ac: Likewise. - * sysdeps/riscv/nptl/Makefile: Likewise. - * sysdeps/riscv/preconfigure: Likewise. - * sysdeps/riscv/rv64/Implies-after: Likewise. - * sysdeps/riscv/rv64/rvd/Implies: Likewise. - * sysdeps/riscv/rv64/rvf/Implies: Likewise. - * sysdeps/unix/sysv/linux/riscv/Implies: Likewise. - * sysdeps/unix/sysv/linux/riscv/Makefile: Likewise. - * sysdeps/unix/sysv/linux/riscv/Versions: Likewise. - * sysdeps/unix/sysv/linux/riscv/configure: Likewise. - * sysdeps/unix/sysv/linux/riscv/configure.ac: Likewise. - * sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/Implies: Likewise. - * sysdeps/unix/sysv/linux/riscv/rv64/Makefile: Likewise. - * sysdeps/unix/sysv/linux/riscv/shlib-versions: Likewise. - * scripts/build-many-glibcs.py (Context): Add RISC-V targets. - (Config): Likewise. - -2018-01-29 Florian Weimer - - [BZ #22701] - * include/rpcsvc/nislib.h (__nis_default_ttl): Add - libnsl_hidden_proto. - * include/rpcsvc/yp.h (yp_xdrall): Declare with - libnsl_hidden_proto. - * include/rpcsvc/ypclnt.h (yp_maplist): Likewise. - * nis/Makefile (libnsl-routines): Add nss-default only for - build-obsolete-nsl. - * nis/nis_defaults.c (__nis_default_ttl): Add - libnsl_hidden_nolink_def. - * nis/rpcsvc/ypclnt.h (yp_maplist): Remove #ifdef'ed-out - declaration. - * nis/yp_xdr.c (xdr_ypall): Add libnsl_hidden_nolink_def. - * nis/ypclnt.c (yp_maplist): Likewise. - -2018-01-29 Romain Naour (tiny change) - - * sysdeps/unix/sysv/linux/microblaze/kernel-features.h - (__ASSUME_COPY_FILE_RANGE) [__LINUX_KERNEL_VERSION < 0x040A00]: Undef. - -2018-01-29 Joseph Myers - - * scripts/build-many-glibcs.py (Context.git_checkout): Use git - clean -dxfq for git updates when replacing sources. - - * scripts/build-many-glibcs.py (Config.build_gcc): Use - --disable-libcilkrts unconditionally, not just for the final GCC - build for Hurd. - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - version to 4.15. - -2018-01-29 Rafal Luzynski - - [BZ #10871] - * localedata/locales/lt_LT (alt_mon): Import from CLDR (nominative - case). - -2018-01-29 Rafal Luzynski - - [BZ #10871] - * localedata/locales/be_BY (mon): Rename to... - (alt_mon): This, then synchronize with CLDR (nominative case). - (abmon): Rename to... - (ab_alt_mon): This, then synchronize with CLDR (nominative case). - (mon): Import from CLDR (genitive case). - (abmon): Likewise. - * localedata/locales/be_BY@latin (mon): Rename to... - (alt_mon): This. - (mon): Add, proper genitive forms provided by Viktar Siarheichyk. - - * localedata/locales/be_BY@latin (lang_name): Reworded to - "biełaruskaja mova". - -2018-01-29 Rafal Luzynski - - [BZ #10871] - * localedata/locales/el_CY (mon): Renamed to... - (alt_mon): This. - (mon): Import from CLDR (genitive case). - * localedata/locales/el_GR: Likewise. - -2018-01-29 Rafal Luzynski - - [BZ #10871] - * localedata/locales/ru_RU (mon): Rename to... - (alt_mon): This. - (abmon): Rename to... - (ab_alt_mon): This. - (mon): Import from CLDR (genitive case). - (abmon): Copy from the old content except the 5th month which is - now in the genitive case, even when abbreviated. - * localedata/locales/ru_UA: Likewise. - * time/tst-strptime.c (day_tests): Add an actual example of - a difference between %b and %Ob in Russian. - -2018-01-27 Samuel Thibault - - * sysdeps/mach/hurd/xmknodat.c: Include . - * sysdeps/mach/hurd/profil.c: Reuse `a' variable instead of introducing - a `c' variable. - * resolv/res-close.c: Include . - * sysdeps/generic/not-cancel.h: Include , , - , , . - (NOT_CANCEL_H): Add inclusion guard. - * sysdeps/generic/sigset-cvt-mask.h: Include . - * sysdeps/generic/sigsetops.h (__sigemptyset, __sigfillset, - __sigandset, __sigorset, __sigaddset, __sigdelset): Make them really - return 0. - * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Cast - vm_address_t * to ElfW(Addr) * for dl_main parameter. - * sysdeps/pthread/posix-timer.h (timer_ptr2id): Cast to timer_t - instead of void *. - * sysdeps/pthread/timer_create.c (timer_create): Do not use - timer_ptr2id to cast struct timer_node * to void *. - * scripts/build-many-glibcs.py [os == gnu] (build_gcc): Pass - --disable-libcilkrts to gcc configure. - (checkout_vcs): Add mig and gnumach repository URLs, run autoreconf, - and make them the default for now. - * sysdeps/mach/hurd/Makefile [$(subdir)==nis]: Add - -DUSE_BINDINGDIR=1 to CFLAGS-ypclnt.c. - * mach/Machrules (MIGFLAGS): Do not set -DMACH_IPC_COMPAT=0. - * mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT. - * sysdeps/mach/hurd/fork.c (__fork): Drop special casing - MACH_IPC_COMPAT. - * sysdeps/mach/hurd/dl-sysdep.c (_exit): Call LOSE and abort() if - __task_terminate would ever return successfully. - * sysdeps/mach/hurd/profil.c (special_profil_failure): Move variable - to global scope. - * sysdeps/mach/pagecopy.h (PAGE_THRESHOLD): Rename to - PAGE_COPY_THRESHOLD and set to benchmarked 16384. - * sysdeps/mach/hurd/getresgid.c (__getresgid): Set result from - critical section to make code simpler and avoid warning. - * sysdeps/mach/hurd/getresuid.c (__getresuid): Set result from - critical section to make code simpler and avoid warning. - * sysdeps/mach/hurd/spawni.c (__spawni): Make relpath and abspath - const char * instead of char *. - * hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup, - __hurd_file_name_split, hurd_file_name_split, - __hurd_directory_name_split, hurd_directory_name_split, - __hurd_file_name_lookup_retry, hurd_file_name_lookup_retry, - hurd_file_name_path_lookup): Make lookup function parameter take a - const char *name instead of char *name. - * hurd/hurdlookup.c (__hurd_file_name_lookup, __hurd_file_name_split, - __hurd_directory_name_split): Likewise. - * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise. - * hurd/path-lookup.c (hurd_file_name_path_lookup): Likewise. - * sysdeps/mach/hurd/check_native.c: New file. - * sysdeps/mach/hurd/check_pf.c: New file. - * nscd/gai.c (__getifaddrs): Define macro to getifaddrs. - (__freeifaddrs): Define macro to freeifaddrs. - * sysdeps/mach/hurd/libhurduser.abilist: New file. - * sysdeps/mach/libmachuser.abilist: New file. - * libio/tst-memstream3.c (FWRITE): Rename to _FWRITE. - (do_test_bz20181): Rename accordingly. - * libio/tst-wmemstream3.c (FWRITE): Rename accordingly. - * io/tst-copy_file_range.c [!defined CLONE_NEWNS]: Do not include - . - * hurd/hurd.h (__hurd_fail): Always declare function, and provide inline - version only if __USE_EXTERN_INLINES is defined. - * hurd/hurd/fd.h (_hurd_fd_error_signal, _hurd_fd_error, __hurd_dfail, - __hurd_sockfail): Likewise. - (_hurd_fd_get): Always declare functions, and provide inline versions - only if __USE_EXTERN_INLINES and _LIBC are defined and IS_IN(libc). - * hurd/hurd/port.h (_hurd_port_init, _hurd_port_locked_get, - _hurd_port_get, _hurd_port_free, _hurd_port_locked_set, - _hurd_port_set): Always declare functions, and provide inline versions - only if __USE_EXTERN_INLINES and _LIBC are defined and - IS_IN(libc). - * hurd/hurd/signal.h (_hurd_self_sigstate, _hurd_critical_section_lock, - _hurd_critical_section_unlock): Likewise. - * hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp, - * __hurd_threadvar_location): Likewise. - * hurd/hurd/userlink.h (_hurd_userlink_link, _hurd_userlink_unlink, - _hurd_userlink_clear): Likewise. - * mach/lock-intern.h (__spin_lock_init, __spin_lock, __mutex_lock, - __mutex_unlock, __mutex_trylock): Always declare functions, and provide - inline versions only if __USE_EXTERN_INLINES and _LIBC are defined. - * mach/mach/mig_support.h (__mig_strncpy): Likewise. - * sysdeps/generic/machine-lock.h (__spin_unlock, __spin_try_lock, - __spin_lock_locked): Likewise. - * sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock, - __spin_lock_locked): Likewise. - * mach/spin-lock.c (__USE_EXTERN_INLINES): Define to 1. - * hurd/Versions (libc: GLIBC_2.27): Add _hurd_fd_error_signal, - _hurd_fd_error, __hurd_dfail, __hurd_sockfail, _hurd_port_locked_set, - __hurd_threadvar_location_from_sp, __hurd_threadvar_location, - _hurd_userlink_link, _hurd_userlink_unlink, _hurd_userlink_clear. - * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_CHOWN_RESTRICTED, - _POSIX_NO_TRUNC): Define to 0. - * sysdeps/pthread/allocalim.h [!defined PTHREAD_STACK_MIN]: Do not - check size against PTHREAD_STACK_MIN. - * hurd/hurd/signal.h [__USE_EXTERN_INLINES][_LIBC][IS_IN(libc) || - IS_IN(libpthread)]: Include . - * mach/Makefile (user-interfaces): Add mach/gnumach. - * sysdeps/mach/configure.ac (mach_interface_list): Add gnumach. - * sysdeps/mach/configure (mach_interface_list): Regenerate. - * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_VDISABLE): Set to '\0' - instead of invalid -1. - * sysdeps/mach/hurd/net/ethernet.h: Include . - * sysdeps/mach/hurd/net/if_arp.h: Include . - * sysdeps/mach/hurd/net/if_ppp.h: Do not include non-existing - . - -2018-01-27 Thomas Schwinge - - * hurd/fcntl-internal.h: New file. - -2018-01-27 James Clarke - - * sysdeps/hppa/fpu/libm-test-ulps: Update. - - * sysdeps/alpha/fpu/libm-test-ulps: Update. - -2018-01-26 Andreas Schwab - - [BZ #22701] - * nis/Makefile (libnsl-inhibit-o) [$(build-obsolete-nsl) != yes]: - Build only shared objects. - -2018-01-26 Carlos O'Donell - - * README: Update for hppa. - -2018-01-26 Patrick McGehearty - - * sysdeps/sparc/fpu/libm-test-ulps: Update - cpow, ctan, ctanh, j0, j1, y0, yn ulps. - -2018-01-26 Carlos O'Donell - - Revert: - - 2017-12-19 H.J. Lu - - [BZ #22563] - * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. - * sysdeps/i386/nptl/tls.h (tcbhead_t): Add feature_1. - * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. - * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Rename __glibc_unused1 - to feature_1. - - 2017-12-19 H.J. Lu - - [BZ #22563] - * bits/types/__cancel_jmp_buf_tag.h: New file. - * sysdeps/unix/sysv/linux/x86/bits/types/__cancel_jmp_buf_tag.h - * sysdeps/unix/sysv/linux/x86/pthreaddef.h: Likewise. - * sysdeps/unix/sysv/linux/x86/nptl/pthreadP.h: Likewise. - * nptl/Makefile (headers): Add - bits/types/__cancel_jmp_buf_tag.h. - * nptl/descr.h [NEED_SAVED_MASK_IN_CANCEL_JMP_BUF] - (pthread_unwind_buf): Add saved_mask to cancel_jmp_buf. - * sysdeps/nptl/pthread.h: Include - . - (__pthread_unwind_buf_t): Use struct __cancel_jmp_buf_tag with - __cancel_jmp_buf. - * sysdeps/unix/sysv/linux/hppa/pthread.h: Likewise. - -2018-01-25 Rafal Luzynski - - [BZ #10871] - * localedata/locales/uk_UA (mon): Renamed to... - (alt_mon): This. - (alt_digits): "0" removed and then renamed to... - (mon): This. - (date_fmt): Definition changed not to use the alternative - digits hack. - -2018-01-25 Palmer Dabbelt - - * elf/cache.c (print_entry): Add FLAG_RISCV_FLOAT_ABI_SOFT and - FLAG_RISCV_FLOAT_ABI_DOUBLE. - * elf/elf.h (EF_RISCV_RVC): New define. - (EF_RISCV_FLOAT_ABI): Likewise. - (EF_RISCV_FLOAT_ABI_SOFT): Likewise. - (EF_RISCV_FLOAT_ABI_SINGLE): Likewise. - (EF_RISCV_FLOAT_ABI_DOUBLE): Likewise. - (EF_RISCV_FLOAT_ABI_QUAD): Likewise. - * sysdeps/generic/ldconfig.h (FLAG_RISCV_FLOAT_ABI_SOFT): New - define. - (FLAG_RISCV_FLOAT_ABI_DOUBLE): Likewise. - -2018-01-25 Andreas Schwab - - * aclocal.m4 (LIBC_SLIBDIR_RTLDDIR): Consistently put arguments in - single quotes. - * sysdeps/gnu/configure: Regenerate. - * sysdeps/unix/sysv/linux/aarch64/configure: Regenerate. - * sysdeps/unix/sysv/linux/mips/configure: Regenerate. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/configure: Regenerate. - * sysdeps/unix/sysv/linux/s390/s390-64/configure: Regenerate. - * sysdeps/unix/sysv/linux/sparc/sparc64/configure: Regenerate. - * sysdeps/unix/sysv/linux/tile/configure: Regenerate. - * sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerate. - * sysdeps/unix/sysv/linux/x86_64/x32/configure: Regenerate. - -2018-01-25 Samuel Thibault - - * scripts/build-many-glibcs.py (checkout_vcs): Add hurd repository - URL, and run autoconf, make it the default for now. - -2018-01-24 Joseph Myers - - * scripts/build-many-glibcs.py (Context.add_all_configs): Add - soft-float ColdFire configuration. - - * sysdeps/unix/sysv/linux/m68k/localplt.data: Move to .... - * sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data: ... here. - * sysdeps/unix/sysv/linux/m68k/coldfire/localplt.data: New file. - - * sysdeps/m68k/coldfire/nofpu/math_private.h: New file. Based on - MicroBlaze file. - - * sysdeps/unix/sysv/linux/m68k/coldfire/jmp_buf-macros.h: Move to - .... - * sysdeps/unix/sysv/linux/m68k/coldfire/fpu/jmp_buf-macros.h: - ... here. - * sysdeps/unix/sysv/linux/m68k/coldfire/nofpu/jmp_buf-macros.h: - New file. - - * sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h: Move to .... - * sysdeps/unix/sysv/linux/m68k/m680x0/jmp_buf-macros.h: ... here. - * sysdeps/unix/sysv/linux/m68k/coldfire/jmp_buf-macros.h: New - file. - -2018-01-24 Szabolcs Nagy - - [BZ #22742] - * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__glibc_reserved1): - Rename to __reserved and add comment. - * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (__glibc_reserved1): - Rename to __reserved. - -2018-01-24 Joseph Myers - - * scripts/build-many-glibcs.py (Context.add_all_configs): Add - i686-gnu configurations. - (Context.run_builds): Include mig, gnumach and hurd in components - considered. - (Context.checkout): Add mig, gnumach and hurd to components. - (Context.checkout_tar): Add URL mappings for mig, gnumach and - hurd. - (Context.bot_cycle): Check for changes to mig, gnumach and hurd. - (Config.build): Install gnumach headers, build mig and install - hurd headers for 'gnu' OS. - (Config.install_gnumach_headers): New function. - (Config.install_hurd_headers): Likewise. - (Glibc.build_glibc): Do not use /usr for 'gnu' OS. Specifiy MIG - when building for 'gnu' OS. - -2018-01-23 Tobias Klauser - - * manual/tunables.texi (Hardware Capability Tunables): Fix - spelling. - -2018-01-22 Rical Jasan - - * manual/locale.texi (ALTMON_1, ALTMON_2, ALTMON_3, ALTMON_4) - (ALTMON_5, ALTMON_6, ALTMON_7, ALTMON_8, ALTMON_9, ALTMON_10) - (ALTMON_11, ALTMON_12): Improve documentation. - * manual/time.texi (strftime): Likewise. - -2018-01-22 Rafal Luzynski - - [BZ #10871] - * localedata/locales/pl_PL: Alternative month names added, - primary month names are genitive now. - * time/tst-strptime.c (day_tests): Actually use a genitive case - of a month name in Polish language. - -2018-01-22 Rafal Luzynski - - [BZ #10871] - * manual/locale.texi: Document ALTMON_1..12 constants for - nl_langinfo. Specify when to use ALTMON instead of MON. - * manual/time.texi (strftime, strptime): Document GNU extension - permitting O modifier with %B and %b. Specify when to use - %OB instead of %B. - -2018-01-22 Rafal Luzynski - - [BZ #10871] - * locale/C-time.c (_nl_C_LC_TIME): Add abbreviated alternative month - names, define them as the same as abbreviated month names explicitly. - * locale/categories.def (LC_TIME): Add ab_alt_mon and wide-ab_alt_mon. - * locale/langinfo.h: (_NL_ABALTMON_1, _NL_ABALTMON_2, _NL_ABALTMON_3, - _NL_ABALTMON_4, _NL_ABALTMON_5, _NL_ABALTMON_6, _NL_ABALTMON_7, - _NL_ABALTMON_8, _NL_ABALTMON_9, _NL_ABALTMON_10, _NL_ABALTMON_11, - _NL_ABALTMON_12, _NL_WABALTMON_1, _NL_WABALTMON_2, _NL_WABALTMON_3, - _NL_WABALTMON_4, _NL_WABALTMON_5, _NL_WABALTMON_6, _NL_WABALTMON_7, - _NL_WABALTMON_8, _NL_WABALTMON_9, _NL_WABALTMON_10, _NL_WABALTMON_11, - _NL_WABALTMON_12): New enum constants. - * locale/programs/ld-time.c (struct locale_time_t): Add ab_alt_mon, - wab_alt_mon, and ab_alt_mon_defined members. - (time_output): Output ab_alt_mon and wab_alt_mon members. - (time_read): Read them, initialize them as copies of abmon and wabmon - respectively if they are missing, initialize ab_alt_mon_defined. - * locale/programs/locfile-kw.gperf (ab_alt_mon): Define. - * locale/programs/locfile-kw.h: Regenerate. - * locale/programs/locfile-token.h (tok_ab_alt_mon): New enum constant. - * time/Makefile [$(run-built-tests) = yes] (LOCALES): Add es_ES.UTF-8 - and ru_RU.UTF-8. - * time/strftime_l.c (a_altmonth, aam_len): New macros. - [!COMPILE_WIDE] (ABALTMON_1): New macro. - (__strftime_internal): Handle %Ob and %Oh formats. - * time/strptime_l.c [_LIBC] (ab_alt_month_name): New macro. - (__strptime_internal): Handle %Ob and %Oh formats. - * time/tst-strptime.c (day_tests): Add more tests to parse different - forms of month names including the new %Ob format specifier. - -2018-01-22 Rafal Luzynski - - [BZ #10871] - * locale/C-time.c (_nl_C_LC_TIME): Add alternative month names, - define them as the same as primary full month names explicitly. - * locale/categories.def (LC_TIME): Add alt_mon and wide-alt_mon. - * locale/langinfo.h (__ALTMON_1, __ALTMON_2, __ALTMON_3, __ALTMON_4, - __ALTMON_5, __ALTMON_6, __ALTMON_7, __ALTMON_8, __ALTMON_9, __ALTMON_10, - __ALTMON_11, __ALTMON_12, _NL_WALTMON_1, _NL_WALTMON_2, _NL_WALTMON_3, - _NL_WALTMON_4, _NL_WALTMON_5, _NL_WALTMON_6, _NL_WALTMON_7, - _NL_WALTMON_8, _NL_WALTMON_9, _NL_WALTMON_10, _NL_WALTMON_11, - _NL_WALTMON_12): New enum constants. - [__USE_GNU] (ALTMON_1, ALTMON_2, ALTMON_3, ALTMON_4, ALTMON_5, ALTMON_6, - ALTMON_7, ALTMON_8, ALTMON_9, ALTMON_10, ALTMON_11, ALTMON_12): New - macros. - * locale/programs/ld-time.c (struct locale_time_t): Add alt_mon, - walt_mon, and alt_mon_defined members. - (time_output): Output alt_mon and walt_mon members. - (time_read): Read them, initialize them as copies of mon and wmon - respectively if they are missing, initialize alt_mon_defined. - * locale/programs/locfile-kw.gperf (alt_mon): Define. - * locale/programs/locfile-kw.h: Regenerate. - * locale/programs/locfile-token.h (tok_alt_mon): New enum constant. - * localedata/tst-langinfo.c (map): Add tests for the new constants - ALTMON_1 .. ALTMON_12. - * time/Makefile [$(run-built-tests) = yes] (LOCALES): Add fr_FR.UTF-8 - and pl_PL.UTF-8. - * time/strftime_l.c (f_altmonth): New macro. - (__strftime_internal): Handle %OB format. - * time/strptime_l.c [_LIBC] (alt_month_name): New macro. - (__strptime_internal): Handle %OB format. - * time/tst-strptime.c (day_tests): Add tests to parse different forms - of month names including the new %OB format specifier. - -2018-01-19 Tulio Magno Quites Machado Filho - - [BZ #22685] - * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Renamed - from ABORT_TRANSACTION. - (ABORT_TRANSACTION): Redirect to ABORT_TRANSACTION_IMPL. - * sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION, - ABORT_TRANSACTION_IMPL): Likewise. - * sysdeps/unix/sysv/linux/powerpc/not-errno.h: New file. Reuse - Linux code, but remove the code that aborts transactions. - -2018-01-19 Samuel Thibault - - * sysdeps/generic/netinet/if_ether.h: Include . - -2018-01-19 Rafal Luzynski - - * localedata/locales/gu_IN (LC_IDENTIFICATION): Fix an obvious typo - in date: "2004-14-09" should be "2004-09-14". - * localedata/locales/lo_LA: Fix an obvious typo in date in the header: - "2003-15-09" should be "2003-09-15". - -2018-01-18 Arjun Shankar - - [BZ #22343] - [BZ #22774] - CVE-2018-6485 - CVE-2018-6551 - * malloc/malloc.c (checked_request2size): call REQUEST_OUT_OF_RANGE - after padding. - (_int_memalign): check for integer overflow before calling - _int_malloc. - * malloc/tst-malloc-too-large.c: New test. - * malloc/Makefile: Add tst-malloc-too-large. - -2018-01-18 Rafal Luzynski - - * localedata/locales/bho_NP (LC_IDENTIFICATION): Fix an obvious typo - in date: "2017-24-07" should be "2017-07-24". - * localedata/locales/mai_IN: Likewise. - * localedata/locales/mai_NP: Likewise. - -2018-01-17 Dmitry V. Levin - - * po/ru.po: Update translations. - -2018-01-17 Joseph Myers - - [BZ #22719] - * sysdeps/hppa/backtrace.c: New file. - -2018-01-17 H.J. Lu - - [BZ #22715] - * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_profile): Properly - align La_x86_64_retval to VEC_SIZE. - -2018-01-16 Joseph Myers - - * sysdeps/x86_64/backtrace.c: Include . - (init): Use LIBGCC_S_SO not hardcoded "libgcc_s.so.1". - -2018-01-16 Florian Weimer - - * nptl/Makefile [$(have-cxx-thread_local)] (tests-unsupported): - Move tst-thread-exit-clobber ... - [$(CXX)] (tests-unsupported): ... to here. - -2018-01-16 Szabolcs Nagy - - * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SHA3): Define. - (HWCAP_SM3, HWCAP_SM4, HWCAP_ASIMDDP, HWCAP_SHA512, HWCAP_SVE): Define. - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c - (_dl_aarch64_cap_flags): Update. - (_DL_HWCAP_COUNT): Update. - -2018-01-16 Szabolcs Nagy - - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h - (_DL_HWCAP_LAST): Remove. - (_DL_HWCAP_COUNT): Move to ... - * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c - (_DL_HWCAP_COUNT): ... here. - -2018-01-16 Florian Weimer - - * nptl/Makefile (CFLAGS-tst-minstack-throw.o): Compile in C++11 - mode with GNU extensions. - -2018-01-15 Alan Hayward - - * elf/elf.h (NT_ARM_SVE): Define. - -2018-01-15 Florian Weimer - - [BZ #22636] - * nptl/tst-minstack-throw.cc: New file. - * nptl/Makefile (tests): Add tst-minstack-throw. - (LDLIBS-tst-minstack-throw): Link with libstdc++. - [!CXX] (tests-unsupported): Add tst-minstack-throw. - -2018-01-15 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default - binutils version to 2.30 branch, MPFR version to 4.0.0 and MPC - version to 1.1.0. - -2018-01-13 Carlos O'Donell - - [BZ #22707] - * elf/elf.h (DF_1_STUB): Define. - (DF_1_PIE): Define. - -2018-01-12 Tulio Magno Quites Machado Filho - - [BZ #22697] - * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround): - Do not add 0.5 to integer or out-of-range arguments. - -2018-01-12 Dmitry V. Levin - - * po/bg.po: Update translations. - * po/cs.po: Likewise. - * po/de.po: Likewise. - * po/ko.po: Likewise. - * po/pl.po: Likewise. - * po/sv.po: Likewise. - * po/uk.po: Likewise. - * po/vi.po: Likewise. - -2018-01-12 Szabolcs Nagy - - * aarch64/start.S (_start): Use __wrap_main. - (__wrap_main): New local symbol. - -2018-01-12 Dmitry V. Levin - - [BZ #22679] - CVE-2018-1000001 - * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Fall back to - generic_getcwd if the path returned by getcwd syscall is not absolute. - * io/tst-getcwd-abspath.c: New test. - * io/Makefile (tests): Add tst-getcwd-abspath. - -2018-01-12 Istvan Kurucsai - - * malloc/malloc.c (malloc_consolidate): Add size check. - -2018-01-12 Florian Weimer - - * support/write_message.c (write_message): Preserve errno. - * support/check.c (print_failure): Likewise. - * support/support_test_verify_impl.c (support_test_verify_impl): - Likewise. - * support/support_test_compare_failure.c - (support_test_compare_failure): Likewise. - -2018-01-12 Florian Weimer - - [BZ #22701] - * nis/Makefile (install-lib-ldscripts, $(inst_libdir)/libnsl.so): - Prevent installation of libnsl.so. - (libnsl-inhibit-o): Do not build (or install) static libraries. - -2018-01-12 Egmont Koblinger - - [BZ #22657] - * localedata/locales/hu_HU (d_t_fmt): Avoid a leading space - before the day number which may produce a double space. - (date_fmt): Likewise. - -2018-01-12 Joseph Myers - - * sysdeps/s390/fpu/feholdexcpt.c (__feholdexcept): Call __fegetenv - instead of fegetenv. - -2018-01-11 Joseph Myers - - [BZ #22702] - * sysdeps/generic/math_private.h (libc_feresetround_noex): Update - comment to say exceptions are discarded. - (libc_feholdsetround_noex_ctx): Use __feholdexcept instead of - __fegetenv. - (SET_RESTORE_ROUND_NOEX): Update comment to say non-stop mode must - be enabled. - -2018-01-11 Florian Weimer - - * sysdeps/gnu/unwind-resume.c (__libgcc_s_init): Update comment - and error message. - -2018-01-11 Florian Weimer - - [BZ #22636] - * nptl/Makefile (tests): Add tst-minstack-cancel, tst-minstack-exit. - * nptl/tst-minstack-cancel.c, nptl/tst-minstack-exit.c: New files. - -2018-01-10 Joseph Myers - - [BZ #22693] - * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Handle - negative arguments in test for NaN or infinity argument. - -2018-01-10 Dmitry V. Levin - - * po/libc.pot: Regenerate. - -2018-01-10 Florian Weimer - - [BZ #22636] - * sysdeps/nptl/unwind-forcedunwind.c (pthread_cancel_init): Open - libgcc.so with RTLD_NOW, to avoid lazy binding during unwind. - -2018-01-10 Samuel Thibault - - * hurd/hurd/fd.h: Include - (__hurd_at_flags): New function. - * hurd/lookup-at.c (__file_name_lookup_at): Replace flag computation - with call to __hurd_at_flags. - * include/unistd.h (__faccessat, __faccessat_noerrno): Add declaration. - * sysdeps/mach/hurd/access.c (access_common): Move implementation to - __faccessat - (hurd_fail_seterrno, hurd_fail_noerrno): Move to sysdeps/mach/hurd/faccessat.c. - (__access_noerrno): Use __faccessat_common instead of access_common. - (__access): Likewise. - * sysdeps/mach/hurd/euidaccess.c (__euidaccess): Replace implementation - with a call to __faccessat. - * sysdeps/mach/hurd/faccessat.c (faccessat): Rename into... - (__faccessat_common): ... this. Move implementation of __access into it when - AT_FLAGS does not contain AT_EACCESS. Make it call __hurd_at_flags, add - reauthenticate_cwdir_at helper to implement AT mechanism. - (__faccessat_noerrno): New function, just calls __faccessat_common. - (__faccessat): New function, just calls __faccessat_common. - (faccessat): Define weak alias. - -2018-01-10 Joseph Myers - - [BZ #22691] - * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math] - (CFLAGS-s_fmaxmagl.c): New variable. - [$(subdir) = math] (CFLAGS-s_fminmagl.c: Likewise. - - [BZ #22690] - * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c (__lrintl): Use unsigned - long int for arguments of possibly overflowing addition or - subtraction. - * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c (__lroundl): Likewise. - -2018-01-09 Joseph Myers - - [BZ #22688] - * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math] - (CFLAGS-e_remainderl.c): New variable. - - [BZ #22687] - * sysdeps/powerpc/nofpu/Makefile (CFLAGS-s_cacosl.c): New - variable. - (CFLAGS-s_cacoshl.c): Likewise. - (CFLAGS-s_casinhl.c): Likewise. - (CFLAGS-s_catanl.c): Likewise. - (CFLAGS-s_catanhl.c): Likewise. - (CFLAGS-s_cexpl.c): Likewise. - (CFLAGS-s_ccoshl.c): Add -fsignaling-nans. - (CFLAGS-s_csinhl.c): Likewise. - (CFLAGS-s_clogl.c): Likewise. - (CFLAGS-s_clog10l.c): Likewise. - (CFLAGS-s_csinl.c): Likewise. - (CFLAGS-s_csqrtl.c): Likewise. - -2017-01-09 Emilio Pozuelo Monfort -2017-01-09 Svante Signell - - * hurd/hurdexec.c (_hurd_exec): Deprecate function. - (_hurd_exec_paths): New function. - * hurd/hurd.h (_hurd_exec): Deprecate function. - (_hurd_exec_paths): Declare function. - * hurd/Versions: Export _hurd_exec_paths. - * sysdeps/mach/hurd/execve.c: Include and - (__execve): Use __getcwd to build absolute path, and use - _hurd_exec_paths instead of _hurd_exec. - * sysdeps/mach/hurd/spawni.c: Likewise. - * sysdeps/mach/hurd/fexecve.c: Use _hurd_exec_paths instead of - _hurd_exec. - -2018-01-08 Dmitry V. Levin - - * sysdeps/unix/sysv/linux/tst-ttyname.c (do_in_chroot_1): Skip the - test instead of failing in case of ENOENT returned by posix_openpt. - -2018-01-08 Florian Weimer - - resolv: Support binary labels in test framework. - * support/resolv_test.c (struct to_be_freed): Remove. - (struct compressed_name): New. - (allocate_compressed_name, ascii_tolower) - (compare_compressed_name): New functions. - (struct resolv_response_builder): Update type of - compression_offsets for use with tsearch. Rempve to_be_freed. - (response_push_pointer_to_free): Remove function. - (resolv_response_add_name): Rewrite using struct compressed_name - and tsearch instead of hsearch_r. - (response_builder_allocate): Remove initialization of - compression_offsets. - (response_builder_free): Update for removal of to_be_freed. Use - tdestroy instead of hdestroy_r. - * resolv/Makefile (tests): Add tst-resolv-binary. - (tst-resolv-binary): Link with -lresolv -lpthread. - -2018-01-08 Florian Weimer - - * support/check.h (TEST_COMPARE): Allow sign mismatch at compile - time. Pass positive flag instead of negative flag to - support_test_compare_failure. - (support_test_compare_failure): Change negative parameter to - positive. - * support/support_test_compare_failure.c (report) - (support_test_compare_failure): Likewise. - * support/tst-test_compare.c (return_ssize_t, return_int): New. - (do_test): Check int/size_t, ssize_t/size_t comparisons. - -2018-01-08 Szabolcs Nagy - - [BZ #22637] - * nptl/descr.h (stackblock, stackblock_size): Update comments. - * nptl/allocatestack.c (allocate_stack): Add guardsize to stacksize. - * nptl/nptl-init.c (__pthread_get_minstack): Remove guardsize from - stacksize. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - -2018-01-08 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add s_sincosf-sse2 and s_sincosf-fma. - (CFLAGS-s_sincosf-fma.c): New. - * sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/s_sincosf-sse2.S: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_sincosf.c: Likewise. - * sysdeps/x86_64/fpu/s_sincosf.S: Don't add alias if - __sincosf is defined. - -2018-01-08 Florian Weimer - - * nptl/tst-thread-exit-clobber.cc: New file. - * nptl/Makefile (CFLAGS-tst-thread-exit-clobber.o): Compile in - C++11 mode. - (LDLIBS-tst-thread-exit-clobber): Link with libstdc++. - (tests): Add tst-thread-exit-clobber. - [!CXX] (tests-unsupported): Add tst-thread-exit-clobber. - -2018-01-08 Florian Weimer - - * support/check.h (support_static_assert): Define. - (TEST_COMPARE): Use it. - -2018-01-07 Aurelien Jarno - - * sysdeps/unix/sysv/linux/getrlimit64 (getrlimit64) - [!__RLIM_T_MATCHES_RLIM64_T] - [!SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)]: Define as weak alias of - __getrlimit64. Add libc_hidden_weak. - -2018-01-06 Palmer Dabbelt - - * elf/elf.h (R_RISCV_NONE): New define. - (R_RISCV_32): Likewise. - (R_RISCV_64): Likewise. - (R_RISCV_RELATIVE): Likewise. - (R_RISCV_COPY): Likewise. - (R_RISCV_JUMP_SLOT): Likewise. - (R_RISCV_TLS_DTPMOD32): Likewise. - (R_RISCV_TLS_DTPMOD64): Likewise. - (R_RISCV_TLS_DTPREL32): Likewise. - (R_RISCV_TLS_DTPREL64): Likewise. - (R_RISCV_TLS_TPREL32): Likewise. - (R_RISCV_TLS_TPREL64): Likewise. - * Makerules (make-link-multidir): Make directories before linking into - them. - * sysdeps/unix/sysv/linux/dl-vdso.h (VDSO_NAME_LINUX_4_15): New - define. - (VDSO_HASH_LINUX_4_15): Likewise. - * scripts/build-many-glibcs.py (class Glibc): Strip shared objects - in subdirectories of lib. - * nptl/Makefile (/librt.so): Always depend on - "$(shared-thread-library)". - -2018-01-06 Samuel Thibault - - * sysdeps/mach/hurd/i386/jmp_buf-macros.h: New file. - * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic) [NO_RTLD_HIDDEN]: Call - JUMPTARGET (___tls_get_addr) instead of HIDDEN_JUMPTARGET - (___tls_get_addr). - * sysdeps/x86_64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Regenerated for GCC 7 with - "-O2 -march=i686". - * posix/tst-glob_symlinks.c [!PATH_MAX]: Define PATH_MAX macro. - * sysdeps/gnu/glob64.c (__glob): Define macro instead of glob macro. - (__glob64): Define GLIBC_2_27 versioned symbol instead of glob64. - * sysdeps/gnu/glob-lstat-compat.c: New file. - * sysdeps/gnu/glob64-lstat-compat.c: New file. - * sysdeps/posix/pwritev_common.c: Add PROT_READ to __mmap prot. - -2018-01-05 Tulio Magno Quites Machado Filho - - * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow): - Reserve 16 chars to reloc_addr before calling _itoa_word. - -2018-01-05 Aurelien Jarno - - [BZ #22678] - * sysdeps/unix/sysv/linux/prlimit.c (prlimit): Translate - old_rlimit from RLIM64_INFINITY to RLIM_INFINITY. - - * sysdeps/unix/sysv/linux/tst-rlimit-infinity.c: New file. - * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-rlimit-infinity. - - * resource/tst-getrlimit.c: Add copyright header. - -2018-01-05 Aurelien Jarno - Adhemerval Zanella - - * sysdeps/unix/sysv/linux/getrlimit64.c [USE_VERSIONED_RLIMIT]: Do not - define getrlimit and getrlimit64 as weak aliases of __getrlimit64. - Define __GI_getrlimit64 as weak alias of __getrlimit64. - [__RLIM_T_MATCHES_RLIM64_T]: Do not redefine SHLIB_COMPAT, use #elif - instead. - * sysdeps/unix/sysv/linux/setrlimit64.c [USE_VERSIONED_RLIMIT]: Do not - define setrlimit and setrlimit64 as weak aliases of __setrlimit64. - * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIM_INFINITY, - RLIM64_INFINITY): Fix values to match the kernel ones. - * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Define - USE_VERSIONED_RLIMIT. Rename __getrlimit64 into __old_getrlimit64 and - provide it as getrlimit@@GLIBC_2_0 and getrlimit64@@GLIBC_2_1. Add a - __getrlimit64 function and provide it as getrlimit@@GLIBC_2_27 and - getrlimit64@@GLIBC_2_27. - * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Ditto with setrlimit - and setrlimit64. - * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.27): Add - getrlimit, setrlimit, getrlimit64 and setrlimit64. - * sysdeps/unix/sysv/linux/alpha/Versions (libc): Add getrlimit, - setrlimit, getrlimit64 and setrlimit64. - -2018-01-05 Aurelien Jarno - - [BZ #22648] - * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: New file. - * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Ditto. - -2018-01-04 Joseph Myers - - * malloc/tst-malloc-tcache-leak.c (TIMEOUT): Define to 50. - * posix/tst-glob-tilde.c (TIMEOUT): Define to 200. - * resolv/tst-resolv-res_ninit.c (TIMEOUT): Define to 50. - -2018-01-03 Adhemerval Zanella - - [BZ #15479] - [BZ #22666] - * sysdeps/alpha/fpu/s_trunc.c: Remove file. - * sysdeps/alpha/fpu/s_truncf.c: Likewise. - - [BZ #15479] - [BZ #22665] - * sysdeps/alpha/fpu/s_ceil.c: Remove file. - * sysdeps/alpha/fpu/s_ceilf.c: Likewise. - * sysdeps/alpha/fpu/s_floor.c: Likewise. - * sysdeps/alpha/fpu/s_floorf.c: Likewise. - -2018-01-04 Florian Weimer - - [BZ #22667] - * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): - Align the stack before calling exit. - * stdlib/tst-makecontext-align.c: New file. - * stdlib/Makefile (tests): Add tst-makecontext-align. - -2018-01-04 Florian Weimer - - Add support for calling dlvsym from libc.so. - * include/dlfcn.h (__libc_dlvsym): Declare. - * elf/Makefile (tests-static-internal): Add - tst-libc_dlvsym-static. - (tests-internal): Add tst-libc_dlvsym. - (modules-names): Add tst-libc_dlvsym-dso. - (tst-libc_dlvsym, tst-libc_dlvsym-static): Link with libdl. - (tst-libc_dlvsym-dso.so): Link with libdl, libsupport. - (tst-libc_dlvsym.out, tst-libc_dlvsym-static.out): The shared - object tst-libc_dlvsym-dso.so needs to be built before running - these tests. - (tst-libc_dlvsym-static-ENV): Set LD_LIBRARY_PATH. - * elf/Versions: Export __libc_dlvsym. - * elf/dl-libc.c (struct do_dlvsym_args): New. - (do_dlvsym, __libc_dlvsym): New functions. - (struct dl_open_hook, _dl_open_hook): Add dlvsym member. - (_dl_open_hook2): New variable. - (__libc_register_dl_open_hook): Set it. - * elf/tst-libc_dlvsym-dso.c: New file. - * elf/tst-libc_dlvsym-static.c: Likewise. - * elf/tst-libc_dlvsym.c: Likewise. - * elf/tst-libc_dlvsym.h: Likewise. - -2018-01-03 Samuel Thibault - - * support/support_enter_mount_namespace.c [!CLONE_NEWNS]: Do not - include . - -2018-01-02 Wilco Dijkstra - - * math/math.h (math_errhandling): Set to 0 with __FAST_MATH__. - Add __NO_MATH_ERRNO__ check. - -2018-01-02 Joseph Myers - - * sysdeps/mips/mips32/libm-test-ulps: Update. - * sysdeps/mips/mips64/libm-test-ulps: Likewise. - -2018-01-02 Florian Weimer - - * misc/tst-pselect.c: Add copyright header. - -2018-01-02 Aurelien Jarno - - * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Fix a typo in the - comment. - * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Fix a typo in the - comment. - (settrlimit): Rename into setrlimit. - (__sttrlimit): Rename into __setrlimit. - - * sysdeps/unix/sysv/linux/alpha/getrlimit64.c (__old_getrlimit64): - Drop __RLIM_T_MATCHES_RLIM64_T conditional as __old_getrlimit64 is - never defined in that case. - -2018-01-02 Joseph Myers - - * sysdeps/powerpc/nofpu/libm-test-ulps: Update. - - * sysdeps/arm/libm-test-ulps: Update. - - * math/Makefile (run-regen-ulps): Add $(objpfx) to test name here. - (regen-ulps): Use $(libm-tests) not $^ in shell loop. - -2018-01-02 Rajalakshmi Srinivasaraghavan - - * NEWS: Add cosf and sincosf to list of optimized functions. - -2018-01-02 Aurelien Jarno - - [BZ #22660] - * sysdeps/alpha/fpu/s_fmax.S: Remove file. - * sysdeps/alpha/fpu/s_fmaxf.S: Likewise. - * sysdeps/alpha/fpu/s_fmin.S: Likewise. - * sysdeps/alpha/fpu/s_fminf.S: Likewise. - -2018-01-01 Dmitry V. Levin - - [BZ #22433] - * sysdeps/unix/sysv/linux/arm/sys/ptrace.h: New file. - - * elf/dl-load.c (decompose_rpath): Check for rpath emptiness before - making a copy of it. - -2018-01-01 Joseph Myers - - * manual/texinfo.tex: Update to version 2017-12-26.21 with - trailing whitespace removed. - * scripts/config.guess: Update to version 2018-01-01. - * scripts/config.sub: Update to version 2018-01-01. - * scripts/move-if-change: Update from gnulib. - - * NEWS: Update copyright dates. - * catgets/gencat.c (print_version): Likewise. - * csu/version.c (banner): Likewise. - * debug/catchsegv.sh: Likewise. - * debug/pcprofiledump.c (print_version): Likewise. - * debug/xtrace.sh (do_version): Likewise. - * elf/ldconfig.c (print_version): Likewise. - * elf/ldd.bash.in: Likewise. - * elf/pldd.c (print_version): Likewise. - * elf/sotruss.sh: Likewise. - * elf/sprof.c (print_version): Likewise. - * iconv/iconv_prog.c (print_version): Likewise. - * iconv/iconvconfig.c (print_version): Likewise. - * locale/programs/locale.c (print_version): Likewise. - * locale/programs/localedef.c (print_version): Likewise. - * login/programs/pt_chown.c (print_version): Likewise. - * malloc/memusage.sh (do_version): Likewise. - * malloc/memusagestat.c (print_version): Likewise. - * malloc/mtrace.pl: Likewise. - * manual/libc.texinfo: Likewise. - * nptl/version.c (banner): Likewise. - * nscd/nscd.c (print_version): Likewise. - * nss/getent.c (print_version): Likewise. - * nss/makedb.c (print_version): Likewise. - * posix/getconf.c (main): Likewise. - * scripts/test-installation.pl: Likewise. - * sysdeps/unix/sysv/linux/lddlibc4.c (main): Likewise. - - * All files with FSF copyright notices: Update copyright dates - using scripts/update-copyrights. - * locale/programs/charmap-kw.h: Regenerated. - * locale/programs/locfile-kw.h: Likewise. - -2017-12-31 Zack Weinberg - - * libio/bits/libio-ldbl.h: Correct check for improper - inclusion. Add own multiple include guard. - -2017-12-30 Aurelien Jarno - Dmitry V. Levin - - [BZ #22625] - CVE-2017-16997 - * elf/dl-load.c (fillin_rpath): Check for empty tokens before dynamic - string token expansion. Check for NULL pointer or empty string possibly - returned by expand_dynamic_string_token. - (decompose_rpath): Check for empty path after dynamic string - token expansion. - -2017-12-29 Dmitry V. Levin - - [BZ #22433] - * sysdeps/unix/sysv/linux/x86/sys/ptrace.h: New file. - - * sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Add comments - about PTRACE_PEEKSIGINFO, PTRACE_GETSIGMASK, PTRACE_SETSIGMASK, and - PTRACE_SECCOMP_GET_FILTER. Update comments about PTRACE_SINGLESTEP - and PTRACE_SYSCALL. - * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise. - - * sysdeps/unix/sysv/linux/sys/ptrace.h: Include . - (__ptrace_setoptions, __ptrace_eventcodes, __ptrace_peeksiginfo_args, - __ptrace_peeksiginfo_flags, ptrace): Move to ... - * sysdeps/unix/sysv/linux/bits/ptrace-shared.h: ... new file. - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - bits/ptrace-shared.h. - * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Include - . - (__ptrace_setoptions, __ptrace_eventcodes, __ptrace_peeksiginfo_args, - __ptrace_peeksiginfo_flags, ptrace): Remove. - * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise. - -2017-12-29 Aurelien Jarno - - [BZ #17804] - * dirent/scandir-tail.c (SCANDIR_TAIL): Move __set_errno (0) at the - end of the loop. Improve comments. - -2017-12-29 Zack Weinberg - - [BZ #22615] - * manual/errno.texi (Checking for Errors): Explicitly say that errno - might be set on success. - -2017-12-29 Aurelien Jarno - - [BZ #22611] - * malloc/tst-realloc.c (do_test): Remove the test checking that errno - is unchanged on success. - -2017-12-27 Dmitry V. Levin - - * elf/dl-dst.h (DL_DST_COUNT): Remove is_path argument, all callers - updated. - * elf/dl-load.c (is_dst, _dl_dst_count, _dl_dst_substitute, - expand_dynamic_string_token): Likewise. - * sysdeps/generic/ldsodefs.h (_dl_dst_count, _dl_dst_substitute): Remove - is_path argument. - - * elf/dl-load.c (is_dst): Remove checks that is_path is set and name - contains ':'. - - * elf/dl-load.c (_dl_dst_substitute): Remove checks that is_path - is set and name contains ':', and all code depending on these checks. - -2017-12-24 Zack Weinberg - - * libio/libio.h, libio/_G_config.h: New stub headers which issue a - deprecation warning and then include , - respectively. - * libio/libio.h: Rename the original version of this file to - libio/bits/libio.h. Error out if not included by stdio.h or the - stub libio.h. - * include/libio.h: Move to include/bits. Forward to libio/bits/libio.h. - * sysdeps/generic/_G_config.h: Move to top-level bits/. Error out - if not included by bits/libio.h or the stub _G_config.h. - * sysdeps/unix/sysv/linux/_G_config.h: Move to - sysdeps/unix/sysv/linux/bits. Error out if not included by - bits/libio.h or the stub _G_config.h. - * libio/stdio.h: Include bits/libio.h, not libio.h. - * libio/Makefile: Install bits/libio.h and bits/_G_config.h as - well as libio.h and _G_config.h. - - * csu/init.c, libio/fmemopen.c, libio/iolibio.h, libio/oldfmemopen.c - * libio/strfile.h, stdio-common/vfscanf.c - * sysdeps/pthread/flockfile.c, sysdeps/pthread/funlockfile.c - Include stdio.h, not _G_config.h nor libio.h. - * libio/iofgetpos.c: Also rename fgetpos64 out of the way. - * libio/iofsetpos.c: Also rename fsetpos64 out of the way. - - * scripts/check-installed-headers.sh: Skip libio.h and _G_config.h. - -2017-12-23 Dmitry V. Levin - - [BZ #22347] - * stdlib/getrandom.c (getrandom): Fix comment. - * sysdeps/unix/sysv/linux/getrandom.c (getrandom): Likewise. - -2017-12-23 Aurelien Jarno - - [BZ #21161] - * manual/arith.texi (strtoul): Fix a typo. - - [BZ #22596] - * manual/arith.texi (finite): Fix the description of the return - value. - -2017-12-22 Eric Blake - - Avoid gcc warnings on cygwin - * posix/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]: - * posix/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]: - Avoid unused variable. - -2017-12-22 Florian Weimer - - * io/Makefile (routines): Add copy_file_range. - (tests): Add tst-copy_file_range. - (tests-static, tests-internal): Add tst-copy_file_range-compat. - * io/Versions (GLIBC_2.27): Export copy_file_range. - * io/copy_file_range-compat.c: New file. - * io/copy_file_range.c: Likewise. - * io/tst-copy_file_range-compat.c: Likewise. - * io/tst-copy_file_range.c: Likewise. - * manual/llio.texi (Copying File Data): New section. - * posix/unistd.h [__USE_GNU] (copy_file_range): Declare. - * support/Makefile (libsupport-routines): Add support-xfstat, - xftruncate, xlseek. - * support/support-xfstat.c: New file. - * support/xftruncate.c: Likewise. - * support/xlseek.c: Likewise. - * support/xunistd.h (xfstat, xftruncate, xlseek): Declare. - * sysdeps/unix/sysv/linux/**.abilist: Update. - * sysdeps/unix/sysv/linux/copy_file_range.c: New file. - -2017-12-21 Szabolcs Nagy - - * scripts/build-many-glibcs.py (Context.add_all_configs): Add - disable-multi-arch variant to aarch64-linux-gnu. - -2017-12-20 Joseph Myers - - * manual/texinfo.tex: Update to version 2017-12-18.20 with - trailing whitespace removed. - * scripts/config.guess: Update to version 2017-12-17. - * scripts/config.sub: Update to version 2017-11-23. - * scripts/install-sh: Update to version 2017-09-23.17. - * scripts/move-if-change: Update to version 2017-09-13 06:45. - -2017-12-20 Adhemerval Zanella - - * sysdeps/tile/__longjmp.S (__longjmp): Use lowercase instructions. - * sysdeps/tile/__tls_get_addr.S (__tls_get_addr): Likewise. - * sysdeps/tile/_mcount.S (__mcount): Likewise. - * sysdeps/tile/crti.S (_init, _fini): Likewise. - * sysdeps/tile/crtn.S: Likewise. - * sysdeps/tile/dl-start.S (_start): Likewise. - * sysdeps/tile/dl-trampoline.S: Likewise. - * sysdeps/tile/setjmp.S (__sigsetjmp): Likewise. - * sysdeps/tile/start.S (_start): Likewise. - * sysdeps/unix/sysv/linux/tile/clone.S (_clone): Likewise. - * sysdeps/unix/sysv/linux/tile/getcontext.S (__getcontext): Likewise. - * sysdeps/unix/sysv/linux/tile/ioctl.S (__ioctl): Likewise. - * sysdeps/unix/sysv/linux/tile/setcontext.S (__setcontext): Likewise. - * sysdeps/unix/sysv/linux/tile/swapcontext.S (__swapcontext): Likewise. - * sysdeps/unix/sysv/linux/tile/syscall.S (syscall): Likewise. - * sysdeps/unix/sysv/linux/tile/vfork.S (__vfork): Likewise. - - * stdlib/bug-getcontext.c (do_test): Remove tilepro mention in - comment. - * sysdeps/tile/preconfigure: Remove tilegx folder. - * sysdeps/tile/tilegx/Implies: Move definitions to ... - * sysdeps/tile/Implies: ... here. - * sysdeps/tile/tilegx/Makefile: Move rules to ... - * sysdeps/tile/Makefile: ... here. - * sysdeps/tile/tilegx/atomic-machine.h: Move definitions to ... - * sysdeps/tile/atomic-machine.h: ... here. Add include guards. - * sysdeps/tile/tilegx/bits/wordsize.h: Move to ... - * sysdeps/tile/bits/wordsize.h: ... here. - * sysdeps/tile/tilegx/*: Move to ... - * sysdeps/tile/*: ... here. - * sysdeps/tile/tilegx/tilegx32/Implies: Move to ... - * sysdeps/tile/tilegx32/Implies: ... here. - * sysdeps/tile/tilegx/tilegx64/Implies: Move to ... - * sysdeps/tile/tilegx64/Implies: ... here. - * sysdeps/unix/sysv/linux/tile/tilegx/Makefile: Move definitions - to ... - * sysdeps/unix/sysv/linux/tile/Makefile: ... here. - * sysdeps/unix/sysv/linux/tile/tilegx/*: Move to ... - * sysdeps/unix/sysv/linux/tile/*: ... here. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/*: Move to ... - * sysdeps/unix/sysv/linux/tile/tilegx32/*: ... here. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/*: Move to ... - * sysdeps/unix/sysv/linux/tile/tilegx64/*: ... here. - - * README: Remove tilepro-*-linux-gnu from supported architecture. - * scripts/build-many-glibcs.py: Likewise. - * sysdeps/tile/__tls_get_addr.S (__tls_get_addr): Likewise. - * sysdeps/tile/crti.S (PREINIT_FUNCTION): Likewise. - * sysdeps/tile/dl-machine.h (ELF_MACHINE_NAME, - elf_machine_matches_host, elf_machine_dynamic, - elf_machine_load_address, elf_machine_runtime_setup, reloc_howto - howto, elf_machine_rela): Likewise. - * sysdeps/tile/dl-start.S (_start): Likewise. - * sysdeps/tile/memcmp.c (DBLALIGN, REVBYTES): Likewise. - * sysdeps/tile/memcopy.h (MEMCPY_OK_FOR_FWD_MEMMOVE, - MEMCPY_OK_FOR_FWD_MEMMOVE, op_t): Likewise. - * sysdeps/tile/nptl/pthread_spin_lock.c (TNS, CMPTNS): Likewise. - * sysdeps/tile/nptl/pthread_spin_trylock.c (TNS): Likewise. - * sysdeps/tile/nptl/pthread_spin_unlock.c (pthread_spin_unlock): - Likewise. - * sysdeps/tile/nptl/tls.h (DB_THREAD_SELF): Likewise. - * sysdeps/tile/preconfigure: Likewise. - * sysdeps/tile/stackguard-macros.h (STACK_CHK_GUARD, - POINTER_CHK_GUARD): Likewise. - * sysdeps/tile/stackinfo.h (__stackinfo_sub): Likewise. - * sysdeps/tile/start.S (_start): Likewise. - * sysdeps/tile/tls-macros.h (TLS_GD_OFFSET, TLS_IE_OFFSET, _TLS_LE): - Likewise. - * sysdeps/tile/sysdep.h (REGSIZE): Likewise. - (LD, LD4U, ST, ST4, BNEZ, BEQZ, BEQZT, BGTZ, CMPEQI, CMPEQ, CMOVEQZ, - CMOVNEZ): Remove. - * sysdeps/unix/sysv/linux/tile/bits/environments.h - (__ILP32_OFF32_CFLAGS, __ILP32_OFFBIG_CFLAGS, __ILP32_OFF32_LDFLAGS, - __ILP32_OFFBIG_LDFLAGS, __LP64_OFF64_CFLAGS, __LP64_OFF64_LDFLAGS): - Likewise. - * sysdeps/tile/wordcopy.c (DBLALIGN): Likewise. - * sysdeps/tile/tilepro/Implies: Remove file. - * sysdeps/tile/tilepro/atomic-machine.h: Likewise. - * sysdeps/tile/tilepro/bits/wordsize.h: Likewise. - * sysdeps/tile/tilepro/memchr.c: Likewise. - * sysdeps/tile/tilepro/memcpy.S: Likewise. - * sysdeps/tile/tilepro/memset.c: Likewise. - * sysdeps/tile/tilepro/memusage.h: Likewise. - * sysdeps/tile/tilepro/rawmemchr.c: Likewise. - * sysdeps/tile/tilepro/strchr.c: Likewise. - * sysdeps/tile/tilepro/strchrnul.c: Likewise. - * sysdeps/tile/tilepro/strlen.c: Likewise. - * sysdeps/tile/tilepro/strrchr.c: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/Implies: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h: Likewise. - * sysdeps/unix/sysv/linux/tile/sysconf.c (linux_sysconf): Remove - tilepro mention in comment. - - * nptl/Makefile (libpthread-routines): Add pthread_join_common. - * nptl/pthreadP.h (__pthread_timedjoin_ex): New prototype. - * nptl/pthread_join_common.c: New file: common function used on - pthread_join, pthread_timedjoin_np, pthread_tryjoin_np. - * nptl/pthread_join.c (pthread_join): Use __pthread_timedjoin_ex. - * nptl/pthread_tryjoin.c (pthread_tryjoin): Likewise. - * nptl/pthread_timedjoin.c (pthread_timedjoin_np): Likewise. - (cleanup): Move definition to pthread_join_common.c. - * sysdeps/unix/sysv/linux/i386/lowlevellock.h (__lll_timedwait_tid): - Remove superflous checks. - * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_timedwait_tid): - Likewise. - -2017-12-20 Szabolcs Nagy - - * sysdeps/aarch64/libm-test-ulps: Update. - -2017-12-20 Adhemerval Zanella - - * sysdeps/aarch64/memset.S (MEMSET): Define. - -2017-12-20 Florian Weimer - - [BZ #22635] - nptl: Provide full implementation of pthread_self in libc.so. - * nptl/Makefile (routines): Add pthread_self. - (libpthread-routines): Replace pthread_self with - compat-pthread_self. - * nptl/forward.c (pthread_self): Remove. - * nptl/nptl-init.c (pthread_functions): Do not initialize - ptr_pthread_self. - * nptl/pthread_self.c (pthread_self): Remove weak alias. - * nptl/compat-pthread_self.c: New file. - * sysdeps/nptl/pthread-functions.h (struct pthread_functions): - Remove ptr_pthread_self. - -2017-12-19 Arnold D. Robbins - - * posix/regcomp.c: Fix spelling in comments. - * posix/regex.h: Likewise. - * posix/regex_internal.c: Likewise. - * posix/regexec.c: Likewise. - -2017-12-19 Gabriel F. T. Gomes - - [BZ #22377] - * math/Makefile [C++] (tests): Add test for iseqsig. - * math/math.h [C++] (iseqsig): New implementation, which does - not rely on __MATH_TG/__builtin_types_compatible_p. - * math/test-math-iseqsig.cc: New file. - * sysdeps/powerpc/powerpc64le/Makefile - (CFLAGS-test-math-iseqsig.cc): New variable. - -2017-12-19 Dmitry V. Levin - - * elf/dl-load.c (is_trusted_path): Remove. - (fillin_rpath): Remove check_trusted argument and its use, - all callers changed. - -2017-12-19 H.J. Lu - - [BZ #22630] - * Makeconfig (link-pie-before-libc): Replace -pie with - $(if $($(@F)-no-pie),$(no-pie-ldflag),-pie). - * elf/Makefile (LDFLAGS-tst-dlopen-aout): Removed. - (tst-dlopen-aout-no-pie): New. - (LDFLAGS-tst-prelink): Removed. - (tst-prelink-no-pie): New. - (LDFLAGS-tst-main1): Removed. - (tst-main1-no-pie): New. - * gmon/Makefile (LDFLAGS-tst-gmon): Removed. - (tst-gmon-no-pie): New. - -2017-12-19 H.J. Lu - - * manual/install.texi: Document that --enable-static-pie - implies PIE. - * INSTALL: Regenerated. - -2017-12-19 Bernd Edlinger - - [BZ #21309] - * sysdeps/ieee754/dbl-64/e_pow.c (checkint): Make m and n - unsigned. - -2017-12-19 Joseph Myers - - Revert: - - 2017-12-19 Joseph Myers - - * sysdeps/x86_64/fpu/libm-test-ulps: Update. - - 2017-12-19 Patrick McGehearty - - * sysdeps/ieee754/dbl-64/e_exp.c: Include and - . Include "eexp.tbl". - (half): New constant. - (one): Likewise. - (__ieee754_exp): Rewrite. - (__slowexp): Remove prototype. - * sysdeps/ieee754/dbl-64/eexp.tbl: New file. - * sysdeps/ieee754/dbl-64/slowexp.c: Remove file. - * sysdeps/i386/fpu/slowexp.c: Likewise. - * sysdeps/ia64/fpu/slowexp.c: Likewise. - * sysdeps/m68k/m680x0/fpu/slowexp.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Likewise. - * sysdeps/generic/math_private.h (__slowexp): Remove prototype. - * sysdeps/ieee754/dbl-64/e_pow.c: Remove mention of slowexp.c in - comment. - * sysdeps/powerpc/power4/fpu/Makefile [$(subdir) = math] - (CPPFLAGS-slowexp.c): Remove variable. - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Remove slowexp-fma, slowexp-fma4 and slowexp-avx. - (CFLAGS-slowexp-fma.c): Remove variable. - (CFLAGS-slowexp-fma4.c): Likewise. - (CFLAGS-slowexp-avx.c): Likewise. - * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Do not - define as macro. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Likewise. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Likewise. - * math/Makefile (type-double-routines): Remove slowexp. - * manual/probes.texi (slowexp_p6): Remove. - (slowexp_p32): Likewise. - -2017-12-19 Adhemerval Zanella - - * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer - arithmetic. - - * lib/glob.c (glob): Do not pass NULL to mempcpy. - -2017-12-19 Joseph Myers - - * sysdeps/x86_64/fpu/libm-test-ulps: Update. - -2017-12-19 Patrick McGehearty - - * sysdeps/ieee754/dbl-64/e_exp.c: Include and - . Include "eexp.tbl". - (half): New constant. - (one): Likewise. - (__ieee754_exp): Rewrite. - (__slowexp): Remove prototype. - * sysdeps/ieee754/dbl-64/eexp.tbl: New file. - * sysdeps/ieee754/dbl-64/slowexp.c: Remove file. - * sysdeps/i386/fpu/slowexp.c: Likewise. - * sysdeps/ia64/fpu/slowexp.c: Likewise. - * sysdeps/m68k/m680x0/fpu/slowexp.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Likewise. - * sysdeps/generic/math_private.h (__slowexp): Remove prototype. - * sysdeps/ieee754/dbl-64/e_pow.c: Remove mention of slowexp.c in - comment. - * sysdeps/powerpc/power4/fpu/Makefile [$(subdir) = math] - (CPPFLAGS-slowexp.c): Remove variable. - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Remove slowexp-fma, slowexp-fma4 and slowexp-avx. - (CFLAGS-slowexp-fma.c): Remove variable. - (CFLAGS-slowexp-fma4.c): Likewise. - (CFLAGS-slowexp-avx.c): Likewise. - * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Do not - define as macro. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Likewise. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Likewise. - * math/Makefile (type-double-routines): Remove slowexp. - * manual/probes.texi (slowexp_p6): Remove. - (slowexp_p32): Likewise. - -2017-12-19 Adhemerval Zanella - James Clarke - - [BZ #22603] - * sysdeps/ia64/memchr.S (__memchr): Avoid overflow in pointer - addition. - -2017-12-19 Adhemerval Zanella - - [BZ #22605] - * sysdeps/unix/sysv/linux/sh/clone.S (__clone): Fix exit return - code. - -2017-12-19 H.J. Lu - - [BZ #22563] - * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. - * sysdeps/i386/nptl/tls.h (tcbhead_t): Add feature_1. - * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. - * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Rename __glibc_unused1 - to feature_1. - -2017-12-19 H.J. Lu - - [BZ #22563] - * bits/types/__cancel_jmp_buf_tag.h: New file. - * sysdeps/unix/sysv/linux/x86/bits/types/__cancel_jmp_buf_tag.h - * sysdeps/unix/sysv/linux/x86/pthreaddef.h: Likewise. - * sysdeps/unix/sysv/linux/x86/nptl/pthreadP.h: Likewise. - * nptl/Makefile (headers): Add - bits/types/__cancel_jmp_buf_tag.h. - * nptl/descr.h [NEED_SAVED_MASK_IN_CANCEL_JMP_BUF] - (pthread_unwind_buf): Add saved_mask to cancel_jmp_buf. - * sysdeps/nptl/pthread.h: Include - . - (__pthread_unwind_buf_t): Use struct __cancel_jmp_buf_tag with - __cancel_jmp_buf. - * sysdeps/unix/sysv/linux/hppa/pthread.h: Likewise. - -2017-12-18 H.J. Lu - - * scripts/build-many-glibcs.py (Context.add_all_configs): Add - --enable-static-pie variants to x86_64, x32 and i686. - -2017-12-19 Joseph Myers - - [BZ #22631] - * sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__m81_defun): Add - argument for attrubutes. All callers changed. - (__inline_mathop1): Likewise. All callers changed. - (__inline_mathop): Likewise. All callers changed. - [__USE_MISC] (scalbn): Use __inline_forward instead of - __inline_forward_c. - [__USE_ISOC99] (scalbln): Likewise. - [__USE_ISOC99] (nearbyint): Likewise. - [__USE_ISOC99] (lrint): Likewise. - [__USE_MISC] (scalbnf): Likewise. - [__USE_ISOC99] (scalblnf): Likewise. - [__USE_ISOC99] (nearbyintf): Likewise. - [__USE_ISOC99] (lrintf): Likewise. - [__USE_MISC] (scalbnl): Likewise. - [__USE_ISOC99] (scalblnl): Likewise. - [__USE_ISOC99] (nearbyintl): Likewise. - [__USE_ISOC99] (lrintl): Likewise. - * sysdeps/m68k/m680x0/fpu/mathimpl.h: All callers of - __inline_mathop and __m81_defun changed. - - * scripts/build-many-glibcs.py (Context.add_all_configs): Specify - CPU or FPU for ARM hard-float configurations. - -2017-12-18 Joseph Myers - - * nptl/tst-attr3.c: Include . - (do_test) [__GNUC_PREREQ (7, 0)]: Ignore -Wrestrict for two tests. - - * posix/tst-glob_symlinks.c (do_test): Increase size of buf. - - * string/tester.c (test_strncat): Also disable -Warray-bounds - warnings for two tests. - -2017-12-18 H.J. Lu - - [BZ #22614] - * Makeconfig (no-pie-ldflag): Set to -no-pie only if - $(cc-pie-default) == yes. - * config.make.in (cc-pie-default): New. - * configure.ac (libc_cv_pie_default): Renamed to ... - (libc_cv_cc_pie_default): This. - (libc_cv_pie_default): Set to $libc_cv_cc_pie_default. - * configure: Regenerated. - -2017-12-18 Florian Weimer - - [BZ #20204] - ld.so: Harden dl-libc/libdl hooks. - * sysdeps/generic/ldsodefs.h (_dl_init_all_dirs): Update comment. - (rtld_active): New function. - * dlfcn/dladdr.c (__dladdr): Call it. - * dlfcn/dladdr1.c (__dladdr1): Likewise. - * dlfcn/dlclose.c (__dlcose): Likewise. - * dlfcn/dlerror.c (__dlerror): Likewise. - * dlfcn/dlinfo.c (__dlinfo): Likewise. - * dlfcn/dlmopen.c (__dlmopen): Likewise. - * dlfcn/dlopen.c (__dlopen): Likewise. - * dlfcn/dlopenold.c (__dlopen_nocheck): Likewise. - * dlfcn/dlsym.c (__dlsym): Likewise. - * dlfcn/dlvsym.c (__dlvsym): Likewise. - * libio/vtables.c (_IO_vtable_check): Likewise. - * elf/dl-libc.c (__libc_dlopen_mode, __libc_dlsym) - (__libc_dlclose): Likewise. - * elf/rtld.c (dl_main): Update comment on the _dl_init_all_dirs - assignment. - -2017-12-18 Joseph Myers - - [BZ #22446] - * nscd/connections.c (handle_request) [SO_PEERCRED]: Use separate - buffers for readlink input and output. - -2017-12-18 Sergei Trofimovich - - [BZ #22624] - * sysdeps/mips/setjmp_aux.c (__sigsetjmp_aux): Use - inhibit_stack_protector. - - [BZ #22624] - * sysdeps/mips/mips64/setjmp_aux.c (__sigsetjmp_aux): Use - inhibit_stack_protector. - -2017-12-18 Dmitry V. Levin - - [BZ #22627] - * elf/dl-load.c (_dl_init_paths): Remove _dl_dst_substitute preparatory - code and invocation. - -2017-12-18 Szabolcs Nagy - - * sysdeps/aarch64/start.S (_start): Handle PIC && !SHARED case. - -2017-12-16 Aurelien Jarno - - [BZ #22505] - * elf/ldconfig.c (main): Call setlocale to force LC_COLLATE to C. - -2017-12-16 Rajalakshmi Srinivasaraghavan - - * sysdeps/s390/fpu/libm-test-ulps: Update. - -2017-12-16 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/fpu/libm-test-ulps: Update. - -2017-12-16 Rajalakshmi Srinivasaraghavan - - * sysdeps/ieee754/flt-32/s_cosf.c: Move reduced() and - constants to s_sincosf.h file. - * sysdeps/ieee754/flt-32/s_sinf.c: Likewise. - * sysdeps/ieee754/flt-32/s_sincosf.c: New - implementation. - * sysdeps/ieee754/flt-32/s_sincosf.h: - New file. - -2017-12-12 Carlos O'Donell - - [BZ #14681] - * elf/tst-leaks1.c (do_test): Call one dlopen with $ORIGIN expansion - before mtrace. - -2017-12-15 H.J. Lu - - [BZ #19574] - * INSTALL: Regenerated. - * Makeconfig (real-static-start-installed-name): New. - (pic-default): Updated for --enable-static-pie. - (pie-default): New for --enable-static-pie. - (default-pie-ldflag): Likewise. - (+link-static-before-libc): Replace $(DEFAULT-LDFLAGS-$(@F)) - with $(if $($(@F)-no-pie),$(no-pie-ldflag),$(default-pie-ldflag)). - Replace $(static-start-installed-name) with - $(real-static-start-installed-name). - (+prectorT): Updated for --enable-static-pie. - (+postctorT): Likewise. - (CFLAGS-.o): Add $(pie-default). - (CFLAGS-.op): Likewise. - * NEWS: Mention --enable-static-pie. - * config.h.in (ENABLE_STATIC_PIE): New. - * configure.ac (--enable-static-pie): New configure option. - (have-no-dynamic-linker): New LIBC_CONFIG_VAR. - (have-static-pie): Likewise. - Enable static PIE if linker supports --no-dynamic-linker. - (ENABLE_STATIC_PIE): New AC_DEFINE. - (enable-static-pie): New LIBC_CONFIG_VAR. - * configure: Regenerated. - * csu/Makefile (omit-deps): Add r$(start-installed-name) and - gr$(start-installed-name) for --enable-static-pie. - (extra-objs): Likewise. - (install-lib): Likewise. - (extra-objs): Add static-reloc.o and static-reloc.os - ($(objpfx)$(start-installed-name)): Also depend on - $(objpfx)static-reloc.o. - ($(objpfx)r$(start-installed-name)): New. - ($(objpfx)g$(start-installed-name)): Also depend on - $(objpfx)static-reloc.os. - ($(objpfx)gr$(start-installed-name)): New. - * csu/libc-start.c (LIBC_START_MAIN): Call _dl_relocate_static_pie - in libc.a. - * csu/libc-tls.c (__libc_setup_tls): Add main_map->l_addr to - initimage. - * csu/static-reloc.c: New file. - * elf/Makefile (routines): Add dl-reloc-static-pie. - (elide-routines.os): Likewise. - (DEFAULT-LDFLAGS-tst-tls1-static-non-pie): Removed. - (tst-tls1-static-non-pie-no-pie): New. - * elf/dl-reloc-static-pie.c: New file. - * elf/dl-support.c (_dl_get_dl_main_map): New function. - * elf/dynamic-link.h (ELF_DURING_STARTUP): Also check - STATIC_PIE_BOOTSTRAP. - * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise. - * gmon/Makefile (tests): Add tst-gmon-static-pie. - (tests-static): Likewise. - (DEFAULT-LDFLAGS-tst-gmon-static): Removed. - (tst-gmon-static-no-pie): New. - (CFLAGS-tst-gmon-static-pie.c): Likewise. - (CRT-tst-gmon-static-pie): Likewise. - (tst-gmon-static-pie-ENV): Likewise. - (tests-special): Likewise. - ($(objpfx)tst-gmon-static-pie.out): Likewise. - (clean-tst-gmon-static-pie-data): Likewise. - ($(objpfx)tst-gmon-static-pie-gprof.out): Likewise. - * gmon/tst-gmon-static-pie.c: New file. - * manual/install.texi: Document --enable-static-pie. - * sysdeps/generic/ldsodefs.h (_dl_relocate_static_pie): New. - (_dl_get_dl_main_map): Likewise. - * sysdeps/i386/configure.ac: Check if linker supports static PIE. - * sysdeps/x86_64/configure.ac: Likewise. - * sysdeps/i386/configure: Regenerated. - * sysdeps/x86_64/configure: Likewise. - * sysdeps/mips/Makefile (ASFLAGS-.o): Add $(pie-default). - (ASFLAGS-.op): Likewise. - -2017-12-15 Joseph Myers - - * io/Makefile (tst-open-tmpfile-ARGS): New variable. - * posix/tst-mmap-offset.c (fname): Use /tmp. - * stdlib/tst-setcontext3.sh (tempfile): Use ${objpfx}. - -2017-12-15 Steve Ellcey - - * nscd/dbg_log.c (dbg_log): Increase msg buffer size. - -2017-12-15 Thomas Schwinge - - * sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno): Don't set - errno. - -2017-12-15 Joseph Myers - - * scripts/build-many-glibcs.py (Context.add_all_configs): Use - --with-float=hard for arm-linux-gnueabihf configurations. - - [BZ #14121] - * po/Makefile (generated): Add $(ALL_LINGUAS:%=%.mo). - (%.mo): Change to $(objpfx)%.mo. Use $(make-target-directory). - ($(mo-installed)): Use $(objpfx)%.mo. - (realclean): Remove rule. - - * po/Makefile (linguas): Remove rule and dependencies. - (linguas.mo): Likewise. - (.PHONY): Do not depend on linguas and linguas.mo. - (podir): Remove variable. - (pofiles): Likewise. - [$(pofiles)] (%.po): Remove rule. - - * sysdeps/sparc/sparc32/Makefile - ($(divrem:%=$(sysdep_dir)/sparc/sparc32/%.S)): Do not include - start-of-line whitespace in argument of echo. - * sysdeps/sparc/sparc32/divrem.m4: Avoid generating lines starting - with whitespace. Generate __wrap_.udiv alias. - * sysdeps/sparc/sparc32/rem.S: Regenerated. - * sysdeps/sparc/sparc32/sdiv.S: Likewise. - * sysdeps/sparc/sparc32/udiv.S: Likewise. - * sysdeps/sparc/sparc32/urem.S: Likewise. - -2017-12-15 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/power8/strcpy.S: Use vectors - for aligned inputs. - -2017-12-14 Siddhesh Poyarekar - - * benchtests/bench-strcmp.c: Print output in JSON format. - - * elf/dl-tunables.list: Remove redundant SXID_ERASE. - -2017-12-14 Florian Weimer - - [BZ #22607] - CVE-2017-1000409 - * elf/dl-load.c (_dl_init_paths): Compute number of components in - the expanded path string. - -2017-12-14 Florian Weimer - - [BZ #22606] - CVE-2017-1000408 - * elf/dl-load.c (system_dirs): Update comment. - (nsystem_dirs_len): Use array_length. - (_dl_init_paths): Use nsystem_dirs_len to compute the array size. - -2017-12-14 Florian Weimer - - Simplify compiling most of support/ outside of glibc. - * support/check_addrinfo.c: Include . - * support/check_dns_packet.c: Likewise. - * support/check_hostent.c: Likewise. - * support/support_can_chroot.c: Include . - * support/support_format_addrinfo.c: Include - * support/support_format_dns_packet.c: Include . - * support/support_format_hostent.c: Include . - * support/support_format_netent.c: Likewise. - * support/support_write_string.c: Include . - * support/xdlfcn.c: Include . - -2017-12-14 H.J. Lu - - * sysdeps/x86_64/fpu/s_cosf.S: Removed. - -2017-12-14 Patrick McGehearty - Adhemerval Zanella - - * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile - (sysdeps_routines): Add memset-niagara7. - * sysdeps/sparc/sparc64/multiarch/Makefile (sysdes_rotuines): - Likewise. - * sysdeps/sparc/sparc32/sparcv9/multiarch/memset-niagara7.S: New - file. - * sysdeps/sparc/sparc64/multiarch/memset-niagara7.S: Likewise. - * sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add __bzero_niagara7 and __memset_niagara7. - * sysdeps/sparc/sparc64/multiarch/ifunc-memset.h (IFUNC_SELECTOR): - Add niagara7 option. - * NEWS: Mention sparc m7 optimized memcpy, mempcpy, memmove, and - memset. - - * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile - (sysdeps_routines): Add memcpy-memmove-niagara7 and memmove-ultra1. - * sysdeps/sparc/sparc64/multiarch/Makefile (sysdeps_routines): - Likewise. - * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-memmove-niagara7.S: - New file. - * sysdeps/sparc/sparc32/sparcv9/multiarch/memmove-ultra1.S: Likewise. - * sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memmove.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add __memcpy_niagara7, __mempcpy_niagara7, - and __memmove_niagara7. - * sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h (IFUNC_SELECTOR): - Add niagara7 option. - * sysdeps/sparc/sparc64/multiarch/memmove.c: New file. - * sysdeps/sparc/sparc64/multiarch/ifunc-memmove.h: Likewise. - * sysdeps/sparc/sparc64/multiarch/memcpy-memmove-niagara7.S: Likewise. - * sysdeps/sparc/sparc64/multiarch/memmove-ultra1.S: Likewise. - * sysdeps/sparc/sparc64/multiarch/rtld-memmove.c: Likewise. - -2017-12-14 Jose E. Marchesi - - * sysdeps/sparc/sparc32/sparcv9/memmove.S: New file. - * sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c: Likewise. - * sysdeps/sparc/sparc64/memmove.S: Likewise. - * sysdeps/sparc/sparc64/rtld-memmove.c: Likewise. - - * sysdeps/sparc/bits/hwcap.h (HWCAP_SPARC_ADP): Defined. - * sysdeps/sparc/dl-procinfo.c: Added "adp" to the - _dl_sparc_cap_flags array. - * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Increment. - -2017-12-13 Siddhesh Poyarekar - - * sysdeps/aarch64/strcmp.S (misaligned8): Compare dword at a - time whenever possible. - -2017-12-12 Carlos O'Donell - - * elf/Makefile [$(nss-crypt)$(static-nss-crypt) == yesno] - (CFLAGS-tst-linkall-static.c): Undefine USE_CRYPT first. - -2017-12-12 Joseph Myers - - * soft-fp/fmadf4.c: Move to .... - * sysdeps/ieee754/soft-fp/s_fma.c: ... here. - * soft-fp/fmasf4.c: Move to .... - * sysdeps/ieee754/soft-fp/s_fmaf.c: ... here. - * soft-fp/fmatf4.c: Move to .... - * sysdeps/ieee754/soft-fp/s_fmal.c: ... here. - * sysdeps/ieee754/soft-fp/Makefile: New file. - * sysdeps/arm/preconfigure.ac: Define with_fp_cond. - * sysdeps/arm/preconfigure: Regenerated. - * sysdeps/arm/nofpu/Implies: New file. - * sysdeps/arm/s_fma.c: Remove file. - * sysdeps/arm/s_fmaf.c: Likewise. - * sysdeps/m68k/coldfire/nofpu/Implies: New file. - * sysdeps/m68k/coldfire/nofpu/s_fma.c: Remove file. - * sysdeps/m68k/coldfire/nofpu/s_fmaf.c: Likewise. - * sysdeps/microblaze/Implies: Add ieee754/soft-fp. - * sysdeps/microblaze/s_fma.c: Remove file. - * sysdeps/microblaze/s_fmaf.c: Likewise. - * sysdeps/mips/mips32/nofpu/Implies: New file. - * sysdeps/mips/mips64/n32/fpu/s_fma.c: Likewise. - * sysdeps/mips/mips64/n32/nofpu/Implies: Likewise. - * sysdeps/mips/mips64/n64/fpu/s_fma.c: Likewise. - * sysdeps/mips/mips64/n64/nofpu/Implies: Likewise. - * sysdeps/mips/ieee754/s_fma.c: Remove file. - * sysdeps/mips/ieee754/s_fmaf.c: Likewise. - * sysdeps/mips/ieee754/s_fmal.c: Update include for move of fmal - implementation. - * sysdeps/nios2/Implies: Add ieee754/soft-fp. - * sysdeps/nios2/s_fma.c: Remove file. - * sysdeps/nios2/s_fmaf.c: Likewise. - * sysdeps/sh/nofpu/Implies: New file. - * sysdeps/sh/s_fma.c: Remove file. - * sysdeps/sh/s_fmaf.c: Likewise. - * sysdeps/tile/Implies: Add ieee754/soft-fp. - * sysdeps/tile/s_fma.c: Remove file. - * sysdeps/tile/s_fmaf.c: Likewise. - -2017-12-12 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add s_cosf-sse2 and s_cosf-fma. - (CFLAGS-s_cosf-fma.c): New. - * sysdeps/x86_64/fpu/multiarch/s_cosf-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/s_cosf-sse2.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_cosf.c: Likewise. - -2017-12-12 Steve Ellcey - - * nscd/nscd.h (init_traced_file): Change strncpy to memcpy. - -2017-12-12 Adhemerval Zanella - - * libio/Makefile (tests): Add tst-bz22415. - (tst-bz22415-ENV): New rule. - (generated): Add tst-bz22415.mtrace and tst-bz22415.check. - (tests-special): Add tst-bz22415-mem.out. - ($(objpfx)tst-bz22415-mem.out): New rule. - * libio/fileops.c (_IO_new_file_seekoff): Call _IO_free_backup_area - in case of a successful seek operation. - * libio/wfileops.c (_IO_wfile_seekoff): Likewise. - (_IO_wfile_overflow): Call _IO_free_wbackup_area in case a write - buffer is required. - * libio/tst-bz22415.c: New test. - - * sysdeps/ia64/fpu/libm-test-ulps: Update. - -2017-12-12 James Clarke - - * sysdeps/unix/sysv/linux/ia64/ipc_priv.h: New file defining - __IPC_64 to 0 to avoid IPC_64 being set. - -2017-12-12 Szabolcs Nagy - - [BZ #22593] - * math/bits/mathcalls.h (nextafter): Remove const. - (nexttoward): Likewise. - -2017-12-12 Joseph Myers - - * configure.ac (--with-fp): Remove configure option. - (with_fp_cond): New variable. - (libc_cv_with_fp): New configure test. Use this variable instead - of with_fp. - * configure: Regenerated. - * config.make.in (with-fp): Use @libc_cv_with_fp@. - * manual/install.texi (Configuring and compiling): Remove - --without-fp. - * INSTALL: Regenerated. - * sysdeps/m68k/preconfigure (with_fp_cond): Define for ColdFire. - * sysdeps/mips/preconfigure (with_fp_cond): Define. - * sysdeps/powerpc/preconfigure (with_fp_cond): Define for 32-bit. - * sysdeps/sh/preconfigure (with_fp_cond): Define. - * scripts/build-many-glibcs.py (Context.add_all_configs): Do not - use --without-fp to configure glibc. - -2017-12-12 Rical Jasan - - * manual/locale.texi (nl_langinfo): Fix a typo. - -2017-12-12 Aurelien Jarno - - [BZ #22588] - * manual/conf.texi (SC_SSIZE_MAX): Rename into _SC_SSIZE_MAX. - -2017-12-11 H.J. Lu - - * argp/Makefile (CFLAGS-argp-help.c): Replace = with +=. - (CFLAGS-argp-parse.c): Likewise. - (CFLAGS-argp-fmtstream.c): Likewise. - * crypt/Makefile (CPPFLAGS-sha256-crypt.c): Likewise. - (CPPFLAGS-sha512-crypt.c): Likewise. - (CPPFLAGS-md5-crypt.c): Likewise. - * debug/Makefile (CFLAGS-stack_chk_fail.c): Likewise. - (CFLAGS-stack_chk_fail_local.c): Likewise. - (CFLAGS-backtrace.c): Likewise. - (CFLAGS-sprintf_chk.c): Likewise. - (CFLAGS-snprintf_chk.c): Likewise. - (CFLAGS-vsprintf_chk.c): Likewise. - (CFLAGS-vsnprintf_chk.c): Likewise. - (CFLAGS-asprintf_chk.c): Likewise. - (CFLAGS-vasprintf_chk.c): Likewise. - (CFLAGS-obprintf_chk.c): Likewise. - (CFLAGS-dprintf_chk.c): Likewise. - (CFLAGS-vdprintf_chk.c): Likewise. - (CFLAGS-printf_chk.c): Likewise. - (CFLAGS-fprintf_chk.c): Likewise. - (CFLAGS-vprintf_chk.c): Likewise. - (CFLAGS-vfprintf_chk.c): Likewise. - (CFLAGS-gets_chk.c): Likewise. - (CFLAGS-fgets_chk.c): Likewise. - (CFLAGS-fgets_u_chk.c): Likewise. - (CFLAGS-fread_chk.c): Likewise. - (CFLAGS-fread_u_chk.c): Likewise. - (CFLAGS-swprintf_chk.c): Likewise. - (CFLAGS-vswprintf_chk.c): Likewise. - (CFLAGS-wprintf_chk.c): Likewise. - (CFLAGS-fwprintf_chk.c): Likewise. - (CFLAGS-vwprintf_chk.c): Likewise. - (CFLAGS-vfwprintf_chk.c): Likewise. - (CFLAGS-fgetws_chk.c): Likewise. - (CFLAGS-fgetws_u_chk.c): Likewise. - (CFLAGS-read_chk.c): Likewise. - (CFLAGS-pread_chk.c): Likewise. - (CFLAGS-pread64_chk.c): Likewise. - (CFLAGS-recv_chk.c): Likewise. - (CFLAGS-recvfrom_chk.c): Likewise. - (CFLAGS-tst-longjmp_chk.c): Likewise. - (CPPFLAGS-tst-longjmp_chk.c): Likewise. - (CFLAGS-tst-longjmp_chk2.c): Likewise. - (CPPFLAGS-tst-longjmp_chk2.c): Likewise. - (CFLAGS-tst-longjmp_chk3.c): Likewise. - (CPPFLAGS-tst-longjmp_chk3.c): Likewise. - (CFLAGS-tst-chk1.c): Likewise. - (CFLAGS-tst-chk2.c): Likewise. - (CFLAGS-tst-chk3.c): Likewise. - (CFLAGS-tst-chk4.cc): Likewise. - (CFLAGS-tst-chk5.cc): Likewise. - (CFLAGS-tst-chk6.cc): Likewise. - (CFLAGS-tst-lfschk1.c): Likewise. - (CFLAGS-tst-lfschk2.c): Likewise. - (CFLAGS-tst-lfschk3.c): Likewise. - (CFLAGS-tst-lfschk4.cc): Likewise. - (CFLAGS-tst-lfschk5.cc): Likewise. - (CFLAGS-tst-lfschk6.cc): Likewise. - (CFLAGS-tst-ssp-1.c): Likewise. - * dirent/Makefile (CFLAGS-scandir.c): Likewise. - (CFLAGS-scandir64.c): Likewise. - (CFLAGS-scandir-tail.c): Likewise. - (CFLAGS-scandir64-tail.c): Likewise. - * elf/Makefile (CPPFLAGS-dl-tunables.c): Likewise. - (CFLAGS-dl-tunables.c): Likewise. - (CFLAGS-dl-runtime.c): Likewise. - (CFLAGS-dl-lookup.c): Likewise. - (CFLAGS-dl-iterate-phdr.c): Likewise. - (CFLAGS-vismain.c): Likewise. - (CFLAGS-tst-linkall-static.c): Likewise. - (CFLAGS-tst-linkall-static.c): Likewise. - (CPPFLAGS-dl-load.c): Likewise. - (CFLAGS-ldconfig.c): Likewise. - (CFLAGS-dl-cache.c): Likewise. - (CFLAGS-cache.c): Likewise. - (CFLAGS-rtld.c): Likewise. - (CFLAGS-multiload.c): Likewise. - (CFLAGS-filtmod1.c): Likewise. - (CFLAGS-tst-align.c): Likewise. - (CFLAGS-tst-align2.c): Likewise. - (CFLAGS-tst-alignmod.c): Likewise. - (CFLAGS-tst-alignmod2.c): Likewise. - (CPPFLAGS-tst-execstack.c): Likewise. - (CFLAGS-tst-ptrguard1-static.c): Likewise. - (CFLAGS-tst-latepthreadmod.c): Likewise. - * grp/Makefile (CFLAGS-getgrgid_r.c): Likewise. - (CFLAGS-getgrnam_r.c): Likewise. - (CFLAGS-getgrent_r.c): Likewise. - (CFLAGS-getgrent.c): Likewise. - (CFLAGS-fgetgrent.c): Likewise. - (CFLAGS-fgetgrent_r.c): Likewise. - (CFLAGS-putgrent.c): Likewise. - (CFLAGS-initgroups.c): Likewise. - (CFLAGS-getgrgid.c): Likewise. - * gshadow/Makefile (CFLAGS-getsgent_r.c): Likewise. - (CFLAGS-getsgent.c): Likewise. - (CFLAGS-fgetsgent.c): Likewise. - (CFLAGS-fgetsgent_r.c): Likewise. - (CFLAGS-putsgent.c): Likewise. - (CFLAGS-getsgnam.c): Likewise. - (CFLAGS-getsgnam_r.c): Likewise. - * iconv/Makefile (CFLAGS-iconv_prog.c): Likewise. - (CFLAGS-iconv_charmap.c): Likewise. - (CFLAGS-dummy-repertoire.c): Likewise. - (CFLAGS-charmap.c): Likewise. - (CFLAGS-linereader.c): Likewise. - (CFLAGS-simple-hash.c): Likewise. - (CFLAGS-gconv_conf.c): Likewise. - (CFLAGS-iconvconfig.c): Likewise. - * inet/Makefile (CFLAGS-gethstbyad_r.c): Likewise. - (CFLAGS-gethstbyad.c): Likewise. - (CFLAGS-gethstbynm_r.c): Likewise. - (CFLAGS-gethstbynm.c): Likewise. - (CFLAGS-gethstbynm2_r.c): Likewise. - (CFLAGS-gethstbynm2.c): Likewise. - (CFLAGS-gethstent_r.c): Likewise. - (CFLAGS-gethstent.c): Likewise. - (CFLAGS-rcmd.c): Likewise. - (CFLAGS-getnetbynm_r.c): Likewise. - (CFLAGS-getnetbynm.c): Likewise. - (CFLAGS-getnetbyad_r.c): Likewise. - (CFLAGS-getnetbyad.c): Likewise. - (CFLAGS-getnetent_r.c): Likewise. - (CFLAGS-getnetent.c): Likewise. - (CFLAGS-getaliasent_r.c): Likewise. - (CFLAGS-getaliasent.c): Likewise. - (CFLAGS-getrpcent_r.c): Likewise. - (CFLAGS-getrpcent.c): Likewise. - (CFLAGS-getservent_r.c): Likewise. - (CFLAGS-getservent.c): Likewise. - (CFLAGS-getprtent_r.c): Likewise. - (CFLAGS-getprtent.c): Likewise. - (CFLAGS-either_ntoh.c): Likewise. - (CFLAGS-either_hton.c): Likewise. - (CFLAGS-getnetgrent.c): Likewise. - (CFLAGS-getnetgrent_r.c): Likewise. - (CFLAGS-tst-checks-posix.c): Likewise. - (CFLAGS-tst-sockaddr.c): Likewise. - * intl/Makefile (CFLAGS-tst-gettext.c): Likewise. - (CFLAGS-tst-translit.c): Likewise. - (CFLAGS-tst-gettext2.c): Likewise. - (CFLAGS-tst-codeset.c): Likewise. - (CFLAGS-tst-gettext3.c): Likewise. - (CFLAGS-tst-gettext4.c): Likewise. - (CFLAGS-tst-gettext5.c): Likewise. - (CFLAGS-tst-gettext6.c): Likewise. - * io/Makefile (CFLAGS-open.c): Likewise. - (CFLAGS-open64.c): Likewise. - (CFLAGS-creat.c): Likewise. - (CFLAGS-creat64.c): Likewise. - (CFLAGS-fcntl.c): Likewise. - (CFLAGS-poll.c): Likewise. - (CFLAGS-ppoll.c): Likewise. - (CFLAGS-lockf.c): Likewise. - (CFLAGS-statfs.c): Likewise. - (CFLAGS-fstatfs.c): Likewise. - (CFLAGS-statvfs.c): Likewise. - (CFLAGS-fstatvfs.c): Likewise. - (CFLAGS-fts.c): Likewise. - (CFLAGS-fts64.c): Likewise. - (CFLAGS-ftw.c): Likewise. - (CFLAGS-ftw64.c): Likewise. - (CFLAGS-lockf.c): Likewise. - (CFLAGS-posix_fallocate.c): Likewise. - (CFLAGS-posix_fallocate64.c): Likewise. - (CFLAGS-fallocate.c): Likewise. - (CFLAGS-fallocate64.c): Likewise. - (CFLAGS-read.c): Likewise. - (CFLAGS-write.c): Likewise. - (CFLAGS-test-stat.c): Likewise. - (CFLAGS-test-lfs.c): Likewise. - * libio/Makefile (CFLAGS-fileops.c): Likewise. - (CFLAGS-fputc.c): Likewise. - (CFLAGS-fputwc.c): Likewise. - (CFLAGS-freopen64.c): Likewise. - (CFLAGS-freopen.c): Likewise. - (CFLAGS-fseek.c): Likewise. - (CFLAGS-fseeko64.c): Likewise. - (CFLAGS-fseeko.c): Likewise. - (CFLAGS-ftello64.c): Likewise. - (CFLAGS-ftello.c): Likewise. - (CFLAGS-fwide.c): Likewise. - (CFLAGS-genops.c): Likewise. - (CFLAGS-getc.c): Likewise. - (CFLAGS-getchar.c): Likewise. - (CFLAGS-getwc.c): Likewise. - (CFLAGS-getwchar.c): Likewise. - (CFLAGS-iofclose.c): Likewise. - (CFLAGS-iofflush.c): Likewise. - (CFLAGS-iofgetpos64.c): Likewise. - (CFLAGS-iofgetpos.c): Likewise. - (CFLAGS-iofgets.c): Likewise. - (CFLAGS-iofgetws.c): Likewise. - (CFLAGS-iofputs.c): Likewise. - (CFLAGS-iofputws.c): Likewise. - (CFLAGS-iofread.c): Likewise. - (CFLAGS-iofsetpos64.c): Likewise. - (CFLAGS-iofsetpos.c): Likewise. - (CFLAGS-ioftell.c): Likewise. - (CFLAGS-iofwrite.c): Likewise. - (CFLAGS-iogetdelim.c): Likewise. - (CFLAGS-iogetline.c): Likewise. - (CFLAGS-iogets.c): Likewise. - (CFLAGS-iogetwline.c): Likewise. - (CFLAGS-ioputs.c): Likewise. - (CFLAGS-ioseekoff.c): Likewise. - (CFLAGS-ioseekpos.c): Likewise. - (CFLAGS-iosetbuffer.c): Likewise. - (CFLAGS-iosetvbuf.c): Likewise. - (CFLAGS-ioungetc.c): Likewise. - (CFLAGS-ioungetwc.c): Likewise. - (CFLAGS-oldfileops.c): Likewise. - (CFLAGS-oldiofclose.c): Likewise. - (CFLAGS-oldiofgetpos64.c): Likewise. - (CFLAGS-oldiofgetpos.c): Likewise. - (CFLAGS-oldiofsetpos64.c): Likewise. - (CFLAGS-oldiofsetpos.c): Likewise. - (CFLAGS-peekc.c): Likewise. - (CFLAGS-putc.c): Likewise. - (CFLAGS-putchar.c): Likewise. - (CFLAGS-putwc.c): Likewise. - (CFLAGS-putwchar.c): Likewise. - (CFLAGS-rewind.c): Likewise. - (CFLAGS-wfileops.c): Likewise. - (CFLAGS-wgenops.c): Likewise. - (CFLAGS-oldiofopen.c): Likewise. - (CFLAGS-iofopen.c): Likewise. - (CFLAGS-iofopen64.c): Likewise. - (CFLAGS-oldtmpfile.c): Likewise. - (CFLAGS-tst_putwc.c): Likewise. - * locale/Makefile (CFLAGS-md5.c): Likewise. - (CFLAGS-charmap.c): Likewise. - (CFLAGS-locfile.c): Likewise. - (CFLAGS-charmap-dir.c): Likewise. - * login/Makefile (CFLAGS-grantpt.c): Likewise. - (CFLAGS-getpt.c): Likewise. - (CFLAGS-pt_chown.c): Likewise. - * malloc/Makefile (CFLAGS-mcheck-init.c): Likewise. - (CFLAGS-obstack.c): Likewise. - * math/Makefile (CFLAGS-test-tgmath3.c): Likewise. - (CFLAGS-test-double-vlen4-wrappers.c): Likewise. - (CFLAGS-test-double-vlen8-wrappers.c): Likewise. - (CFLAGS-test-float-vlen8-wrappers.c): Likewise. - (CFLAGS-test-float-vlen16-wrappers.c): Likewise. - (CFLAGS-test-tgmath.c): Likewise. - (CFLAGS-test-tgmath2.c): Likewise. - (CFLAGS-test-tgmath-ret.c): Likewise. - (CFLAGS-test-powl.c): Likewise. - (CFLAGS-test-snan.c): Likewise. - (CFLAGS-test-signgam-finite.c): Likewise. - (CFLAGS-test-signgam-finite-c99.c): Likewise. - (CFLAGS-test-signgam-finite-c11.c): Likewise. - (CFLAGS-test-signgam-uchar.c): Likewise. - (CFLAGS-test-signgam-uchar-init.c): Likewise. - (CFLAGS-test-signgam-uchar-static.c): Likewise. - (CFLAGS-test-signgam-uchar-init-static.c): Likewise. - (CFLAGS-test-signgam-uint.c): Likewise. - (CFLAGS-test-signgam-uint-init.c): Likewise. - (CFLAGS-test-signgam-uint-static.c): Likewise. - (CFLAGS-test-signgam-uint-init-static.c): Likewise. - (CFLAGS-test-signgam-ullong.c): Likewise. - (CFLAGS-test-signgam-ullong-init.c): Likewise. - (CFLAGS-test-signgam-ullong-static.c): Likewise. - (CFLAGS-test-signgam-ullong-init-static.c): Likewise. - (CFLAGS-test-math-cxx11.cc): Likewise. - (CFLAGS-test-math-isinff.cc): Likewise. - (CFLAGS-test-math-iszero.cc): Likewise. - (CFLAGS-test-math-issignaling.cc): Likewise. - (CFLAGS-test-math-iscanonical.cc): Likewise. - (CFLAGS-test-iszero-excess-precision.c): Likewise. - (CFLAGS-test-iseqsig-excess-precision.c): Likewise. - (CFLAGS-test-flt-eval-method.c): Likewise. - (CFLAGS-test-fe-snans-always-signal.c): Likewise. - (CFLAGS-test-finite-macros.c): Likewise. - * misc/Makefile (CFLAGS-select.c): Likewise. - (CFLAGS-tsearch.c): Likewise. - (CFLAGS-lsearch.c): Likewise. - (CFLAGS-pselect.c): Likewise. - (CFLAGS-readv.c): Likewise. - (CFLAGS-writev.c): Likewise. - (CFLAGS-preadv.c): Likewise. - (CFLAGS-preadv64.c): Likewise. - (CFLAGS-pwritev.c): Likewise. - (CFLAGS-pwritev64.c): Likewise. - (CFLAGS-preadv2.c): Likewise. - (CFLAGS-preadv64v2.c): Likewise. - (CFLAGS-pwritev2.c): Likewise. - (CFLAGS-pwritev64v2.c): Likewise. - (CFLAGS-usleep.c): Likewise. - (CFLAGS-syslog.c): Likewise. - (CFLAGS-error.c): Likewise. - (CFLAGS-getpass.c): Likewise. - (CFLAGS-mkstemp.c): Likewise. - (CFLAGS-mkstemp64.c): Likewise. - (CFLAGS-getsysstats.c): Likewise. - (CFLAGS-getusershell.c): Likewise. - (CFLAGS-err.c): Likewise. - (CFLAGS-tst-tsearch.c): Likewise. - (CFLAGS-msync.c): Likewise. - (CFLAGS-fdatasync.c): Likewise. - (CFLAGS-fsync.c): Likewise. - * nptl/Makefile (CFLAGS-nptl-init.c): Likewise. - (CFLAGS-unwind.c): Likewise. - (CFLAGS-unwind-forcedunwind.c): Likewise. - (CFLAGS-pthread_cancel.c): Likewise. - (CFLAGS-pthread_setcancelstate.c): Likewise. - (CFLAGS-pthread_setcanceltype.c): Likewise. - (CFLAGS-cancellation.c): Likewise. - (CFLAGS-libc-cancellation.c): Likewise. - (CFLAGS-pthread_exit.c): Likewise. - (CFLAGS-forward.c): Likewise. - (CFLAGS-pthread_testcancel.c): Likewise. - (CFLAGS-pthread_join.c): Likewise. - (CFLAGS-pthread_timedjoin.c): Likewise. - (CFLAGS-pthread_once.c): Likewise. - (CFLAGS-pthread_cond_wait.c): Likewise. - (CFLAGS-sem_wait.c): Likewise. - (CFLAGS-sem_timedwait.c): Likewise. - (CFLAGS-fcntl.c): Likewise. - (CFLAGS-lockf.c): Likewise. - (CFLAGS-pread.c): Likewise. - (CFLAGS-pread64.c): Likewise. - (CFLAGS-pwrite.c): Likewise. - (CFLAGS-pwrite64.c): Likewise. - (CFLAGS-wait.c): Likewise. - (CFLAGS-waitpid.c): Likewise. - (CFLAGS-sigwait.c): Likewise. - (CFLAGS-msgrcv.c): Likewise. - (CFLAGS-msgsnd.c): Likewise. - (CFLAGS-tcdrain.c): Likewise. - (CFLAGS-open.c): Likewise. - (CFLAGS-open64.c): Likewise. - (CFLAGS-pause.c): Likewise. - (CFLAGS-recv.c): Likewise. - (CFLAGS-send.c): Likewise. - (CFLAGS-accept.c): Likewise. - (CFLAGS-sendto.c): Likewise. - (CFLAGS-connect.c): Likewise. - (CFLAGS-recvfrom.c): Likewise. - (CFLAGS-recvmsg.c): Likewise. - (CFLAGS-sendmsg.c): Likewise. - (CFLAGS-close.c): Likewise. - (CFLAGS-read.c): Likewise. - (CFLAGS-write.c): Likewise. - (CFLAGS-nanosleep.c): Likewise. - (CFLAGS-sigsuspend.c): Likewise. - (CFLAGS-msync.c): Likewise. - (CFLAGS-fdatasync.c): Likewise. - (CFLAGS-fsync.c): Likewise. - (CFLAGS-pt-system.c): Likewise. - (CFLAGS-tst-cleanup2.c): Likewise. - (CFLAGS-tst-cleanupx2.c): Likewise. - (CFLAGS-flockfile.c): Likewise. - (CFLAGS-ftrylockfile.c): Likewise. - (CFLAGS-funlockfile.c): Likewise. - (CFLAGS-tst-initializers1.c): Likewise. - (CFLAGS-tst-initializers1-c89.c): Likewise. - (CFLAGS-tst-initializers1-c99.c): Likewise. - (CFLAGS-tst-initializers1-c11.c): Likewise. - (CFLAGS-tst-initializers1-gnu89.c): Likewise. - (CFLAGS-tst-initializers1-gnu99.c): Likewise. - (CFLAGS-tst-initializers1-gnu11.c): Likewise. - * nscd/Makefile (CFLAGS-nscd_getpw_r.c): Likewise. - (CFLAGS-nscd_getgr_r.c): Likewise. - (CFLAGS-nscd_gethst_r.c): Likewise. - (CFLAGS-nscd_getai.c): Likewise. - (CFLAGS-nscd_initgroups.c): Likewise. - * posix/Makefile (CFLAGS-getaddrinfo.c): Likewise. - (CFLAGS-pause.c): Likewise. - (CFLAGS-pread.c): Likewise. - (CFLAGS-pread64.c): Likewise. - (CFLAGS-pwrite.c): Likewise. - (CFLAGS-pwrite64.c): Likewise. - (CFLAGS-sleep.c): Likewise. - (CFLAGS-wait.c): Likewise. - (CFLAGS-waitid.c): Likewise. - (CFLAGS-waitpid.c): Likewise. - (CFLAGS-getopt.c): Likewise. - (CFLAGS-wordexp.c): Likewise. - (CFLAGS-sysconf.c): Likewise. - (CFLAGS-pathconf.c): Likewise. - (CFLAGS-fpathconf.c): Likewise. - (CFLAGS-spawn.c): Likewise. - (CFLAGS-spawnp.c): Likewise. - (CFLAGS-spawni.c): Likewise. - (CFLAGS-glob.c): Likewise. - (CFLAGS-glob64.c): Likewise. - (CFLAGS-getconf.c): Likewise. - (CFLAGS-nanosleep.c): Likewise. - * pwd/Makefile (CFLAGS-getpwent_r.c): Likewise. - (CFLAGS-getpwent.c): Likewise. - (CFLAGS-getpw.c): Likewise. - (CFLAGS-fgetpwent_r.c): Likewise. - * resolv/Makefile (CFLAGS-res_hconf.c): Likewise. - * rt/Makefile (CFLAGS-aio_suspend.c): Likewise. - (CFLAGS-mq_timedreceive.c): Likewise. - (CFLAGS-mq_timedsend.c): Likewise. - (CFLAGS-clock_nanosleep.c): Likewise. - (CFLAGS-librt-cancellation.c): Likewise. - * shadow/Makefile (CFLAGS-getspent_r.c): Likewise. - (CFLAGS-getspent.c): Likewise. - (CFLAGS-fgetspent.c): Likewise. - (CFLAGS-fgetspent_r.c): Likewise. - (CFLAGS-putspent.c): Likewise. - (CFLAGS-getspnam.c): Likewise. - (CFLAGS-getspnam_r.c): Likewise. - * signal/Makefile (CFLAGS-sigpause.c): Likewise. - (CFLAGS-sigsuspend.c): Likewise. - (CFLAGS-sigtimedwait.c): Likewise. - (CFLAGS-sigwait.c): Likewise. - (CFLAGS-sigwaitinfo.c): Likewise. - (CFLAGS-sigreturn.c): Likewise. - * stdio-common/Makefile (CFLAGS-vfprintf.c): Likewise. - (CFLAGS-vfwprintf.c): Likewise. - (CFLAGS-tmpfile.c): Likewise. - (CFLAGS-tmpfile64.c): Likewise. - (CFLAGS-tempname.c): Likewise. - (CFLAGS-psignal.c): Likewise. - (CFLAGS-vprintf.c): Likewise. - (CFLAGS-cuserid.c): Likewise. - (CFLAGS-errlist.c): Likewise. - (CFLAGS-siglist.c): Likewise. - (CFLAGS-scanf15.c): Likewise. - (CFLAGS-scanf17.c): Likewise. - * stdlib/Makefile (CFLAGS-bsearch.c): Likewise. - (CFLAGS-msort.c): Likewise. - (CFLAGS-qsort.c): Likewise. - (CFLAGS-system.c): Likewise. - (CFLAGS-fmtmsg.c): Likewise. - (CFLAGS-strfmon.c): Likewise. - (CFLAGS-strfmon_l.c): Likewise. - (CFLAGS-strfromd.c): Likewise. - (CFLAGS-strfromf.c): Likewise. - (CFLAGS-strfroml.c): Likewise. - (CFLAGS-tst-bsearch.c): Likewise. - (CFLAGS-tst-qsort.c): Likewise. - (CFLAGS-tst-makecontext2.c): Likewise. - * sunrpc/Makefile (CFLAGS-xbootparam_prot.c): Likewise. - (CFLAGS-xnlm_prot.c): Likewise. - (CFLAGS-xrstat.c): Likewise. - (CFLAGS-xyppasswd.c): Likewise. - (CFLAGS-xklm_prot.c): Likewise. - (CFLAGS-xrex.c): Likewise. - (CFLAGS-xsm_inter.c): Likewise. - (CFLAGS-xmount.c): Likewise. - (CFLAGS-xrusers.c): Likewise. - (CFLAGS-xspray.c): Likewise. - (CFLAGS-xnfs_prot.c): Likewise. - (CFLAGS-xrquota.c): Likewise. - (CFLAGS-xkey_prot.c): Likewise. - (CFLAGS-auth_unix.c): Likewise. - (CFLAGS-key_call.c): Likewise. - (CFLAGS-pmap_rmt.c): Likewise. - (CFLAGS-clnt_perr.c): Likewise. - (CFLAGS-openchild.c): Likewise. - * sysvipc/Makefile (CFLAGS-msgrcv.c): Likewise. - (CFLAGS-msgsnd.c): Likewise. - * termios/Makefile (CFLAGS-tcdrain.c): Likewise. - * time/Makefile (CFLAGS-tzfile.c): Likewise. - (CFLAGS-tzset.c): Likewise. - (CFLAGS-getdate.c): Likewise. - (CFLAGS-test_time.c): Likewise. - (CPPFLAGS-tst-tzname.c): Likewise. - * timezone/Makefile (CFLAGS-zdump.c): Likewise. - (CFLAGS-zic.c): Likewise. - * wcsmbs/Makefile (CFLAGS-wcwidth.c): Likewise. - (CFLAGS-wcswidth.c): Likewise. - (CFLAGS-wcstol.c): Likewise. - (CFLAGS-wcstoul.c): Likewise. - (CFLAGS-wcstoll.c): Likewise. - (CFLAGS-wcstoull.c): Likewise. - (CFLAGS-wcstod.c): Likewise. - (CFLAGS-wcstold.c): Likewise. - (CFLAGS-wcstof128.c): Likewise. - (CFLAGS-wcstof.c): Likewise. - (CFLAGS-wcstol_l.c): Likewise. - (CFLAGS-wcstoul_l.c): Likewise. - (CFLAGS-wcstoll_l.c): Likewise. - (CFLAGS-wcstoull_l.c): Likewise. - (CFLAGS-wcstod_l.c): Likewise. - (CFLAGS-wcstold_l.c): Likewise. - (CFLAGS-wcstof128_l.c): Likewise. - (CFLAGS-wcstof_l.c): Likewise. - (CPPFLAGS-tst-wchar-h.c): Likewise. - (CPPFLAGS-wcstold_l.c): Likewise. - -2017-12-11 Paul A. Clarke - - * sysdeps/ieee754/flt-32/s_cosf.c: New implementation. - -2017-12-11 Adhemerval Zanella - Tulio Magno Quites Machado Filho - - * manual/tunables.texi (Hardware Capability Tunables): Document - glibc.tune.cached_memopt. - * sysdeps/powerpc/cpu-features.c: New file. - * sysdeps/powerpc/cpu-features.h: New file. - * sysdeps/powerpc/dl-procinfo.c [!IS_IN(ldconfig)]: Add - _dl_powerpc_cpu_features. - * sysdeps/powerpc/dl-tunables.list: New file. - * sysdeps/powerpc/ldsodefs.h: Include cpu-features.h. - * sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h - (INIT_ARCH): Initialize use_aligned_memopt. - * sysdeps/powerpc/powerpc64/dl-machine.h [defined(SHARED && - IS_IN(rtld))]: Restrict dl_platform_init availability and - initialize CPU features used by tunables. - * sysdeps/powerpc/powerpc64/multiarch/Makefile (sysdep_routines): - Add memcpy-power8-cached. - * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Add - __memcpy_power8_cached. - * sysdeps/powerpc/powerpc64/multiarch/memcpy.c: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcpy-power8-cached.S: - New file. - -2017-12-11 H.J. Lu - - * string/Makefile (CFLAGS-inl-tester.c): Replace = with +=. - (CFLAGS-noinl-tester.c): Likewise. - (CFLAGS-tst-strlen.c): Likewise. - (CFLAGS-stratcliff.c): Likewise. - (CFLAGS-test-ffs.c): Likewise. - (CFLAGS-tst-inlcall.c): Likewise. - (CFLAGS-tst-xbzero-opt.c): Likewise. - (CFLAGS-memcpy.c): Likewise. - (CFLAGS-wordcopy.c): Likewise. - -2017-12-11 Stefan Liebler - - * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve): - Store r15 on stack and add cfi rule. - * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve): - Likewise. - -2017-12-10 Aurelien Jarno - - [BZ #22577] - * elf/rtld.c (init_tls): Add missing new line to the _dl_fatal_printf - call. - -2017-12-07 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add s_sinf-sse2 and s_sinf-fma. - (CFLAGS-s_sinf-fma.c): New. - * sysdeps/x86_64/fpu/multiarch/s_sinf-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/s_sinf-sse2.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_sinf.c: Likewise. - -2017-12-07 H.J. Lu - - * sysdeps/x86_64/fpu/s_sinf.S: Removed. - -2017-12-07 Joseph Myers - - [BZ #22568] - * math/s_ctan_template.c (M_DECL_FUNC (__ctan)): Set imaginary - part of result to imaginary part of argument if it is zero and the - real part of the argument is not finite. - * math/s_ctanh_template.c (M_DECL_FUNC (__ctanh)): Set real part - of result to real part of argument if it is zero and the imaginary - part of the argument is not finite. - -2017-12-07 Mike FABIAN - - [BZ #22524] - * localedata/Makefile: Add lt_LT.UTF-8 to test-input - and to the list of locales to be built for testing. - * localedata/lt_LT.UTF-8.in: New file for testing the collation. - * localedata/locales/lt_LT (LC_COLLATE): Use “copy "iso14651_t1"” - and build the collation rules upon that. - -2017-12-07 Joseph Myers - - * bits/floatn-common.h (__HAVE_FLOAT32): Define to 1. - * manual/math.texi (Mathematics): Document support for _Float32. - * math/Makefile (test-types): Add float32. - * math/Versions (GLIBC_2.27): Add _Float32 functions. - * stdlib/Versions (GLIBC_2.27): Likewise. - * wcsmbs/Versions (GLIBC_2.27): Likewise. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: - Likewise. - - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - -2017-12-06 Joseph Myers - - * stdlib/strtof.c: Include - [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strtof32): Define - and later undefine as macro. Define as weak alias if - [!USE_WIDE_CHAR]. - [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (wcstof32): Define - and later undefine as macro. Define as weak alias if - [USE_WIDE_CHAR]. - * stdlib/strtof_l.c: Include - [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strtof32_l): Define - and later undefine as macro. Define as weak alias if - [!USE_WIDE_CHAR]. - [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (wcstof32_l): Define - and later undefine as macro. Define as weak alias if - [USE_WIDE_CHAR]. - - * stdlib/strfromf.c: Include . - [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strfromf32): Define - and later undefine as macro and define as weak alias. - - * math/test-float32.h: New file. - - * sysdeps/generic/libm-alias-float.h: Include . - [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] - (libm_alias_float_other_r): Create f32 alias. - (libm_alias_float_r): Use semicolon before call to - libm_alias_float_other_r. - - * sysdeps/ia64/fpu/e_exp2f.S (__exp2f): Use exp2 not __exp2 as - second argument to libm_alias_float_other. - * sysdeps/ia64/fpu/e_log2f.S (__log2f): Use log2 not __log2 as - second argument to libm_alias_float_other. - * sysdeps/ia64/fpu/e_powf.S (__powf): Use pow not __pow as second - argument to libm_alias_float_other. - - [BZ #22561] - * math/s_cacosh_template.c (M_DECL_FUNC (__cacosh)): Use pi/2 for - real part of result for argument 0 + i * NaN. - * math/libm-test-cacosh.inc (cacosh_test_data): Update expected - results for tests of 0 + i * NaN. - -2017-12-06 Adhemerval Zanella - - * sysdeps/alpha/fpu/libm-test-ulps: Update. - -2017-12-06 David S. Miller - - * sysdeps/sparc/fpu/libm-test-ulps: Update - exp_{downward,towardzero,upward} ulps. - -2017-12-06 Joseph Myers - - * sysdeps/ieee754/ldbl-96/e_j1l.c (qone): Don't make local - variables static. - - * sysdeps/ieee754/ldbl-128/e_j0l.c (Y0_2N): Make const. - (Y0_2D): Likewise. - * sysdeps/ieee754/ldbl-128/e_j1l.c (Y0_2N): Likewise. - (Y0_2D): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_j0l.c (Y0_2N): Likewise. - (Y0_2D): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_j1l.c (Y0_2N): Likewise. - (Y0_2D): Likewise. - -2017-12-06 Mike FABIAN - - [BZ #22515] - * localedata/Makefile: Add hsb_DE.UTF-8 to test-input - and to the list of locales to be built for testing. - * localedata/hsb_DE.UTF-8.in: New file for testing the collation. - * localedata/locales/hsb_DE (LC_COLLATE): Use “copy "iso14651_t1"” - and build the collation rules upon that. - -2017-12-06 Rajalakshmi Srinivasaraghavan - - * NEWS: Add sinf to list of optimized functions. - -2017-12-06 Joseph Myers - - * bits/floatn-common.h (__HAVE_FLOAT64): Define to 1. - (__HAVE_FLOAT32X): Likewise. - * manual/math.texi (Mathematics): Document support for _Float64 - and _Float32x. - * math/Makefile (test-types): Add float64 and float32x. - * math/Versions (GLIBC_2.27): Add _Float64 and _Float32x - functions. - * stdlib/Versions (GLIBC_2.27): Likewise. - * wcsmbs/Versions (GLIBC_2.27): Likewise. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - -2017-12-05 Joseph Myers - - * bits/floatn-common.h: Include . - [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus) - && __NO_LONG_DOUBLE_MATH] (__f64): Use suffix 'l'. - [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus) - && __NO_LONG_DOUBLE_MATH] (__CFLOAT64): Use _Complex long double. - [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus) - && __NO_LONG_DOUBLE_MATH] (_Float64): Use long double. - [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH] - (__builtin_huge_valf64): Use __builtin_huge_vall. - [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH] - (__builtin_inff64): Use __builtin_infl. - [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH] - (__builtin_nanf64): Use __builtin_nanl. - [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH] - (__builtin_nansf64): Use __builtin_nansl. - -2017-12-05 Rogerio A. Cardoso - Paul E. Murphy - Carlos O'Donnell - - * elf/dl-tunables.list: Add elision parameters. - * manual/tunables.texi: Add entries about elision tunable. - * sysdeps/unix/sysv/linux/powerpc/elision-conf.c: - Add callback functions to dynamically enable/disable elision. - Add multiple callbacks functions to set elision parameters. - Deleted __libc_enable_secure check. - * sysdeps/unix/sysv/linux/s390/elision-conf.c: Likewise. - * sysdeps/unix/sysv/linux/x86/elision-conf.c: Likewise. - * configure: Regenerated. - * configure.ac: Option enable_lock_elision was deleted. - * config.h.in: ENABLE_LOCK_ELISION flag was deleted. - * config.make.in: Remove references to enable_lock_elision. - * manual/install.texi: Elision configure option was removed. - * INSTALL: Regenerated to remove enable_lock_elision. - * nptl/Makefile: - Disable elision so it can verify error case for destroying a mutex. - * sysdeps/powerpc/nptl/elide.h: - Cleanup ENABLE_LOCK_ELISION check. - Deleted macros for the case when ENABLE_LOCK_ELISION was not defined. - * sysdeps/s390/configure: Regenerated. - * sysdeps/s390/configure.ac: Remove references to enable_lock_elision.. - * nptl/tst-mutex8.c: - Deleted all #ifndef ENABLE_LOCK_ELISION from the test. - * sysdeps/powerpc/powerpc32/sysdep.h: - Deleted all ENABLE_LOCK_ELISION checks. - * sysdeps/powerpc/powerpc64/sysdep.h: Likewise. - * sysdeps/powerpc/sysdep.h: Likewise. - * sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/force-elision.h: Likewise. - * sysdeps/unix/sysv/linux/s390/elision-conf.h: Likewise. - * sysdeps/unix/sysv/linux/s390/force-elision.h: Likewise. - * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. - * sysdeps/unix/sysv/linux/s390/Makefile: Remove references to - enable-lock-elision. - -2017-12-05 Joseph Myers - - * stdlib/strtod.c: Include . - (BUILD_DOUBLE): New macro. - [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] - (strtof64): Define and later undefine as macro. Define as weak - alias if [!USE_WIDE_CHAR]. - [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] - (wcstof64): Define and later undefine as macro. Define as weak - alias if [USE_WIDE_CHAR]. - [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] - (strtof32x): Define and later undefine as macro. Define as weak - alias if [!USE_WIDE_CHAR]. - [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] - (wcstof32x): Define and later undefine as macro. Define as weak - alias if [USE_WIDE_CHAR]. - * stdlib/strtod_l.c: Include . - (BUILD_DOUBLE): New macro. - [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] - (strtof64_l): Define and later undefine as macro. Define as weak - alias if [!USE_WIDE_CHAR]. - [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] - (wcstof64_l): Define and later undefine as macro. Define as weak - alias if [USE_WIDE_CHAR]. - [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] - (strtof32x_l): Define and later undefine as macro. Define as weak - alias if [!USE_WIDE_CHAR]. - [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] - (wcstof32x_l): Define and later undefine as macro. Define as weak - alias if [USE_WIDE_CHAR]. - -2017-12-05 Adhemerval Zanella - - * sysdeps/ieee754/flt-32/s_sinf.c (ones): Define as double. - (reduced): Use ones as double instead of integer. - -2017-12-05 Szabolcs Nagy - - * sysdeps/ieee754/flt-32/s_sinf.c (sinf): Use isless. - -2017-12-05 Joseph Myers - - * stdlib/strfromd.c: Include . - [__HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] (strfromf64): Define - and later undefine as macro and define as weak alias. - [__HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] (strfromf32x): - Likewise. - - * math/test-float32x.h: New file. - * math/test-float64.h: Likewise. - - * sysdeps/generic/libm-alias-double.h: Include . - (libm_alias_double_other_r_f64): New macro. - (libm_alias_double_other_r_f32x): Likewise. - (libm_alias_double_other_r): Use libm_alias_double_other_r_f64 and - libm_alias_double_other_r_f32x. - (libm_alias_double_r): Use semicolon before call to - libm_alias_double_other_r. - * sysdeps/ieee754/ldbl-opt/libm-alias-double.h: Include - . - (libm_alias_double_other_r_f64): New macro. - (libm_alias_double_other_r_f32x): Likewise. - (libm_alias_double_other_r): Use libm_alias_double_other_r_f64 and - libm_alias_double_other_r_f32x. - -2017-12-05 H.J. Lu - - * sysdeps/ieee754/flt-32/s_sinf.c (reduced): Replace long with - int. - (SINF_FUNC): Likewise. Replace floor with simple casts. - -2017-12-05 Mike FABIAN - - [BZ #22517] - * localedata/Makefile: Add et_EE.UTF-8 to test-input - and to the list of locales to be built for testing. - * localedata/et_EE.UTF-8.in: New file for testing the collation. - * localedata/locales/et_EE (LC_COLLATE): Use “copy "iso14651_t1"” - and build the collation rules upon that. - -2017-12-05 Chris Metcalf - - * sysdeps/tile/tilegx/string-endian.h (VECOP): Provide working - replacements for __insn_xxx builtins for v1cmpeq, v1cmpltu, - v1cmpne, v1add, v1shru, v1shl (register and immediate versions). - * sysdeps/tile/tilegx/memchr.c (__memchr): Use VECOP function - instead of __insn__xxx. - * sysdeps/tile/tilegx/rawmemchr.c (__rawmemchr): Likewise. - * sysdeps/tile/tilegx/strstr.c (strcasechr): Likewise. - * sysdeps/tile/tilegx/strrchr.c (strrchr): Likewise. - * sysdeps/tile/tilegx/strlen.c (strlen): Likewise. - * sysdeps/tile/tilegx/strchrnul.c (__strchrnul): Likewise. - * sysdeps/tile/tilegx/strchr.c (strchr): Likewise. - -2017-12-05 Florian Weimer - - Linux: Implement interfaces for memory protection keys - * support/Makefile (libsupport-routines): Add xraise, xsigaction, - xsignal, xsysconf. - * support/xsignal.h (xraise, xsignal, xsigaction): Declare. - * support/xunistd.h (xsysconf): Declare. - * support/xraise.c: New file. - * support/xsigaction.c: Likewise. - * support/xsignal.c: Likewise. - * support/xsysconf.c: Likewise. - * sysdeps/unix/sysv/linux/Makefile [misc] (routines): Add - pkey_set, pkey_get, pkey_mprotect. - [misc] (tests): Add tst-pkey. - (tst-pkey): Link with -lpthread. - * sysdeps/unix/sysv/linux/Versions (GLIBC_2.27): Add pkey_alloc, - pkey_free, pkey_set, pkey_get, pkey_mprotect. - * sysdeps/unix/sysv/linux/bits/mman-linux.h (PKEY_DISABLE_ACCESS) - (PKEY_DISABLE_WRITE): Define. - (pkey_alloc, pkey_free, pkey_set, pkey_get, pkey_mprotect): - Declare. - * sysdeps/unix/sysv/linux/bits/siginfo-consts.h (SEGV_BNDERR) - (SEGV_PKUERR): Add. - * sysdeps/unix/sysv/linux/pkey_get.c: New file. - * sysdeps/unix/sysv/linux/pkey_set.c: Likewise. - * sysdeps/unix/sysv/linux/pkey_mprotect.c: Likewise. - * sysdeps/unix/sysv/linux/syscalls.list (pkey_alloc, pkey_free): - Add. - * sysdeps/unix/sysv/linux/tst-pkey.c: New file. - * sysdeps/unix/sysv/linux/x86/arch-pkey.h: Likewise. - * sysdeps/unix/sysv/linux/x86/pkey_get.c: Likewise. - * sysdeps/unix/sysv/linux/x86/pkey_set.c: Likewise. - * sysdeps/unix/sysv/linux/**.abilist: Update. - -2017-12-05 Florian Weimer - - * support/tst-test_compare.c (subprocess): Use long long instead - of long argument for consistent type width across 32-bit and - 64-bit architectures. - (do_test): Adjust expected output. - -2017-12-05 Joseph Myers - - * sysdeps/powerpc/fpu/s_cosf.c: Include . - (cosf): Define using libm_alias_float. - * sysdeps/powerpc/fpu/s_fabs.S: Include . - (fabsf): Define using libm_alias_float. - * sysdeps/powerpc/fpu/s_fmaf.S: Include . - (fmaf): Define using libm_alias_float. - * sysdeps/powerpc/fpu/s_rintf.c: Include . - (rintf): Define using libm_alias_float. - * sysdeps/powerpc/fpu/s_sinf.c: Include . - (sinf): Define using libm_alias_float. - * sysdeps/powerpc/power5+/fpu/s_modff.c: Include - . - (modff): Define using libm_alias_float. - * sysdeps/powerpc/power7/fpu/s_logbf.c: Include - . - (logbf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Include - . - (ceilf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include - . - (copysignf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Include - . - (floorf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_llroundf.c: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include - . - (lrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include - . - (lroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_nearbyintf.S: Include - . - (nearbyintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Include - . - (rintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Include - . - (roundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Include - . - (truncf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf.c: - Include . - (ceilf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c: - Include . - (copysignf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf.c: - Include . - (floorf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf.c: - Include . - (llrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llroundf.c: - Include . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logbf.c: - Include . - (logbf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrintf.c: - Include . - (lrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lroundf.c: - Include . - (lroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff.c: - Include . - (modff): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_roundf.c: - Include . - (roundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_truncf.c: - Include . - (truncf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceilf.S: Include - . - (ceilf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_floorf.S: Include - . - (floorf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include - . - (lroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_roundf.S: Include - . - (roundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_truncf.S: Include - . - (truncf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include - . - (copysignf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include - . - (lrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include - . - (lroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Include - . - (ceilf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Include - . - (copysignf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf.c: Include - . - (cosf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Include - . - (floorf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrintf.c: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf.c: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf.c: Include - . - (logbf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c: Include - . - (modff): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Include - . - (roundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf.c: Include - . - (sinf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: Include - . - (truncf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Include - . - (ceilf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include - . - (copysignf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Include - . - (floorf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S: Include - . - (nearbyintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Include - . - (rintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Include - . - (roundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Include - . - (truncf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: Include - . - (ceilf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: Include - . - (floorf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_roundf.S: Include - . - (roundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_truncf.S: Include - . - (truncf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include - . - (copysignf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power8/fpu/s_cosf.S: Include - . - (cosf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/powerpc/powerpc64/power8/fpu/s_sinf.S: Include - . - (sinf): Define using libm_alias_float. - -2017-12-04 Florian Weimer - - * support/check.h (TEST_COMPARE): Define. - (support_test_compare_failure): Declare. - * support/Makefile (libsupport-routines): Add - support_test_compare_failure. - (tests): Add tst-test_compare. - * support /support_test_compare_failure.c: New file. - * support/tst-test_compare.c: Likewise. - -2017-12-04 Mike FABIAN - - [BZ #22527] - * localedata/locales/tr_TR (LC_COLLATE): Base collation rules - on iso14651_t1. A test file localedata/tr_TR.UTF-8.in is already - available, this rewrite of the collation rules does reproduce - the test file in the same order. - -2017-12-04 Mike FABIAN - - [BZ #10580] - * localedata/locales/hr_HR (LC_TIME): Use two letters for the - digraphs in the month and day names. Using single code points for - digraphs is deprecated. While there are dedicated Unicode - codepoints, for the digraphs, these are included for backwards - compatibility and modern texts use a sequence of Basic Latin - characters. See: https://www.unicode.org/faq/ligature_digraph.html - This makes the month and day names agree exactly with CLDR now, - CLDR does not use the single code points for the digraphs either. - -2017-12-04 Chris Metcalf - - * sysdeps/tile/libm-test-ulps: Update ca{cos,sin,tan}{,h} ulps. - -2017-12-04 Joseph Myers - - * sysdeps/ieee754/flt-32/s_sinf.c (SINF_FUNC): Use __floor instead - of floor. - -2017-12-04 Siddhesh Poyarekar - - * sysdeps/aarch64/multiarch/memcpy_generic.S (__GI_memcpy): - Define only for libc.so. - -2017-12-04 Stefan Liebler - - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h - (INTERNAL_VSYSCALL_CALL, CLOBBER_0, CLOBBER_1, CLOBBER_2, - CLOBBER_3, CLOBBER_4, CLOBBER_5, CLOBBER_6, - INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK): Remove. - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. - -2017-12-04 Rajalakshmi Srinivasaraghavan - - [BZ #5997] - * sysdeps/ieee754/flt-32/s_sinf.c: New implementation. - -2017-12-02 John David Anglin - - [BZ libc/19170] - * sysdeps/hppa/crti.S: Declare PREINIT_FUNCTION weak_extern when - PREINIT_FUNCTION_WEAK is nonzero. - (gmon_initializer): New function. Put procedure label for it in - .init_array section. - (_init): Don't call PREINIT_FUNCTION. - * sysdeps/hppa/crtn.S (__gmon_start__): Remove. - * sysdeps/hppa/dl-lookupcfg.h (DL_FIXUP_MAKE_VALUE): Create null fixup - value when map argument is null. - - * sysdeps/hppa/dl-fptr.c (elf_machine_resolve): Remove unnecessary - depi instruction from PIC pc-relative sequence. - * sysdeps/hppa/dl-fptr.h (ELF_MACHINE_LOAD_ADDRESS): Likewise. - * sysdeps/hppa/dl-machine.h (elf_machine_dynamic): Likewise. - (elf_machine_load_address): Likewise. - (elf_machine_runtime_setup): Likewise. - -2017-12-02 Joseph Myers - - * sysdeps/powerpc/power7/fpu/s_logb.c: Include - . - (logb): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include - . - (copysign): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include - . - (llrint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_llround.c: Include - . - (llround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include - . - (lrint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include - . - (lround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c: - Include . - (copysign): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c: - Include . - (llrint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c: - Include . - (llround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c: Include - . - (logb): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c: - Include . - (lrint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c: - Include . - (lround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Include - . - (llrint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include - . - (llround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include - . - (llround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include - . - (lround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include - . - (copysign): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Include - . - (llrint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include - . - (llround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include - . - (lrint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include - . - (lround): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Include - . - (copysign): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Include - . - (llrint): Define using libm_alias_double. - (lrint): Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Include - . - (llround): Define using libm_alias_double. - (lround): Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Include - . - (logb): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include - . - (copysign): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include - . - (llrint): Define using libm_alias_double. - (lrint): Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Include - . - (llround): Define using libm_alias_double. - (lround): Likewise. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include - . - (llround): Define using libm_alias_double. - (lround): Likewise. - * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include - . - (copysign): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include - . - (llrint): Define using libm_alias_double. - (lrint): Likewise. - * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include - . - (llround): Define using libm_alias_double. - (lround): Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include - . - (llrint): Define using libm_alias_double. - (lrint): Likewise. - * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include - . - (llround): Define using libm_alias_double. - (lround): Likewise. - -2017-12-01 Joseph Myers - - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c - [LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (lroundl): Do not define - compat symbol based on llround. - - * sysdeps/powerpc/power7/fpu/s_logb.c - [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Define as compat - symbol based on __logb, not on logb. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c - [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c - [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Likewise. - - * sysdeps/powerpc/fpu/s_rint.c: Include . - (rint): Define using libm_alias_double. - * sysdeps/powerpc/power5+/fpu/s_modf.c: Include - . - (modf): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Include - . - (floor): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_nearbyint.S: Include - . - (nearbyint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Include - . - (rint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_round.S: Include - . - (round): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Include - . - (trunc): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil.c: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor.c: - Include . - (floor): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf.c: Include - . - (modf): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_round.c: - Include . - (round): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_trunc.c: - Include . - (trunc): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceil.S: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_floor.S: Include - . - (floor): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_round.S: Include - . - (round): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/power5+/fpu/s_trunc.S: Include - . - (trunc): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Include - . - (floor): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c: Include - . - (modf): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Include - . - (round): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: Include - . - (trunc): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Include - . - (floor): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/s_nearbyint.S: Include - . - (nearbyint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Include - . - (rint): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/s_round.S: Include - . - (round): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Include - . - (trunc): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: Include - . - (floor): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_round.S: Include - . - (round): Define using libm_alias_double. - * sysdeps/powerpc/powerpc64/power5+/fpu/s_trunc.S: Include - . - (trunc): Define using libm_alias_double. - - * sysdeps/powerpc/fpu/s_fabs.S: Include . - (fabs): Define using libm_alias_double. - * sysdeps/powerpc/fpu/s_fma.S: Include . - (fma): Define using libm_alias_double. - * sysdeps/powerpc/powerpc32/fpu/s_fabs.S: Remove file. - * sysdeps/powerpc/powerpc32/fpu/s_fma.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_fabs.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/s_fma.S: Likewise. - -2017-12-01 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c: Remove file. - - * sysdeps/sparc/sparc-ifunc.h (SPARC_ASM_IFUNC_DFLT, - SPARC_ASM_IFUNC1, SPARC_ASM_IFUNC2, SET, SPARC_ASM_VIS2_IFUNC, - SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros. - - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c: Fix build - due redirect macro. - -2017-12-01 Andreas Schwab - - * intl/Makefile ($(objpfx)plural.c): Add $(make-target-directory). - -2017-12-01 Adhemerval Zanella - - * sysdeps/sparc/sparc64/cpu_relax.c: New file. - * sysdeps/sparc/sparc32/sparcv9/cpu_relax.c: Likewise. - * sysdeps/sparc/sparc64/cpu_relax.S: Remove file. - * sysdeps/sparc/sparc32/sparcv9/cpu_relax.S: Likewise. - - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_nearbyintf-generic and - s_nearbyint-generic. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-generic.S: - New file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-generic.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.c: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S: Remove - file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S: - Likewise. - - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_rintf-generic and s_rint-generic. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-generic.S: New - file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-generic.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Remove file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Likewise. - - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_llrintf-generic and s_llrint-generic. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-generic.S: New - file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-generic.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Remove file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Likewise. - - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_fabsf-generic and s_fabs-generic. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-generic.S: New - file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-generic.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Remove file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Likewise. - - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile - (sysdep_calls): New rule. - (sysdep_routines): Use sysdep_calls as base. - (libm-sysdep_routines): Add generic rule for symbols shared with - libc. Add s_copysign-generic and s_copysign-generic objects. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-generic.S: - New file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-generic.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: Remove file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: Likewise. - -2017-12-01 Mike FABIAN - - [BZ #22519] - * localedata/Makefile: Add is_IS.UTF-8 to test-input and to - the list of locales to be built for testing. - * localedata/is_IS.UTF-8.in: New file. - * localedata/locales/is_IS (LC_COLLATE): Base collation rules - on iso14651_t1. - -2017-12-01 Joseph Myers - - * sysdeps/powerpc/powerpc32/e500/nofpu/s_fabsf.S: Include - . - (fabsf): Define using libm_alias_float. - -2017-11-30 H.J. Lu - - * sysdeps/mips/dl-machine.h (elf_machine_reloc): Expand MIN. - -2017-11-30 Joseph Myers - - * sysdeps/m68k/coldfire/fpu/s_fabsf.c: Include - . - (fabsf): Define using libm_alias_float. - * sysdeps/m68k/coldfire/fpu/s_lrintf.c: Include - . - (lrintf): Define using libm_alias_float. - * sysdeps/m68k/coldfire/fpu/s_rintf.c: Include - . - (rintf): Define using libm_alias_float. - - * sysdeps/m68k/coldfire/fpu/s_fabs.c: Include - . - (fabs): Define using libm_alias_double. - * sysdeps/m68k/coldfire/fpu/s_lrint.c: Include - . - (lrint): Define using libm_alias_double. - * sysdeps/m68k/coldfire/fpu/s_rint.c: Include - . - (rint): Define using libm_alias_double. - - * sysdeps/m68k/m680x0/fpu/s_atan_template.c: New file. - * sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_cos_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_expm1_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_fabs_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_floor_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_frexp_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_lrint_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_modf_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_nearbyint_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_remquo_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_rint_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_sin_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_sincos_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_tan_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_tanh_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_trunc_template.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_atan.c: Reimplement to use - s_atan_template.c. - * sysdeps/m68k/m680x0/fpu/s_atanf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_atanl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_ceil.c: Reimplement to use - s_ceil_template.c. - * sysdeps/m68k/m680x0/fpu/s_ceilf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_ceill.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_cos.c: Reimplement to use - s_cos_template.c. - * sysdeps/m68k/m680x0/fpu/s_cosf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_cosl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_expm1.c: Reimplement to use - s_expm1_template.c. - * sysdeps/m68k/m680x0/fpu/s_expm1f.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_expm1l.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_fabs.c: Reimplement to use - s_fabs_template.c. - * sysdeps/m68k/m680x0/fpu/s_fabsf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_fabsl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_floor.c: Reimplement to use - s_floor_template.c. - * sysdeps/m68k/m680x0/fpu/s_floorf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_floorl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_frexp.c: Reimplement to use - s_frexp_template.c. - * sysdeps/m68k/m680x0/fpu/s_frexpf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_lrint.c: Reimplement to use - s_lrint_template.c. - * sysdeps/m68k/m680x0/fpu/s_lrintf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_lrintl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_modf.c: Reimplement to use - s_modf_template.c. - * sysdeps/m68k/m680x0/fpu/s_modff.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_modfl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_nearbyint.c: Reimplement to use - s_nearbyint_template.c. - * sysdeps/m68k/m680x0/fpu/s_nearbyintf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_nearbyintl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_remquo.c: Reimplement to use - s_remquo_template.c. - * sysdeps/m68k/m680x0/fpu/s_remquof.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_remquol.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_rint.c: Reimplement to use - s_rint_template.c. - * sysdeps/m68k/m680x0/fpu/s_rintf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_rintl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_sin.c: Reimplement to use - s_sin_template.c. - * sysdeps/m68k/m680x0/fpu/s_sinf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_sinl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_sincos.c: Reimplement to use - s_sincos_template.c. - * sysdeps/m68k/m680x0/fpu/s_sincosf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_sincosl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_tan.c: Reimplement to use - s_tan_template.c. - * sysdeps/m68k/m680x0/fpu/s_tanf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_tanl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_tanh.c: Reimplement to use - s_tanh_template.c. - * sysdeps/m68k/m680x0/fpu/s_tanhf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_tanhl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_trunc.c: Reimplement to use - s_trunc_template.c. - * sysdeps/m68k/m680x0/fpu/s_truncf.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_truncl.c: Likewise. - * sysdeps/m68k/m680x0/fpu/s_significand.c: Reimplement based on - s_atan.c instead of including s_atan.c. - * sysdeps/m68k/m680x0/fpu/s_significandf.c: Reimplement based on - s_atanf.c instead of including s_atanf.c. - * sysdeps/m68k/m680x0/fpu/s_significandl.c: Reimplement based on - s_atanl.c instead of including s_atanl.c. - * sysdeps/m68k/m680x0/fpu/s_log1p.c: Include s_significand.c - instead of s_atan.c. - * sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_significandf.c - instead of s_atanf.c. - * sysdeps/m68k/m680x0/fpu/s_log1pl.c: Include s_significandl.c - instead of s_atanl.c. - - * scripts/update-copyrights: Do not handle intl/plural.c - specially. - -2017-11-30 Juro Bystricky - - [BZ #22432] - * configure.ac (BISON): Require to be present. - * configure: Regenerated. - * intl/Makefile (generated): Add plural.c. - [$(BISON) != no]: Make code unconditional. - (plural.c): Change rule to $(objpfx)plural.c. - ($(objpfx)plural.o): Depend on $(objpfx)plural.c. - * intl/plural.c: Remove. - * manual/install.texi (Tools for Compilation): Document bison as - required. - * INSTALL: Regenerated. - -2017-11-30 Joseph Myers - - * sysdeps/m68k/m680x0/fpu/s_llrint.c: Include - . - (llrint): Define using libm_alias_double. - * sysdeps/m68k/m680x0/fpu/s_llrintf.c: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/m68k/m680x0/fpu/s_llrintl.c: Include - . - (llrintl): Define using libm_alias_ldouble. - - * sysdeps/m68k/m680x0/fpu/s_ccosh_template.c (ccosh): Use - declare_mgen_alias instead of weak_alias. - * sysdeps/m68k/m680x0/fpu/s_cexp_template.c (cexp): Likewise. - * sysdeps/m68k/m680x0/fpu/s_csin_template.c (csin): Likewise. - * sysdeps/m68k/m680x0/fpu/s_csinh_template.c (csinh): Likewise. - -2017-11-30 Adhemerval Zanella - - * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): - Add add_n-generic. - * sysdeps/sparc/sparc64/multiarch/add_n-generic.S: New file. - * sysdeps/sparc/sparc64/multiarch/add_n.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/add_n.S: Remove file. - - * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): - Add submul_1-generic. - * sysdeps/sparc/sparc64/multiarch/submul_1-generic.S: New file. - * sysdeps/sparc/sparc64/multiarch/submul_1.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/submul_1.S: Remove file. - - * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): - Add addmul_1-generic. - * sysdeps/sparc/sparc64/multiarch/addmul_1-generic.S: New file. - * sysdeps/sparc/sparc64/multiarch/addmul_1.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/addmul_1.S: Remove file. - - * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): - Add sub_n-generic. - * sysdeps/sparc/sparc64/multiarch/sub_n-generic.S: New file. - * sysdeps/sparc/sparc64/multiarch/sub_n.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/sub_n.S: Remove file. - - * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): - Add mul_1-generic. - * sysdeps/sparc/sparc64/multiarch/mul_1-generic.S: New file. - * sysdeps/sparc/sparc64/multiarch/mul_1.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/mul_1.S: Remove file. - -2017-11-30 Mike FABIAN - - According to CLDR, collation rules for Serbian and Bosnian - should be the same as for Croatian. - - [BZ #22534] - * localedata/Makefile: Add sr_RS.UTF-8 and bs_BA.UTF-8 to test-input - and to the list of locales to be built for testing. - * localedata/bs_BA.UTF-8.in: New file (same as hr_HR.UTF-8.in). - * localedata/sr_RS.UTF-8.in: New file (same as hr_HR.UTF-8.in). - * localedata/locales/bs_BA (LC_COLLATE): Use “copy "hr_HR"”. - * localedata/locales/sr_RS (LC_COLLATE): Use “copy "hr_HR"”. - -2017-11-30 Mike FABIAN - - * localedata/locales/hr_HR (LC_COLLATE): Fix collation - to make test case pass. - * localedata/hr_HR.UTF-8.in: Add more test strings. - -2017-11-30 Mike FABIAN - - * stdlib/tst-strfmon_l.c: Fix testcase. Needed because of [BZ #10580] - -2017-11-30 Dragan Stanojević - Nevidljivi - - * localedata/Makefile: Add hr_HR.UTF-8 to test-input and to - the list of locales to built for testing. - * localedata/hr_HR.UTF-8.in: New file. - -2017-11-30 Dragan Stanojević - Nevidljivi - - [BZ #10580] - * localedata/locales/hr_HR (LC_COLLATE): Base collation rules on - iso14651_t1. - * localedata/locales/hr_HR (LC_TIME): Sync month and day names with - CLDR (except use ligatures for the digraphs, CLDR does not use - the ligatures), add first_workday, some fixes in the date and time - formats. - * localedata/locales/hr_HR (LC_CTYPE): Add transliteration rules - for Đ and đ. - * localedata/locales/hr_HR (LC_MONETARY): Change currency_symbol to - lower case. p_cs_precedes and n_cs_precedes should be 0 instead of 1. - Add int_p_cs_precedes and int_n_cs_precedes. - * localedata/locales/hr_HR (LC_NUMERIC): Change thousands_sep to - "" (NARROW NO-BREAK SPACE) and grouping to 3;3 (Agrees with - LC_MONETARY now). - * localedata/locales/hr_HR (LC_TELEPHONE): Add tel_dom_fmt. - * localedata/locales/hr_HR (LC_NAME): Add name_mr, name_mrs, and - name_miss. - * localedata/locales/hr_HR (LC_ADDRESS): Add country_post, country_isbn, - and lang_lib. Change postal_fmt. - -2017-11-30 H.J. Lu - - * debug/longjmp_chk.c: Include instead of - . - * setjmp/longjmp.c: Include instead of . - (__libc_siglongjmp): Cast &env[0].__saved_mask to "sigset_t *". - * setjmp/sigjmp.c: Include instead of . - (__sigjmp_save): Cast &env[0].__saved_mask to "sigset_t *". - * sysdeps/generic/setjmpP.h: New file. - * sysdeps/unix/sysv/linux/x86/jmp_buf-ssp.sym: Likewise. - * sysdeps/unix/sysv/linux/x86/setjmpP.h: Likewise. - * sysdeps/unix/sysv/linux/x86/tst-saved_mask-1.c: Likewise. - * sysdeps/unix/sysv/linux/x86/Makefile (gen-as-const-headers): - Add jmp_buf-ssp.sym. - (tests): Add tst-saved_mask-1. - -2017-11-30 Arjun Shankar - - [BZ #22375] - CVE-2017-17426 - * malloc/malloc.c (__libc_malloc): Use checked_request2size - instead of request2size. - -2017-11-30 Joseph Myers - - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S - (__lllrint): Remove alias. - (lllrint): Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S - (__lllrintf): Likewise. - (lllrintf): Likewise. - - * sysdeps/sparc/sparc32/fpu/s_copysignf.S: Include - . - (copysignf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/fpu/s_fabsf.S: Include - . - (fabsf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: - Include . - (copysignf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Include - . - (fabsf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c: Include - . - (fdimf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: Include - . - (fmaf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S: - Include . - (nearbyintf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Include - . - (rintf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S: Include - . - (lrintf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S: Include - . - (nearbyintf): Define using libm_alias_float. - * sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S: Include - . - (rintf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Include - . - (ceilf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Include - . - (floorf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: Include - . - (fmaf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c: Include - . - (lrintf): Define using libm_alias_float. - (llrintf): Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c: Include - . - (nearbyintf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Include - . - (rintf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Include - . - (truncf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/s_copysignf.S: Include - . - (copysignf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/s_fabsf.c: Include - . - (fabsf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/s_lrintf.S: Include - . - (lrintf): Define using libm_alias_float. - (llrintf): Likewise. - * sysdeps/sparc/sparc64/fpu/s_nearbyintf.S: Include - . - (nearbyintf): Define using libm_alias_float. - * sysdeps/sparc/sparc64/fpu/s_rintf.S: Include - . - (rintf): Define using libm_alias_float. - -2017-11-29 Joseph Myers - - * sysdeps/sparc/sparc32/fpu/s_copysign.S: Include - . - (copysign): Define using libm_alias_double. - * sysdeps/sparc/sparc32/fpu/s_fabs.S: Include - . - (fabs): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: - Include . - (copysign): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include - . - (fabs): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Include - . - (fdim): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Include - . - (fma): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Include - . - (llrint): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S: - Include . - (nearbyint): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Include - . - (rint): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include - . - (fabs): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: Include - . - (llrint): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S: Include - . - (nearbyint): Define using libm_alias_double. - * sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: Include - . - (rint): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Include - . - (floor): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Include - . - (fma): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.c: Include - . - (lrint): Define using libm_alias_double. - (llrint): Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.c: Include - . - (nearbyint): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Include - . - (rint): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Include - . - (trunc): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/s_copysign.S: Include - . - (copysign): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/s_fabs.c: Include - . - (fabs): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/s_lrint.S: Include - . - (lrint): Define using libm_alias_double. - (llrint): Likewise. - * sysdeps/sparc/sparc64/fpu/s_nearbyint.S: Include - . - (nearbyint): Define using libm_alias_double. - * sysdeps/sparc/sparc64/fpu/s_rint.S: Include - . - (rint): Define using libm_alias_double. - - [BZ #22229] - * sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include - . - (fabsl): Define as compat symbol at version GLIBC_2_0 for libm. - - * scripts/build-many-glibcs.py (Context.add_all_configs): Add - SPARC --disable-multi-arch glibc variants. - - * sysdeps/x86_64/fpu/multiarch/e_exp2f.c: Include - . - (exp2f): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/x86_64/fpu/multiarch/e_expf.c: Include - . - (exp2f): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/x86_64/fpu/multiarch/e_log2f.c: Include - . - (exp2f): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/x86_64/fpu/multiarch/e_logf.c: Include - . - (exp2f): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/x86_64/fpu/multiarch/e_powf.c: Include - . - (exp2f): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Include - . - (ceilf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Include - . - (floorf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/multiarch/s_fmaf.c: Include - . - (fmaf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Include - . - (nearbyintf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Include - . - (rintf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Include - . - (truncf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/s_copysignf.S: Include . - (copysignf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/s_cosf.S: Include . - (cosf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/s_fabsf.c: Include . - (fabsf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/s_fmaxf.S: Include . - (fmaxf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/s_fminf.S: Include . - (fminf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/s_llrintf.S: Include . - (llrintf): Define using libm_alias_float. - [!__ILP32__] (lrintf): Likewise. - * sysdeps/x86_64/fpu/s_sincosf.S: Include . - (sincosf): Define using libm_alias_float. - * sysdeps/x86_64/fpu/s_sinf.S: Include . - (sinf): Define using libm_alias_float. - * sysdeps/x86_64/x32/fpu/s_lrintf.S: Include . - (lrintf): Define using libm_alias_float. - - * sysdeps/x86_64/fpu/multiarch/s_atan.c: Include - . - (atan): Define using libm_alias_double. - * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/x86_64/fpu/multiarch/s_floor.c: Include - . - (floor): Define using libm_alias_double. - * sysdeps/x86_64/fpu/multiarch/s_fma.c: Include - . - (fma): Define using libm_alias_double. - * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Include - . - (nearbyint): Define using libm_alias_double. - * sysdeps/x86_64/fpu/multiarch/s_rint.c: Include - . - (rint): Define using libm_alias_double. - * sysdeps/x86_64/fpu/multiarch/s_sin.c: Include - . - (sin): Define using libm_alias_double. - (cos): Likewise. - * sysdeps/x86_64/fpu/multiarch/s_tan.c: Include - . - (tan): Define using libm_alias_double. - * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Include - . - (trunc): Define using libm_alias_double. - * sysdeps/x86_64/fpu/s_copysign.S: Include . - (copysign): Define using libm_alias_double. - * sysdeps/x86_64/fpu/s_fabs.c: Include . - (fabs): Define using libm_alias_double. - * sysdeps/x86_64/fpu/s_fmax.S: Include . - (fmax): Define using libm_alias_double. - * sysdeps/x86_64/fpu/s_fmin.S: Include . - (fmin): Define using libm_alias_double. - * sysdeps/x86_64/fpu/s_llrint.S: Include . - (llrint): Define using libm_alias_double. - [!__ILP32__] (lrint): Likewise. - * sysdeps/x86_64/x32/fpu/s_lrint.S: Include . - (lrint): Define using libm_alias_double. - -2017-11-29 Adhemerval Zanella - - * sysdeps/sparc/sparc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_rintf-generic and s_rint-generic - objects. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rint-generic.S: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-generic.S: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: Remove file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: Likewise. - - * sysdeps/sparc/sparc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_lrint-generic and s_lrintf-generic - objects. - * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-generic.S: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-generic.S: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S: Remove file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S: Likewise. - - * sysdeps/sparc/sparc64/fpu/multiarch/Makefile - (libm-sysdep_routines): Add s_nearbyint-generic and - s_nearbyintf-generic objects. - * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-generic.S: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-generic.S: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.S: Remove file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.S: Likewise. - - * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls): - Add s_finitef-generic and s_finite-generic objects. - * sysdeps/sparc/sparc64/fpu/multiarch/s_finite-generic.S: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-generic.S: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S: Remove file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S: Remove file. - - * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls): - Add s_isinff-generic and s_isinf-generic objects. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-generic.S: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-generic.S: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S: Remove file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S: Likewise. - - * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls): - Add s_isnanf-generic and s_isnan-generic objects. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-generic.S: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-generic.S: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S: Remove file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S: Likewise. - - * sysdeps/sparc/sparc-ifunc.h (sparc_libm_ifunc_redirected): New - macro. - * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdep_calls): New - rule. - (sysdep_routines): Use sysdep_calls as base. - (libm-sysdep_routines): Add generic rule for symbols shared with - libc. Add s_signbit-generic and s_signbitf-generic objects. - * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.c: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-generic.S: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-generic.S: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: Remove file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: Likewise. - -2017-11-29 Joseph Myers - - * sysdeps/ia64/fpu/libm-symbols.h: Include . - * sysdeps/ia64/fpu/e_acosf.S (acosf): Use libm_alias_float_other. - * sysdeps/ia64/fpu/e_acoshf.S (acoshf): Likewise. - * sysdeps/ia64/fpu/e_asinf.S (asinf): Likewise. - * sysdeps/ia64/fpu/e_atan2f.S (atan2f): Likewise. - * sysdeps/ia64/fpu/e_atanhf.S (atanhf): Likewise. - * sysdeps/ia64/fpu/e_coshf.S (coshf): Likewise. - * sysdeps/ia64/fpu/e_exp10f.S (exp10f): Likewise. - * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Likewise. - * sysdeps/ia64/fpu/e_expf.S (expf): Likewise. - * sysdeps/ia64/fpu/e_fmodf.S (fmodf): Likewise. - * sysdeps/ia64/fpu/e_hypotf.S (hypotf): Likewise. - * sysdeps/ia64/fpu/e_lgammaf_r.c (lgammaf_r): Define using - libm_alias_float_r. - * sysdeps/ia64/fpu/e_log2f.S (log2f): Use libm_alias_float_other. - * sysdeps/ia64/fpu/e_logf.S (log10f): Likewise. - (logf): Likewise. - * sysdeps/ia64/fpu/e_powf.S (powf): Likewise. - * sysdeps/ia64/fpu/e_remainderf.S (remainderf): Likewise. - * sysdeps/ia64/fpu/e_sinhf.S (sinhf): Likewise. - * sysdeps/ia64/fpu/e_sqrtf.S (sqrtf): Likewise. - * sysdeps/ia64/fpu/libm_sincosf.S (sincosf): Likewise. - * sysdeps/ia64/fpu/s_asinhf.S (asinhf): Likewise. - * sysdeps/ia64/fpu/s_atanf.S (atanf): Likewise. - * sysdeps/ia64/fpu/s_cbrtf.S (cbrtf): Likewise. - * sysdeps/ia64/fpu/s_ceilf.S (ceilf): Likewise. - * sysdeps/ia64/fpu/s_copysign.S (copysignf): Define using - libm_alias_float. - * sysdeps/ia64/fpu/s_cosf.S (sinf): Use libm_alias_float_other. - (cosf): Likewise. - * sysdeps/ia64/fpu/s_erfcf.S (erfcf): Likewise. - * sysdeps/ia64/fpu/s_erff.S (erff): Likewise. - * sysdeps/ia64/fpu/s_expm1f.S (expm1f): Likewise. - * sysdeps/ia64/fpu/s_fabsf.S (fabsf): Likewise. - * sysdeps/ia64/fpu/s_fdimf.S (fdimf): Likewise. - * sysdeps/ia64/fpu/s_floorf.S (floorf): Likewise. - * sysdeps/ia64/fpu/s_fmaf.S (fmaf): Likewise. - * sysdeps/ia64/fpu/s_fmaxf.S (fmaxf): Likewise. - * sysdeps/ia64/fpu/s_frexpf.c (frexpf): Likewise. - * sysdeps/ia64/fpu/s_ldexpf.c (ldexpf): Likewise. - * sysdeps/ia64/fpu/s_log1pf.S (log1pf): Likewise. - * sysdeps/ia64/fpu/s_logbf.S (logbf): Likewise. - * sysdeps/ia64/fpu/s_modff.S (modff): Likewise. - * sysdeps/ia64/fpu/s_nearbyintf.S (nearbyintf): Likewise. - * sysdeps/ia64/fpu/s_nextafterf.S (nextafterf): Likewise. - * sysdeps/ia64/fpu/s_rintf.S (rintf): Likewise. - * sysdeps/ia64/fpu/s_roundf.S (roundf): Likewise. - * sysdeps/ia64/fpu/s_scalblnf.c (scalblnf): Likewise. - * sysdeps/ia64/fpu/s_scalbnf.c (scalbnf): Define using - libm_alias_float. - * sysdeps/ia64/fpu/s_tanf.S (tanf): Use libm_alias_float_other. - * sysdeps/ia64/fpu/s_tanhf.S (tanhf): Likewise. - * sysdeps/ia64/fpu/s_truncf.S (truncf): Likewise. - * sysdeps/ia64/fpu/w_lgammaf_main.c - [BUILD_LGAMMA && !USE_AS_COMPAT] (lgammaf): Likewise. - * sysdeps/ia64/fpu/w_tgammaf_compat.S (tgammaf): Likewise. - -2017-11-28 Mike FABIAN - Alexandre Oliva - - [BZ #17750] - * Makefile: add fr_CA.UTF-8 to test-input and LOCALES. - * localedata/fr_CA.UTF-8.in: New file with test data for backward - accents sorting. - * localedata/fr_FR.UTF-8.in: Fix test data for forward accents - sorting. - * localedata/locales/cs_CZ (LC_COLLATE): Remove “define DIACRIT_FORWARD” - * localedata/locales/de_DE (LC_COLLATE): Likewise. - * localedata/locales/hu_HU (LC_COLLATE): Likewise. - * localedata/locales/lb_LU (LC_COLLATE): Likewise. - * localedata/locales/yuw_PG (LC_COLLATE): Likewise. - * localedata/locales/fr_CA (LC_COLLATE): Add “define DIACRIT_BACKWARD” - * localedata/locales/iso14651_t1_common: Use “ifdef DIACRIT_FORWARD” - instead of “ifdef DIACRIT_BACKWARD”. - -2017-11-29 Adhemerval Zanella - - * config.h.in (HAVE_AS_VIS3_SUPPORT): Remove check for VIS3 support. - * sysdeps/sparc/configure.ac (HAVE_AS_VIS3_SUPPORT): Likewise. - * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Likewise. - * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c: Likewise. - * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Likewise. - * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Likewise. - * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Likewise. - * sysdeps/sparc/sparc-ifunc.h [!HAVE_AS_VIS3_SUPPORT] - (SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros. - * sysdeps/sparc/sparc32/sparcv9/Makefile [$(have-as-vis3) != yes] - (ASFLAGS.o, ASFLAGS-.os, ASFLAGS-.op, ASFLAGS-.oS): Remove rules. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile - ($(have-as-vis3) == yes): Remove conditional. - * sysdeps/sparc/sparc64/Makefile (($(have-as-vis3) == yes)): - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-generic.c: New - file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-generic.c: New - file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-generic.c: New - file. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-generic.c: New - file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-generic.c: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-generic.c: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_floor-generic.c: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-generic.c: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_fma-generic.c: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-generic.c: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-generic.c: New file. - * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-generic.c: New file. - -2017-11-29 Joseph Myers - - * sysdeps/ia64/fpu/libm-symbols.h: Include . - * sysdeps/ia64/fpu/e_acos.S (acos): Use libm_alias_double_other. - * sysdeps/ia64/fpu/e_acosh.S (acosh): Likewise. - * sysdeps/ia64/fpu/e_asin.S (asin): Likewise. - * sysdeps/ia64/fpu/e_atan2.S (atan2): Likewise. - * sysdeps/ia64/fpu/e_atanh.S (atanh): Likewise. - * sysdeps/ia64/fpu/e_cosh.S (cosh): Likewise. - * sysdeps/ia64/fpu/e_exp.S (exp): Likewise. - * sysdeps/ia64/fpu/e_exp10.S (exp10): Likewise. - * sysdeps/ia64/fpu/e_exp2.S (exp2): Likewise. - * sysdeps/ia64/fpu/e_fmod.S (fmod): Likewise. - * sysdeps/ia64/fpu/e_hypot.S (hypot): Likewise. - * sysdeps/ia64/fpu/e_lgamma_r.c (lgamma_r): Define using - libm_alias_double_r. - * sysdeps/ia64/fpu/e_log.S (log10): Use libm_alias_double_other. - (log): Likewise. - * sysdeps/ia64/fpu/e_log2.S (log2): Likewise. - * sysdeps/ia64/fpu/e_pow.S (pow): Likewise. - * sysdeps/ia64/fpu/e_remainder.S (remainder): Likewise. - * sysdeps/ia64/fpu/e_sinh.S (sinh): Likewise. - * sysdeps/ia64/fpu/e_sqrt.S (sqrt): Likewise. - * sysdeps/ia64/fpu/libm_sincos.S (sincos): Likewise. - * sysdeps/ia64/fpu/s_asinh.S (asinh): Likewise. - * sysdeps/ia64/fpu/s_atan.S (atan): Likewise. - * sysdeps/ia64/fpu/s_cbrt.S (cbrt): Likewise. - * sysdeps/ia64/fpu/s_ceil.S (ceil): Likewise. - * sysdeps/ia64/fpu/s_copysign.S (copysign): Define using - libm_alias_double. - * sysdeps/ia64/fpu/s_cos.S (sin): Use libm_alias_double_other. - (cos): Likewise. - * sysdeps/ia64/fpu/s_erf.S (erf): Likewise. - * sysdeps/ia64/fpu/s_erfc.S (erfc): Likewise. - * sysdeps/ia64/fpu/s_expm1.S (expm1): Likewise. - * sysdeps/ia64/fpu/s_fabs.S (fabs): Likewise. - * sysdeps/ia64/fpu/s_fdim.S (fdim): Likewise. - * sysdeps/ia64/fpu/s_floor.S (floor): Likewise. - * sysdeps/ia64/fpu/s_fma.S (fma): Likewise. - * sysdeps/ia64/fpu/s_fmax.S (fmax): Likewise. - * sysdeps/ia64/fpu/s_frexp.c (frexp): Likewise. - * sysdeps/ia64/fpu/s_ldexp.c (ldexp): Likewise. - * sysdeps/ia64/fpu/s_log1p.S (log1p): Likewise. - * sysdeps/ia64/fpu/s_logb.S (logb): Likewise. - * sysdeps/ia64/fpu/s_modf.S (modf): Likewise. - * sysdeps/ia64/fpu/s_nearbyint.S (nearbyint): Likewise. - * sysdeps/ia64/fpu/s_nextafter.S (nextafter): Likewise. - * sysdeps/ia64/fpu/s_rint.S (rint): Likewise. - * sysdeps/ia64/fpu/s_round.S (round): Likewise. - * sysdeps/ia64/fpu/s_scalbn.c (scalbn): Define using - libm_alias_double. - * sysdeps/ia64/fpu/s_tan.S (tan): Use libm_alias_double_other. - * sysdeps/ia64/fpu/s_tanh.S (tanh): Likewise. - * sysdeps/ia64/fpu/s_trunc.S (trunc): Likewise. - * sysdeps/ia64/fpu/w_lgamma_main.c - [BUILD_LGAMMA && !USE_AS_COMPAT] (lgamma): Likewise. - * sysdeps/ia64/fpu/w_tgamma_compat.S (tgamma): Likewise. - -2017-11-28 John David Anglin - - * sysdeps/hppa/start.S (_start): Check PIC instead of SHARED. Load - address of $global$ into %dp register earlier. Use pc-relative - instruction sequence for PIC case. - -2017-11-28 Joseph Myers - - * sysdeps/i386/fpu/s_asinhf.S: Include . - (asinhf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_atanf.S: Include . - (atanf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_cbrtf.S: Include . - (cbrtf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_ceilf.S: Include . - (ceilf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_copysignf.S: Include . - (copysignf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_expm1f.S: Include . - (expm1f): Define using libm_alias_float. - * sysdeps/i386/fpu/s_fabsf.S: Include . - (fabsf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_floorf.S: Include . - (floorf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_fmaxf.S: Include . - (fmaxf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_fminf.S: Include . - (fminf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_frexpf.S: Include . - (frexpf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_llrintf.S: Include . - (llrintf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_logbf.S: Include . - (logbf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_lrintf.S: Include . - (lrintf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_nearbyintf.S: Include . - (nearbyintf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_remquof.S: Include . - (remquof): Define using libm_alias_float. - * sysdeps/i386/fpu/s_rintf.S: Include . - (rintf): Define using libm_alias_float. - * sysdeps/i386/fpu/s_truncf.S: Include . - (truncf): Define using libm_alias_float. - * sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Include - . - (exp2f): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Include - . - (expf): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Include - . - (log2f): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Include - . - (logf): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Include - . - (powf): Define using libm_alias_float, or libm_alias_float_other - if [SHARED]. - * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include - . - (cosf): Define using libm_alias_float. - * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include - . - (sincosf): Define using libm_alias_float. - * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include - . - (sinf): Define using libm_alias_float. - * sysdeps/i386/i686/fpu/s_fmaxf.S: Include . - (fmaxf): Define using libm_alias_float. - * sysdeps/i386/i686/fpu/s_fminf.S: Include . - (fminf): Define using libm_alias_float. - * sysdeps/i386/i686/multiarch/s_fmaf.c: Include - . - (fmaf): Define using libm_alias_float. - - * sysdeps/i386/fpu/s_asinh.S: Include . - (asinh): Define using libm_alias_double. - * sysdeps/i386/fpu/s_atan.S: Include . - (atan): Define using libm_alias_double. - * sysdeps/i386/fpu/s_cbrt.S: Include . - (cbrt): Define using libm_alias_double. - * sysdeps/i386/fpu/s_ceil.S: Include . - (ceil): Define using libm_alias_double. - * sysdeps/i386/fpu/s_copysign.S: Include . - (copysign): Define using libm_alias_double. - * sysdeps/i386/fpu/s_expm1.S: Include . - (expm1): Define using libm_alias_double. - * sysdeps/i386/fpu/s_fabs.S: Include . - (fabs): Define using libm_alias_double. - * sysdeps/i386/fpu/s_fdim.c: Include . - (fdim): Define using libm_alias_double. - * sysdeps/i386/fpu/s_floor.S: Include . - (floor): Define using libm_alias_double. - * sysdeps/i386/fpu/s_fmax.S: Include . - (fmax): Define using libm_alias_double. - * sysdeps/i386/fpu/s_fmin.S: Include . - (fmin): Define using libm_alias_double. - * sysdeps/i386/fpu/s_frexp.S: Include . - (frexp): Define using libm_alias_double. - * sysdeps/i386/fpu/s_llrint.S: Include . - (llrint): Define using libm_alias_double. - * sysdeps/i386/fpu/s_logb.S: Include . - (logb): Define using libm_alias_double. - * sysdeps/i386/fpu/s_lrint.S: Include . - (lrint): Define using libm_alias_double. - * sysdeps/i386/fpu/s_nearbyint.S: Include . - (nearbyint): Define using libm_alias_double. - * sysdeps/i386/fpu/s_remquo.S: Include . - (remquo): Define using libm_alias_double. - * sysdeps/i386/fpu/s_rint.S: Include . - (rint): Define using libm_alias_double. - * sysdeps/i386/fpu/s_trunc.S: Include . - (trunc): Define using libm_alias_double. - * sysdeps/i386/i686/fpu/s_fmax.S: Include . - (fmax): Define using libm_alias_double. - * sysdeps/i386/i686/fpu/s_fmin.S: Include . - (fmin): Define using libm_alias_double. - * sysdeps/i386/i686/multiarch/s_fma.c: Include . - (fma): Define using libm_alias_double. - -2017-11-28 H.J. Lu - - [BZ #22370] - * elf/dl-hwcaps.c (ROUND): Removed. - (_dl_important_hwcaps): Replace ROUND with ELF_NOTE_DESC_OFFSET - and ELF_NOTE_NEXT_OFFSET. - * elf/dl-load.c (ROUND): Removed. - (open_verify): Replace ROUND with ELF_NOTE_NEXT_OFFSET. - * elf/readelflib.c (ROUND): Removed. - (process_elf_file): Replace ROUND with ELF_NOTE_NEXT_OFFSET. - * include/elf.h [!_ISOMAC]: Include . - [!_ISOMAC] (ELF_NOTE_DESC_OFFSET): New. - [!_ISOMAC] (ELF_NOTE_NEXT_OFFSET): Likewise. - -2017-11-28 Joseph Myers - - * sysdeps/s390/fpu/s_fmaf.c: Include . - [!__fmaf] (fmaf): Define using libm_alias_float. - - * sysdeps/s390/fpu/s_fma.c: Include . - [!__fma] (fma): Define using libm_alias_double. - * sysdeps/unix/sysv/linux/s390/fpu/s_fma.c: Remove. - -2017-11-28 Mike FABIAN - - [BZ #22336] - * localedata/locales/cs_CZ (LC_COLLATE): Use “copy "iso14651_t1"” - and implement the collation rules for cs from CLDR on top of that. - * Makefile: Add cs_CZ.UTF-8 to test-input. - * cs_CZ.UTF-8.in: New file with test data to test the Czech sorting. - -2017-11-28 Siddhesh Poyarekar - - * localedata/Makefile (LOCALES): Remove duplicate cs_CZ.UTF-8. - -2017-11-28 Victor Rodriguez - Icarus Sparry - - * benchtests/Makefile:Add BENCHSET to allow subsets of - benchmarks to be run. - * benchtests/README: Add documentation for: Running subsets of - benchmarks. - -2017-11-28 Victor Rodriguez - - * benchtests/scripts/benchout.schema.json: Fix regex to accept a wider - range of tests names. - - * benchtests/scripts/benchout.schema.json: Add throughput as accepted - result from property and remove "max", min" and "mean" from - required properties based on benchtests/bench-skeleton.c. - -2017-11-28 Florian Weimer - - [BZ #20826] - Turn posix/tst-getaddrinfo4, posix/tst-getaddrinfo5 into xtests - due to Internet requirement. - * posix/Makefile (tests): Remove tst-getaddrinfo4, - tst-getaddrinfo5. - (xtests): Add tst-getaddrinfo4, tst-getaddrinfo5. - -2017-11-28 Adhemerval Zanella - - * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile - [$(subdir) = string] (sysdep_routines): Add memset-ultra1. - * sysdeps/sparc/sparc64/multiarch/Makefile [$(subdir) = string] - (sysdep_routines): Add memset-ultra1. - * sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S: New - file. - * sysdeps/sparc/sparc32/sparcv9/multiarch/memset.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/multiarch/bzero.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/ifunc-memset.h: Likewise. - * sysdeps/sparc/sparc64/multiarch/memset-ultra1.S: Likewise. - * sysdeps/sparc/sparc64/multiarch/memset.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/bzero.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/multiarch/memset.S: Remove file. - * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. - - * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-ultra1.S: New - file. - * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/multiarch/mempcpy.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h: Likewise. - * sysdeps/sparc/sparc64/multiarch/memcpy-ultra1.S: Likewise. - * sysdeps/sparc/sparc64/multiarch/memcpy.c: Likewise. - * sysdeps/sparc/sparc64/multiarch/mempcpy.c: Likewise. - * sysdeps/sparc/sparc-ifunc.h (sparc_libc_ifunc_redirected): New - macro. - * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile - [$(subdir) = string] (sysdep_routines): Add memcpy-ultra1. - * sysdeps/sparc/sparc64/multiarch/Makefile [$(subdir) = string] - (sysdep_routines): Add memcpy-ultra1. - * sysdeps/sparc/sparc64/multiarch/memcpy.S: Remove file. - * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.S: Likewise. - -2017-11-28 Joseph Myers - - * sysdeps/alpha/fpu/cfloat-compat.h: Include . - (cfloat_versions): Take function argument without trailing 'f'. - Call libm_alias_float_other. - * sysdeps/alpha/fpu/cabsf.c: Update call to cfloat_versions. - * sysdeps/alpha/fpu/cargf.c: Likewise. - * sysdeps/alpha/fpu/cimagf.c: Likewise. - * sysdeps/alpha/fpu/conjf.c: Likewise. - * sysdeps/alpha/fpu/crealf.c: Likewise. - * sysdeps/alpha/fpu/s_cacosf.c: Likewise. - * sysdeps/alpha/fpu/s_cacoshf.c: Likewise. - * sysdeps/alpha/fpu/s_casinf.c: Likewise. - * sysdeps/alpha/fpu/s_casinhf.c: Likewise. - * sysdeps/alpha/fpu/s_catanf.c: Likewise. - * sysdeps/alpha/fpu/s_catanhf.c: Likewise. - * sysdeps/alpha/fpu/s_ccosf.c: Likewise. - * sysdeps/alpha/fpu/s_ccoshf.c: Likewise. - * sysdeps/alpha/fpu/s_cexpf.c: Likewise. - * sysdeps/alpha/fpu/s_clogf.c: Likewise. - * sysdeps/alpha/fpu/s_cpowf.c: Likewise. - * sysdeps/alpha/fpu/s_cprojf.c: Likewise. - * sysdeps/alpha/fpu/s_csinf.c: Likewise. - * sysdeps/alpha/fpu/s_csinhf.c: Likewise. - * sysdeps/alpha/fpu/s_csqrtf.c: Likewise. - * sysdeps/alpha/fpu/s_ctanf.c: Likewise. - * sysdeps/alpha/fpu/s_ctanhf.c: Likewise. - * sysdeps/alpha/fpu/s_clog10f.c: Include . - (clog10f): Use libm_alias_float_other. - * sysdeps/alpha/fpu/s_ceilf.c: Include . - (ceilf): Define using libm_alias_float. - * sysdeps/alpha/fpu/s_copysignf.c: Include . - (copysignf): Define using libm_alias_float. - * sysdeps/alpha/fpu/s_fabsf.c: Include . - (fabsf): Define using libm_alias_float. - * sysdeps/alpha/fpu/s_floorf.c: Include . - (floorf): Define using libm_alias_float. - * sysdeps/alpha/fpu/s_fmax.S: Include . - (fmaxf): Define using libm_alias_float. - * sysdeps/alpha/fpu/s_fmin.S: Include . - (fminf): Define using libm_alias_float. - * sysdeps/alpha/fpu/s_lrintf.c: Include . - (lrintf): Define using libm_alias_float. - (llrintf): Likewise. - * sysdeps/alpha/fpu/s_lroundf.c: Include . - (lroundf): Define using libm_alias_float. - (llroundf): Likewise. - * sysdeps/alpha/fpu/s_rintf.c: Include . - (rintf): Define using libm_alias_float. - * sysdeps/alpha/fpu/s_truncf.c: Include . - (truncf): Define using libm_alias_float. - - * sysdeps/aarch64/fpu/s_ceilf.c: Include . - (ceilf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_floorf.c: Include . - (floorf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_fmaf.c: Include . - (fmaf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_fmaxf.c: Include . - (fmaxf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_fminf.c: Include . - (fminf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_llrintf.c: Include . - (llrintf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_llroundf.c: Include . - (llroundf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_lrintf.c: Include . - (lrintf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_lroundf.c: Include . - (lroundf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_nearbyintf.c: Include - . - (nearbyintf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_rintf.c: Include . - (rintf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_roundf.c: Include . - (roundf): Define using libm_alias_float. - * sysdeps/aarch64/fpu/s_truncf.c: Include . - (truncf): Define using libm_alias_float. - - * sysdeps/alpha/fpu/s_ceil.c: Include . - (ceil): Define using libm_alias_double. - * sysdeps/alpha/fpu/s_copysign.c: Include . - (copysign): Define using libm_alias_double. - * sysdeps/alpha/fpu/s_fabs.c: Include . - (fabs): Define using libm_alias_double. - * sysdeps/alpha/fpu/s_floor.c: Include . - (floor): Define using libm_alias_double. - * sysdeps/alpha/fpu/s_fmax.S: Include . - (fmax): Define using libm_alias_double. - * sysdeps/alpha/fpu/s_fmin.S: Include . - (fmin): Define using libm_alias_double. - * sysdeps/alpha/fpu/s_lrint.c: Include . - (lrint): Define using libm_alias_double. - (llrint): Likewise. - * sysdeps/alpha/fpu/s_lround.c: Include . - (lround): Define using libm_alias_double. - (llround): Likewise. - * sysdeps/alpha/fpu/s_rint.c: Include . - (rint): Define using libm_alias_double. - * sysdeps/alpha/fpu/s_trunc.c: Include . - (trunc): Define using libm_alias_double. - - * sysdeps/ieee754/ldbl-opt/libm-alias-double.h - (libm_alias_double_r): Add semicolon after weak_alias call. - -2017-11-27 Joseph Myers - - * sysdeps/aarch64/fpu/s_ceil.c: Include . - (ceil): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_floor.c: Include . - (floor): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_fma.c: Include . - (fma): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_fmax.c: Include . - (fmax): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_fmin.c: Include . - (fmin): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_llrint.c: Include . - (llrint): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_llround.c: Include . - (llround): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_lrint.c: Include . - (lrint): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_lround.c: Include . - (lround): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_nearbyint.c: Include . - (nearbyint): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_rint.c: Include . - (rint): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_round.c: Include . - (round): Define using libm_alias_double. - * sysdeps/aarch64/fpu/s_trunc.c: Include . - (trunc): Define using libm_alias_double. - -2017-11-27 Florian Weimer - - * sysdeps/unix/sysv/linux/mlock2.c: New file. - * sysdeps/unix/sysv/linux/tst-mlock2.c: Likewise. - * sysdeps/unix/sysv/linux/Makefile (routines): Add mlock2. - (tests): Add tst-mlock2. - * sysdeps/unix/sysv/linux/Versions (GLIBC_2.27): Export mlock2. - * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_MLOCK2) - [__LINUX_KERNEL_VERSION >= 4.4]: Define. - * sysdeps/unix/sysv/linux/libc**.abilist: Update. - * manual/memory.texi (Page Lock Functions): Move @end deftypefun - for mlock. Document mlock2. - -2017-11-27 Joseph Myers - - * sysdeps/ia64/Makeconfig (float64x-alias-fcts): New variable. - * sysdeps/ieee754/float128/Makeconfig (float64x-alias-fcts): - Likewise. - * sysdeps/ieee754/ldbl-128/Makeconfig (float64x-alias-fcts): - Likewise. - * sysdeps/x86/Makeconfig: New file. - * bits/floatn-common.h (__HAVE_FLOAT64X): Remove macro. - (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. - * bits/floatn.h (__HAVE_FLOAT64X): New macro. - (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. - * sysdeps/ia64/bits/floatn.h (__HAVE_FLOAT64X): Likewise. - (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. - * sysdeps/ieee754/ldbl-128/bits/floatn.h (__HAVE_FLOAT64X): - Likewise. - (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. - * sysdeps/mips/ieee754/bits/floatn.h (__HAVE_FLOAT64X): Likewise. - (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. - * sysdeps/powerpc/bits/floatn.h (__HAVE_FLOAT64X): Likewise. - (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. - * sysdeps/x86/bits/floatn.h (__HAVE_FLOAT64X): Likewise. - (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. - * manual/math.texi (Mathematics): Document support for _Float64x. - * math/Versions (GLIBC_2.27): Add _Float64x functions. - * stdlib/Versions (GLIBC_2.27): Likewise. - * wcsmbs/Versions (GLIBC_2.27): Likewise. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - -2017-11-27 Andreas Schwab - - * elf/Makefile (dl-routines): Add dl-sort-maps. - * elf/dl-sort-maps.c: New file. - * sysdeps/generic/ldsodefs.h (_dl_sort_fini): Don't declare. - (_dl_sort_maps): Declare. - * elf/dl-fini.c (_dl_sort_fini): Remove. - (_dl_fini): Use _dl_sort_maps instead of _dl_sort_fini. - * elf/dl-close.c (_dl_close_worker): Likewise. - * elf/dl-deps.c (_dl_map_object_deps): Use _dl_sort_maps instead of - open-coding it. - * elf/dl-open.c (dl_open_worker): Likewise. - -2017-11-24 Joseph Myers - - * sysdeps/ieee754/float128/s_fromfpf128.c (fromfpf128): Define - using libm_alias_float128. - * sysdeps/ieee754/float128/s_fromfpxf128.c (fromfpxf128): - Likewise. - * sysdeps/ieee754/float128/s_setpayloadf128.c (setpayloadf128): - Likewise. - * sysdeps/ieee754/float128/s_setpayloadsigf128.c - (setpayloadsigf128): Likewise. - * sysdeps/ieee754/float128/s_ufromfpf128.c (ufromfpf128): - Likewise. - * sysdeps/ieee754/float128/s_ufromfpxf128.c (ufromfpxf128): - Likewise. - - * sysdeps/powerpc/powerpc64le/Makefile ($(foreach - suf,$(all-object-suffixes),$(objpfx)test-float64x%$(suf))): Add - -mfloat128 to CFLAGS. - ($(foreach - suf,$(all-object-suffixes),$(objpfx)test-ifloat64x%$(suf))): - Likewise. - (CFLAGS-libm-test-support-float64x.c): New variable. - ($(objpfx)test-float64x% $(objpfx)test-ifloat64x%): Add - $(f128-loader-link) to gnulib-tests. - - * sysdeps/generic/libm-alias-float128.h: Include . - (libm_alias_float128_other_r): If - [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE], define f64x - alias. - (libm_alias_float128_r): Add semicolon after weak_alias call. - * sysdeps/generic/libm-alias-ldouble.h - (libm_alias_ldouble_other_r_f128): New macro. - (libm_alias_ldouble_other_r_f64x): Likewise. - (libm_alias_ldouble_other_r): Use libm_alias_ldouble_other_r_f128 - and libm_alias_ldouble_other_r_f64x. - (libm_alias_ldouble_r): Add semicolon after weak_alias call. - * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h - (libm_alias_ldouble_other_r_f128): New macro. - (libm_alias_ldouble_other_r_f64x): Likewise. - (libm_alias_ldouble_other_r): Use libm_alias_ldouble_other_r_f128 - and libm_alias_ldouble_other_r_f64x. - - * stdlib/strfroml.c: Always include . - [__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): Define and later - undefine as macro and define as weak alias. - * sysdeps/ieee754/float128/strfromf128.c: Include . - [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE]: Include - . - [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): - Define and later undefine as macro and define as weak alias. - - * stdlib/strtold.c [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x): - Define and later undefine as macro. Define as weak alias if - [!USE_WIDE_CHAR]. - [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x): Define and later - undefine as macro. Define as weak alias if [USE_WIDE_CHAR]. - * sysdeps/ieee754/float128/strtof128.c: Include . - [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x): - Define and later undefine as macro. Define as weak alias if - [!USE_WIDE_CHAR]. - [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x): - Define and later undefine as macro. Define as weak alias if - [USE_WIDE_CHAR]. - * sysdeps/ieee754/float128/strtof128_l.c - [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): - Define and later undefine as macro. Define as weak alias if - [!USE_WIDE_CHAR]. - [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): - Define and later undefine as macro. Define as weak alias if - [USE_WIDE_CHAR]. - * sysdeps/ieee754/ldbl-128/strtold_l.c - [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later - undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. - [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later - undefine as macro. Define as weak alias if [USE_WIDE_CHAR]. - * sysdeps/ieee754/ldbl-64-128/strtold_l.c - [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later - undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. - [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later - undefine as macro. Define as weak alias if [USE_WIDE_CHAR]. - * sysdeps/ieee754/ldbl-96/strtold_l.c - [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later - undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. - [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later - undefine as macro. Define as weak alias if [USE_WIDE_CHAR]. - - * math/test-float64x.h: New file. - * math/Makefile (type-float64x-yes): New variable. - (test-types): Add $(type-float64x-$(float64x-alias-fcts)). - - * sysdeps/generic/math_private.h (min_of_type_f): Make into a - function-like macro. - (min_of_type_): Likewise. - (min_of_type_l): Likewise. - (min_of_type_f128): Likewise. - (min_of_type): Pass () as last argument of __MATH_TG. - - * stdlib/tst-strtod-round-skeleton.c - (__STDC_WANT_IEC_60559_TYPES_EXT__): Define before including - headers. - - * math/gen-tgmath-tests.py (Type.init_types): Pass suffix argument - for combinations of long double with _Float64 and _Float64x. - - * bits/libm-simd-decl-stubs.h (__DECL_SIMD_cosf16): New macro. - (__DECL_SIMD_cosf32): Likewise. - (__DECL_SIMD_cosf64): Likewise. - (__DECL_SIMD_cosf32x): Likewise. - (__DECL_SIMD_cosf64x): Likewise. - (__DECL_SIMD_cosf128x): Likewise. - (__DECL_SIMD_sinf16): Likewise. - (__DECL_SIMD_sinf32): Likewise. - (__DECL_SIMD_sinf64): Likewise. - (__DECL_SIMD_sinf32x): Likewise. - (__DECL_SIMD_sinf64x): Likewise. - (__DECL_SIMD_sinf128x): Likewise. - (__DECL_SIMD_sincosf16): Likewise. - (__DECL_SIMD_sincosf32): Likewise. - (__DECL_SIMD_sincosf64): Likewise. - (__DECL_SIMD_sincosf32x): Likewise. - (__DECL_SIMD_sincosf64x): Likewise. - (__DECL_SIMD_sincosf128x): Likewise. - (__DECL_SIMD_logf16): Likewise. - (__DECL_SIMD_logf32): Likewise. - (__DECL_SIMD_logf64): Likewise. - (__DECL_SIMD_logf32x): Likewise. - (__DECL_SIMD_logf64x): Likewise. - (__DECL_SIMD_logf128x): Likewise. - (__DECL_SIMD_expf16): Likewise. - (__DECL_SIMD_expf32): Likewise. - (__DECL_SIMD_expf64): Likewise. - (__DECL_SIMD_expf32x): Likewise. - (__DECL_SIMD_expf64x): Likewise. - (__DECL_SIMD_expf128x): Likewise. - (__DECL_SIMD_powf16): Likewise. - (__DECL_SIMD_powf32): Likewise. - (__DECL_SIMD_powf64): Likewise. - (__DECL_SIMD_powf32x): Likewise. - (__DECL_SIMD_powf64x): Likewise. - (__DECL_SIMD_powf128x): Likewise. - - * stdlib/Versions (libc): Move entries for wcstof128 and - wcstof128_l to .... - * wcsmbs/Versions (libc): ... here. - Include . - -2017-11-24 Florian Weimer - - * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add - bits/mman-shared.h. - * sysdeps/unix/sysv/linux/bits/mman-linux.h: Include - . - (MFD_CLOEXEC, MFD_ALLOW_SEALING, MFD_HUGETLB, memfd_create): Move - to ... - * sysdeps/unix/sysv/linux/bits/mman-shared.h: ... this new file. - Add #ifndef guard for the MFD_* constants based on MFD_CLOEXEC. - * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Include - . - -2017-11-24 Adhemerval Zanella - - [BZ #22457] - * sysdeps/posix/preadv_common.c (PREADV): Use mmap/munmap instead of - posix_memalign/free. - * sysdeps/posix/pwritev_common.c (PWRITEV): Likewise. - -2017-11-22 Mike FABIAN - - [BZ #22469] - * localedata/locales/pl_PL (LC_COLLATE): Use “copy "iso14651_t1"” - and implement the collation rules for pl from CLDR on top of that. - * Makefile: Add pl_PL.UTF-8 to test-input and to the list - of locales to be built for testing. - * pl_PL.UTF-8.in: New file with test data to test the Polish sorting. - -2017-11-23 Joseph Myers - - * sysdeps/ia64/fpu/libm-symbols.h: Include . - * sysdeps/ia64/fpu/e_acoshl.S (acoshl): Use - libm_alias_ldouble_other. - * sysdeps/ia64/fpu/e_acosl.S (acosl): Likewise. - * sysdeps/ia64/fpu/e_asinl.S (asinl): Likewise. - * sysdeps/ia64/fpu/e_atanhl.S (atanhl): Likewise. - * sysdeps/ia64/fpu/e_coshl.S (coshl): Likewise. - * sysdeps/ia64/fpu/e_exp10l.S (exp10l): Likewise. - * sysdeps/ia64/fpu/e_exp2l.S (exp2l): Likewise. - * sysdeps/ia64/fpu/e_fmodl.S (fmodl): Likewise. - * sysdeps/ia64/fpu/e_hypotl.S (hypotl): Likewise. - * sysdeps/ia64/fpu/e_lgammal_r.c (lgammal_r): Define using - libm_alias_ldouble_r. - * sysdeps/ia64/fpu/e_log2l.S (log2l): Use - libm_alias_ldouble_other. - * sysdeps/ia64/fpu/e_logl.S (logl): Likewise. - (log10l): Likewise. - * sysdeps/ia64/fpu/e_powl.S (powl): Likewise. - * sysdeps/ia64/fpu/e_remainderl.S (remainderl): Likewise. - * sysdeps/ia64/fpu/e_sinhl.S (sinhl): Likewise. - * sysdeps/ia64/fpu/e_sqrtl.S (sqrtl): Likewise. - * sysdeps/ia64/fpu/libm_sincosl.S (sincosl): Likewise. - * sysdeps/ia64/fpu/s_asinhl.S (asinhl): Likewise. - * sysdeps/ia64/fpu/s_atanl.S (atanl): Likewise. - (atan2l): Likewise. - * sysdeps/ia64/fpu/s_cbrtl.S (cbrtl): Likewise. - * sysdeps/ia64/fpu/s_ceill.S (ceill): Likewise. - * sysdeps/ia64/fpu/s_copysign.S (copysignl): Define using - libm_alias_ldouble. - * sysdeps/ia64/fpu/s_cosl.S (sinl): Use libm_alias_ldouble_other. - (cosl): Likewise. - * sysdeps/ia64/fpu/s_erfcl.S (erfcl): Likewise. - * sysdeps/ia64/fpu/s_erfl.S (erfl): Likewise. - * sysdeps/ia64/fpu/s_expm1l.S (expm1l): Likewise. - (expl): Likewise. - * sysdeps/ia64/fpu/s_fabsl.S (fabsl): Likewise. - * sysdeps/ia64/fpu/s_fdiml.S (fdiml): Likewise. - * sysdeps/ia64/fpu/s_floorl.S (floorl): Likewise. - * sysdeps/ia64/fpu/s_fmal.S (fmal): Likewise. - * sysdeps/ia64/fpu/s_fmaxl.S (fmaxl): Likewise. - * sysdeps/ia64/fpu/s_frexpl.c (frexpl): Likewise. - * sysdeps/ia64/fpu/s_ldexpl.c (ldexpl): Likewise. - * sysdeps/ia64/fpu/s_log1pl.S (log1pl): Likewise. - * sysdeps/ia64/fpu/s_logbl.S (logbl): Likewise. - * sysdeps/ia64/fpu/s_modfl.S (modfl): Likewise. - * sysdeps/ia64/fpu/s_nearbyintl.S (nearbyintl): Define using - libm_alias_ldouble. - * sysdeps/ia64/fpu/s_nextafterl.S (nextafterl): Use - libm_alias_ldouble_other. - * sysdeps/ia64/fpu/s_rintl.S (rintl): Likewise. - * sysdeps/ia64/fpu/s_roundl.S (roundl): Likewise. - * sysdeps/ia64/fpu/s_scalbnl.c (scalbnl): Define using - libm_alias_ldouble. - * sysdeps/ia64/fpu/s_tanhl.S (tanhl): Use - libm_alias_ldouble_other. - * sysdeps/ia64/fpu/s_tanl.S (tanl): Likewise. - * sysdeps/ia64/fpu/s_truncl.S (truncl): Likewise. - * sysdeps/ia64/fpu/w_lgammal_main.c - [BUILD_LGAMMA && !USE_AS_COMPAT] (lgammal): Likewise. - * sysdeps/ia64/fpu/w_tgammal_compat.S (tgammal): Likewise. - -2017-11-23 Florian Weimer - - * malloc/malloc.c (tcache_thread_shutdown): Rename from - tcache_thread_freeres. Define for USE_TCACHE and !USE_TCACHE - alike. Remove freeres marker. - * malloc/arena.c (arena_thread_freeres): Call - tcache_thread_shutdown. - -2017-11-23 Florian Weimer - - [BZ #22459] - Export nscd hash function as __nss_hash. - * include/nss.h (__nss_hash): Declare. - * nis/nis_hash.c (__nis_hash): Call __nss_hash. Turn into compat - symbol. - * nscd/Makefile (aux, nscd-modules): Remove nscd_hash. - * nscd/cache.c (cache_search, cache_add): Call __nss_hash instead - of __nscd_hash. - * nscd/nscd_helper.c (__nscd_cache_search): Likewise. - * nscd/nscd_hash.h, nscd/nscd_hash.c: Remove files. - * nss/Makefiles (routines): Add nss_hash. - * nss/Versions (GLIBC_PRIVATE): Export __nss_hash. - * nss/nss_hash.c: Rename from nis/nis_hash.c. - (__nss_hash): Rename from __nis_hash. Define hidden alias. - * nis/rpcsvc/nislib.h (__nis_hash): Remove declaration. - -2017-11-23 Florian Weimer - - [BZ #22478] - * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Retry on EINTR. - Return error code, not -1. - * signal/tst-sigwait-eintr.c: New file. - * signal/Makefile (tests): Add tst-sigwait-eintr. - -2017-11-23 Florian Weimer - - Linux: Add memfd_create system call wrapper - * sysdeps/unix/sysv/linux/Makefile [misc] (tests): Add - tst-memfd_create. - * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_GNU] - (MFD_CLOEXEC, MFD_ALLOW_SEALING): Define. - [__USE_GNU] (memfd_create): Declare. - * sysdeps/unix/sysv/linux/Versions (GLIBC_2.27): Add memfd_create. - * sysdeps/unix/sysv/linux/syscalls.list (memfd_create): Add. - * sysdeps/unix/sysv/linux/tst-memfd_create.c: New file. - * sysdeps/unix/sysv/linux/**.abilist: Update. - * manual/llio.texi (Memory-mapped I/O): Document memfd_create. - -2017-11-22 Joseph Myers - - * localedata/gen-locale.sh: Fix typo in variable name. - - * resolv/res_debug.c (p_secstodate): Condition definition on - [SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)]. Define - directly as __p_secstodate, and as a compat symbol. Do not use - libresolv_hidden_def. - * resolv/resolv.h (p_secstodate): Remove macro and function - declaration. - * resolv/ns_print.c (ns_sprintrrf): Print times with %lu, not - using p_secstodate. - * include/resolv.h (__p_secstodate): Do not use - libresolv_hidden_proto. - * resolv/Makefile (tests): Move tst-p_secstodate to .... - (tests-internal): ... here. - * resolv/tst-p_secstodate.c: Include . Condition - all contents on [TEST_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)] - and declare and use __p_secstodate and use compat_symbol_reference - in that case. - [!TEST_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)] (do_test): Add - implementation returning 77. - - [BZ #22463] - * resolv/res_debug.c: Include . - (p_secstodate): Assert time_t at least as wide as u_long. On - overflow, use integer seconds since the epoch as output, or use - "" as output and set errno to EOVERFLOW if integer - seconds since the epoch would be 14 or more characters. - (p_secstodate) [__GNUC_PREREQ (7, 0)]: Disable -Wformat-overflow= - for sprintf call. - * resolv/tst-p_secstodate.c: New file. - * resolv/Makefile (tests): Add tst-p_secstodate. - ($(objpfx)tst-p_secstodate): Depend on $(objpfx)libresolv.so. - - * sysdeps/sparc/sparc64/soft-fp/s_frexpl.c: Remove file. - * sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c: Likewise. - -2017-11-22 Paul Eggert - - * posix/regcomp.c (init_word_char): Add comments. - -2017-11-22 Joseph Myers - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - -2017-11-21 Mike FABIAN - - [BZ #15537] - * localedata/locales/lv_LV (LC_COLLATE): Fix collation by - using “copy "iso14651_t1"” and then implementing the - collation rules for lv from CLDR on top of that. - * Makefile: Add lv_LV.UTF-8 to test-input and to the list - of locales to be built for testing. - * lv_LV.UTF-8.in: New file with test data to test the Latvian - sorting. - -2017-11-21 Joseph Myers - - * sysdeps/unix/sysv/linux/hppa/bits/mman.h - [__USE_MISC] (MADV_SPACEAVAIL): Remove macro. - [__USE_MISC] (MADV_VPS_PURGE): Likewise. - [__USE_MISC] (MADV_VPS_INHERIT): Likewise. - [__USE_MISC] (MADV_HWPOISON): New macro. - [__USE_MISC] (MADV_SOFT_OFFLINE): Likewise. - -2017-11-21 Adhemerval Zanella - - * nptl/pthreadP.h (ASSERT_PTHREAD_INTERNAL_SIZE): Add workarond for - -Wmissing-braces on GCC 4.9. - -2017-11-21 Stefan Liebler - - * sysdeps/s390/s390-64/start.S (_start): Add cfi information for r14. - * sysdeps/s390/s390-32/start.S (_start): Likewise - * sysdeps/unix/sysv/linux/s390/s390-64/clone.S - (thread_start): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/clone.S - (thread_start): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S - (__makecontext_ret): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S - (__makecontext_ret): Likewise. - -2017-11-21 Stefan Liebler - - * include/wchar.h (__wcsnlen, __wcscat, __wcsncpy, __wcpncpy, - __wcschrnul): Remove attribute_hidden. - -2017-11-20 Paul Eggert - - regex: don't assume uint64_t or uint32_t - This avoids -Werror=overflow errors for 32-bit systems in - the 64-bit case. Problem reported by Joseph Myers in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00694.html - Also, when this code is used in Gnulib it ports to platforms - that lack uint64_t and uint32_t. The C standard doesn't guarantee - them, and on some 32-bit compilers there is no uint64_t. - Problem reported by Gianluigi Tiesi in: - http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html - * posix/regcomp.c (init_word_char): Don't assume that the types - uint64_t and uint32_t exist. Adapted from Gnulib patch - 2012-05-27T06:40:00!eggert@cs.ucla.edu. See: - https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=252b52457da7887667c036d18cc5169777615bb0 - -2017-11-20 Siddhesh Poyarekar - - * sysdeps/aarch64/memset-reg.h: New file. - * sysdeps/aarch64/memset.S: Use it. - (__memset): Rename to MEMSET macro. - [ZVA_MACRO]: Use zva_macro. - * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): - Add memset_generic and memset_falkor. - * sysdeps/aarch64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Add memset ifuncs. - * sysdeps/aarch64/multiarch/init-arch.h (INIT_ARCH): New - local variable zva_size. - * sysdeps/aarch64/multiarch/memset.c: New file. - * sysdeps/aarch64/multiarch/memset_generic.S: New file. - * sysdeps/aarch64/multiarch/memset_falkor.S: New file. - * sysdeps/aarch64/multiarch/rtld-memset.S: New file. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c - (DCZID_DZP_MASK): New macro. - (DCZID_BS_MASK): Likewise. - (init_cpu_features): Read and set zva_size. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.h - (struct cpu_features): New member zva_size. - - * benchtests/bench-memcpy-walk.c (START_SIZE): Set to 128. - * benchtests/bench-memmove-walk.c (START_SIZE): Likewise. - * benchtests/bench-memset-walk.c (START_SIZE): Likewise. - - * benchtests/bench-memcpy-walk.c (do_one_test): Copy only - backwards. Fix timing computation. - * benchtests/bench-memmove-walk.c (do_one_test): Likewise. - * benchtests/bench-memset-walk.c (do_one_test): Walk backwards - on memset by N at a time. Fix timing computation. - -2017-11-20 Florian Weimer - - * manual/llio.texi (Memory-mapped I/O): Document MAP_HUGETLB, - MADV_HUGEPAGE, MADV_NOHUGEPAGE. - -2017-11-19 Florian Weimer - - manual: Document mprotect - * manual/memory.texi (Memory Protection): New section. - * manual/llio.texi (Memory-mapped I/O): Remove duplicate - documentation of PROT_* flags and reference the Memory Protection - section instead. - -2017-11-19 Florian Weimer - - * manual/llio.texi (I/O Primitives): Move preadv, preadv64, - pwritev, pwritev64, preadv2, preadv64v2, pwritev2, pwritev64v2 ... - (Scatter-Gather): ... to here. Remove misleading comment. - -2017-11-18 Christian Brauner - - * support/support_become_root.c (setup_uid_gid_mapping): Fix comment - style. - - * support/support_become_root.c (setup_uid_gid_mapping): Don't fail - when /proc//setgroups does not exist. - -2017-11-18 Florian Weimer - - * sysdeps/unix/sysv/linux/tst-ttyname.c - (become_root_in_mount_ns): Remove. - (do_in_chroot_1): Call support_enter_mount_namespace. - (do_in_chroot_2): Likewise. - (do_test): Call support_become_root early. - -2017-11-18 Florian Weimer - - * support/namespace.h (support_enter_mount_namespace): Declare. - * support/support_enter_mount_namespace.c: New file. - * support/Makefile (libsupport-routines): Add - support_enter_mount_namespace. - -2017-11-18 Florian Weimer - - * support/temp_file.c (support_create_temp_directory): Use - test_dir and do not rely on the presence of the XXXXXX suffix. - * support/temp_file.h (support_create_temp_directory): Update - comment. - * support/tst-xreadlink.c (do_test): Adjust. - * support/support_chroot.c (support_chroot_create): Likewise. - -2017-11-17 Tulio Magno Quites Machado Filho - - * sysdeps/powerpc/bits/hwcap.h (PPC_FEATURE2_HTM_NO_SUSPEND): New - macro. - * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add - htm-no-suspend. - -2017-11-17 Joseph Myers - - * sysdeps/x86_64/fpu/e_expl.S: Include . - [USE_AS_EXPM1L] (expm1l): Define using libm_alias_ldouble. - * sysdeps/x86_64/fpu/s_ceill.S: Include . - (ceill): Define using libm_alias_ldouble. - * sysdeps/x86_64/fpu/s_copysignl.S: Include - . - (copysignl): Define using libm_alias_ldouble. - * sysdeps/x86_64/fpu/s_fabsl.S: Include . - (fabsl): Define using libm_alias_ldouble. - * sysdeps/x86_64/fpu/s_floorl.S: Include . - (floorl): Define using libm_alias_ldouble. - * sysdeps/x86_64/fpu/s_fmaxl.S: Include . - (fmaxl): Define using libm_alias_ldouble. - * sysdeps/x86_64/fpu/s_fminl.S: Include . - (fminl): Define using libm_alias_ldouble. - * sysdeps/x86_64/fpu/s_llrintl.S: Include . - (llrintl): Define using libm_alias_ldouble. - (lrintl): Likewise. - * sysdeps/x86_64/fpu/s_nearbyintl.S: Include - . - (nearbyintl): Define using libm_alias_ldouble. - * sysdeps/x86_64/fpu/s_truncl.S: Include . - (truncl): Define using libm_alias_ldouble. - * sysdeps/x86_64/x32/fpu/s_lrintl.S: Include - . - (lrintl): Define using libm_alias_ldouble. - - * sysdeps/i386/fpu/e_expl.S: Include . - [USE_AS_EXPM1L] (expm1l): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_asinhl.S: Include . - (asinhl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_atanl.c: Include . - (atanl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_cbrtl.S: Include . - (cbrtl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_ceill.S: Include . - (ceill): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_copysignl.S: Include . - (copysignl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_fabsl.S: Include . - (fabsl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_floorl.S: Include . - (floorl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_fmaxl.S: Include . - (fmaxl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_fminl.S: Include . - (fminl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_frexpl.S: Include . - (frexpl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_llrintl.S: Include . - (llrintl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_logbl.c: Include . - (logbl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_lrintl.S: Include . - (lrintl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_nearbyintl.S: Include . - (nearbyintl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_nextafterl.c: Include . - (nextafterl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_remquol.S: Include . - (remquol): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_rintl.c: Include . - (rintl): Define using libm_alias_ldouble. - * sysdeps/i386/fpu/s_truncl.S: Include . - (truncl): Define using libm_alias_ldouble. - * sysdeps/i386/i686/fpu/s_fmaxl.S: Include . - (fmaxl): Define using libm_alias_ldouble. - * sysdeps/i386/i686/fpu/s_fminl.S: Include . - (fminl): Define using libm_alias_ldouble. - - * bits/floatn-common.h [!__ASSEMBLER]: Disable everything related - to C syntax instead of availability and properties of types. - * bits/floatn.h [!__ASSEMBLER]: Likewise. - * sysdeps/ia64/bits/floatn.h [!__ASSEMBLER]: Likewise. - * sysdeps/ieee754/ldbl-128/bits/floatn.h [!__ASSEMBLER]: Likewise. - * sysdeps/mips/ieee754/bits/floatn.h [!__ASSEMBLER]: Likewise. - * sysdeps/powerpc/bits/floatn.h [!__ASSEMBLER]: Likewise. - * sysdeps/x86/bits/floatn.h [!__ASSEMBLER]: Likewise. - -2017-11-17 Florian Weimer - - support_become_root: Enable file creation in namespaces. - * support/support_become_root.c (setup_mapping): New function. - (support_become_root): Call it. - -2017-11-17 Joseph Myers - - * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_DCPOP): New - macro. - -2017-11-16 Adhemerval Zanella - - * sysdeps/aarch64/fpu/Makefile (CFLAGS-s_fmax.c, CFLAGS-s_fmaxf.c, - CFLAGS-s_fmin.c, CFLAGS-s_fminf.c): New rule: add -ffinite-math-only. - -2017-11-16 Joseph Myers - - * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_RAWIP): New macro. - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 4.14. - -2017-11-16 Siddhesh Poyarekar - - * INSTALL: Fix botched up regeneration. - - * NEWS: Update sourceare link to https. - * configure.ac: Likewise. - * crypt/md5test-giant.c: Likewise. - * dlfcn/bug-atexit1.c: Likewise. - * dlfcn/bug-atexit2.c: Likewise. - * localedata/README: Likewise. - * malloc/tst-mallocfork.c: Likewise. - * manual/install.texi: Likewise. - * nptl/tst-pthread-getattr.c: Likewise. - * stdio-common/tst-fgets.c: Likewise. - * stdio-common/tst-fwrite.c: Likewise. - * sunrpc/Makefile: Likewise. - * sysdeps/arm/armv7/multiarch/memcpy_impl.S: Likewise. - * wcsmbs/tst-mbrtowc2.c: Likewise. - * configure: Regenerate. - * INSTALL: Regenerate. - -2017-11-15 Martin Sebor - - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - -2017-11-15 Luke Shumaker - - [BZ #22145] - * sysdeps/unix/sysv/linux/tst-ttyname.c: New file. - * sysdeps/unix/sysv/linux/Makefile: Add tst-ttyname to tests. - - [BZ #22145] - * sysdeps/unix/sysv/linux/ttyname.c (ttyname): - Defer is_pty check until end of the function. - * sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Likewise. - - [BZ #22145] - * sysdeps/unix/sysv/linux/ttyname.h (is_mytty): New function. - * sysdeps/unix/sysv/linux/ttyname.c (getttyname): Call is_mytty. - (ttyname): Likewise. - * sysdeps/unix/sysv/linux/ttyname_r.c (getttyname_r): Likewise. - (__ttyname_r): Likewise. - - * sysdeps/unix/sysv/linux/ttyname.h (is_pty): Change return type from - int to bool. - - * sysdeps/unix/sysv/linux/ttyname.h (is_pty): Update doc reference. - - * manual/terminal.texi (Is It a Terminal): - Mention ENODEV for ttyname and ttyname_r. - -2017-11-15 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/socket.h (MSG_ZEROCOPY): New enum - constant and macro. - - * sysdeps/unix/sysv/linux/bits/mman-linux.h - [__USE_MISC] (MADV_WIPEONFORK): New macro. - [__USE_MISC] (MADV_KEEPONFORK): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/mman.h - [__USE_MISC] (MADV_WIPEONFORK): Likewise. - [__USE_MISC] (MADV_KEEPONFORK): Likewise. - -2017-11-15 Adhemerval Zanella - - * signal/sigrelse.c (sigrelse): Optimize implementation. - - * sysdeps/posix/sigpause.c (do_sigpause): Remove. - (__sigpause): Rely on __sigsuspend to implement single thread - optimization. Add LIBC_CANCEL_HANDLED for cancellation marking. - -2017-11-15 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - kernel version to 4.14. - -2017-11-15 Steve Ellcey - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - -2017-11-15 Luke Shumaker - - * sysdeps/unix/sysv/linux/epoll_wait.c: Include . - -2017-11-15 Mike FABIAN - - * localedata/locales/ka_GE (LC_MESSAGES): Add “X” back to yesexpr, - was accidentally lost. - -2017-11-15 Mike FABIAN - - * localedata/locales/az_IR: Add standard copyright header. - -2017-11-15 Florian Weimer - - [BZ #22439] - * malloc/malloc.c (__malloc_info): Count all heaps in an arena, - not just the top one. Output a new "subheaps" statistic. - -2017-11-15 Florian Weimer - - [BZ #22408] - * malloc/malloc.c (__malloc_info): Obtain arena heap statistics - under the per-arena lock. - * malloc/Makefile (tests): Add tst-malloc_info. - (tst-malloc_info): Link with libpthread. - * malloc/tst-malloc_info.c: New file. - -2017-11-15 Joseph Myers - - [BZ #21660] - * math/tgmath.h (__HAVE_BUILTIN_TGMATH): New macro. - [__HAVE_BUILTIN_TGMATH] (__TG_F16_ARG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TG_F32_ARG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TG_F64_ARG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TG_F128_ARG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TG_F32X_ARG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TG_F64X_ARG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TG_F128X_ARG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_FUNCS): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_RCFUNCS): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_1): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_2): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_2STD): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_3): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_1C): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_2C): Likewise. - (__tgml): Make conditional on [!__HAVE_BUILTIN_TGMATH]. - (__floating_type): Likewise. - (__real_integer_type): Likewise. - (__complex_integer_type): Likewise. - (__expr_is_real): Likewise. - (__tgmath_real_type_sub): Likewise. - (__tgmath_real_type): Likewise. - (__tgmath_complex_type_sub): Likewise. - (__tgmath_complex_type): Likewise. - (__TGMATH_F128): Likewise. - (__TGMATH_CF128): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_ONLY): Define using - new macros. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_RET_ONLY): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_FIRST_REAL_ONLY): - Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_FIRST_REAL_STD_ONLY): - Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_ONLY): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_STD_ONLY): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_RET_ONLY): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): - Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_REAL_ONLY): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): - Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_IMAG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_IMAG): Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_IMAG_RET_REAL): - Likewise. - [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_IMAG): Likewise. - (__TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME): New macro. - (carg): Use __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME. - (cimag): Likewise. - (creal): Likewise. - -2017-11-14 Joseph Myers - - * string/tester.c (test_stpncpy): Disable -Wstringop-truncation - for stpncpy calls for GCC 8. - (test_strncat): Disable -Wstringop-truncation warning for strncat - calls for GCC 8. Disable -Wstringop-overflow= warning for one - strncat call for GCC 7. - (test_strncpy): Disable -Wstringop-truncation warning for strncpy - calls for GCC 8. - (test_memcmp): Use memcpy instead of strncpy for calls not copying - trailing NUL. - - * string/bug-strncat1.c: Include . - (main): Disable -Wstringop-truncation for strncat call for GCC 8. - -2017-11-13 Claude Paroz - - [BZ #22387] - * localedata/locales/aa_DJ: Improved readibility by replacing - sequences in the ASCII printable range by their ASCII - character equivalents. - * localedata/locales/aa_ER: Likewise. - * localedata/locales/aa_ER@saaho: Likewise. - * localedata/locales/aa_ET: Likewise. - * localedata/locales/af_ZA: Likewise. - * localedata/locales/agr_PE: Likewise. - * localedata/locales/ak_GH: Likewise. - * localedata/locales/am_ET: Likewise. - * localedata/locales/anp_IN: Likewise. - * localedata/locales/ar_AE: Likewise. - * localedata/locales/ar_BH: Likewise. - * localedata/locales/ar_DZ: Likewise. - * localedata/locales/ar_EG: Likewise. - * localedata/locales/ar_IN: Likewise. - * localedata/locales/ar_IQ: Likewise. - * localedata/locales/ar_JO: Likewise. - * localedata/locales/ar_KW: Likewise. - * localedata/locales/ar_LB: Likewise. - * localedata/locales/ar_LY: Likewise. - * localedata/locales/ar_MA: Likewise. - * localedata/locales/ar_OM: Likewise. - * localedata/locales/ar_QA: Likewise. - * localedata/locales/ar_SA: Likewise. - * localedata/locales/ar_SD: Likewise. - * localedata/locales/ar_SS: Likewise. - * localedata/locales/ar_SY: Likewise. - * localedata/locales/ar_TN: Likewise. - * localedata/locales/ar_YE: Likewise. - * localedata/locales/as_IN: Likewise. - * localedata/locales/ast_ES: Likewise. - * localedata/locales/ayc_PE: Likewise. - * localedata/locales/az_AZ: Likewise. - * localedata/locales/az_IR: Likewise. - * localedata/locales/be_BY: Likewise. - * localedata/locales/be_BY@latin: Likewise. - * localedata/locales/bem_ZM: Likewise. - * localedata/locales/ber_DZ: Likewise. - * localedata/locales/ber_MA: Likewise. - * localedata/locales/bg_BG: Likewise. - * localedata/locales/bhb_IN: Likewise. - * localedata/locales/bho_IN: Likewise. - * localedata/locales/bi_VU: Likewise. - * localedata/locales/bn_BD: Likewise. - * localedata/locales/bn_IN: Likewise. - * localedata/locales/bo_CN: Likewise. - * localedata/locales/bo_IN: Likewise. - * localedata/locales/br_FR: Likewise. - * localedata/locales/brx_IN: Likewise. - * localedata/locales/bs_BA: Likewise. - * localedata/locales/byn_ER: Likewise. - * localedata/locales/ca_AD: Likewise. - * localedata/locales/ca_ES: Likewise. - * localedata/locales/ca_FR: Likewise. - * localedata/locales/ca_IT: Likewise. - * localedata/locales/ce_RU: Likewise. - * localedata/locales/chr_US: Likewise. - * localedata/locales/cmn_TW: Likewise. - * localedata/locales/crh_UA: Likewise. - * localedata/locales/cs_CZ: Likewise. - * localedata/locales/csb_PL: Likewise. - * localedata/locales/cv_RU: Likewise. - * localedata/locales/cy_GB: Likewise. - * localedata/locales/da_DK: Likewise. - * localedata/locales/de_AT: Likewise. - * localedata/locales/de_BE: Likewise. - * localedata/locales/de_CH: Likewise. - * localedata/locales/de_DE: Likewise. - * localedata/locales/de_IT: Likewise. - * localedata/locales/de_LI: Likewise. - * localedata/locales/de_LU: Likewise. - * localedata/locales/doi_IN: Likewise. - * localedata/locales/dv_MV: Likewise. - * localedata/locales/dz_BT: Likewise. - * localedata/locales/el_CY: Likewise. - * localedata/locales/el_GR: Likewise. - * localedata/locales/en_AG: Likewise. - * localedata/locales/en_AU: Likewise. - * localedata/locales/en_BW: Likewise. - * localedata/locales/en_CA: Likewise. - * localedata/locales/en_DK: Likewise. - * localedata/locales/en_GB: Likewise. - * localedata/locales/en_HK: Likewise. - * localedata/locales/en_IE: Likewise. - * localedata/locales/en_IL: Likewise. - * localedata/locales/en_IN: Likewise. - * localedata/locales/en_NG: Likewise. - * localedata/locales/en_NZ: Likewise. - * localedata/locales/en_PH: Likewise. - * localedata/locales/en_SG: Likewise. - * localedata/locales/en_US: Likewise. - * localedata/locales/en_ZA: Likewise. - * localedata/locales/en_ZM: Likewise. - * localedata/locales/en_ZW: Likewise. - * localedata/locales/eo: Likewise. - * localedata/locales/es_AR: Likewise. - * localedata/locales/es_BO: Likewise. - * localedata/locales/es_CL: Likewise. - * localedata/locales/es_CO: Likewise. - * localedata/locales/es_CR: Likewise. - * localedata/locales/es_CU: Likewise. - * localedata/locales/es_DO: Likewise. - * localedata/locales/es_EC: Likewise. - * localedata/locales/es_ES: Likewise. - * localedata/locales/es_GT: Likewise. - * localedata/locales/es_HN: Likewise. - * localedata/locales/es_MX: Likewise. - * localedata/locales/es_NI: Likewise. - * localedata/locales/es_PA: Likewise. - * localedata/locales/es_PE: Likewise. - * localedata/locales/es_PR: Likewise. - * localedata/locales/es_PY: Likewise. - * localedata/locales/es_SV: Likewise. - * localedata/locales/es_US: Likewise. - * localedata/locales/es_UY: Likewise. - * localedata/locales/es_VE: Likewise. - * localedata/locales/et_EE: Likewise. - * localedata/locales/eu_ES: Likewise. - * localedata/locales/eu_ES@euro: Likewise. - * localedata/locales/fa_IR: Likewise. - * localedata/locales/ff_SN: Likewise. - * localedata/locales/fi_FI: Likewise. - * localedata/locales/fil_PH: Likewise. - * localedata/locales/fo_FO: Likewise. - * localedata/locales/fr_BE: Likewise. - * localedata/locales/fr_CA: Likewise. - * localedata/locales/fr_CH: Likewise. - * localedata/locales/fr_FR: Likewise. - * localedata/locales/fr_LU: Likewise. - * localedata/locales/fur_IT: Likewise. - * localedata/locales/fy_DE: Likewise. - * localedata/locales/fy_NL: Likewise. - * localedata/locales/ga_IE: Likewise. - * localedata/locales/gd_GB: Likewise. - * localedata/locales/gez_ER: Likewise. - * localedata/locales/gez_ET: Likewise. - * localedata/locales/gl_ES: Likewise. - * localedata/locales/gu_IN: Likewise. - * localedata/locales/gv_GB: Likewise. - * localedata/locales/ha_NG: Likewise. - * localedata/locales/hak_TW: Likewise. - * localedata/locales/he_IL: Likewise. - * localedata/locales/hi_IN: Likewise. - * localedata/locales/hif_FJ: Likewise. - * localedata/locales/hne_IN: Likewise. - * localedata/locales/hr_HR: Likewise. - * localedata/locales/hsb_DE: Likewise. - * localedata/locales/ht_HT: Likewise. - * localedata/locales/hu_HU: Likewise. - * localedata/locales/hy_AM: Likewise. - * localedata/locales/i18n: Likewise. - * localedata/locales/ia_FR: Likewise. - * localedata/locales/id_ID: Likewise. - * localedata/locales/ig_NG: Likewise. - * localedata/locales/ik_CA: Likewise. - * localedata/locales/is_IS: Likewise. - * localedata/locales/it_CH: Likewise. - * localedata/locales/it_IT: Likewise. - * localedata/locales/iu_CA: Likewise. - * localedata/locales/ja_JP: Likewise. - * localedata/locales/ka_GE: Likewise. - * localedata/locales/kk_KZ: Likewise. - * localedata/locales/kl_GL: Likewise. - * localedata/locales/kn_IN: Likewise. - * localedata/locales/ko_KR: Likewise. - * localedata/locales/kok_IN: Likewise. - * localedata/locales/ks_IN: Likewise. - * localedata/locales/ks_IN@devanagari: Likewise. - * localedata/locales/ku_TR: Likewise. - * localedata/locales/kw_GB: Likewise. - * localedata/locales/ky_KG: Likewise. - * localedata/locales/lb_LU: Likewise. - * localedata/locales/lg_UG: Likewise. - * localedata/locales/li_BE: Likewise. - * localedata/locales/li_NL: Likewise. - * localedata/locales/lij_IT: Likewise. - * localedata/locales/ln_CD: Likewise. - * localedata/locales/lo_LA: Likewise. - * localedata/locales/lt_LT: Likewise. - * localedata/locales/lv_LV: Likewise. - * localedata/locales/lzh_TW: Likewise. - * localedata/locales/mag_IN: Likewise. - * localedata/locales/mai_IN: Likewise. - * localedata/locales/mg_MG: Likewise. - * localedata/locales/mhr_RU: Likewise. - * localedata/locales/mi_NZ: Likewise. - * localedata/locales/mk_MK: Likewise. - * localedata/locales/ml_IN: Likewise. - * localedata/locales/mn_MN: Likewise. - * localedata/locales/mni_IN: Likewise. - * localedata/locales/mr_IN: Likewise. - * localedata/locales/ms_MY: Likewise. - * localedata/locales/mt_MT: Likewise. - * localedata/locales/my_MM: Likewise. - * localedata/locales/nan_TW: Likewise. - * localedata/locales/nan_TW@latin: Likewise. - * localedata/locales/nb_NO: Likewise. - * localedata/locales/nds_DE: Likewise. - * localedata/locales/nds_NL: Likewise. - * localedata/locales/ne_NP: Likewise. - * localedata/locales/nhn_MX: Likewise. - * localedata/locales/niu_NU: Likewise. - * localedata/locales/niu_NZ: Likewise. - * localedata/locales/nl_AW: Likewise. - * localedata/locales/nl_BE: Likewise. - * localedata/locales/nl_NL: Likewise. - * localedata/locales/nn_NO: Likewise. - * localedata/locales/nr_ZA: Likewise. - * localedata/locales/nso_ZA: Likewise. - * localedata/locales/oc_FR: Likewise. - * localedata/locales/om_ET: Likewise. - * localedata/locales/om_KE: Likewise. - * localedata/locales/or_IN: Likewise. - * localedata/locales/os_RU: Likewise. - * localedata/locales/pa_IN: Likewise. - * localedata/locales/pa_PK: Likewise. - * localedata/locales/pap_AW: Likewise. - * localedata/locales/pap_CW: Likewise. - * localedata/locales/pl_PL: Likewise. - * localedata/locales/ps_AF: Likewise. - * localedata/locales/pt_BR: Likewise. - * localedata/locales/pt_PT: Likewise. - * localedata/locales/quz_PE: Likewise. - * localedata/locales/raj_IN: Likewise. - * localedata/locales/ro_RO: Likewise. - * localedata/locales/ru_RU: Likewise. - * localedata/locales/ru_UA: Likewise. - * localedata/locales/rw_RW: Likewise. - * localedata/locales/sa_IN: Likewise. - * localedata/locales/sat_IN: Likewise. - * localedata/locales/sc_IT: Likewise. - * localedata/locales/sd_IN: Likewise. - * localedata/locales/sd_IN@devanagari: Likewise. - * localedata/locales/se_NO: Likewise. - * localedata/locales/sgs_LT: Likewise. - * localedata/locales/shs_CA: Likewise. - * localedata/locales/si_LK: Likewise. - * localedata/locales/sid_ET: Likewise. - * localedata/locales/sk_SK: Likewise. - * localedata/locales/sl_SI: Likewise. - * localedata/locales/sm_WS: Likewise. - * localedata/locales/so_DJ: Likewise. - * localedata/locales/so_ET: Likewise. - * localedata/locales/so_KE: Likewise. - * localedata/locales/so_SO: Likewise. - * localedata/locales/sq_AL: Likewise. - * localedata/locales/sq_MK: Likewise. - * localedata/locales/sr_ME: Likewise. - * localedata/locales/sr_RS: Likewise. - * localedata/locales/sr_RS@latin: Likewise. - * localedata/locales/ss_ZA: Likewise. - * localedata/locales/st_ZA: Likewise. - * localedata/locales/sv_FI: Likewise. - * localedata/locales/sv_SE: Likewise. - * localedata/locales/sw_KE: Likewise. - * localedata/locales/sw_TZ: Likewise. - * localedata/locales/szl_PL: Likewise. - * localedata/locales/ta_IN: Likewise. - * localedata/locales/ta_LK: Likewise. - * localedata/locales/tcy_IN: Likewise. - * localedata/locales/te_IN: Likewise. - * localedata/locales/tg_TJ: Likewise. - * localedata/locales/th_TH: Likewise. - * localedata/locales/the_NP: Likewise. - * localedata/locales/ti_ER: Likewise. - * localedata/locales/ti_ET: Likewise. - * localedata/locales/tig_ER: Likewise. - * localedata/locales/tk_TM: Likewise. - * localedata/locales/tl_PH: Likewise. - * localedata/locales/tn_ZA: Likewise. - * localedata/locales/to_TO: Likewise. - * localedata/locales/tpi_PG: Likewise. - * localedata/locales/tr_CY: Likewise. - * localedata/locales/tr_TR: Likewise. - * localedata/locales/ts_ZA: Likewise. - * localedata/locales/tt_RU: Likewise. - * localedata/locales/tt_RU@iqtelif: Likewise. - * localedata/locales/ug_CN: Likewise. - * localedata/locales/uk_UA: Likewise. - * localedata/locales/unm_US: Likewise. - * localedata/locales/ur_IN: Likewise. - * localedata/locales/ur_PK: Likewise. - * localedata/locales/uz_UZ: Likewise. - * localedata/locales/uz_UZ@cyrillic: Likewise. - * localedata/locales/ve_ZA: Likewise. - * localedata/locales/vi_VN: Likewise. - * localedata/locales/wa_BE: Likewise. - * localedata/locales/wae_CH: Likewise. - * localedata/locales/wal_ET: Likewise. - * localedata/locales/wo_SN: Likewise. - * localedata/locales/xh_ZA: Likewise. - * localedata/locales/yi_US: Likewise. - * localedata/locales/yo_NG: Likewise. - * localedata/locales/yue_HK: Likewise. - * localedata/locales/yuw_PG: Likewise. - * localedata/locales/zh_CN: Likewise. - * localedata/locales/zh_HK: Likewise. - * localedata/locales/zh_SG: Likewise. - * localedata/locales/zh_TW: Likewise. - * localedata/locales/zu_ZA: Likewise. - -2017-11-13 Florian Weimer - - * support/next_to_fault.h, support/next_to_fault.c: New files. - * support/Makefile (libsupport-routines): Add next_to_fault. - * resolv/tst-inet_pton.c (struct next_to_fault) - (next_to_fault_allocate, next_to_fault_free): Remove. - (run_one_test): Switch to interfaces. - -2017-11-13 H.J. Lu - - * elf/dl-support.c: Include . - * include/link.h: Include . - * sysdeps/generic/dl-procruntime.c: New file. - * sysdeps/generic/link_map.h: Likewise. - * sysdeps/generic/ldsodefs.h: Include in - the writable ld.so namespace. - -2017-11-12 Paul Eggert - - timezone: pacify GCC -Wstringop-truncation - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - -2017-11-12 Florian Weimer - - * support/Makefile (libsupport-routines): Add xreadlink, xstrndup, - tst-xreadlink. - (tests): Add tst-xreadlink. - * support/support.h (xstrndup): Declare. - * support/xunistd.h (xunlink, xreadlink): Declare. - * support/temp_file.h (support_create_temp_directory): Declare. - * support/temp_file.c (support_create_temp_directory): New function. - * support/support_chroot.c (support_chroot_create): Use it. - * support/xreadlink.c: New file. - * support/xstrndup.c: Likewise. - * support/xunlink.c: Likewise. - * support/tst-xreadlink.c: Likewise. - -2017-11-11 John David Anglin - - * sysdeps/hppa/fpu/libm-test-ulps: Update clog10_downward ulps. - -2017-11-11 Florian Weimer - - [BZ #22409] - [BZ #22412] - * resolv/res_comp.c (printable_string, binary_hnok) - (binary_leading_dash): New functions. - (res_hnok): Reimplement using these functions and ns_name_pton. - (res_ownok): Likewise. - (res_mailok): Reimplement using printable_string, ns_name_pton and - binary_hnok. - (res_dnok): Reimplement using printable_string and ns_name_pton. - * resolv/tst-res_hnok.c (tests): Add additional tests. - (LETTERDIGITS, PRINTABLE): Define. - (do_test): Adjust one_char results. - -2017-11-11 Florian Weimer - - [BZ #22413] - * resolv/ns_name.c (ns_name_pton): Treat trailing backslash as error. - * resolv/tst-ns_name_pton.c (tests): Add trailing backslash tests. - -2017-11-11 Florian Weimer - - * resolv/tst-ns_name_pton.c: New file. - * resolv/Makefile (tests): Add tst-ns_name_pton. - (tst-ns_name_pton): Link against libresolv. - -2017-11-11 Florian Weimer - - * resolv/tst-res_hnok.c: New file. - * resolv/Makefile (tests): Add tst-res_hnok. - (tst-res_hnok): Link against libresolv. - -2017-11-11 Florian Weimer - - * resolv/tst-resolv-network.c: Use test framework instead explicit - main function. - -2017-11-09 H.J. Lu - - * include/setjmp.h [!_ISOMAC]: Include and - . - [!_ISOMAC] (STR_HELPER): New. - [!_ISOMAC] (STR): Likewise. - [!_ISOMAC] (TEST_SIZE): Likewise. - [!_ISOMAC] (TEST_ALIGN): Likewise. - [!_ISOMAC] (TEST_OFFSET): Likewise. - [!_ISOMAC] Add _Static_assert to check sizes, alignments and - field offsets of jmp_buf as well as sigjmp_buf. - * sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/microblaze/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/jmp_buf-macros.h: - Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h: - Likewise. - * sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/jmp_buf-macros.h: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/jmp_buf-macros.h: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/jmp_buf-macros.h: Likewise. - -2017-11-07 Joseph Myers - - * include/float.h - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_MANT_DIG): New macro. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_DECIMAL_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_MIN_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_MIN_10_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_MAX_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_MAX_10_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_MAX): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_EPSILON): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_MIN): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32] (FLT32_TRUE_MIN): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_MANT_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_DECIMAL_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_MIN_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_MIN_10_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_MAX_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_MAX_10_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_MAX): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_EPSILON): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_MIN): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64] (FLT64_TRUE_MIN): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_MANT_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_DECIMAL_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_MIN_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_MIN_10_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_MAX_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_MAX_10_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_MAX): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_EPSILON): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_MIN): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT32X] (FLT32X_TRUE_MIN): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_MANT_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_DECIMAL_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_DIG): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_MIN_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_MIN_10_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_MAX_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_MAX_10_EXP): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_MAX): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_EPSILON): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_MIN): Likewise. - [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X] (FLT64X_TRUE_MIN): Likewise. - - * stdlib/tst-strtod.h (F16): New macro. - (F32): Likewise. - (F64): Likewise. - (F32X): Likewise. - (F64X): Likewise. - (F128X): Likewise. - (IF_FLOAT16): Likewise. - (IF_FLOAT32): Likewise. - (IF_FLOAT64): Likewise. - (IF_FLOAT32X): Likewise. - (IF_FLOAT64X): Likewise. - (IF_FLOAT128X): Likewise. - (GEN_TEST_STRTOD_FOREACH): Conditionally call macros for _Float16, - _Float32, _Float64, _Float32x, _Float64x and _Float128x. - (STRTOD_TEST_FOREACH): Likewise. - * stdlib/tst-strtod-round-skeleton.c (CHOOSE_f32): New macro. - (CHOOSE_f64): Likewise. - (CHOOSE_f32x): Likewise. - (CHOOSE_f64x): Likewise. - -2017-11-07 Andreas Schwab - - * nptl/Makefile (tests-internal): Remove tst-typesizes. - -2017-11-07 Mike FABIAN - - [BZ #22403] - * localedata/locales/mfe_MU (LC_TIME): Fix wrong d_fmt, / needs - to be escaped. - * localedata/locales/miq_NI (LC_TIME): Fix wrong d_fmt, / needs - to be escaped. - -2017-11-07 Claude Paroz - - [BZ #22403] - * localedata/locales/an_ES (LC_TIME): Fix wrong d_fmt, / needs - to be escaped. - * localedata/locales/kab_DZ (LC_TIME): Fix wrong d_fmt, / needs - to be escaped. - * localedata/locales/om_ET (LC_TIME): Fix wrong d_fmt, / needs - to be escaped. - -2017-11-07 Adhemerval Zanella - - [BZ #22298] - * nptl/allocatestack.c (allocate_stack): Check if - __PTHREAD_MUTEX_HAVE_PREV is non-zero, instead if - __PTHREAD_MUTEX_HAVE_PREV is defined. - * nptl/descr.h (pthread): Likewise. - * nptl/nptl-init.c (__pthread_initialize_minimal_internal): - Likewise. - * nptl/pthread_create.c (START_THREAD_DEFN): Likewise. - * sysdeps/nptl/fork.c (__libc_fork): Likewise. - * sysdeps/nptl/pthread.h (PTHREAD_MUTEX_INITIALIZER): Likewise. - * sysdeps/nptl/bits/thread-shared-types.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): New - defines. - (__pthread_internal_list): Check __PTHREAD_MUTEX_USE_UNION instead - of __WORDSIZE for internal layout. - (__pthread_mutex_s): Check __PTHREAD_MUTEX_NUSERS_AFTER_KIND instead - of __WORDSIZE for internal __nusers layout and __PTHREAD_MUTEX_USE_UNION - instead of __WORDSIZE whether to use an union for __spins and __list - fields. - (__PTHREAD_MUTEX_HAVE_PREV): Define also for __PTHREAD_MUTEX_USE_UNION - case. - * sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): New - defines. - * sysdeps/alpha/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/arm/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/hppa/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/ia64/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/m68k/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/mips/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/nios2/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/s390/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/sh/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/sparc/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/tile/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - * sysdeps/x86/nptl/bits/pthreadtypes-arch.h - (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): - Likewise. - - * nptl/pthreadP.h (ASSERT_TYPE_SIZE, ASSERT_PTHREAD_INTERNAL_SIZE): - New macros. - * nptl/pthread_attr_init.c (__pthread_mutex_init): Add build time - checks for expected input type size. - * nptl/pthread_barrier_init.c (__pthread_barrier_init): Likewise. - * nptl/pthread_barrierattr_init.c (pthread_barrierattr_init): - Likewise. - * nptl/pthread_cond_init.c (__pthread_cond_init): Likewise. - * nptl/pthread_condattr_init.c (__pthread_condattr_init): Likewise. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Likewise. - * nptl/pthread_mutexattr_init.c (__pthread_mutexattr_init): Likewise. - * nptl/pthread_rwlock_init.c (__pthread_rwlock_init): Likewise. - * nptl/pthread_rwlockattr_init.c (pthread_rwlockattr_init): Likewise. - * nptl/sem_init.c (__new_sem_init, __old_sem_init): Likewise - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Remove - superflous runtime assert check. - * nptl/pthread_attr_getaffinity.c (__pthread_attr_getaffinity_new): - Likewise. - * nptl/pthread_attr_getdetachstate.c (__pthread_attr_getdetachstate): - Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c (__pthread_attr_getinheritsched): - Likewise. - * nptl/pthread_attr_getschedparam.c (__pthread_attr_getschedparam): - Likewise. - * nptl/pthread_attr_getschedpolicy.c (__pthread_attr_getschedpolicy): - Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_setaffinity.c (__pthread_attr_setaffinity_new): - Likewise. - * nptl/pthread_attr_setdetachstate.c (__pthread_attr_setdetachstate): - Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c (__pthread_attr_setschedparam): - Likewise. - * nptl/pthread_attr_setschedpolicy.c (__pthread_attr_setschedpolicy): - Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack, - __old_pthread_attr_setstack): Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_getattr_default_np.c (pthread_getattr_default_np): - Likewise. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - * nptl/pthread_setattr_default_np.c (pthread_setattr_default_np): - Likewise. - * nptl/tst-typesizes.c: Remove file. - - * nptl/pthreadP.h (ASSERT_PTHREAD_STRING, - ASSERT_PTHREAD_INTERNAL_OFFSET): New macro. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Add build time - checks for internal pthread_mutex_t offsets. - * sysdeps/aarch64/nptl/pthread-offsets.h - (__PTHREAD_MUTEX_NUSERS_OFFSET, __PTHREAD_MUTEX_KIND_OFFSET, - __PTHREAD_MUTEX_SPINS_OFFSET, __PTHREAD_MUTEX_ELISION_OFFSET, - __PTHREAD_MUTEX_LIST_OFFSET): New macro. - * sysdeps/alpha/nptl/pthread-offsets.h: Likewise. - * sysdeps/arm/nptl/pthread-offsets.h: Likewise. - * sysdeps/hppa/nptl/pthread-offsets.h: Likewise. - * sysdeps/i386/nptl/pthread-offsets.h: Likewise. - * sysdeps/ia64/nptl/pthread-offsets.h: Likewise. - * sysdeps/m68k/nptl/pthread-offsets.h: Likewise. - * sysdeps/microblaze/nptl/pthread-offsets.h: Likewise. - * sysdeps/mips/nptl/pthread-offsets.h: Likewise. - * sysdeps/nios2/nptl/pthread-offsets.h: Likewise. - * sysdeps/powerpc/nptl/pthread-offsets.h: Likewise. - * sysdeps/s390/nptl/pthread-offsets.h: Likewise. - * sysdeps/sh/nptl/pthread-offsets.h: Likewise. - * sysdeps/sparc/nptl/pthread-offsets.h: Likewise. - * sysdeps/tile/nptl/pthread-offsets.h: Likewise. - * sysdeps/x86_64/nptl/pthread-offsets.h: Likewise. - -2017-11-07 Florian Weimer - - * bits/mman-linux.h: Move ... - * sysdeps/unix/sysv/linux/bits/mman-linux.h: ... here. Update - comment. - * sysdeps/unix/sysv/linux/bits/Makefile (sysdep_headers): Remove - outdated comment. - -2017-11-07 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S (STRNLEN): - Redefine STRNLEN as __strnlen_power8. - -2017-11-06 Adhemerval Zanella - - * signal/sighold.c (sighold): Optimize implementation. - - * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Asssume - __NR_rt_sigqueueinfo. - - * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add - __sigtimedwait. - * sysdeps/unix/sysv/linux/sigtimedwait.c: Simplify includes and - assume __NR_rt_sigtimedwait. - * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Call __sigtimedwait - and add LIBC_CANCEL_HANDLED for cancellation marking. - * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise. - - * sysdeps/arm/armv7/multiarch/Makefile [$(subdir) = string] - (sysdeps_routines): Add memchr_noneon. - * sysdeps/arm/armv7/multiarch/ifunc-memchr.h: New file. - * sysdeps/arm/armv7/multiarch/memchr_noneon.S: Likewise. - * sysdeps/arm/armv7/multiarch/rtld-memchr.S: Likewise. - * sysdeps/arm/armv7/multiarch/memchr.S: Remove file. - * sysdeps/arm/armv7/multiarch/memchr.c: New file. - * sysdeps/arm/armv7/multiarch/memchr_impl.S: Move to ... - * sysdeps/arm/armv7/multiarch/memchr_neon.S: ... here. - - * sysdeps/arm/arm-ifunc.h: New file. - * sysdeps/arm/armv7/multiarch/ifunc-memcpy.h: Likewise. - * sysdeps/arm/armv7/multiarch/memcpy.c: Likewise. - * sysdeps/arm/armv7/multiarch/memcpy_arm.S: Likewise. - * sysdeps/arm/armv7/multiarch/rtld-memcpy.S: Likewise. - * sysdeps/arm/armv7/multiarch/memcpy_neon.S [!__ARM_NEON__] - (__memcpy_neon): Avoid create hidden alias. - * sysdeps/arm/armv7/multiarch/memcpy_vfp.S [!__ARM_NEON_] - (__memcpy_vfp): Likewise. - * sysdeps/arm/armv7/multiarch/Makefile [$(subdir) = string] - (sysdep_routines): Add memcpy_arm. - * sysdeps/arm/armv7/multiarch/memcpy.S: Remove file. - -2017-11-06 H.J. Lu - - [BZ #22362] - * Makerules (make-link-multidir): New. - * config.make.in (multidir): New. - * configure.ac (libc_cv_multidir): New. AC_SUBST. - * configure: Regenerated. - * csu/Makefile [$(multidir) != .](multilib-extra-objs): New. - [$(multidir) != .](extra-objs): Add $(multilib-extra-objs). - [$(multidir) != .]($(addprefix $(objpfx)$(multidir)/, $(install-lib))): - New target. - -2017-11-06 Joseph Myers - - [BZ #22402] - * sysdeps/powerpc/bits/floatn.h: Include . - [__NO_LONG_DOUBLE_MATH] (__HAVE_FLOAT128): Define to 0. - -2017-11-04 Mike FABIAN - - * localedata/locales/tpi_PG (LC_TIME): Fix wrong d_fmt, / needs - to be escaped. - -2017-11-04 Florian Weimer - - * manual/llio.texi (Open-time Flags): Document O_TMPFILE. - -2017-11-03 Joseph Myers - - * math/math.h [__HAVE_DISTINCT_FLOAT16 - || __HAVE_DISTINCT_FLOAT32 || __HAVE_DISTINCT_FLOAT64 - || __HAVE_DISTINCT_FLOAT32X || __HAVE_DISTINCT_FLOAT64X - || __HAVE_DISTINCT_FLOAT128X]: Use #error. - [__NO_LONG_DOUBLE_MATH && __HAVE_DISTINCT_FLOAT128]: Likewise. - [__HAVE_DISTINCT_FLOAT128 && !__HAVE_GENERIC_SELECTION - && __HAVE_FLOATN_NOT_TYPEDEF]: Likewise. - [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION] - (__MATH_TG_F32): New macro. - [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION] - (__MATH_TG_F64X): Likewise. - [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION] - (__MATH_TG): Use __MATH_TG_F32 and __MATH_TG_F64X. - -2017-11-03 Dmitry V. Levin - - * po/de.po: Update translations. - * po/ru.po: Likewise. - -2017-11-03 Florian Weimer - - * manual/filesys.texi (Hard Links): Document linkat. - -2017-11-03 Joseph Myers - - * math/tgmath.h [__HAVE_DISTINCT_FLOAT16 - || __HAVE_DISTINCT_FLOAT32 || __HAVE_DISTINCT_FLOAT64 - || __HAVE_DISTINCT_FLOAT32X || __HAVE_DISTINCT_FLOAT64X - || __HAVE_DISTINCT_FLOAT128X]: Use #error. - [__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE - && __HAVE_FLOATN_NOT_TYPEDEF] (__TGMATH_F128): Handle _Float64x - the same as _Float128. - [__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) - && __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE - && __HAVE_FLOATN_NOT_TYPEDEF] (__TGMATH_CF128): Likewise. - - * stdlib/stdlib.h - [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof16): - Declare. - [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof32): - Likewise. - [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof64): - Likewise. - [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strtof32x): Likewise. - [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strtof64x): Likewise. - [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strtof128x): Likewise. - [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strfromf16): Likewise. - [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strfromf32): Likewise. - [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strfromf64): Likewise. - [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strfromf32x): Likewise. - [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strfromf64x): Likewise. - [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (strfromf128x): Likewise. - [__USE_GNU && __HAVE_FLOAT16] (strtof16_l): Likewise. - [__USE_GNU && __HAVE_FLOAT32] (strtof32_l): Likewise. - [__USE_GNU && __HAVE_FLOAT64] (strtof64_l): Likewise. - [__USE_GNU && __HAVE_FLOAT32X] (strtof32x_l): Likewise. - [__USE_GNU && __HAVE_FLOAT64X] (strtof64x_l): Likewise. - [__USE_GNU && __HAVE_FLOAT128X] (strtof128x_l): Likewise. - -2017-11-03 Richard Henderson - - * sysdeps/unix/sysv/linux/aarch64/sysconf.c: New file. - -2017-11-03 Szabolcs Nagy - - * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Optimize. - -2017-11-03 Szabolcs Nagy - - * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Remove - DT_TLSDESC_GOT initialization. - * sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_lazy_resolver): Remove. - (_dl_tlsdesc_resolve_hold): Likewise. - * sysdeps/aarch64/dl-tlsdesc.h (_dl_tlsdesc_lazy_resolver): Remove. - (_dl_tlsdesc_resolve_hold): Likewise. - * sysdeps/aarch64/tlsdesc.c (_dl_tlsdesc_lazy_resolver_fixup): Remove. - (_dl_tlsdesc_resolve_hold_fixup): Likewise. - -2017-11-03 Szabolcs Nagy - - * sysdeps/arm/dl-machine.h (elf_machine_rel): Remove volatile. - -2017-11-03 Szabolcs Nagy - - [BZ #18572] - * sysdeps/arm/dl-machine.h (elf_machine_lazy_rel): Do symbol binding - non-lazily for R_ARM_TLS_DESC. - -2017-11-03 Szabolcs Nagy - - [BZ #17078] - * sysdeps/arm/dl-machine.h (elf_machine_rela): Remove the - R_ARM_TLS_DESC case. - (elf_machine_lazy_rel): Remove the prelink check. - -2017-11-03 Szabolcs Nagy - - * sysdeps/aarch64/dl-machine.h (elf_machine_runtime_setup): Remove - DT_TLSDESC_GOT initialization. - * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_return_lazy): Remove. - (_dl_tlsdesc_resolve_rela): Likewise. - (_dl_tlsdesc_resolve_hold): Likewise. - (_dl_tlsdesc_undefweak): Remove ldar. - (_dl_tlsdesc_dynamic): Likewise. - * sysdeps/aarch64/dl-tlsdesc.h (_dl_tlsdesc_return_lazy): Remove. - (_dl_tlsdesc_resolve_rela): Likewise. - (_dl_tlsdesc_resolve_hold): Likewise. - * sysdeps/aarch64/tlsdesc.c (_dl_tlsdesc_resolve_rela_fixup): Remove. - (_dl_tlsdesc_resolve_hold_fixup): Likewise. - (_dl_tlsdesc_resolve_rela): Likewise. - (_dl_tlsdesc_resolve_hold): Likewise. - -2017-11-03 Szabolcs Nagy - - * sysdeps/aarch64/dl-machine.h (elf_machine_lazy_rel): Do symbol - binding and initialization non-lazily for R_AARCH64_TLSDESC. - -2017-11-03 Szabolcs Nagy - - * elf/tlsdeschtab.h (_dl_tls_resolve_early_return_p): Mark unused. - (_dl_tlsdesc_wake_up_held_fixups): Likewise. - -2017-11-02 Joseph Myers - - * wcsmbs/wchar.h [__HAVE_FLOAT16 && __USE_GNU] (wcstof16): - Declare. - [__HAVE_FLOAT32 && __USE_GNU] (wcstof32): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (wcstof64): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (wcstof32x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (wcstof64x): Likewise. - [__HAVE_FLOAT128X && __USE_GNU] (wcstof128x): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (wcstof16_l): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (wcstof32_l): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (wcstof64_l): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (wcstof32x_l): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (wcstof64x_l): Likewise. - [__HAVE_FLOAT128X && __USE_GNU] (wcstof128x_l): Likewise. - -2017-11-02 Mike FABIAN - - [BZ #22382] - * localedata/locales/tpi_PG (LC_TIME): Fix syntax error. - * localedata/locales/tpi_PG: Add standard header. - -2017-11-02 Florian Weimer - - test-errno-linux: quotactl can fail with EPERM in containers. - * sysdeps/unix/sysv/linux/test-errno-linux.c - (LIST, LIST_FORWARD): New macros. - (check_error_in_list): New function. - (test_wrp_rv): Accept list of permitted error codes. - (test_wrp_rv2): Remove. - (test_wrp): Call test_wrp_rv with list of error codes. - (test_wrp2): Accept list of error codes. - (do_test): Adjust. Allow EPERM for quotactl. - -2017-11-02 Florian Weimer - - * stdio-common/bug16.c (do_test): Use array_length. - * stdio-common/errlist.c (_sys_nerr): Likewise. - * stdio-common/printf_fp.c (PRINTF_FP_FETCH): Likewise. - * stdio-common/printf_fphex.c (__printf_fphex): Use array_end. - * stdio-common/psiginfo.c (psiginfo): Use array_length. - * stdio-common/test-vfprintf.c (nlocs): Remove definition. - (do_test): Use array_length. - * stdio-common/tst-fphex.c (do_test): Use array_end, array_length. - * stdio-common/tst-long-dbl-fphex.c (do_test): Use array_length. - * stdio-common/tst-printf-round.c (do_test): Likewise. - * stdio-common/tst-swprintf.c (nbuf): Remove definition. - (CHECK): Use array_length. - * stdio-common/tstdiomisc.c (t3, F): Likewise. - * stdio-common/tstscanf.c (main): Likewise. - * stdio-common/vfprintf.c (process_string_arg): Likewise. - -2017-11-02 Florian Weimer - - Add array_length and array_end macros. - * include/array_length.h: New file. - -2017-11-02 Florian Weimer - - [BZ #22332] - * posix/tst-glob-tilde.c (do_noescape): New variable. - (one_test): Process it. - (do_test): Set do_noescape. Add unescaping test case. - -2017-11-01 Joseph Myers - - * math/complex.h - [(__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)) - && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Include - with appropriate macros defined and undefined. - [(__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)) - && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. - [(__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)) - && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. - [(__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)) - && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. - [(__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)) - && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. - [(__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)) - && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. - - * math/complex.h - [(__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !LIBC)) - && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Move conditional code after - that for long double. Do not condition define and undefine of - _Mdouble_complex_ on [__CFLOAT128]. - -2017-11-01 H.J. Lu - - * sysdeps/i386/sysdep.h: Include instead - of . - (ALIGNARG): Removed. - (ASM_SIZE_DIRECTIVE): Likewise. - (ENTRY): Likewise. - (END): Likewise. - (ENTRY_CHK): Likewise. - (END_CHK): Likewise. - (syscall_error): Likewise. - (mcount): Likewise. - (PSEUDO_END): Likewise. - (L): Likewise. - (atom_text_section): Likewise. - * sysdeps/x86/sysdep.h: New file. - * sysdeps/x86_64/sysdep.h: Include instead - of . - (ALIGNARG): Removed. - (ASM_SIZE_DIRECTIVE): Likewise. - (ENTRY): Likewise. - (END): Likewise. - (ENTRY_CHK): Likewise. - (END_CHK): Likewise. - (syscall_error): Likewise. - (mcount): Likewise. - (PSEUDO_END): Likewise. - (L): Likewise. - (atom_text_section): Likewise. - -2017-10-31 Rafal Luzynski - - * localedata/unicode-gen/gen_unicode_ctype.py (output_head): - category of LC_CTYPE set to "i18n:2012". - * localedata/locales/i18n_ctype: Regenerate. - -2017-10-31 Yury Norov - - * sysdeps/unix/sysv/linux/sigprocmask.c: Remove useless #ifdefs. - * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. - * sysdeps/unix/sysv/linux/sigwait.c: Likewise. - * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. - - * sysdeps/unix/sysv/linux/ia64/sigpending.c: Remove file. - * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise. - * sysdeps/unix/sysv/linux/x86_64/sigpending.c: Likewise. - -2017-10-31 Joseph Myers - - * math/complex.h - [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF16): - New macro. - [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF32): - Likewise. - [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF64): - Likewise. - [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (CMPLXF32X): Likewise. - [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (CMPLXF64X): Likewise. - [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (CMPLXF128X): Likewise. - - * math/math.h - [__FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 32] - (__MATH_EVAL_FMT2): Define to add 0.0f. - -2017-10-31 Alan Modra - - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-power8.S: Don't - include sysdep.h. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-ppc64.c: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memchr-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memchr-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcmp-power4.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcmp-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcmp-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcpy-a2.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcpy-cell.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcpy-power4.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcpy-power6.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcpy-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memcpy-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memmove-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/mempcpy-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memrchr-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memrchr-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memset-power4.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memset-power6.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memset-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/memset-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/rawmemchr-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strchr-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strchr-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strchr-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strchrnul-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strchrnul-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strcspn-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strlen-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strlen-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strlen-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncase-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strnlen-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strnlen-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strrchr-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strspn-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strstr-power7.S: Likewise. - - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S: Don't - include sysdep.h and math_ldbl_opt.h. - - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S: Don't - include sysdep.h and math_ldbl_opt.h. Include shlib-compat.h. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power6x.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-ppc64.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-power5+.S: Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-ppc64.S: Likewise. - -2017-10-31 Alan Modra - - * sysdeps/powerpc/powerpc64/multiarch/strncase_l-power7.c: Include - string/strncase_l.c, not string/strncase.c. - (USE_IN_EXTENDED_LOCALE_MODEL): Don't define. - (libc_hidden_def): Redefine. - -2017-10-31 Alan Modra - - * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: - (__STRCMP, STRCMP, __strcasecmp_l): Define. - (__strcasecmp): Don't define. - -2017-10-31 Alan Modra - - * sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S: Wrap in - IS_IN (libc). - * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S: Likewise. - * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: Likewise. - -2017-10-31 Alan Modra - - * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Don't define - USE_AS_STPNCPY. - -2017-10-31 Alan Modra - - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S (hidden_def): - Redefine only when SHARED. - -2017-10-30 Joseph Myers - - * math/math.h [__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)]: - Include with appropriate macros defined and - undefined. - [__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)]: Likewise. - [__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)]: Likewise. - [__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)]: Likewise. - [__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)]: Likewise. - [__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)]: Likewise. - - * math/math.h [!_Mfloat_] (_Mfloat_): Do not define. - [!_Mlong_double_] (_Mlong_double_): Likewise. - [!_Mfloat16_] (_Mfloat16_): Likewise. - [!_Mfloat32_] (_Mfloat32_): Likewise. - [!_Mfloat64_] (_Mfloat64_): Likewise. - [!_Mfloat128_] (_Mfloat128_): Likewise. - [!_Mfloat32x_] (_Mfloat32x_): Likewise. - [!_Mfloat64x_] (_Mfloat64x_): Likewise. - [!_Mfloat128x_] (_Mfloat128x_): Likewise. - (_Mdouble_): Define without indirection through those macros. - * math/complex.h [!_Mfloat_] (_Mfloat_): Do not define. - [!_Mfloat128_] (_Mfloat128_): Likewise. - [_Mlong_double_] (_Mlong_double_): Likewise. - (_Mdouble_): Define without indirection through those macros. - * math/Makefile [$(long-double-fcts) != yes] (math-CPPFLAGS): Do - not add -D_Mlong_double_=double. - * include/math.h [_ISOMAC] (_Mlong_double_): Do not undefine. - * math/test-signgam-finite-c99.c (_Mlong_double_): Likewise. - -2017-10-30 H.J. Lu - - * sysdeps/x86/libc-start.c: Add /* !SHARED */. - -2017-10-30 H.J. Lu - - * sysdeps/x86/libc-start.c: Reformat. - -2017-10-30 H.J. Lu - - [BZ #22353] - * sysdeps/i386/i586/strcpy.S (STRCPY): Use conditional branches. - (1): Renamed to ... - (L(Src0)): This. - (L(Src1)): New. - (L(Src2)): Likewise. - (L(1)): Renamed to ... - (L(Src3)): This. - -2017-10-30 Joseph Myers - - * math/math.h [__HAVE_FLOAT16 && __USE_GNU] (M_Ef16): New macro. - [__HAVE_FLOAT16 && __USE_GNU] (M_LOG2Ef16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_LOG10Ef16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_LN2f16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_LN10f16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_PIf16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_PI_2f16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_PI_4f16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_1_PIf16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_2_PIf16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_2_SQRTPIf16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_SQRT2f16): Likewise. - [__HAVE_FLOAT16 && __USE_GNU] (M_SQRT1_2f16): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_Ef32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_LOG2Ef32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_LOG10Ef32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_LN2f32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_LN10f32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_PIf32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_PI_2f32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_PI_4f32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_1_PIf32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_2_PIf32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_2_SQRTPIf32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_SQRT2f32): Likewise. - [__HAVE_FLOAT32 && __USE_GNU] (M_SQRT1_2f32): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_Ef64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_LOG2Ef64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_LOG10Ef64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_LN2f64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_LN10f64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_PIf64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_PI_2f64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_PI_4f64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_1_PIf64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_2_PIf64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_2_SQRTPIf64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_SQRT2f64): Likewise. - [__HAVE_FLOAT64 && __USE_GNU] (M_SQRT1_2f64): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_Ef32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_LOG2Ef32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_LOG10Ef32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_LN2f32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_LN10f32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_PIf32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_PI_2f32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_PI_4f32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_1_PIf32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_2_PIf32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_2_SQRTPIf32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_SQRT2f32x): Likewise. - [__HAVE_FLOAT32X && __USE_GNU] (M_SQRT1_2f32x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_Ef64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_LOG2Ef64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_LOG10Ef64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_LN2f64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_LN10f64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_PIf64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_PI_2f64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_PI_4f64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_1_PIf64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_2_PIf64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_2_SQRTPIf64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_SQRT2f64x): Likewise. - [__HAVE_FLOAT64X && __USE_GNU] (M_SQRT1_2f64x): Likewise. - [__HAVE_FLOAT128X && __USE_GNU]: Use #error. - -2017-10-30 Florian Weimer - - * elf/ldconfig.c (search_dir): Assume that _DIRENT_HAVE_D_TYPE is - always defined. - * io/tst-mkdirat.c (do_test): Likewise. - * io/tst-mkfifoat.c (do_test): Likewise. - * io/tst-mknodat.c (do_test): Likewise. - * locale/programs/charmap-dir.c (charmap_readdir): Likewise. - * locale/programs/locale.c (select_dirs): Likewise. - * locale/programs/locarchive.c (add_locales_to_archive): Likewise. - * posix/bug-glob2.c (my_readdir): Likewise. - * posix/tst-dir.c (main): Likewise. - * posix/tst-glob_lstat_compat.c (my_readdir): Likewise. - * posix/tst-gnuglob-skeleton.c (my_readdir): Likewise. - -2017-10-30 Florian Weimer - - * string/strings.h (ffsl, ffsll): Declare under __USE_MISC, not - just __USE_GNU. - -2017-10-30 Florian Weimer - - * posix/tst-gnuglob-skeleton.c: Renamed from tst-gnuglob.c. - Convert to support/test-driver.c. - (GLOB_FUNC, GLOB_TYPE, GLOBFREE_FUNC, DIRENT_STRUCT, STAT_STRUCT): - New macro parameters. - (PRINTF): Remove macro. Use test_verbose conditionals instead. - * posix/tst-gnuglob.c: New file. - * posix/tst-gnuglob64.c: Likewise. - * posix/Makefile (tests): Add tst-gnuglob64. - -2017-10-30 Michal Ostrowski - - [BZ #19485] - * localedata/locales/csb_PL (LC_TIME): Fix “abmon” for March - and use a better translation for March in “mon”. - * localedata/locales/csb_PL: Use more ASCII to improve the - readability of the source. - -2017-10-30 Mike FABIAN - - [BZ #13953] - * localedata/locales/km_KH: Use ASCII as much - as possible for better readability of the source and - remove useless comments. - * localedata/locales/km_KH (LC_TIME): Remove era stuff, it - was commented out and apparently wrong anyway because it was - using Lao characters. If Buddhist era should be used - for km_KH, a native speaker should write the correct formaat - for Khmer. - * localedata/locales/km_KH (LC_TIME): Add first_weekday 1 - (According to CLDR, the first weekday for Cambodia is Sunday). - * localedata/locales/km_KH (LC_NAME): Remove name_mr and name_mrs - (These were using Lao characters which must be wrong. If we get - the correct data from a native speaker, we could add it back, until - then it is better not to have name_mr and name_mrs at all than - having it wrong). - -2017-10-27 Rafal Luzynski - - * locale/loadlocale.c: Correct size of - _nl_value_type_LC_ arrays. - -2017-10-27 Joseph Myers - - * math/math.h [__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)]: - Include and - with appropriate macros defined and undefined. - [__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)]: Likewise. - [__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)]: Likewise. - [__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)]: Likewise. - [__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)]: Likewise. - [__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)]: Likewise. - -2017-10-27 H.J. Lu - - * sysdeps/i386/fpu/libm-test-ulps: Regenerated for GCC 7 with - "-O2 -march=i586". - -2017-10-27 Mike FABIAN - - * localedata/locales/tt_RU (LC_MESSAGES): Start yesstr and nostr - with lowercase letters to make it agree with CLDR. - -2017-10-27 Mike FABIAN - - [BZ #15260] - * localedata/locales/doi_IN (LC_MESSAGES): Match only for the - first letters of yesstr and nostr in yesexpr and noexpr, - not for the full words. - * localedata/locales/hne_IN (LC_MESSAGES): Likewise. - * localedata/locales/kok_IN (LC_MESSAGES): Likewise. - * localedata/locales/mr_IN (LC_MESSAGES): Likewise. - * localedata/locales/sat_IN (LC_MESSAGES): Likewise. - * localedata/locales/km_KH (LC_MESSAGES): Match also for the - first letters of yesstr and nostr in yesexpr and noexpr, - until now only English was matched in yesexpr and noexpr. - * localedata/locales/tl_PH (LC_MESSAGES): Use “copy "fil_PH"” - instead of “copy "en_US"”. CLDR has yesstr and nostr data for - fil but not for tl. As tl and fil are very similar, using fil - is probably better than using English. - -2017-10-27 Thierry Vignaud - - [BZ #21706] - * localedata/locales/br_FR (LC_MESSAGES): Use all lowercase - in yesstr and nostr. - -2017-10-26 Joseph Myers - - * math/math.h [__HAVE_FLOAT16 && __GLIBC_USE - (IEC_60559_TYPES_EXT)] (SNANF16): New macro. - [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32): - Likewise. - [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64): - Likewise. - [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32X): - Likewise. - [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64X): - Likewise. - [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (SNANF128X): Likewise. - - * math/math.h [__HAVE_FLOAT16 && __GLIBC_USE - (IEC_60559_TYPES_EXT)] (HUGE_VAL_F16): New macro. - [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (HUGE_VAL_F32): Likewise. - [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (HUGE_VAL_F64): Likewise. - [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (HUGE_VAL_F32X): Likewise. - [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (HUGE_VAL_F64X): Likewise. - [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (HUGE_VAL_F128X): Likewise. - -2017-10-26 Thierry Vignaud - - * localedata/locales/br_FR (LC_IDENTIFICATON): Add - Thierry Vignaud as the contact - for the br_FR locale. - -2017-10-26 Thierry Vignaud - - [BZ #21706] - * localedata/locales/br_FR (LC_MESSAGES): Fix nostr. - -2017-10-25 Carlos O'Donell - - * locale/programs/record-status.h: Define globals, and function - prototypes. Move function bodies... - * locale/programs/record-status.c: ... to here. New file. - * iconv/Makefile (iconv_prog-modules): Add record-status. - * locale/Makefile (lib-modules): Likewise. - * iconv/iconv_prog.c: Remove verbose. - * iconv/iconv_prog.h: Include record-status.h (defines verbose). - * locale/programs/charmap.c (charmap_read): If warn_ascii is true then - record a warning about ASCII compatibility. - * locale/programs/ld-monetary.c (monetary_finish): If - warn_int_curr_symbol is true then record a warning about the symbol - not being in our ISO 4217 list. - * locale/programs/locale.c: Include record-status.h. Remove verbose. - * locale/programs/localedef.c: Include ctype.h. Remove delcaration of - verbose, recorded_warning_count, recorded_error_count, and be_quiet. - (OPT_NO_WARN): Define. - (OPT_WARN): Define. - (options): Add entry for --no-warnings, and --warnings. - (set_warnings): New function to enable/disable warnings. - (parse_opt): Call set_warnings for OPT_NO_WARN and OPT_WARN. - * locale/programs/localedef.h: Remove warn_int_curr_symbol. - * localedata/gen-locale.sh: Default flags to `--quiet -c'. - Add `--no-warnings=ascii' to locales using SHIFT_JIS or SHIFT_JIXX0213. - Pass flags to generate_locale. - (generate_locale): Accept new flag argument and pass it to localedef - invocation. - * localedata/Makefile (INSTALL-SUPPORTED-LOCALES): Use - --no-warnings=ascii for SHIFT_JIS and SHIFT_JISX0213 charmaps. - - * localedata/Makefile (test-input-data): Use full file name. - * localedata/da_DK.in: Rename to... - * localedata/da_DK.ISO-8859-1.in: ...this. - * localedata/de_DE.in: Rename to... - * localedata/de_DE.ISO-8859-1.in: ...this. - * localedata/en_US.in: Rename to... - * localedata/en_US.ISO-8859-1.in: ...this. - * localedata/fr_FR.in: Rename to... - * localedata/fr_FR.UTF-8.in: ... this. - * localedata/hr_HR.in: Rename to... - * localedata/hr_HR.ISO-8859-2.in: ...this. - * localedata/hu_HU.in: Rename to... - * localedata/hu_HU.UTF-8.in: ...this. - * localedata/si_LK.in: Rename to... - * localedata/si_LK.UTF-8.in: ...this. - * localedata/sv_SE.in: Rename to... - * localedata/sv_SE.ISO-8859-1.in: ...this. - * localedata/tr_TR.in: Rename to... - * localedata/tr_TR.UTF-8.in: ...this. - * localedata/uk_UA.in: Rename to... - * localedata/uk_UA.UTF-8.in: ...this. - * localedata/sort-test.sh: Test file is locale name with the - suffix. - - * localedata/unicode-gen/Makefile (check_i18n): Rename to - check_i18n_ctype. Depend on i18n_ctype-report. Check i18n_ctype-report - file. - * localedata/locales/i18n_ctype: Regenerate. - * localedata/locales/tr_TR: Likewise. - * localedata/locales/translit_circle: Likewise. - * localedata/locales/translit_cjk_compat: Likewise. - * localedata/locales/translit_combining: Likewise. - * localedata/locales/translit_compat: Likewise. - * localedata/locales/translit_font: Likewise. - * localedata/locales/translit_fraction: Likewise. - -2017-10-25 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/power7/memcpy.S: Replace - lxvd2x/stxvd2x with lvx/stvx. - * sysdeps/powerpc/powerpc64/power7/memmove.S: Likewise. - -2017-10-25 H.J. Lu - - * include/alloc_buffer.h: Replace "if if " with "if " in - comments. - * sysdeps/mips/memcpy.S: Likkewise. - * sysdeps/mips/memset.S: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S: - Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf4_core_sse4.S: - Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf8_core_avx2.S: - Likewise. - -2017-10-25 Mike FABIAN - - [BZ #15261] - * localedata/locales/cmn_TW (LC_MESSAGES): Add fullwidth yYnN to - yesexpr and noexpr. - * localedata/locales/hak_TW (LC_MESSAGES): Likewise. - * localedata/locales/ko_KR (LC_MESSAGES): Likewise. - * localedata/locales/lzh_TW (LC_MESSAGES): Likewise. - * localedata/locales/nan_TW (LC_MESSAGES): Likewise. - * localedata/locales/zh_CN (LC_MESSAGES): Likewise. - * localedata/locales/zh_HK (LC_MESSAGES): Likewise. - * localedata/locales/zh_TW (LC_MESSAGES): Likewise. - -2017-10-25 Mike FABIAN - - * localedata/locales/am_ET (LC_MESSAGES): Sync with CLDR. - * localedata/locales/az_AZ (LC_MESSAGES): Likewise. - * localedata/locales/el_GR (LC_MESSAGES): Likewise. - * localedata/locales/ha_NG (LC_MESSAGES): Likewise. - * localedata/locales/ln_CD (LC_MESSAGES): Likewise. - * localedata/locales/mfe_MU (LC_MESSAGES): Likewise. - * localedata/locales/ml_IN (LC_MESSAGES): Likewise. - * localedata/locales/mt_MT (LC_MESSAGES): Likewise. - * localedata/locales/os_RU (LC_MESSAGES): Likewise. - * localedata/locales/tg_TJ (LC_MESSAGES): Likewise. - * localedata/locales/tt_RU (LC_MESSAGES): Likewise. - * localedata/locales/wo_SN (LC_MESSAGES): Likewise. - -2017-10-25 Mike FABIAN - - * localedata/locales/aa_ET (LC_MESSAGES): Use ASCII as much - as possible for better readability of the source. - * localedata/locales/af_ZA (LC_MESSAGES): Likewise. - * localedata/locales/ak_GH (LC_MESSAGES): Likewise. - * localedata/locales/am_ET (LC_MESSAGES): Likewise. - * localedata/locales/anp_IN (LC_MESSAGES): Likewise. - * localedata/locales/ar_EG (LC_MESSAGES): Likewise. - * localedata/locales/as_IN (LC_MESSAGES): Likewise. - * localedata/locales/ast_ES (LC_MESSAGES): Likewise. - * localedata/locales/ayc_PE (LC_MESSAGES): Likewise. - * localedata/locales/az_AZ (LC_MESSAGES): Likewise. - * localedata/locales/az_IR (LC_MESSAGES): Likewise. - * localedata/locales/be_BY (LC_MESSAGES): Likewise. - * localedata/locales/be_BY@latin (LC_MESSAGES): Likewise. - * localedata/locales/bem_ZM (LC_MESSAGES): Likewise. - * localedata/locales/ber_MA (LC_MESSAGES): Likewise. - * localedata/locales/bg_BG (LC_MESSAGES): Likewise. - * localedata/locales/bhb_IN (LC_MESSAGES): Likewise. - * localedata/locales/bi_VU (LC_MESSAGES): Likewise. - * localedata/locales/bo_CN (LC_MESSAGES): Likewise. - * localedata/locales/br_FR (LC_MESSAGES): Likewise. - * localedata/locales/bs_BA (LC_MESSAGES): Likewise. - * localedata/locales/ca_ES (LC_MESSAGES): Likewise. - * localedata/locales/ce_RU (LC_MESSAGES): Likewise. - * localedata/locales/crh_UA (LC_MESSAGES): Likewise. - * localedata/locales/cs_CZ (LC_MESSAGES): Likewise. - * localedata/locales/csb_PL (LC_MESSAGES): Likewise. - * localedata/locales/cv_RU (LC_MESSAGES): Likewise. - * localedata/locales/cy_GB (LC_MESSAGES): Likewise. - * localedata/locales/da_DK (LC_MESSAGES): Likewise. - * localedata/locales/de_DE (LC_MESSAGES): Likewise. - * localedata/locales/dv_MV (LC_MESSAGES): Likewise. - * localedata/locales/dz_BT (LC_MESSAGES): Likewise. - * localedata/locales/el_GR (LC_MESSAGES): Likewise. - * localedata/locales/en_CA (LC_MESSAGES): Likewise. - * localedata/locales/en_US (LC_MESSAGES): Likewise. - * localedata/locales/es_ES (LC_MESSAGES): Likewise. - * localedata/locales/et_EE (LC_MESSAGES): Likewise. - * localedata/locales/eu_ES (LC_MESSAGES): Likewise. - * localedata/locales/fa_IR (LC_MESSAGES): Likewise. - * localedata/locales/ff_SN (LC_MESSAGES): Likewise. - * localedata/locales/fi_FI (LC_MESSAGES): Likewise. - * localedata/locales/fil_PH (LC_MESSAGES): Likewise. - * localedata/locales/fo_FO (LC_MESSAGES): Likewise. - * localedata/locales/fr_BE (LC_MESSAGES): Likewise. - * localedata/locales/fr_CH (LC_MESSAGES): Likewise. - * localedata/locales/fr_FR (LC_MESSAGES): Likewise. - * localedata/locales/fr_LU (LC_MESSAGES): Likewise. - * localedata/locales/fur_IT (LC_MESSAGES): Likewise. - * localedata/locales/fy_DE (LC_MESSAGES): Likewise. - * localedata/locales/ga_IE (LC_MESSAGES): Likewise. - * localedata/locales/gd_GB (LC_MESSAGES): Likewise. - * localedata/locales/gl_ES (LC_MESSAGES): Likewise. - * localedata/locales/gu_IN (LC_MESSAGES): Likewise. - * localedata/locales/gv_GB (LC_MESSAGES): Likewise. - * localedata/locales/ha_NG (LC_MESSAGES): Likewise. - * localedata/locales/hak_TW (LC_MESSAGES): Likewise. - * localedata/locales/he_IL (LC_MESSAGES): Likewise. - * localedata/locales/hif_FJ (LC_MESSAGES): Likewise. - * localedata/locales/hne_IN (LC_MESSAGES): Likewise. - * localedata/locales/hr_HR (LC_MESSAGES): Likewise. - * localedata/locales/hsb_DE (LC_MESSAGES): Likewise. - * localedata/locales/ht_HT (LC_MESSAGES): Likewise. - * localedata/locales/hu_HU (LC_MESSAGES): Likewise. - * localedata/locales/hy_AM (LC_MESSAGES): Likewise. - * localedata/locales/ia_FR (LC_MESSAGES): Likewise. - * localedata/locales/id_ID (LC_MESSAGES): Likewise. - * localedata/locales/ig_NG (LC_MESSAGES): Likewise. - * localedata/locales/ik_CA (LC_MESSAGES): Likewise. - * localedata/locales/is_IS (LC_MESSAGES): Likewise. - * localedata/locales/it_CH (LC_MESSAGES): Likewise. - * localedata/locales/it_IT (LC_MESSAGES): Likewise. - * localedata/locales/iu_CA (LC_MESSAGES): Likewise. - * localedata/locales/ja_JP (LC_MESSAGES): Likewise. - * localedata/locales/kk_KZ (LC_MESSAGES): Likewise. - * localedata/locales/kl_GL (LC_MESSAGES): Likewise. - * localedata/locales/ko_KR (LC_MESSAGES): Likewise. - * localedata/locales/ks_IN (LC_MESSAGES): Likewise. - * localedata/locales/ku_TR (LC_MESSAGES): Likewise. - * localedata/locales/kw_GB (LC_MESSAGES): Likewise. - * localedata/locales/ky_KG (LC_MESSAGES): Likewise. - * localedata/locales/lb_LU (LC_MESSAGES): Likewise. - * localedata/locales/lg_UG (LC_MESSAGES): Likewise. - * localedata/locales/li_NL (LC_MESSAGES): Likewise. - * localedata/locales/lij_IT (LC_MESSAGES): Likewise. - * localedata/locales/ln_CD (LC_MESSAGES): Likewise. - * localedata/locales/lo_LA (LC_MESSAGES): Likewise. - * localedata/locales/lt_LT (LC_MESSAGES): Likewise. - * localedata/locales/lv_LV (LC_MESSAGES): Likewise. - * localedata/locales/lzh_TW (LC_MESSAGES): Likewise. - * localedata/locales/mg_MG (LC_MESSAGES): Likewise. - * localedata/locales/mhr_RU (LC_MESSAGES): Likewise. - * localedata/locales/mi_NZ (LC_MESSAGES): Likewise. - * localedata/locales/mk_MK (LC_MESSAGES): Likewise. - * localedata/locales/ml_IN (LC_MESSAGES): Likewise. - * localedata/locales/mn_MN (LC_MESSAGES): Likewise. - * localedata/locales/ms_MY (LC_MESSAGES): Likewise. - * localedata/locales/mt_MT (LC_MESSAGES): Likewise. - * localedata/locales/my_MM (LC_MESSAGES): Likewise. - * localedata/locales/nan_TW (LC_MESSAGES): Likewise. - * localedata/locales/nan_TW@latin (LC_MESSAGES): Likewise. - * localedata/locales/nb_NO (LC_MESSAGES): Likewise. - * localedata/locales/nds_DE (LC_MESSAGES): Likewise. - * localedata/locales/nds_NL (LC_MESSAGES): Likewise. - * localedata/locales/ne_NP (LC_MESSAGES): Likewise. - * localedata/locales/nhn_MX (LC_MESSAGES): Likewise. - * localedata/locales/niu_NU (LC_MESSAGES): Likewise. - * localedata/locales/nl_NL (LC_MESSAGES): Likewise. - * localedata/locales/nn_NO (LC_MESSAGES): Likewise. - * localedata/locales/nr_ZA (LC_MESSAGES): Likewise. - * localedata/locales/nso_ZA (LC_MESSAGES): Likewise. - * localedata/locales/oc_FR (LC_MESSAGES): Likewise. - * localedata/locales/om_ET (LC_MESSAGES): Likewise. - * localedata/locales/or_IN (LC_MESSAGES): Likewise. - * localedata/locales/os_RU (LC_MESSAGES): Likewise. - * localedata/locales/pa_IN (LC_MESSAGES): Likewise. - * localedata/locales/pa_PK (LC_MESSAGES): Likewise. - * localedata/locales/pap_AW (LC_MESSAGES): Likewise. - * localedata/locales/pap_CW (LC_MESSAGES): Likewise. - * localedata/locales/pl_PL (LC_MESSAGES): Likewise. - * localedata/locales/ps_AF (LC_MESSAGES): Likewise. - * localedata/locales/pt_BR (LC_MESSAGES): Likewise. - * localedata/locales/quz_PE (LC_MESSAGES): Likewise. - * localedata/locales/raj_IN (LC_MESSAGES): Likewise. - * localedata/locales/ro_RO (LC_MESSAGES): Likewise. - * localedata/locales/ru_RU (LC_MESSAGES): Likewise. - * localedata/locales/ru_UA (LC_MESSAGES): Likewise. - * localedata/locales/rw_RW (LC_MESSAGES): Likewise. - * localedata/locales/sa_IN (LC_MESSAGES): Likewise. - * localedata/locales/sc_IT (LC_MESSAGES): Likewise. - * localedata/locales/sd_IN@devanagari (LC_MESSAGES): Likewise. - * localedata/locales/se_NO (LC_MESSAGES): Likewise. - * localedata/locales/sgs_LT (LC_MESSAGES): Likewise. - * localedata/locales/si_LK (LC_MESSAGES): Likewise. - * localedata/locales/sk_SK (LC_MESSAGES): Likewise. - * localedata/locales/sl_SI (LC_MESSAGES): Likewise. - * localedata/locales/sm_WS (LC_MESSAGES): Likewise. - * localedata/locales/so_DJ (LC_MESSAGES): Likewise. - * localedata/locales/sq_AL (LC_MESSAGES): Likewise. - * localedata/locales/sr_RS (LC_MESSAGES): Likewise. - * localedata/locales/sr_RS@latin (LC_MESSAGES): Likewise. - * localedata/locales/ss_ZA (LC_MESSAGES): Likewise. - * localedata/locales/st_ZA (LC_MESSAGES): Likewise. - * localedata/locales/sv_SE (LC_MESSAGES): Likewise. - * localedata/locales/sw_KE (LC_MESSAGES): Likewise. - * localedata/locales/szl_PL (LC_MESSAGES): Likewise. - * localedata/locales/tcy_IN (LC_MESSAGES): Likewise. - * localedata/locales/tg_TJ (LC_MESSAGES): Likewise. - * localedata/locales/th_TH (LC_MESSAGES): Likewise. - * localedata/locales/the_NP (LC_MESSAGES): Likewise. - * localedata/locales/ti_ER (LC_MESSAGES): Likewise. - * localedata/locales/tk_TM (LC_MESSAGES): Likewise. - * localedata/locales/tn_ZA (LC_MESSAGES): Likewise. - * localedata/locales/to_TO (LC_MESSAGES): Likewise. - * localedata/locales/tr_TR (LC_MESSAGES): Likewise. - * localedata/locales/ts_ZA (LC_MESSAGES): Likewise. - * localedata/locales/tt_RU (LC_MESSAGES): Likewise. - * localedata/locales/tt_RU@iqtelif (LC_MESSAGES): Likewise. - * localedata/locales/uk_UA (LC_MESSAGES): Likewise. - * localedata/locales/unm_US (LC_MESSAGES): Likewise. - * localedata/locales/ur_IN (LC_MESSAGES): Likewise. - * localedata/locales/ur_PK (LC_MESSAGES): Likewise. - * localedata/locales/uz_UZ (LC_MESSAGES): Likewise. - * localedata/locales/uz_UZ@cyrillic (LC_MESSAGES): Likewise. - * localedata/locales/ve_ZA (LC_MESSAGES): Likewise. - * localedata/locales/vi_VN (LC_MESSAGES): Likewise. - * localedata/locales/wa_BE (LC_MESSAGES): Likewise. - * localedata/locales/wo_SN (LC_MESSAGES): Likewise. - * localedata/locales/xh_ZA (LC_MESSAGES): Likewise. - * localedata/locales/yi_US (LC_MESSAGES): Likewise. - * localedata/locales/yo_NG (LC_MESSAGES): Likewise. - * localedata/locales/yue_HK (LC_MESSAGES): Likewise. - * localedata/locales/zh_CN (LC_MESSAGES): Likewise. - * localedata/locales/zh_HK (LC_MESSAGES): Likewise. - * localedata/locales/zh_TW (LC_MESSAGES): Likewise. - * localedata/locales/zu_ZA (LC_MESSAGES): Likewise. - -2017-10-25 Mike FABIAN - - * localedata/locales/brx_IN (LC_MESSAGES): Fix yesexpr and noexpr - (Use first letters of yesstr and nostr correctly instead of using - full words). - -2017-10-25 Mike FABIAN - - * localedata/locales/ta_IN (LC_MESSAGES): Fix yesexpr and noexpr - (Use first letters of yesstr and nostr correctly). - -2017-10-25 Mike FABIAN - - * localedata/locales/hi_IN (LC_MESSAGES): In yesexpr and noexpr, - also check for the first characters of yesstr and nostr. - * localedata/locales/kn_IN (LC_MESSAGES): Likewise. - * localedata/locales/ks_IN@devanagari (LC_MESSAGES): Likewise. - -2017-10-25 Mike FABIAN - - * localedata/locales/cmn_TW (LC_MESSAGES): In yesexpr and noexpr, - also check for Chinese characters. - -2017-10-25 Mike FABIAN - - * localedata/locales/chr_US (LC_MESSAGES): In yesexpr and noexpr, - match also for the contents of yesstr and nostr. As the first letter - of yesstr and nostr is equal, checking only for the first letter - is not enough. - -2017-10-25 Mike FABIAN - - * localedata/locales/ber_DZ (LC_MESSAGES): Use copy "kab_DZ", - it is the same according to Belkacem Mohammed . - -2017-10-25 Mike FABIAN - - * localedata/locales/kab_DZ (LC_IDENTIFICATION): Add e-mail - of main contributor. - -2017-10-25 Mike FABIAN - - * localedata/locales/zh_SG (LC_MESSAGES): Use copy "zh_CN" - instead of using English. - -2017-10-25 Mike FABIAN - - * localedata/locales/ug_CN (LC_MESSAGES): Fix noexpr and yesexpr - by including the first letters of nostr and yesexpr in the regexp. - Also make it more readable by using ASCII where possible. - -2017-10-25 Mike FABIAN - - * localedata/locales/te_IN (LC_MESSAGES): Fix noexpr by including - the first letter of nostr in the regexp. It agrees with CLDR now. - Also make it more readable by using ASCII where possible. - -2017-10-24 Mike FABIAN - - * localedata/locales/km_KH (LC_MESSAGES): Fix yestr and nostr. - The yesstr and nostr apparently came from CLDR. And CLDR has a bug there: - these strings contain a U+17D6 (which somewhat looks like a colon) - instead of a real colon to separate the full words for “yes” - and “no” from the single letter responses. - -2017-10-24 Mike FABIAN - - * localedata/locales/ka_GE (LC_MESSAGES): Fix yesexp to make - it agree with CLDR (include the first letter of yesstr). - Also make it more readable by using ASCII where possible. - -2017-10-24 Mike FABIAN - - * localedata/locales/mr_IN (LC_MESSAGES): Fix yesstr and nostr - and improve yesexpr and noexpr. The yesstr and nostr apparently - came from CLDR. And CLDR has a bug there: these strings contain - a U+0903 (which looks like a colon) instead of a real colon - to separate the full words for “yes” and “no” from the single - letter responses. - -2017-10-24 Mike FABIAN - - * localedata/locales/bn_BD (LC_MESSAGES): Use only the first - letters of the full yesstr and nostr in yesexpr and noexpr. - -2017-10-24 Mike FABIAN - - * localedata/locales/an_ES (LC_MESSAGES): Add yesstr and nostr. - * localedata/locales/an_ES (LC_ADDRESS): Add lang_term and lang_lib. - * localedata/locales/an_ES: Make source more readable by using ASCII - where possible. - -2017-10-24 Mike FABIAN - - [BZ #20952] - * localedata/locales/yuw_PG: New file. - * localedata/SUPPORTED: Add yuw_PG/UTF-8. - * locale/iso-639.def: Add Yau (Uruwa). - -2017-10-23 Wilco Dijkstra - - * malloc/malloc.c (_int_malloc): Add SINGLE_THREAD_P path. - -2017-10-23 Wilco Dijkstra - - * malloc/malloc.c (__libc_malloc): Add SINGLE_THREAD_P path. - (__libc_realloc): Likewise. - (_mid_memalign): Likewise. - (__libc_calloc): Likewise. - -2017-10-23 Mike FABIAN - - * localedata/locales/tpi_PG (LC_MESSAGES): Fix yesexpr and noexpr - by adding the generic +1 and -0 as in all other locales. - * localedata/locales/tpi_PG (LC_TIME): Fix some typos in the month and - day names and make it more readable by using ASCII where possible. - -2017-10-24 Joseph Myers - - * sysdeps/x86/fpu/fix-fp-int-compare-invalid.h - (FIX_COMPARE_INVALID): Define to 0 if [__GNUC_PREREQ (8, 0)]. - -2017-10-23 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/spawni.c (__spawnix): Use 0 instead of - WNOHANG in waitpid call. - -2017-10-23 Siddhesh Poyarekar - - * manual/conf.texi (_SC_LEVEL1_DCACHE_LINESIZE, - _SC_LEVEL1_ICACHE_LINESIZE): Document aarch64 caveat. - - * manual/conf.texi (_SC_LEVEL1_ICACHE_SIZE, - _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, - _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, - _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, - _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, - _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, - _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, - _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE): New - variables. - -2017-10-23 Michael Collison - - * sysdeps/aarch64/fpu/e_sqrt.c (ieee754_sqrt): Replace asm statements - with __builtin_sqrt. - * sysdeps/aarch64/fpu/e_sqrtf.c (ieee754_sqrtf): Replace asm statements - with __builtin_sqrtf. - * sysdeps/aarch64/fpu/s_ceil.c (__ceil): Replace asm statements - with __builtin_ceil. - * sysdeps/aarch64/fpu/s_ceilf.c (__ceilf): Replace asm statements - with __builtin_ceilf. - * sysdeps/aarch64/fpu/s_floor.c (__floor): Replace asm statements - with __builtin_floor. - * sysdeps/aarch64/fpu/s_floorf.c (__floorf): Replace asm statements - with __builtin_floorf. - * sysdeps/aarch64/fpu/s_fma.c (__fma): Replace asm statements - with __builtin_fma. - * sysdeps/aarch64/fpu/s_fmaf.c (__fmaf): Replace asm statements - with __builtin_fmaf. - * sysdeps/aarch64/fpu/s_fmax.c (__fmax): Replace asm statements - with __builtin_fmax. - * sysdeps/aarch64/fpu/s_fmaxf.c (__fmaxf): Replace asm statements - with __builtin_fmaxf. - * sysdeps/aarch64/fpu/s_fmin.c (__fmin): Replace asm statements - with __builtin_fmin. - * sysdeps/aarch64/fpu/s_fminf.c (__fminf): Replace asm statements - with __builtin_fminf. - * sysdeps/aarch64/fpu/s_frint.c: Delete file. - * sysdeps/aarch64/fpu/s_frintf.c: Delete file. - * sysdeps/aarch64/fpu/s_llrint.c (__llrint): Replace asm statements - with builtin_rint and conversion to int. - * sysdeps/aarch64/fpu/s_llrintf.c (__llrintf): Likewise. - * sysdeps/aarch64/fpu/s_llround.c (__llround): Replace asm statements - with builtin_llround. - * sysdeps/aarch64/fpu/s_llroundf.c (__llroundf): Likewise. - * sysdeps/aarch64/fpu/s_lrint.c (__lrint): Replace asm statements - with builtin_rint and conversion to long int. - * sysdeps/aarch64/fpu/s_lrintf.c (__lrintf): Likewise. - * sysdeps/aarch64/fpu/s_lround.c (__lround): Replace asm statements - with builtin_lround. - * sysdeps/aarch64/fpu/s_lroundf.c (__lroundf): Replace asm statements - with builtin_lroundf. - * sysdeps/aarch64/fpu/s_nearbyint.c (__nearbyint): Replace asm - statements with __builtin_nearbyint. - * sysdeps/aarch64/fpu/s_nearbyintf.c (__nearbyintf): Replace asm - statements with __builtin_nearbyintf. - * sysdeps/aarch64/fpu/s_rint.c (__rint): Replace asm statements - with __builtin_rint. - * sysdeps/aarch64/fpu/s_rintf.c (__rintf): Replace asm statements - with __builtin_rintf. - * sysdeps/aarch64/fpu/s_round.c (__round): Replace asm statements - with __builtin_round. - * sysdeps/aarch64/fpu/s_roundf.c (__roundf): Replace asm statements - with __builtin_roundf. - * sysdeps/aarch64/fpu/s_trunc.c (__trunc): Replace asm statements - with __builtin_trunc. - * sysdeps/aarch64/fpu/s_truncf.c (__truncf): Replace asm statements - with __builtin_truncf. - * sysdeps/aarch64/fpu/Makefile: Build e_sqrt[f].c with -fno-math-errno, - and s_l[l]round[f].c too. - -2017-10-23 Alan Modra - - * sysdeps/powerpc/powerpc64/power8/strncpy.S: Move LR cfi. - Adjust stack after restoring regs. Add missing LR cfi_restore. - -2017-10-23 Alan Modra - - * sysdeps/powerpc/powerpc64/power7/strncpy.S: Decrease FRAMESIZE. - Move LR save and frame setup/teardown and LR restore to - immediately around memset call. Provide cfi. - -2017-10-22 H.J. Lu - - * sysdeps/i386/fpu/e_powf.S: Removed. - * sysdeps/i386/fpu/e_powf_log2_data.c: Likewise. - * sysdeps/i386/fpu/w_powf.c: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_powf.c. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_powf-sse2. - (CFLAGS-e_powf-sse2.c): New. - * sysdeps/i386/i686/fpu/multiarch/e_powf-sse2.c: New file. - * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Likewise. - -2017-10-22 H.J. Lu - - * sysdeps/i386/fpu/e_log2f.S: Removed. - * sysdeps/i386/fpu/e_log2f_data.c: Likewise. - * sysdeps/i386/fpu/w_log2f.c: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_log2f.c. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_log2f-sse2. - (CFLAGS-e_log2f-sse2.c): New. - * sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c: New file. - * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Likewise. - -2017-10-22 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_powf-fma. - (CFLAGS-e_powf-fma.c): New. - * sysdeps/x86_64/fpu/multiarch/e_powf-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/e_powf.c: Likewise. - -2017-10-22 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_log2f-fma. - (CFLAGS-e_log2f-fma.c): New. - * sysdeps/x86_64/fpu/multiarch/e_log2f-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/e_log2f.c: Likewise. - -2017-10-22 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_logf-fma. - (CFLAGS-e_logf-fma.c): New. - * sysdeps/x86_64/fpu/multiarch/e_logf-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/e_logf.c: Likewise. - -2017-10-22 H.J. Lu - - * sysdeps/i386/fpu/e_logf.S: Removed. - * sysdeps/i386/fpu/e_logf_data.c: Likewise. - * sysdeps/i386/fpu/w_logf.c: Likewise. - * sysdeps/i386/i686/fpu/e_logf.S: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_logf.c. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_logf-sse2. - (CFLAGS-e_logf-sse2.c): New. - * sysdeps/i386/i686/fpu/multiarch/e_logf-sse2.c: New file. - * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Likewise. - -2017-10-22 H.J. Lu - - * sysdeps/i386/fpu/e_exp2f.S: Removed. - * sysdeps/i386/fpu/w_exp2f.c: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_exp2f.c. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_exp2f-sse2. - (CFLAGS-e_exp2f-sse2.c): New. - * sysdeps/i386/i686/fpu/multiarch/e_exp2f-sse2.c: New file. - * sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Likewise. - -2017-10-22 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_exp2f-fma. - (CFLAGS-e_exp2f-fma.c): New. - * sysdeps/x86_64/fpu/multiarch/e_exp2f-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/e_exp2f.c: Likewise. - -2017-10-22 H.J. Lu - - * sysdeps/i386/fpu/e_exp2f_data.c: Removed. - * sysdeps/i386/fpu/e_expf.S: Likewise. - * sysdeps/i386/fpu/math_errf.c: Likewise. - * sysdeps/i386/fpu/w_expf.c: Likewise. - * sysdeps/i386/i686/fpu/multiarch/e_expf-ia32.S: Likewise. - * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Likewise. - * sysdeps/i386/i686/fpu/multiarch/w_expf.c: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_expf.c. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): - Remove e_expf-ia32. - (CFLAGS-e_expf-sse2.c): New. - * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.c: New file. - * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Rewritten. - -2017-10-22 H.J. Lu - - * sysdeps/x86_64/fpu/e_expf.S: Removed. - * sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: Likewise. - * sysdeps/x86_64/fpu/w_expf.c: Likewise. - * sysdeps/x86_64/fpu/libm-test-ulps: Updated for generic - e_expf.c. - * sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_expf-fma.c): - New. - * sysdeps/x86_64/fpu/multiarch/e_expf-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf): - Renamed to ... - (__redirect_expf): This. - (SYMBOL_NAME): Changed to expf. - (__ieee754_expf): Renamed to ... - (__expf): This. - (__GI___expf): This. - (__ieee754_expf): Add strong_alias. - (__expf_finite): Likewise. - (__expf): New. - Include . - -2017-10-22 Paul Eggert - - [BZ #22332] - * posix/glob.c (__glob): Fix buffer overflow during GLOB_TILDE - unescaping. - -2017-10-21 Florian Weimer - - * posix/Makefile (tests): Add tst-glob-tilde. - (tests-special): Add tst-glob-tilde-mem.out - (tst-glob-tilde-ENV): Set MALLOC_TRACE. - (tst-glob-tilde-mem.out): Add mtrace check. - * posix/tst-glob-tilde.c: New file. - -2017-10-20 Joseph Myers - - * bits/floatn-common.h: New file. - * math/Makefile (headers): Add bits/floatn-common.h. - * bits/floatn.h: Include . - * sysdeps/ia64/bits/floatn.h: Likewise. - * sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise. - * sysdeps/mips/ieee754/bits/floatn.h: Likewise. - * sysdeps/powerpc/bits/floatn.h: Likewise. - * sysdeps/x86/bits/floatn.h: Likewise. - -2017-10-20 Adhemerval Zanella - - * configure.ac (libc_cv_gcc_incompatbile_alias): New define: - indicates whether compiler emits an warning for alias for - functions with incompatible types. - - [BZ #22273] - * sysdeps/unix/sysv/linux/spawni.c (__spawnix): Handle the case where - the auxiliary process is terminated by a signal before calling _exit - or execve. - -2017-10-20 H.J. Lu - - [BZ #21265] - * sysdeps/x86/cpu-features-offsets.sym (XSAVE_STATE_SIZE_OFFSET): - New. - * sysdeps/x86/cpu-features.c: Include . - (get_common_indeces): Set xsave_state_size, xsave_state_full_size - and bit_arch_XSAVEC_Usable if needed. - (init_cpu_features): Remove bit_arch_Use_dl_runtime_resolve_slow - and bit_arch_Use_dl_runtime_resolve_opt. - * sysdeps/x86/cpu-features.h (bit_arch_Use_dl_runtime_resolve_opt): - Removed. - (bit_arch_Use_dl_runtime_resolve_slow): Likewise. - (bit_arch_Prefer_No_AVX512): Updated. - (bit_arch_MathVec_Prefer_No_AVX512): Likewise. - (bit_arch_XSAVEC_Usable): New. - (STATE_SAVE_OFFSET): Likewise. - (STATE_SAVE_MASK): Likewise. - [__ASSEMBLER__]: Include . - (cpu_features): Add xsave_state_size and xsave_state_full_size. - (index_arch_Use_dl_runtime_resolve_opt): Removed. - (index_arch_Use_dl_runtime_resolve_slow): Likewise. - (index_arch_XSAVEC_Usable): New. - * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)): - Support XSAVEC_Usable. Remove Use_dl_runtime_resolve_slow. - * sysdeps/x86_64/Makefile (tst-x86_64-1-ENV): New if tunables - is enabled. - * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): - Replace _dl_runtime_resolve_sse, _dl_runtime_resolve_avx, - _dl_runtime_resolve_avx_slow, _dl_runtime_resolve_avx_opt, - _dl_runtime_resolve_avx512 and _dl_runtime_resolve_avx512_opt - with _dl_runtime_resolve_fxsave, _dl_runtime_resolve_xsave and - _dl_runtime_resolve_xsavec. - * sysdeps/x86_64/dl-trampoline.S (DL_RUNTIME_UNALIGNED_VEC_SIZE): - Removed. - (DL_RUNTIME_RESOLVE_REALIGN_STACK): Check STATE_SAVE_ALIGNMENT - instead of VEC_SIZE. - (REGISTER_SAVE_BND0): Removed. - (REGISTER_SAVE_BND1): Likewise. - (REGISTER_SAVE_BND3): Likewise. - (REGISTER_SAVE_RAX): Always defined to 0. - (VMOV): Removed. - (_dl_runtime_resolve_avx): Likewise. - (_dl_runtime_resolve_avx_slow): Likewise. - (_dl_runtime_resolve_avx_opt): Likewise. - (_dl_runtime_resolve_avx512): Likewise. - (_dl_runtime_resolve_avx512_opt): Likewise. - (_dl_runtime_resolve_sse): Likewise. - (_dl_runtime_resolve_sse_vex): Likewise. - (USE_FXSAVE): New. - (_dl_runtime_resolve_fxsave): Likewise. - (USE_XSAVE): Likewise. - (_dl_runtime_resolve_xsave): Likewise. - (USE_XSAVEC): Likewise. - (_dl_runtime_resolve_xsavec): Likewise. - * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve_avx512): - Removed. - (_dl_runtime_resolve_avx512_opt): Likewise. - (_dl_runtime_resolve_avx): Likewise. - (_dl_runtime_resolve_avx_opt): Likewise. - (_dl_runtime_resolve_sse): Likewise. - (_dl_runtime_resolve_sse_vex): Likewise. - (_dl_runtime_resolve_fxsave): New. - (_dl_runtime_resolve_xsave): Likewise. - (_dl_runtime_resolve_xsavec): Likewise. - -2017-10-20 Paul Eggert - - [BZ #22320] - CVE-2017-15670 - * posix/glob.c (__glob): Fix one-byte overflow. - -2017-10-20 Wilco Dijkstra - - * malloc/malloc.c (sysdep-cancel.h): Add include. - -2017-10-20 Wilco Dijkstra - - * malloc/malloc.c (_int_free): Add SINGLE_THREAD_P fast paths. - -2017-10-20 Will Hawkins - - * resolv/Makefile [$(build-shared)$(have-thread-library) == yesyes] - (tests): Remove $(objpfx)ga_test depdendency. - * resolv/ga_test.c: Remove file. - -2017-10-20 Mike FABIAN - - [BZ #18812] - * localedata/SUPPORTED: Add kab_DZ/UTF-8. - * localedata/locales/kab_DZ: New file. - -2017-10-20 H.J. Lu - - * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use - _dl_relocate_static_pie instead of _dl_start to compute load - address in static PIE. - -2017-10-20 H.J. Lu - - * sysdeps/m68k/start.S (_start): Check PIC instead of SHARED. - -2017-10-20 Mike FABIAN - - [BZ #13605] - * localedata/SUPPORTED: Add shn_MM/UTF-8. - * localedata/locales/shn_MM: New file. - -2017-10-20 Florian Weimer - - [BZ #22321] - sysconf: Fix missing definition of UIO_MAXIOV on Linux. - * sysdeps/posix/sysconf.c: Include . - * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-sysconf-iov_max. - (tst-sysconf-iov_max): Link with tst-sysconf-iov_max-uapi.o. - * sysdeps/unix/sysv/linux/tst-sysconf-iov_max.c: New file. - * sysdeps/unix/sysv/linux/tst-sysconf-iov_max-uapi.c: Likewise. - -2017-10-19 H.J. Lu - - * sysdeps/i386/fpu/libm-test-ulps: Regenerated. - -2017-10-19 Joseph Myers - - * sysdeps/mips/ieee754/bits/floatn.h: New file. - - [BZ #22322] - * sysdeps/mips/bits/long-double.h: Move to .... - * sysdeps/mips/ieee754/bits/long-double.h: ... here. - -2017-10-19 Wilco Dijkstra - - * malloc/malloc.c (_int_free): Fix deadlock bug in consistency check. - -2017-10-19 Valery Reznic - H.J. Lu - - [BZ #22299] - * sysdeps/x86/cpu-features.c (init_cpu_features): Don't set - GLRO(dl_platform) to NULL. - * sysdeps/x86_64/Makefile (tests): Add tst-platform-1. - (modules-names): Add tst-platformmod-1 and - x86_64/tst-platformmod-2. - (CFLAGS-tst-platform-1.c): New. - (CFLAGS-tst-platformmod-1.c): Likewise. - (CFLAGS-tst-platformmod-2.c): Likewise. - (LDFLAGS-tst-platformmod-2.so): Likewise. - ($(objpfx)tst-platform-1): Likewise. - ($(objpfx)tst-platform-1.out): Likewise. - (tst-platform-1-ENV): Likewise. - ($(objpfx)x86_64/tst-platformmod-2.os): Likewise. - * sysdeps/x86_64/tst-platform-1.c: New file. - * sysdeps/x86_64/tst-platformmod-1.c: Likewise. - * sysdeps/x86_64/tst-platformmod-2.c: Likewise. - -2017-10-19 Mike FABIAN - - [BZ #13994] - * locale/iso-639.def: Add Karbi. - * localedata/SUPPORTED: Add mjw_IN/UTF-8. - * localedata/locales/mjw_IN: New file. - -2017-10-18 Joseph Myers - - * sysdeps/ieee754/ldbl-128/Makeconfig: New file. - * sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise. - * sysdeps/ieee754/ldbl-128/float128-abi.h: Likewise. - * sysdeps/generic/libm-alias-ldouble.h: Include . - [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] - (libm_alias_ldouble_other_r): Also create _Float128 alias. - * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Include - . - [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] - (libm_alias_ldouble_other_r): Also create _Float128 alias. - * manual/math.texi (Mathematics): Document additional architecture - support for _Float128. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - -2017-10-18 Renlin Li - - * sysdeps/aarch64/dl-machine.h (elf_machine_load_address): Use - _DYNAMIC symbol to calculate load address. - -2017-10-18 Paul A. Clarke - - * sysdeps/powerpc/fpu/fenv_private.h (_FPU_MASK_TRAPS_RN): - (_FPU_MASK_FRAC_INEX_RET_CC): Fix masks to more properly handle - summary bits. - (_FPU_MASK_RN): Expand _FPU_MASK_RN to 64bit hex. - (_FPU_MASK_NOT_RN_NI): Treat bit 52 (left-to-right) as reserved. - -2017-10-18 Mike FABIAN - - [BZ #16777] - * localedata/locales/pl_PL (LC_MONETARY): Use U+202F as mon_thousands_sep - and improve readability by using more ASCII. - * localedata/locales/pl_PL (LC_NUMERIC): Use U+202F as thousands_sep - and improve readability by using more ASCII. - -2017-10-18 Wilco Dijkstra - - * malloc/malloc.c (malloc_state): Use int for have_fastchunks since - not all targets support atomics on bool. - -2017-10-17 Joseph Myers - - * include/float.h [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && - __GLIBC_USE (IEC_60559_TYPES_EXT)] (FLT128_MAX): Define using - __f128. - [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE - (IEC_60559_TYPES_EXT)] (FLT128_EPSILON): Likewise. - [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE - (IEC_60559_TYPES_EXT)] (FLT128_MIN): Likewise. - [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE - (IEC_60559_TYPES_EXT)] (FLT128_TRUE_MIN): Likewise. - -2017-10-17 Adhemerval Zanella - - * bits/uio-ext.h (RWF_HIPRI, RWF_DSYNC, RWF_SYNC, RWF_NOWAIT): New - defines. - -2017-10-17 Wilco Dijkstra - - [BZ #22159] - * malloc/arena.c (ptmalloc_init): Call malloc_init_state. - * malloc/malloc.c (do_check_free_chunk): Fix build bug. - (do_check_remalloced_chunk): Fix build bug. - (do_check_malloc_state): Add assert that checks arena->top. - (malloc_consolidate): Remove initialization. - (int_mallinfo): Remove call to malloc_consolidate. - (__libc_mallopt): Clarify why malloc_consolidate is needed. - -2017-10-17 Wilco Dijkstra - - * malloc/malloc.c (FASTCHUNKS_BIT): Remove. - (have_fastchunks): Remove. - (clear_fastchunks): Remove. - (set_fastchunks): Remove. - (malloc_state): Add have_fastchunks. - (malloc_init_state): Use have_fastchunks. - (do_check_malloc_state): Remove incorrect invariant checks. - (_int_malloc): Use have_fastchunks. - (_int_free): Likewise. - (malloc_consolidate): Likewise. - -2017-10-17 Wilco Dijkstra - - * malloc/malloc.c (tcache_put): Inline. - (tcache_get): Inline. - -2017-10-17 Jordi Mallach - - Aurelien Jarno - [BZ #2522] - * localedata/locales/ca_ES@valencia: New file. - * localedata/SUPPORTED: Add ca_ES@valencia/UTF-8. - -2017-10-17 Romain Naour (tiny change) - - [BZ #22296] - * math/math.h: Let signbit use the builtin in C++ mode with gcc - < 6.x - -2017-10-17 Adhemerval Zanella - - * scripts/build-many-glibcs.py (Context.add_all_configs): - Add arm-linux-gnueabihf multiarch extra_glibcs. - - * sysdeps/generic/ifunc-init.h: New file. - * sysdeps/x86/init-arch.h: Use generic ifunc-init.h. - -2017-10-17 Mike FABIAN - - [BZ #22019] - * localedata/locales/el_GR: Set n_cs_precedes to 0. - * localedata/locales/el_CY: copy "el_GR" because it is identical. - * stdlib/tst-strfmon_l.c: adapt test case. - -2017-10-16 Joseph Myers - - * sysdeps/generic/float128-abi.h: New file. - * sysdeps/ieee754/float128/Versions (FLOAT128_VERSION): Move - non-__prefixed symbols to .... - * math/Versions: ... here. Include . - * stdlib/Versions ... and here. Include - -2017-10-16 Florian Weimer - - * version.h (VERSION): Switch to ".9000" as the development - version suffix. - -2017-10-16 Florian Weimer - - [BZ #22050] - * malloc/mcheck-init.c (__malloc_initialize_hook): Use - compat_symbol_reference to access non-default version. - -2017-10-16 Florian Weimer - - * malloc/Makefile (others-extras): Set to mcheck-init.o. - -2017-10-16 Carlos O'Donell - - * include/shlib-compat.h (compat_symbol_reference): Update - comment. - -2017-10-16 Joseph Myers - - * math/Makefile (test-types): Add - $(type-float128-$(float128-alias-fcts)). - * math/test-float128.h (TYPE_STR): Define conditional on - [FLT128_MANT_DIG == LDBL_MANT_DIG]. - (ULP_IDX): Likewise. - (ULP_I_IDX): Likewise. - - * stdlib/strtold.c: Include - [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strtof128): Define - and later undefine as macro. Define as weak alias if - [!USE_WIDE_CHAR]. - [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128): Define - and later undefine as macro. Define as weak alias if - [USE_WIDE_CHAR]. - * sysdeps/ieee754/ldbl-128/strtold_l.c [__HAVE_FLOAT128 && - !__HAVE_DISTINCT_FLOAT128] (strtof128_l): Define and later - undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. - [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128_l): - Define and later undefine as macro. Define as weak alias if - [USE_WIDE_CHAR]. - * sysdeps/ieee754/ldbl-64-128/strtold_l.c: Include - . - [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strtof128_l): - Define and later undefine as macro. Define as weak alias if - [!USE_WIDE_CHAR]. - [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128_l): - Define and later undefine as macro. Define as weak alias if - [USE_WIDE_CHAR]. - -2017-10-15 Carlos O'Donell - - * localedata/collate-test.c (allocate_arrays): Don't use \n in - record_verbose messages. - -2017-10-15 H.J. Lu - - [BZ #22052] - * malloc/hooks.c (realloc_check): Use DIAG_IGNORE_NEEDS_COMMENT - to silence -O3 -Wall warning with GCC 7. - -2017-10-14 H.J. Lu - - * Makeconfig (+link-static-before-libc): Use the first of - $(CRT-$(@F)) and $(csu-objpfx)$(static-start-installed-name). - * gmon/Makefile (tests): Add tst-gmon-static. - (tests-static): Likewise. - (CFLAGS-tst-gmon-static.c): New. - (CRT-tst-gmon-static): Likewise. - (DEFAULT-LDFLAGS-tst-gmon-static): Likewise. - (tst-gmon-static-ENV): Likewise. - (tests-special): Likewise. - ($(objpfx)tst-gmon-static.out): Likewise. - (clean-tst-gmon-static-data): Likewise. - ($(objpfx)tst-gmon-static-gprof.out): Likewise. - * gmon/tst-gmon-static-gprof.sh: New file. - * gmon/tst-gmon-static.c: Likewise. - -2017-10-13 Carlos O'Donell - - [BZ #22295] - * locale/programs/linereader.c (get_string): Don't warn on - non-symbolic character. - - [BZ #22294] - * locale/programs/ld-monetary.c (monetary_finish): Allow "" - int_curr_symbol. - - [BZ #22292] - * locale/programs/record-status.h: New file - * locale/programs/locale.c: Add comment. - * locale/programs/charmap-dir.c: Don't include error.h. - (charmap_opendir): Use record_error. - * locale/programs/charmap.c: Don't include error.h. - (charmap_read): Use record_error, and record_warning. - (parse_charmap): Likewise. - * locale/programs/ld-address.c: Don't include error.h. - (address_finish): Use record_error, and record_warning. - * locale/programs/ld-collate.c: Don't include error.h. - (collate_finish): Use record_error, and record_error_at_line. - * locale/programs/ld-ctype.c (ctype_finish): Use record_error. - (ctype_class_new): Likewise. - (ctype_map_new): Likewise. - (set_one_default): Likewise. - (set_class_defaults): Likewise. - (translit_flatten): Likewise. - (allocate_arrays): Use record_error, and record_verbose. - * locale/programs/ld-identification.c: Don't include error.h. - (indentation_finish): Use record_error and record_warning. - * locale/programs/ld-measurement.c: Don't include error.h. - (measurement_finish): Use record_error. - * locale/programs/ld-messages.c - (message_finish): Likewise. - * locale/programs/ld-monetary.c - (monetary_finish): Likewise. - * locale/programs/ld-name.c (name_finish): Use record_error - and record_warning. - * locale/programs/ld-numeric.c - (numeric_finish): Use record_error. - * locale/programs/ld-paper.c: Don't include error.h. - (paper_finish): Use record_error. - * locale/programs/ld-telephone.c: Don't include error.h. - (telephone_finish): Use record_error. - * locale/programs/ld-time.c (time_finish): Likewise. - * locale/programs/linereader.h (lr_error): Make inline func. - * locale/programs/localedef.c: Define recorded_warning_count, - and recorded_error_count. - (main): Use record_error. Use recorded_error_count and - recorded_warning_count to issue correct error returns. - (add_to_readlist): Use record_error. - (find_locale): Likewise. - (load_locale): Likewise. - * locale/programs/localedef.h: Remove be_quiet - and WITH_CUR_LOCALE. - * locale/programs/locarchive.c (compare_from_file): Use - record_error. - * locale/programs/locfile.c (write_locale_data): Use - record_error. - * locale/programs/repertoire.c: Dont include error.h. - (repertoire_complain): Use record_error. - * localedata/tst-fmon.sh: Expect failures from localedef. - * localedata/tst-locale.sh: Likewise. - * localedata/gen-locale.sh: Expect failures from SHIFT_JIS. - - * localedata/unicode-gen/Makefile (GENERATED): Use i18n_ctype. - (REPORTS): Likewise. - (check): Likewise. - (i18n): Rename to... - (i18n_ctype): ...this. - (i18n-report): Rename to... - (i18n_ctype-report): ...this. - * localedata/locales/i18n_ctype: Regenerate. - * localedata/locales/i18n: copy i18n_ctype. - -2017-10-13 Joseph Myers - - * stdlib/strfroml.c: Include . - [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strfromf128): - Define before include of and undefine afterwards, then - define as weak alias. - - * sysdeps/ieee754/ldbl-64-128/s_nextafterl.c (weak_alias): - Undefine and restore default definition. Use - libm_alias_ldouble_other. - -2017-10-13 Peter Zelezny - - [BZ #22153] - * nptl/allocatestack.c (__nptl_setxid_error): Preserve error code - in coredumps. - -2017-10-13 James Clarke - - * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): - Assign sym_map to be map for local symbols, as TLS relocations - use sym_map to determine whether the symbol is defined and to - extract the TLS information. - * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. - -2017-10-13 Tulio Magno Quites Machado Filho - - [BZ #22189] - * sysdeps/powerpc/fpu/math_private.h (math_opt_barrier): - (math_force_eval): Add powerpc version. - - [BZ #22142] - * stdio-common/tst-printf.c (fp_test): Add tests for DBL_MAX and - -DBL_MAX. - (do_test): Likewise. - * stdio-common/tst-printf.sh: Likewise. - * sysdeps/powerpc/powerpc64/power7/add_n.S: Invert the initial - ifdef clause in order to set the carry bit right. Replace r0 by - 0 without changing the behavior. - -2017-10-13 Joseph Myers - - * sysdeps/sparc/sparc32/fpu/s_fabsl.c: Include - . - (fabsl): Define using libm_alias_ldouble. - * sysdeps/sparc/sparc64/fpu/s_fabsl.c: Include - . - (fabsl): Define using libm_alias_ldouble. - - * sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c [BUILD_LGAMMA]: - Remove conditional code. - - * sysdeps/ieee754/ldbl-opt/s_clog10l.c (__clog10l__internal): - Rename to __clog10_internal_l. - (__clog10_internal_l): Define aliases using - libm_alias_ldouble_other instead of using libm_alias_ldouble_other - with __clog10. - -2017-10-13 Rajalakshmi Srinivasaraghavan - - * benchtests/Makefile (bench-math): Add sinf, cosf and sincosf. - * benchtests/sincosf-inputs: New file. - * benchtests/cosf-inputs: New file. - * benchtests/sinf-inputs: New file. - -2017-10-12 Szabolcs Nagy - - * posix/tst-spawn.c (do_test): Wait for both children. - -2017-10-12 H.J. Lu - - [BZ #22284] - * gmon/Makefile [$(have-fpie)$(build-shared) == yesyes] (tests, - tests-pie): Add tst-gmon-pie. - (CFLAGS-tst-gmon-pie.c): New. - (CRT-tst-gmon-pie): Likewise. - (tst-gmon-pie-ENV): Likewise. - [$(have-fpie)$(build-shared) == yesyes] (tests-special): Likewise. - ($(objpfx)tst-gmon-pie.out): Likewise. - (clean-tst-gmon-pie-data): Likewise. - ($(objpfx)tst-gmon-pie-gprof.out): Likewise. - * gmon/gmon.c [PIC]: Include . - [PIC] (callback): New function. - (write_hist): Add an argument for load address. Subtract load - address from PCs. - (write_call_graph): Likewise. - (write_gmon): Call __dl_iterate_phdr to get load address, pass - it to write_hist and write_call_graph. - * gmon/tst-gmon-pie.c: New file. - -2017-10-11 Joseph Myers - - * math/Makefile (test-types-basic): New variable. - (test-types): Likewise. - (libm-test-support): Use $(test-types) instead of $(types). - (libm-tests-base-normal): Likewise. - (libm-tests-base-finite): Likewise. - (libm-tests-base-inline): Likewise. - (generated): Likewise. - ($(objpfx)libm-test-support-$(t).c): Likewise. - (libm-tests-for-type iterator): Likewise. - (libm-test-support iterator): Likewise. - * math/libm-test-support.c (ulp_i_idx): Use ULP_I_IDX. - (ulp_idx): Use ULP_IDX. - * math/test-ldouble.h: Include . - (TYPE_STR): Define conditional on [LDBL_MANT_DIG == DBL_MANT_DIG]. - (ULP_IDX): New macro. - (ULP_I_IDX): Likewise. - * math/test-double.h (ULP_IDX): Likewise. - (ULP_I_IDX): Likewise. - * math/test-float.h (ULP_IDX): Likewise. - (ULP_I_IDX): Likewise. - * math/test-float128.h (ULP_IDX): Likewise. - (ULP_I_IDX): Likewise. - -2017-10-11 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Remove file. - * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h - (SINGLE_THREAD_BY_GLOBAL): Define. - * sysdeps/unix/sysv/linux/aarch64/sysdep.h (SINGLE_THREAD_BY_GLOBAL): - Likewise. - * sysdeps/unix/sysv/linux/alpha/sysdep.h (SINGLE_THREAD_BY_GLOBAL): - Likewise. - * sysdeps/unix/sysv/linux/arm/sysdep.h (SINGLE_THREAD_BY_GLOBAL): - Likewise. - * sysdeps/unix/sysv/linux/hppa/sysdep.h (SINGLE_THREAD_BY_GLOBAL): - Likewise. - * sysdeps/unix/sysv/linux/microblaze/sysdep.h - (SINGLE_THREAD_BY_GLOBAL): Likewise. - * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SINGLE_THREAD_BY_GLOBAL): - Likewise. - -2017-10-11 Andreas Schwab - - * nis/Makefile (aux): Remove. - * nscd/Makefile (aux): Add nscd_hash. - (nscd-modules): Likewise. - ($(objpfx)nscd): Don't depend on libnsl. - * nscd/nscd_hash.c: New file. - * nscd/nscd_hash.h: Likewise. - * nscd/cache.c: Include "nscd_hash.h" instead of . - (cache_search, cache_add): Use __nscd_hash instead of __nis_hash. - * nscd/nscd_helper.c: Include and "nscd_hash.h" - instead of . - (__nscd_cache_search): Use __nscd_hash instead of __nis_hash. - -2017-10-11 Florian Weimer - - [BZ #22078] - Avoid large NSS buffers with many addresses, aliases. - * nss/nss_files/files-hosts.c (gethostbyname3_multi): Rewrite - using dynarrays and struct alloc_buffer. - * nss/Makefile (tests): Add tst-nss-files-hosts-multi. - (tst-nss-files-hosts-multi): Link with -ldl. - * nss/tst-nss-files-hosts-multi.c: New file. - -2017-10-11 Florian Weimer - - [BZ #18023] - * nss/nss_files/files-hosts.c (gethostbyname3_multi): Use struct - scratch_buffer. Eliminate gotos. - -2017-10-11 Joseph Myers - - * sysdeps/ieee754/ldbl-opt/s_clog10l.c: Use - libm_alias_ldouble_other. - * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (weak_alias): Do not - undefine and redefine. - [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] - (exp10l): Do not define here. - * sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c [BUILD_LGAMMA] - (weak_alias): Undefine and redefine. - [BUILD_LGAMMA]: Use libm_alias_ldouble_other. - * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c - [LIBM_SVID_COMPAT] (weak_alias): Undefine and redefine here. - [LIBM_SVID_COMPAT]: Use libm_alias_ldouble_other. - - * soft-fp/fmadf4.c: Include . - [!__fma] (fma): Define using libm_alias_double. - * soft-fp/fmasf4.c: Include . - [!__fmaf] (fmaf): Define using libm_alias_float. - * soft-fp/fmatf4.c: Include . - (fmal): Define using libm_alias_ldouble. - -2017-10-10 Joseph Myers - - * sysdeps/generic/libm-alias-double.h (libm_alias_double_other_r): - New macro. - (libm_alias_double_other): Likewise. - (libm_alias_double_r): Use libm_alias_double_other_r. - * sysdeps/generic/libm-alias-float.h (libm_alias_float_other_r): - New macro. - (libm_alias_float_other): Likewise. - (libm_alias_float_r): Use libm_alias_float_other_r. - * sysdeps/generic/libm-alias-float128.h - (libm_alias_float128_other_r): New macro. - (libm_alias_float128_other): Likewise. - (libm_alias_float128_r): Use libm_alias_float128_other_r. - * sysdeps/generic/libm-alias-ldouble.h - (libm_alias_ldouble_other_r): New macro. - (libm_alias_ldouble_other): Likewise. - (libm_alias_ldouble_r): Use libm_alias_ldouble_other_r. - * sysdeps/ieee754/ldbl-opt/libm-alias-double.h - (libm_alias_double_other_r): New macro. - (libm_alias_double_other): Likewise. - (libm_alias_double_r): Use libm_alias_double_other_r. - * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h - (libm_alias_ldouble_other_r): New macro. - (libm_alias_ldouble_other): Likewise. - (libm_alias_ldouble_r): Use libm_alias_ldouble_other_r. - * math/w_lgamma_main.c: Include . - [!USE_AS_COMPAT]: Use libm_alias_double_other. - * math/w_lgammaf_main.c: Include . - [!USE_AS_COMPAT]: Use libm_alias_float_other. - * math/w_lgammal_main.c: Include . - [!USE_AS_COMPAT]: Use libm_alias_ldouble_other. - * math/w_exp2f.c: Use libm_alias_float_other. - * math/w_expf.c: Likewise. - * math/w_log2f.c: Likewise. - * math/w_logf.c: Likewise. - * math/w_powf.c: Likewise. - * sysdeps/ieee754/flt-32/e_exp2f.c: Include . - [!__exp2f]: Use libm_alias_float_other. - * sysdeps/ieee754/flt-32/e_expf.c: Include . - [!__expf]: Use libm_alias_float_other. - * sysdeps/ieee754/flt-32/e_log2f.c: Include . - [!__log2f]: Use libm_alias_float_other. - * sysdeps/ieee754/flt-32/e_logf.c: Include . - [!__logf]: Use libm_alias_float_other. - * sysdeps/ieee754/flt-32/e_powf.c: Include . - [!__powf]: Use libm_alias_float_other. - -2017-10-10 Florian Weimer - - * nss/nss_files/files-hosts.c (gethostbyname3_multi): New - function. - (_nss_files_gethostbyname3_r): Call it. - -2017-10-09 Joseph Myers - - * sysdeps/generic/math-type-macros.h [!declare_mgen_alias]: Give - error. Remove default definition of declare_mgen_alias. - [!declare_mgen_alias_r]: Likewise. - * sysdeps/generic/math-type-macros-double.h - [!declare_mgen_alias_r] (declare_mgen_alias_r): New macro. - * sysdeps/generic/math-type-macros-float.h [!declare_mgen_alias_r] - (declare_mgen_alias_r): Likewise. - * sysdeps/generic/math-type-macros-float128.h - [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise. - * sysdeps/generic/math-type-macros-ldouble.h - [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise. - * math/w_lgamma_r_template.c (declare_mgen_alias_r_x): Remove - macro. - (declare_mgen_alias_r_s): Likewise. - (declare_mgen_alias_r): Likewise. - * math/w_lgamma_r_compat.c: Include . - (lgamma_r): Define using libm_alias_double_r. - * math/w_lgammaf_r_compat.c: Include . - (lgammaf_r): Define using libm_alias_float_r. - * math/w_lgammal_r_compat.c: Include . - (lgammal_r): Define using libm_alias_ldouble_r. - * sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c: Remove file. - * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise. - -2017-10-09 Adhemerval Zanella - - * lib/glob.c (__glob_pattern_type): Remove now-spurious - extern declaration. - -2017-10-09 Joseph Myers - - * sysdeps/ieee754/ldbl-opt/w_scalbln.c: Remove file. - -2017-10-09 Jonathan Wakely - - [BZ #21326] - * include/features.h [__cplusplus >= 201703] (__USE_ISOC11): Define. - [__cplusplus >= 201103] (__USE_ISOC99): Define. - * math/Makefile (test-math-cxx11): New test. - * math/test-math-cxx11.cc: New file. - -2017-10-08 Christian Brauner - - * login/openpty.c (openpty): Close slave pty file descriptor on error. - - * login/openpty.c (openpty): If defined, use the TIOCGPTPEER ioctl() - call to allocate the slave pty file descriptor. - -2017-10-06 Joseph Myers - - * sysdeps/ieee754/ldbl-128/s_fma.c: Include . - [!__fma] (fma): Define using libm_alias_double. - * sysdeps/ieee754/ldbl-96/s_fma.c: Include . - [!__fma] (fma): Define using libm_alias_double. - - * sysdeps/ieee754/float128/float128_private.h: Include - and . - (libm_alias_ldouble_r): Undefine and redefine. - * sysdeps/ieee754/ldbl-128/s_asinhl.c: Include - . - (asinhl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_atanl.c: Include - . - (atanl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_cbrtl.c: Include - . - (cbrtl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_ceill.c: Include - . - (ceill): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_copysignl.c: Include - . - (copysignl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_cosl.c: Include - . - (cosl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_erfl.c: Include - . - (erfl): Define using libm_alias_ldouble. - (erfcl): Likewise. - * sysdeps/ieee754/ldbl-128/s_expm1l.c: Include - . - (expm1l): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_fabsl.c: Include - . - (fabsl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_floorl.c: Include - . - (floorl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_fmal.c: Include - . - (fmal): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_frexpl.c: Include - . - (frexpl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_fromfpl.c (fromfpl): Define using - libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_fromfpl_main.c: Include - . - * sysdeps/ieee754/ldbl-128/s_fromfpxl.c (fromfpxl): Define using - libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_getpayloadl.c: Include - . - (getpayloadl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_llrintl.c: Include - . - (llrintl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_llroundl.c: Include - . - (llroundl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_logbl.c: Include - . - (logbl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_lrintl.c: Include - . - (lrintl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_lroundl.c: Include - . - (lroundl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_modfl.c: Include - . - (modfl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Include - . - (nearbyintl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_nextafterl.c: Include - . - (nextafterl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_nextupl.c: Include - . - (nextupl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_remquol.c: Include - . - (remquol): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_rintl.c: Include - . - (rintl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_roundevenl.c: Include - . - (roundevenl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_roundl.c: Include - . - (roundl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_setpayloadl.c (setpayloadl): Define - using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_setpayloadl_main.c: Include - . - * sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (setpayloadsigl): - Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_sincosl.c: Include - . - (sincosl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_sinl.c: Include - . - (sinl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_tanhl.c: Include - . - (tanhl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_tanl.c: Include - . - (tanl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_totalorderl.c: Include - . - (totalorderl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_totalordermagl.c: Include - . - (totalordermagl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_truncl.c: Include - . - (truncl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_ufromfpl.c (ufromfpl): Define using - libm_alias_ldouble. - * sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (ufromfpxl): Define using - libm_alias_ldouble. - * sysdeps/ieee754/ldbl-64-128/s_copysignl.c: Include - . - (weak_alias): Do not undefine and redefine. - [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine. - (copysignl): Define with long_double_symbol only if [IS_IN - (libc)]. - * sysdeps/ieee754/ldbl-64-128/s_frexpl.c: Include - . - (weak_alias): Do not undefine and redefine. - [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine. - (frexpl): Define with long_double_symbol only if [IS_IN (libc)]. - * sysdeps/ieee754/ldbl-64-128/s_modfl.c: Include - . - (weak_alias): Do not undefine and redefine. - [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine. - (modfl): Define with long_double_symbol only if [IS_IN (libc)]. - * sysdeps/ieee754/ldbl-64-128/s_asinhl.c: Remove file. - * sysdeps/ieee754/ldbl-64-128/s_atanl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_cbrtl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_ceill.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_cosl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_erfl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_expm1l.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_fabsl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_floorl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_fmal.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_llrintl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_llroundl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_logbl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_lrintl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_lroundl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_remquol.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_rintl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_roundl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_sincosl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_sinl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_tanhl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_tanl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_truncl.c: Likewise. - -2017-10-06 Carlos O'Donell - - [BZ #22111] - * malloc/malloc.c (tcache_shutting_down): Use bool type. - (tcache_thread_freeres): Set tcache_shutting_down before - freeing the tcache. - * malloc/Makefile (tests): Add tst-malloc-tcache-leak. - * malloc/tst-malloc-tcache-leak.c: New file. - -2017-10-06 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/multiarch/memrchr-ppc64.c: Revert - back to powerpc32 file. - * sysdeps/powerpc/powerpc64/multiarch/memrchr.c - (memrchr): Add __memrchr_power8 to ifunc list. - * sysdeps/powerpc/powerpc64/power8/memrchr.S: Mask - extra bytes for unaligned inputs. - -2017-10-06 Joseph Myers - - * sysdeps/ieee754/ldbl-64-128/e_ilogbl.c: Remove file. - * sysdeps/ieee754/ldbl-64-128/s_log1pl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_scalblnl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/s_scalbnl.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/w_scalblnl.c: Likewise. - -2017-10-05 Joseph Myers - - * sysdeps/arm/libm-test-ulps: Update. - - * sysdeps/ieee754/ldbl-96/s_asinhl.c: Include - . - (asinhl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_cbrtl.c: Include - . - (cbrtl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_copysignl.c: Include - . - (copysignl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_cosl.c: Include - . - (cosl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_erfl.c: Include - . - (erfl): Define using libm_alias_ldouble. - (erfcl): Likewise. - * sysdeps/ieee754/ldbl-96/s_fmal.c: Include - . - (fmal): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_frexpl.c: Include - . - (frexpl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_fromfpl.c (fromfpl): Define using - libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_fromfpl_main.c: Include - . - * sysdeps/ieee754/ldbl-96/s_fromfpxl.c (fromfpxl): Define using - libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_getpayloadl.c: Include - . - (getpayloadl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_llrintl.c: Include - . - (llrintl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_llroundl.c: Include - . - (llroundl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_lrintl.c: Include - . - (lrintl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_lroundl.c: Include - . - (lroundl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_modfl.c: Include - . - (modfl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_nextupl.c: Include - . - (nextupl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_remquol.c: Include - . - (remquol): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_roundevenl.c: Include - . - (roundevenl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_roundl.c: Include - . - (roundl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_setpayloadl.c (setpayloadl): Define - using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_setpayloadl_main.c: Include - . - * sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c: Include - . - (setpayloadsigl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_sincosl.c: Include - . - (sincosl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_sinl.c: Include - . - (sinl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_tanhl.c: Include - . - (tanhl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_tanl.c: Include - . - (tanl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_totalorderl.c: Include - . - (totalorderl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_totalordermagl.c: Include - . - (totalordermagl): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_ufromfpl.c (ufromfpl): Define using - libm_alias_ldouble. - * sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (ufromfpxl): Define using - libm_alias_ldouble. - -2017-10-05 Siddhesh Poyarekar - - * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add - memmove_falkor. - * sysdeps/aarch64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Likewise. - * sysdeps/aarch64/multiarch/memmove.c: Likewise. - * sysdeps/aarch64/multiarch/memmove_falkor.S: New file. - - * benchtests/bench-memmove-walk.c: New file. - * benchtests/Makefile (string-benchset): Add it. - - * benchtests/bench-memset-walk.c: New file. - * benchtests/Makefile (string-benchset): Add it. - - * benchtests/bench-memcpy-walk.c: New file. - * benchtests/Makefile (string-benchset): Add it. - -2017-10-05 Florian Weimer - - nscd: Eliminate compilation time dependency in the build output. - * nscd/nscd_stat.c (STATDATA_VERSION) - (STATDATA_VERSION_SELINUX_FLAG, STATDATA_VERSION_FLAGS) - (STATDATA_VERSION_FULL): New macro definitions. - (compilation): Remove. - (struct statdata): Adjust version member. - (send_stats): Set version from STATDATA_VERSION_FULL. - (receive_print_stats): Verify version against STATDATA_VERSION_FULL. - -2017-10-05 Joseph Myers - - * configure.ac (--enable-add-ons): Remove option. - (machine): Do not mention add-ons in comment. - (LIBC_PRECONFIGURE): Likewise. - (add_ons): Remove variable and sanity checks and logic to locate - add-ons. - (add_ons_automatic): Remove variable. - (configured_add_ons): Likewise. - (add_ons_sfx): Likewise. - (add_ons_pfx): Likewise. - (add_on_subdirs): Likewise. - (sysnames_add_ons): Likewise. Remove loop over add-ons and - consideration of add-ons in Implies handling. - (sysdeps_add_ons): Likewise. - * configure: Regenerated. - * libidn/configure.ac: Remove. - * libidn/configure: Likewise. - * sysdeps/unix/inet/configure.ac: New file. - * sysdeps/unix/inet/configure: New generated file. - * sysdeps/unix/inet/Subdirs: Add libidn. - * Makeconfig (sysdeps-srcdirs): Remove variable. - (+sysdep_dirs): Do not include $(sysdeps-srcdirs). - ($(common-objpfx)config.status): Do not depend on add-on files. - ($(common-objpfx)shlib-versions.v.i): Do not mention add-ons in - comment. - (all-subdirs): Do not include $(add-on-subdirs). - * Makefile (dist-prepare): Do not use $(sysdeps-add-ons). - * config.make.in (add-ons): Remove variable. - (add-on-subdirs): Likewise. - (sysdeps-add-ons): Likewise. - * manual/Makefile (add-chapters): Remove. - ($(objpfx)texis): Do not depend on $(add-chapters). - (nonexamples): Do not handle $(add-chapters). - (examples): Do not handle $(add-ons). - (chapters.% top-menu.%): Do not pass '$(add-chapters)' to - libc-texinfo.sh. - * manual/install.texi (Installation): Do not mention add-ons. - (--enable-add-ons): Do not document configure option. - * INSTALL: Regenerated. - * manual/libc-texinfo.sh: Do not handle $2 add-ons argument. - * manual/maint.texi (Hierarchy Conventions): Do not mention - add-ons. - * scripts/build-many-glibcs.py (Glibc.build_glibc): Do not use - --enable-add-ons. - * scripts/gen-sorted.awk: Do not handle Subdirs files from - add-ons. - * scripts/test-installation.pl: Do not handle glibc-compat add-on. - * sysdeps/nptl/Makeconfig: Do not mention add-ons in comment. - -2017-10-05 Andreas Schwab - - [BZ #15142] - * libio/genops.c (_IO_list_all_stamp): Delete. All uses removed. - (_IO_flush_all_lockp): Always lock list_all_lock. - (_IO_flush_all_linebuffered): Likewise. - (_IO_unbuffer_all): Likewise. - -2017-10-05 Florian Weimer - - [BZ #15436] - Do not flush stdio streams on abort. - * stdlib/abort.c (fflush): Remove macro definition. - (abort): Remove stages related to stdio flushing. - -2017-10-05 Florian Weimer - - * gmon/Makefile (CFLAGS-tst-gmon.c): Add -fno-omit-frame-pointer. - -2017-10-05 Stefan Liebler - - * sysdeps/s390/fpu/libm-test-ulps: Regenerated. - -2017-10-05 Florian Weimer - - * support/support_format_hostent.c (support_format_hostent): Add - more error information for NETDB_INTERNAL. - -2017-10-04 H.J. Lu - - * config.h.in (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New. - * include/libc-symbols.h (__hidden_proto_hiddenattr): Add check - for PIC and NO_HIDDEN_EXTERN_FUNC_IN_PIE. - * sysdeps/i386/configure.ac (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New - AC_DEFINE if multi-arch is enabled. - * sysdeps/i386/configure: Regenerated. - -2017-10-04 H.J. Lu - - * Makeconfig (+link-static-before-libc): Use - $(DEFAULT-LDFLAGS-$(@F)). - * elf/Makefile (CRT-tst-tls1-static-non-pie): New. - (LDFLAGS-tst-tls1-static-non-pie): Renamed to ... - (DEFAULT-LDFLAGS-tst-tls1-static-non-pie): This. - -2017-10-04 H.J. Lu - - * elf/Makefile (tests): Add tst-main1. - (modules-names): Add tst-main1mod. - ($(objpfx)tst-main1): New. - (CRT-tst-main1): Likewise. - (LDFLAGS-tst-main1): Likewise. - (LDLIBS-tst-main1): Likewise. - (tst-main1mod.so-no-z-defs): Likewise. - * elf/tst-main1.c: New file. - * elf/tst-main1mod.c: Likewise. - -2017-10-04 H.J. Lu - - * math/test-math-iscanonical.cc (do_test): Return errors != 0. - -2017-10-04 Joseph Myers - - * sysdeps/ieee754/dbl-64/s_fma.c: Include . - (fma): Define using libm_alias_double. - * sysdeps/ieee754/ldbl-opt/s_fma.c: Remove file. - * sysdeps/sparc/sparc32/fpu/s_fma.c: Do not include - . - (fmal): Do not define as compat symbol here. - * sysdeps/alpha/fpu/s_fma.c: New file. - -2017-10-04 Szabolcs Nagy - - * sysdeps/aarch64/dl-machine.h (elf_machine_rela): Expand MIN. - -2017-10-04 Joseph Myers - - [BZ #22229] - * sysdeps/sparc/sparc32/fpu/s_copysign.S: Include - - (copysignl): Define as compat symbol at version GLIBC_2_0 for libm - and libc. - * sysdeps/sparc/sparc32/fpu/s_fabs.S: Include . - (fabsl): Define as compat symbol at version GLIBC_2_0 for libm. - * sysdeps/sparc/sparc32/fpu/s_fma.c: Include . - (fmal): Define as compat symbol at version GLIBC_2_1 for libm. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: - Include - (copysignl): Define as compat symbol at version GLIBC_2_0 for libm - and libc. - (compat_symbol): Undefine and redefine. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include - - (fabsl): Define as compat symbol at version GLIBC_2_0 for libm. - (compat_symbol): Undefine and redefine. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c - [HAVE_AS_VIS3_SUPPORT]: Include . - [HAVE_AS_VIS3_SUPPORT] (fmal): Define as compat symbol at version - GLIBC_2_1 for libm. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Add - GLIBC_2.0 copysignl symbol. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add - GLIBC_2.0 copysignl and fabsl and GLIBC_2.1 fmal symbols. - - * sysdeps/alpha/fpu/s_nearbyint.c: Remove file. - -2017-10-04 Florian Weimer - - * scripts/check-local-headers.sh: Ignore nspr4 header file - directory in addition to nspr. - -2017-10-04 Guido Trentalancia - - [BZ #17956] - * configure.ac (--enable-nss-crypt): Use NSPR include directory. - * configure: Regenerate. - * crypt/Makefile (nss-cpp-flags): New variable. - (CPPFLAGS-sha256-crypt.c, CPPFLAGS-sha512-crypt.c) - (CPPFLAGS-md5-crypt.c): Use it. - * scripts/check-local-headers.sh: Ignore nspr header file - directory. - -2017-10-04 Andreas Schwab - - * nis/Makefile (services): Remove compat. - (libnss_compat-routines, libnss_compat-inhibit-o): Don't define. - ($(objpfx)libnss_compat.so): Remove rule. - * nis/Versions (libnss_compat): Remove. - * nss/Makefile (services): Add compat. - (libnss_compat-routines, libnss_compat-inhibit-o): Define. - * nss/Versions (libnss_compat): Define. - * nss/nss_compat/compat-grp.c: Moved here from nis/nss_compat. - Don't include . Replace bool_t by bool. - * nss/nss_compat/compat-initgroups.c: Likewise. - * nss/nss_compat/compat-pwd.c: Likewise. Include "nisdomain.h" - instead of . - (getpwent_next_nss_netgr): Use __nss_get_default_domain instead of - yp_get_default_domain. - * nss/nss_compat/compat-pwd.c: Likewise. - (getspent_next_nss_netgr): Use __nss_get_default_domain instead of - yp_get_default_domain. - * nss/nss_compat/nisdomain.c: New file. - * nss/nss_compat/nisdomain.h: Likewise. - -2017-10-04 Szabolcs Nagy - - [BZ #22244] - * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Fix x == 0 case. - * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise. - -2017-10-04 Szabolcs Nagy - - [BZ #22243] - * sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c (__ieee754_log10): Use fabs. - * sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c (__ieee754_log2): Likewise. - -2017-10-03 H.J. Lu - - * sysdeps/i386/start.S: Replace "leal main@GOT(%ebx), %eax" with - "movl main@GOTOFF(%ebx), %eax". - -2017-10-03 H.J. Lu - - * sysdeps/i386/dl-machine.h (elf_machine_load_address): Don't - allow undefined _DYNAMIC in PIE libc.a. - * sysdeps/x86_64/dl-machine.h (elf_machine_load_address): - Likewse. - -2017-10-03 H.J. Lu - - * sysdeps/mips/dl-machine.h (elf_machine_load_address): Don't - check _DYNAMIC. - -2017-10-03 H.J. Lu - - * sysdeps/arm/dl-machine.h (elf_machine_load_address): Don't - check _DYNAMIC. - -2017-10-03 H.J. Lu - - * math/test-math-iscanonical.cc (error): Replace bool with int. - -2017-10-03 Joseph Myers - - * sysdeps/ieee754/dbl-64/s_modf.c: Include . - (modf): Define using libm_alias_double, only if [!__modf]. - * sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c: Include - . - (modf): Define using libm_alias_double, only if [!__modf]. - * sysdeps/ieee754/ldbl-opt/s_modf.c (modfl): Only define libc - compat symbol here. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-ppc32.c - (weak_alias): Do not undefine and redefine. - (strong_alias): Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-ppc64.c - (weak_alias): Likewise. - (strong_alias): Likewise. - - * sysdeps/ieee754/dbl-64/s_logb.c: Include . - (logb): Define using libm_alias_double, only if [!__logb]. - * sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c: Include - . - (logb): Define using libm_alias_double, only if [!__logb]. - * sysdeps/ieee754/ldbl-opt/s_logb.c: Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb-ppc32.c - (weak_alias): Do not undefine and redefine. - (strong_alias): Likewise. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-ppc64.c - (weak_alias): Likewise. - (strong_alias): Likewise. - -2017-10-03 H.J. Lu - - * sysdeps/unix/sysv/linux/tile/sysdep.h (SYSCALL_ERROR_NAME): - Check SHARED instead PIC. - -2017-10-03 Joseph Myers - - * sysdeps/ieee754/dbl-64/s_fmaf.c: Include . - [!__fmaf] (fmaf): Define using libm_alias_float. - - * sysdeps/ieee754/dbl-64/s_frexp.c: Include . - (frexp): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c: Include - . - (frexp): Define using libm_alias_double. - * sysdeps/ieee754/ldbl-opt/s_frexp.c (frexpl): Only define libc - compat symbol here. - -2017-10-03 Gabriel F. T. Gomes - - [BZ #22235] - * math/math.h: Trivial fix for unbalanced parentheses in comment. - * math/Makefile [CXX] (tests): Add test-math-iscanonical.cc. - (CFLAGS-test-math-iscanonical.cc): New variable. - * math/test-math-iscanonical.cc: New file. - * sysdeps/ieee754/ldbl-96/bits/iscanonical.h (iscanonical): - Provide a C++ implementation based on function overloading, - rather than using __MATH_TG, which uses C-only builtins. - * sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h (iscanonical): - Likewise. - * sysdeps/powerpc/powerpc64le/Makefile - (CFLAGS-test-math-iscanonical.cc): New variable. - -2017-10-03 Joseph Myers - - * sysdeps/ieee754/dbl-64/s_ceil.c: Include . - (ceil): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_floor.c: Include . - (floor): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_llround.c: Include - . - (llround): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_lround.c: Include - . - (lround): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_nearbyint.c: Include - . - (nearbyint): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_remquo.c: Include - . - (remquo): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_rint.c: Include . - (rint): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_round.c: Include . - (round): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_trunc.c: Include . - (trunc): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Include - . - (ceil): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Include - . - (floor): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c: Include - . - (llround): Define using libm_alias_double. - [_LP64] (lround): Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Include - . - [!_LP64] (lround): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Include - . - (nearbyint): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c: Include - . - (remquo): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Include - . - (rint): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Include - . - (round): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: Include - . - (trunc): Define using libm_alias_double. - * sysdeps/ieee754/ldbl-opt/s_ceil.c: Remove file. - * sysdeps/ieee754/ldbl-opt/s_floor.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_llround.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_lround.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_nearbyint.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_remquo.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_rint.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_round.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_trunc.c: Likewise. - -2017-10-03 Szabolcs Nagy - - * math/w_remainder.c: New file. - * math/w_remainderf.c: New file. - * math/w_remainderl.c: New file. - -2017-10-03 H.J. Lu - - * elf/rtld.c (BOOTSTRAP_MAP): New. - (RESOLVE_MAP): Replace (&bootstrap_map) with BOOTSTRAP_MAP. - * sysdeps/hppa/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): - Likewise. - * sysdeps/ia64/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): - Likewise. - * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): - Likewise. - -2017-10-03 Samuel Thibault - - * include/libc-symbols.h [NO_RTLD_HIDDEN] (rtld_hidden_proto, - rtld_hidden_tls_proto, rtld_hidden_def, rtld_hidden_weak, - rtld_hidden_rtld_hidden_ver, data_def, rtld_hidden_data_weak, - rtld_hidden_data_ver): Define to empty. - * include/assert.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__assert_fail, - __assert_perror_fail): Likewise. - * include/dirent.h [IS_IN(rtld) && NO_RTLD_HIDDEN] - (__rewinddir): Likewise. - * include/libc-internal.h [IS_IN(rtld) && NO_RTLD_HIDDEN] - (__profile_frequency): Likewise. - * include/setjmp.h (__sigsetjmp): Likewise. - * include/signal.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__sigaction, - __libc_sigaction): Likewise. - * include/stdlib.h [NO_RTLD_HIDDEN] (unsetenv, __strtoul_internal): Do - not set hidden attribute. - * include/string.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__stpcpy, __strdup, - __strerror_t, __strsep_g, memchr, memcmp, memcpy, memmove, memset, - rawmemchr, stpcpy, strchr, strcmp, strlen, strnlen, strsep): Likewise. - * include/sys/stat.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__fxstat, - __fxstat64, __lxstat, __lxstat64, __xstat, __xstat64, - __fxstatat64): Likewise. - * include/sys/utsname.h [IS_IN(rtld) && NO_RTLD_HIDDEN] - (__uname): Likewise. - * include/sysdeps/generic/_itoa.h [IS_IN(rtld) && NO_RTLD_HIDDEN] - (_itoa_upper_digits, _itoa_lower_digits): Likewise. - * sysdeps/mach/hurd/configure.ac (NO_HIDDEN): Do not set. - (NO_RTLD_HIDDEN): Set. - * sysdeps/mach/hurd/configure: Refresh. - * config.h.in: Refresh. - -2017-10-02 Joseph Myers - - * sysdeps/ieee754/dbl-64/s_atan.c: Include . - (atan): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_tan.c: Include . - (tan): Define using libm_alias_double. - * sysdeps/ieee754/ldbl-opt/s_atan.c: Remove file. - * sysdeps/ieee754/ldbl-opt/s_tan.c: Likewise. - - * sysdeps/ieee754/dbl-64/s_atan.c (atan): Rename to __atan and - define as weak alias of __atan. Do not define any aliases if - [__atan]. - [NO_LONG_DOUBLE] (__atanl): Define as strong alias of __atan. - [NO_LONG_DOUBLE] (atanl): Define as weak alias of __atanl. - * sysdeps/ieee754/dbl-64/s_tan.c (tan): Rename to __tan and define - as weak alias of __tan. Do not define any aliases if [__tan]. - [NO_LONG_DOUBLE] (__tanl): Define as strong alias of __tan. - [NO_LONG_DOUBLE] (tanl): Define as weak alias of __tanl. - * sysdeps/x86_64/fpu/multiarch/s_atan-avx.c (atan): Rename to - __atan. - * sysdeps/x86_64/fpu/multiarch/s_atan-fma.c (atan): Likewise. - * sysdeps/x86_64/fpu/multiarch/s_atan-fma4.c (atan): Likewise. - * sysdeps/x86_64/fpu/multiarch/s_atan.c (atan): Rename to __atan - and define as weak alias of __atan. - * sysdeps/x86_64/fpu/multiarch/s_tan-avx.c (tan): Rename to - __atan. - * sysdeps/x86_64/fpu/multiarch/s_tan-fma.c (tan): Likewise. - * sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c (tan): Likewise. - * sysdeps/x86_64/fpu/multiarch/s_tan.c (tan): Rename to __tan and - define as weak alias of __tan. - -2017-10-02 Szabolcs Nagy - - * math/w_lgamma.c: New file. - * math/w_lgammaf.c: New file. - * math/w_lgammal.c: New file. - -2017-10-02 Szabolcs Nagy - - * sysdeps/ieee754/flt-32/e_log2f.c (__log2f): Define without wrapper. - * sysdeps/ieee754/flt-32/e_logf.c (__logf): Likewise - * sysdeps/ieee754/flt-32/e_powf.c (__powf): Likewise - * sysdeps/ieee754/flt-32/w_log2f.c: New file. - * sysdeps/ieee754/flt-32/w_logf.c: New file. - * sysdeps/ieee754/flt-32/w_powf.c: New file. - * sysdeps/i386/fpu/w_log2f.c: New file. - * sysdeps/i386/fpu/w_logf.c: New file. - * sysdeps/i386/fpu/w_powf.c: New file. - * sysdeps/m68k/m680x0/fpu/w_log2f.c: New file. - * sysdeps/m68k/m680x0/fpu/w_logf.c: New file. - * sysdeps/m68k/m680x0/fpu/w_powf.c: New file. - -2017-10-02 Szabolcs Nagy - H.J. Lu - - * sysdeps/ieee754/flt-32/e_exp2f.c (__exp2f): Define without wrapper. - * sysdeps/ieee754/flt-32/e_expf.c (__expf): Likewise - * sysdeps/ieee754/flt-32/w_exp2f.c: New file. - * sysdeps/ieee754/flt-32/w_expf.c: New file. - * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-ppc64.c: Update for - the new expf code. - * sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c: New file. - * sysdeps/powerpc/powerpc64/power8/fpu/w_expf.c: New file. - * sysdeps/m68k/m680x0/fpu/w_exp2f.c: New file. - * sysdeps/m68k/m680x0/fpu/w_expf.c: New file. - * sysdeps/i386/fpu/w_exp2f.c: New file. - * sysdeps/i386/fpu/w_expf.c: New file. - * sysdeps/i386/i686/fpu/multiarch/w_expf.c: New file. - * sysdeps/x86_64/fpu/w_expf.c: New file. - -2017-10-02 Szabolcs Nagy - - * math/Versions (logf): New libm symbol at GLIBC_2.27. - (log2f): Likewise. - (powf): Likewise. - * math/w_log2f.c: New file. - * math/w_logf.c: New file. - * math/w_powf.c: New file. - * math/w_log2f_compat.c (__log2f_compat): For compat symbol only. - * math/w_logf_compat.c (__logf_compat): Likewise. - * math/w_powf_compat.c (__powf_compat): Likewise. - * sysdeps/ia64/fpu/e_log2f.S: Add versioned symbols. - * sysdeps/ia64/fpu/e_logf.S: Likewise. - * sysdeps/ia64/fpu/e_powf.S: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - -2017-10-02 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/multiarch/Makefile - (sysdep_routines): Add memrchr_power8. - * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c - (memrchr): Add __memrchr_power8 to list of memrchr functions. - * sysdeps/powerpc/powerpc64/multiarch/memrchr-power8.S: - New file. - * sysdeps/powerpc/powerpc64/multiarch/memrchr.c - (memrchr): Add __memrchr_power8 to ifunc list. - * sysdeps/powerpc/powerpc64/power8/memrchr.S: New file. - -2017-10-01 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/posix_fadvise64.c - (__posix_fadvise64_l64): Add Add libc_hidden_proto and - libc_hidden_def. - * sysdeps/unix/sysv/linux/posix_fallocate64.c - (__posix_fallocate64_l64): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/sched_setaffinity.c - (__sched_setaffinity_new): Add libc_hidden_proto and - libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/glob.h (__glob64): Add libc_hidden_proto. - * sysdeps/unix/sysv/linux/glob64.c (__glob64): Add - libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/getrlimit64.c (__new_getrlimit): Add - attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * stdlib/exit.h (__new_exitfn): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * mon/gmon.c (__moncontrol): Add libc_hidden_proto and - libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * csu/version.c (__libc_print_version): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/libc-internal.h (__init_misc): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/fpu_control.h (__setfpucw): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * nscd/nscd_helper.c (__nis_hash): New prototype. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/termios.h (__tcgetattr): Add libc_hidden_proto. - * sysdeps/unix/bsd/tcgetattr.c (__tcgetattr): Add - libc_hidden_def. - * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Likewise. - * termios/tcgetattr.c (__tcgetattr): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/sys/resource.h (__setrlimit): Add libc_hidden_proto. - * resource/setrlimit.c (__setrlimit): Add libc_hidden_def. - * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Likewise. - * sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Likewise. - * sysdeps/unix/sysv/linux/setrlimit64.c (__GI___setrlimit): New. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/monetary.h (__vstrfmon_l): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/sched.h (__sched_setparam): Add libc_hidden_proto. - * posix/sched_setp.c (__sched_setparam): Add libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * intl/hash-string.h (__hash_string): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/mntent.h (__hasmntopt): Add libc_hidden_proto. - * misc/mntent_r.c (__hasmntopt): Add libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/ifreq.h: New file. - * sysdeps/generic/ifreq.h (__if_nextreq): Removed. - (__ifreq): Likewise. - * sysdeps/mach/hurd/ifreq.h (__if_nextreq): Removed. - (__ifreq): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/idna.h: New file. - * inet/getnameinfo.c: Include instead of - . - (__idna_to_unicode_lzlz): Removed. - * sysdeps/posix/getaddrinfo.c: Include instead of - . - (__idna_to_ascii_lz): Removed. - (__idna_to_unicode_lzlz): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/plural-exp.h: New file. - * intl/plural-exp.c: Include instead of - "plural-exp.h". - -2017-10-01 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/getsourcefilter.c: Include - "getsourcefilter.h". - * sysdeps/unix/sysv/linux/getsourcefilter.h: New file. - * sysdeps/unix/sysv/linux/setsourcefilter.c: Include - "getsourcefilter.h". - (__get_sol): Removed. - -2017-10-01 H.J. Lu - - [BZ #18822] - * elf/dl-iteratephdr.c (hidden_proto (__dl_iterate_phdr)): Moved - to ... - * include/link.h (hidden_proto (__dl_iterate_phdr)): Here. - -2017-10-01 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/getpt.c (__bsd_getpt): Add - attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * libio/iolibio.h (__fopen_maybe_mmap): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/search.h (__tdestroy): Add libc_hidden_proto. - * misc/tsearch.c (__tdestroy): Add libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/assert.h (__assert_fail_base): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/include/sys/sysinfo.h (__sysinfo): Add - attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/signal.h (__kill): Add libc_hidden_proto. - (__sigblock): Likewise. - (__sigprocmask): Likewise. - (__sigaltstack): Likewise. - * signal/kill.c (__kill): Add libc_hidden_def. - * signal/sigblock.c (__sigblock): Likewise. - * signal/sigprocmask.c (__sigprocmask): Likewise. - * sysdeps/mach/hurd/kill.c (__kill): Likewise. - * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise. - * sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Likewise. - * sysdeps/posix/sigblock.c (__sigblock): Likewise. - * sysdeps/unix/sysv/linux/alpha/sigprocmask.c (__sigprocmask): - Likewise. - * sysdeps/unix/sysv/linux/ia64/sigprocmask.c (__sigprocmask): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c - (__sigprocmask): Likewise. - * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): - Likewise. - * /sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c - (__sigprocmask): Likewise. - * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c (__sigprocmask): - Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/string.h (__strsep): Add libc_hidden_proto. - * string/strsep.c (__strsep): Add libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * posix/spawn_int.h (__posix_spawn_file_actions_realloc): Add - attribute_hidden. - (__spawni): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/sys/mman.h (__mremap): Add libc_hidden_proto. - * sysdeps/unix/sysv/linux/m68k/mremap.S (__mremap): Add - libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/malloc.h (__malloc_check_init): Add attribute_hidden. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/sys/ioctl.h (__ioctl): Add libc_hidden_proto. - * misc/ioctl.c (__ioctl): Add libc_hidden_def. - * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. - * sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S (__ioctl): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * intl/gettextP.h (__dcngettext): Add attribute_hidden. - (__dcigettext): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/sys/sysinfo.h (__get_nprocs_conf): Add - libc_hidden_proto. - (__get_nprocs): Likewise. - (__get_phys_pages): Likewise. - (__get_avphys_pages): Likewise. - (__get_child_max): Add attribute_hidden. - * misc/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def. - (__get_nprocs): Likewise. - (__get_phys_pages): Likewise. - (__get_avphys_pages): Likewise. - * sysdeps/mach/getsysstats.c (__get_nprocs_conf): Add - libc_hidden_def. - (__get_nprocs): Likewise. - (__get_phys_pages): Likewise. - (__get_avphys_pages): Likewise. - * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Add - libc_hidden_def. - (__get_nprocs_conf): Likewise. - (__get_phys_pages): Likewise. - (__get_avphys_pages): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_open): Add - attribute_hidden. - (__netlink_close): Likewise. - (__netlink_free_handle): Likewise. - (__netlink_request): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/rpc/rpc.h (__rpc_thread_variables): Add - attribute_hidden. - (__rpc_thread_svc_cleanup): Likewise. - (__rpc_thread_clnt_cleanup): Likewise. - (__rpc_thread_key_cleanup): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/sys/uio.h (__readv): Add libc_hidden_proto. - (__writev): Likewise. - * misc/readv.c (__readv): Add libc_hidden_def. - * misc/writev.c (__writev): Likewise. - * sysdeps/posix/readv.c (__readv): Likewise. - * sysdeps/posix/writev.c (__writev): Likewise. - * sysdeps/unix/sysv/linux/readv.c: Include . - (__readv): Likewise. - * sysdeps/unix/sysv/linux/writev.c: Include . - (__writev): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/regex.h (__re_compile_fastmap): Add attribute_hidden. - (__regcomp): Add libc_hidden_proto. - (__regexec): Likewise. - (__regfree): Likewise. - * posix/regcomp.c (__regcomp): Add libc_hidden_def. - (__regfree): Likewise. - * posix/regexec.c (__regexec): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/utmp.h (__updwtmp): Add libc_hidden_proto. - (__getutent): Likewise. - (__getutid): Likewise. - (__getutline): Likewise. - (__pututline): Likewise. - (__getutent_r): Likewise. - (__getutid_r): Likewise. - (__getutline_r): Likewise. - (__utmpname): Add attribute_hidden. - (__setutent): Likewise. - (__endutent): Likewise. - * login/getutent.c (__getutent): Add libc_hidden_def. - * login/getutent_r.c (__getutent_r): Likewise. - (__pututline): Likewise. - * login/getutid.c (__getutid): Likewise. - * login/getutid_r.c (__getutid_r): Likewise. - * login/getutline.c (__getutline): Likewise. - * login/getutline_r.c (__getutline_r): Likewise. - * login/updwtmp.c (__updwtmp): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/dirent.h (__opendir): Always add attribute_hidden. - (__fdopendir): Likewise. - (__closedir): Likewise. - (__readdir): Likewise. - (__readdir64): Add libc_hidden_proto. - * sysdeps/mach/hurd/readdir64.c (__readdir64): Add libc_hidden_def. - * sysdeps/unix/sysv/linux/i386/readdir64.c (__readdir64): Likewise. - * sysdeps/unix/sysv/linux/readdir64.c (__readdir64): Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/readdir.c (__GI___readdir64): - New alias. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/aliases.h (__getaliasbyname_r): Add attribute_hidden. - * include/netdb.h (__gethostbyaddr_r): Likewise. - (__gethostbyname_r): Likewise. - (__gethostbyname2_r): Likewise. - (__getnetbyaddr_r): Likewise. - (__getnetbyname_r): Likewise. - (__getservbyname_r): Likewise. - (__getservbyport_r): Likewise. - (__getprotobyname_r): Likewise. - (__getprotobynumber_r): Likewise. - (__getnetgrent_r): Likewise. - * include/rpc/netdb.h (__getrpcbyname_r): Likewise. - (__getrpcbynumber_r): Likewise. - * nss/getXXbyYY.c (INTERNAL (REENTRANT_NAME)): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/stdio.h (__fcloseall): Add attribute_hidden. - (__getline): Likewise. - (__path_search): Likewise. - (__gen_tempname): Likewise. - (__libc_message): Likewise. - (__flockfile): Likewise. - (__funlockfile): Likewise. - (__fxprintf): Likewise. - (__fxprintf_nocancel): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/gshadow.h (__fgetsgent_r): Add attribute_hidden. - (__sgetsgent_r): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/sys/statfs.h (__fstatfs): Add attribute_hidden. - (__statfs64): Likewise. - (__fstatfs64): Likewise. - * include/sys/statvfs.h (__statvfs64): Likewise. - (__fstatvfs64): Likewise. - * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max): Likewise. - (__statfs_filesize_max): Likewise. - (__statfs_symlinks): Likewise. - (__statfs_chown_restricted): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/time.h (__tzstring): Add attribute_hidden. - (__tzfile_read): Likewise. - (__tzfile_compute): Likewise. - (__tzfile_default): Likewise. - (__tzset_parse_tz): Likewise. - (__offtime): Likewise. - (__asctime_r): Likewise. - (__tzset): Likewise. - (__tz_convert): Likewise. - (__getdate_r): Likewise. - (__getclktck): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * nscd/nscd-client.h (__nscd_get_map_ref): Add attribute_hidden. - (__nscd_unmap): Likewise. - (__nscd_cache_search): Likewise. - (__nscd_get_nl_timestamp): Likewise. - (__nscd_getpwnam_r): Likewise. - (__nscd_getpwuid_r): Likewise. - (__nscd_getgrnam_r): Likewise. - (__nscd_getgrgid_r): Likewise. - (__nscd_gethostbyname_r): Likewise. - (__nscd_gethostbyname2_r): Likewise. - (__nscd_gethostbyaddr_r): Likewise. - (__nscd_getai): Likewise. - (__nscd_getgrouplist): Likewise. - (__nscd_getservbyname_r): Likewise. - (__nscd_getservbyport_r): Likewise. - (__nscd_innetgr): Likewise. - (__nscd_setnetgrent): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/gmp.h: Declare internal functions only if _ISOMAC is - undefined. - (__mpn_extract_double): Add attribute_hidden. - (__mpn_extract_long_double): Likewise. - (__mpn_extract_float128): Likewise. - (__mpn_construct_float): Likewise. - (__mpn_construct_double): Likewise. - (__mpn_construct_long_double): Likewise. - (__mpn_construct_float128): Likewise. - (mpn_add_1): Likewise. - (mpn_addmul_1): Likewise. - (mpn_add_n): Likewise. - (mpn_cmp): Likewise. - (mpn_divrem): Likewise. - (mpn_lshift): Likewise. - (mpn_mul): Likewise. - (mpn_mul_1): Likewise. - (mpn_rshift): Likewise. - (mpn_sub_1): Likewise. - (mpn_submul_1): Likewise. - (mpn_sub_n): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/wchar.h (__wcsnlen): Add attribute_hidden. - (__wcscat): Likewise. - (__btowc): Likewise. - (__wcrtomb): Likewise. - (__mbsrtowcs): Likewise. - (__wcsrtombs): Likewise. - (__mbsnrtowcs): Likewise. - (__wcsnrtombs): Likewise. - (__wcsncpy): Likewise. - (__wcpncpy): Likewise. - (__wmemcpy): Likewise. - (__wmempcpy): Likewise. - (__wmemmove): Likewise. - (__wcschrnul): Likewise. - (__vfwscanf): Likewise. - (__vswprintf): Likewise. - (__fwprintf): Likewise. - (__vfwprintf): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/grp.h (__fgetgrent_r): Add attribute_hidden. - (__getgrgid_r): Likewise. - (__getgrnam_r): Likewise. - * include/pwd.h (__getpwuid_r): Likewise. - (__getpwnam_r): Likewise. - (__fgetpwent_r): Likewise. - * include/shadow.h (__getspnam_r): Likewise. - (__sgetspent_r): Likewise. - (__fgetspent_r): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/unistd.h (__access): Add attribute_hidden. - (__lseek64): Likewise. - (__libc_pread64): Likewise. - (__pipe2): Likewise. - (__sleep): Likewise. - (__chdir): Likewise. - (__fchdir): Likewise. - (__getcwd): Likewise. - (__rmdir): Likewise. - (__execvpe): Likewise. - (__execve): Likewise. - (__setsid): Likewise. - (__getuid): Likewise. - (__geteuid): Likewise. - (__getgid): Likewise. - (__getegid): Likewise. - (__getgroups): Likewise. - (__group_member): Likewise. - (__ttyname_r): Likewise. - (__isatty): Likewise. - (__readlink): Likewise. - (__unlink): Likewise. - (__gethostname): Likewise. - (__profil): Likewise. - (__getdtablesize): Likewise. - (__brk): Likewise. - (__ftruncate): Likewise. - (__ftruncate64): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * argp/argp-fmtstream.c: Include . - * argp/argp-fs-xinl.c: Likewise. - * argp/argp-help.c: Include and . - * argp/argp-parse.c: Include . - * argp/argp-xinl.c: Likewise. - * include/argp-fmtstream.h: New file. - * include/argp.h (__argp_error): Add attribute_hidden. - (__argp_failure): Likewise. - (__argp_input): Likewise. - (__argp_state_help): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/wchar.h (____wcstof_l_internal): New prototype. - (____wcstod_l_internal): Likewise. - (____wcstold_l_internal): Likewise. - (____wcstol_l_internal): Likewise. - (____wcstoul_l_internal): Likewise. - (____wcstoll_l_internal): Likewise. - (____wcstoull_l_internal): Likewise. - (____wcstof128_l_internal): Likewise. - * sysdeps/ieee754/float128/wcstof128.c - (____wcstof128_l_internal): Removed. - * sysdeps/ieee754/float128/wcstof128_l.c - (____wcstof128_l_internal): Likewise. - * wcsmbs/wcstod.c (____wcstod_l_internal): Likewise. - * wcsmbs/wcstod_l.c (____wcstod_l_internal): Likewise. - * wcsmbs/wcstof.c (____wcstof_l_internal): Likewise. - * wcsmbs/wcstof_l.c (____wcstof_l_internal): Likewise. - * wcsmbs/wcstol_l.c (____wcstol_l_internal): Likewise. - * wcsmbs/wcstold.c (____wcstold_l_internal): Likewise. - * wcsmbs/wcstold_l.c (____wcstold_l_internal): Likewise. - * wcsmbs/wcstoll_l.c (____wcstoll_l_internal): Likewise. - * wcsmbs/wcstoul_l.c (____wcstoul_l_internal): Likewise. - * wcsmbs/wcstoull_l.c (____wcstoull_l_internal): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/fstatvfs.c: Include "internal_statvfs.h" - instead of . - (__internal_statvfs): Removed. - * sysdeps/unix/sysv/linux/fstatvfs64.c Include "internal_statvfs.h" - instead of . - (__internal_statvfs64): Removed. - * sysdeps/unix/sysv/linux/internal_statvfs.c: Include - "internal_statvfs.h" instead of . - * sysdeps/unix/sysv/linux/internal_statvfs.h: New file. - * sysdeps/unix/sysv/linux/statvfs.c Include "internal_statvfs.h" - instead of . - (__internal_statvfs): Removed. - * sysdeps/unix/sysv/linux/statvfs64.c Include "internal_statvfs.h" - instead of . - (__internal_statvfs64): Removed. - -2017-10-01 H.J. Lu - - [BZ #18822] - * iconv/gconv_int.h (__gconv_open): Add attribute_hidden. - (__gconv_close): Likewise. - (__gconv): Likewise. - (__gconv_find_transform): Likewise. - (__gconv_lookup_cache): Likewise. - (__gconv_compare_alias_cache): Likewise. - (__gconv_load_cache): Likewise. - (__gconv_get_path): Likewise. - (__gconv_close_transform): Likewise. - (__gconv_release_cache): Likewise. - (__gconv_find_shlib): Likewise. - (__gconv_release_shlib): Likewise. - (__gconv_get_builtin_trans): Likewise. - (__gconv_compare_alias): Likewise. - * include/dlfcn.h (_dlerror_run): Likewise. - * include/stdio.h (__fortify_fail_abort): Likewise. - * include/time.h (__tz_compute): Likewise. - (__strptime_internal): Likewise. - * intl/gettextP.h (_nl_find_domain): Likewise. - (_nl_load_domain): Likewise. - (_nl_find_msg): Likewise. - * intl/plural-exp.h (FREE_EXPRESSION): Likewise. - (EXTRACT_PLURAL_EXPRESSION): Likewise. - * locale/coll-lookup.h (__collidx_table_lookup): Likewise. - * resolv/gai_misc.h (__gai_enqueue_request): Likewise. - (__gai_find_request): Likewise. - (__gai_remove_request): Likewise. - (__gai_notify): Likewise. - (__gai_notify_only): Likewise. - * sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise. - * sysdeps/generic/ldsodefs.h (_dl_fini): Likewise. - (_dl_non_dynamic_init): Likewise. - (_dl_aux_init): Likewise. - * sysdeps/i386/machine-gmon.h (mcount_internal): Likewise. - * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64): - Likewise. - * wcsmbs/wcsmbsload.h (__wcsmbs_load_conv): Likewise. - (__wcsmbs_clone_conv): Likewise. - (__wcsmbs_named_conv): Likewise. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/stdlib.h (__random): Add attribute_hidden. - (__random_r): Likewise. - (__srandom_r): Likewise. - (__initstate_r): Likewise. - (__setstate_r): Likewise. - (__erand48_r): Likewise. - (__nrand48_r): Likewise. - (__jrand48_r): Likewise. - (__srand48_r): Likewise. - (__seed48_r): Likewise. - (__lcong48_r): Likewise. - (__drand48_iterate): Likewise. - (__setenv): Likewise. - (__unsetenv): Likewise. - (__clearenv): Likewise. - (__ptsname_r): Likewise. - (__posix_openpt): Likewise. - (__add_to_environ): Likewise. - (__realpath): Add libc_hidden_proto. - (__ecvt_r): Likewise. - (__fcvt_r): Likewise. - (__qecvt_r): Likewise. - (__qfcvt_r): Likewise. - * misc/efgcvt_r.c (cvt_symbol_1): Add libc_hidden_def (local). - * stdlib/canonicalize.c (__realpath): Add libc_hidden_def. - -2017-10-01 H.J. Lu - - [BZ #18822] - * include/stdlib.h (__ptsname_internal): Add attribute_hidden. - * include/time.h (__mktime_internal): Likewise. - * libio/iolibio.h (__fopen_internal): Likewise. - -2017-10-01 John David Anglin - - * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Save return - pointer in frame. - * sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext): Likewise. - Correct offset used to restore PIC register. - -2017-09-30 John David Anglin - - [BZ libc/22165] - * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Use PIC - code to load address of __getcontext_ret when generating PIC code. - -2017-09-30 H.J. Lu - - * elf/Makefile (tests-static-internal): Add - tst-tls1-static-non-pie. - (LDFLAGS-tst-tls1-static-non-pie): New. - * elf/tst-tls1-static-non-pie.c: New file. - -2017-09-29 Joseph Myers - - * sysdeps/ieee754/dbl-64/s_asinh.c: Include . - (asinh): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_cbrt.c: Include . - (cbrt): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_copysign.c: Include - . - (copysign): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_erf.c: Include . - (erf): Define using libm_alias_double. - (erfc): Likewise. - * sysdeps/ieee754/dbl-64/s_expm1.c: Include . - (expm1): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_fabs.c: Include . - (fabs): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_fromfp.c (fromfp): Define using - libm_alias_double. - * sysdeps/ieee754/dbl-64/s_fromfp_main.c: Include - . - * sysdeps/ieee754/dbl-64/s_fromfpx.c (fromfpx): Define using - libm_alias_double. - * sysdeps/ieee754/dbl-64/s_getpayload.c: Include - . - (getpayload): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_llrint.c: Include - . - (llrint): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_lrint.c: Include . - (lrint): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_nextup.c: Include - . - (nextup): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_roundeven.c: Include - . - (roundeven): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_setpayload.c (setpayload): Define using - libm_alias_double. - * sysdeps/ieee754/dbl-64/s_setpayload_main.c: Include - . - * sysdeps/ieee754/dbl-64/s_setpayloadsig.c (setpayloadsig): Define - using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_sin.c: Include . - (cos): Define using libm_alias_double. - (sin): Likewise. - * sysdeps/ieee754/dbl-64/s_sincos.c: Include - . - (sincos): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_tanh.c: Include . - (tanh): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_totalorder.c: Include - . - (totalorder): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_totalordermag.c: Include - . - (totalordermag): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/s_ufromfp.c (ufromfp): Define using - libm_alias_double. - * sysdeps/ieee754/dbl-64/s_ufromfpx.c (ufromfpx): Define using - libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c: Include - . - (getpayload): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c: Include - . - (roundeven): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_setpayload_main.c: Include - . - * sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c: Include - . - (totalorder): Define using libm_alias_double. - * sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c: Include - . - (totalordermag): Define using libm_alias_double. - * sysdeps/ieee754/ldbl-opt/s_copysign.c (copysignl): Only define - libc compat symbol here. - * sysdeps/ieee754/ldbl-opt/s_asinh.c: Remove file. - * sysdeps/ieee754/ldbl-opt/s_cbrt.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_erf.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_expm1.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_fabs.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_llrint.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_lrint.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_sin.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_sincos.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_tanh.c: Likewise. - -2017-09-29 H.J. Lu - - * sysdeps/arm/dl-machine.h (elf_machine_load_address): Use - _dl_relocate_static_pie instead of _dl_start to compute load - address in static PIE. Return 0 if _DYNAMIC is undefined for - static executable. - -2017-09-29 H.J. Lu - - * sysdeps/mips/dl-machine.h (elf_machine_dynamic): Return 0 if - _DYNAMIC is undefined for static executable. - -2017-09-29 H.J. Lu - - * sysdeps/arm/start.S (_start): Check PIC instead of SHARED. - -2017-09-29 Joseph Myers - - * sysdeps/x86_64/fpu/libm-test-ulps: Update. - -2017-09-29 Wilco Dijkstra - - * sysdeps/ieee754/dbl-64/e_lgamma_r.c - (__ieee754_lgamma_r): Use fabs rather than __fabs. - * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise. - * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise. - * sysdeps/ieee754/flt-32/e_lgammaf_r.c - (__ieee754_lgammaf_r): Use fabsf rather than __fabsf. - * sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise. - * sysdeps/ieee754/flt-32/e_log2f.c (__ieee754_log2f): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c - (__ieee754_lgammal_r): Use fabsl rather than __fabsl. - * sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise. - * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c - (__ieee754_lgammal_r): Use fabsl rather than __fabsl. - * sysdeps/ieee754/ldbl-128ibm/e_log10l.c (__ieee754_log10l): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise. - * sysdeps/powerpc/nofpu/Makefile: Add -fno-builtin-fabsl for BZ #29253. - -2017-09-29 Wilco Dijkstra - - * math/bits/cmathcalls.h (cimag): Remove inline. - (creal): Remove inline. - (conj): Remove inline. - -2017-09-29 Szabolcs Nagy - - * math/Makefile (type-float-routines): Add e_powf_log2_data. - * sysdeps/ieee754/flt-32/e_powf.c: New implementation. - * sysdeps/ieee754/flt-32/e_powf_log2_data.c: New file. - * sysdeps/ieee754/flt-32/math_config.h (__powf_log2_data): Define. - (issignalingf_inline): Likewise. - (POWF_LOG2_TABLE_BITS): Likewise. - (POWF_LOG2_POLY_ORDER): Likewise. - (POWF_SCALE_BITS): Likewise. - (POWF_SCALE): Likewise. - * sysdeps/i386/fpu/e_powf_log2_data.c: New file. - * sysdeps/ia64/fpu/e_powf_log2_data.c: New file. - * sysdeps/m68k/m680x0/fpu/e_powf_log2_data.c: New file. - -2017-09-29 Szabolcs Nagy - - * math/Makefile (type-float-routines): Add e_log2f_data. - * sysdeps/ieee754/flt-32/e_log2f.c: New implementation. - * sysdeps/ieee754/flt-32/e_log2f_data.c: New file. - * sysdeps/ieee754/flt-32/math_config.h (__log2f_data): Define. - (LOG2F_TABLE_BITS, LOG2F_POLY_ORDER): Define. - * sysdeps/i386/fpu/e_log2f_data.c: New file. - * sysdeps/ia64/fpu/e_log2f_data.c: New file. - * sysdeps/m68k/m680x0/fpu/e_log2f_data.c: New file. - -2017-09-29 Szabolcs Nagy - - * math/Makefile (type-float-routines): Add e_logf_data. - * sysdeps/ieee754/flt-32/e_logf.c: New implementation. - * sysdeps/ieee754/flt-32/e_logf_data.c: New file. - * sysdeps/ieee754/flt-32/math_config.h (__logf_data): Define. - (LOGF_TABLE_BITS, LOGF_POLY_ORDER): Define. - * sysdeps/i386/fpu/e_logf_data.c: New file. - * sysdeps/ia64/fpu/e_logf_data.c: New file. - * sysdeps/m68k/m680x0/fpu/e_logf_data.c: New file. - -2017-09-28 H.J. Lu - - * sysdeps/i386/dl-machine.h (elf_machine_load_address): Allow - undefined _DYNAMIC in PIE libc.a. - * sysdeps/x86_64/dl-machine.h (elf_machine_load_address): - Likewse. - -2017-09-28 Wilco Dijkstra - - * sysdeps/alpha/fpu/bits/mathinline.h: Delete file. - * sysdeps/ia64/fpu/bits/mathinline.h: Delete file. - * sysdeps/m68k/coldfire/fpu/bits/mathinline.h: Delete file. - * sysdeps/m68k/m680x0/fpu/bits/mathinline.h: (__signbitf): Remove. - (__signbit): Remove. - (__signbitl): Remove. - * sysdeps/powerpc/bits/mathinline.h (__signbitf): Remove. - (__signbit): Remove. - (__signbitl): Remove. - * sysdeps/s390/fpu/bits/mathinline.h: (__signbitf): Remove. - (__signbit): Remove. - (__signbitl): Remove. - * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf): Remove. - (__signbit): Remove. - (__signbitl): Remove. - * sysdeps/tile/bits/mathinline.h: Delete file. - * sysdeps/x86/fpu/bits/mathinline.h (__signbitf): Remove. - (__signbit): Remove. - (__signbitl): Remove. - -2017-09-28 Wilco Dijkstra - - * math/math.h: Improve handling of C99 isgreater macros. - * sysdeps/alpha/fpu/bits/mathinline.h: Remove isgreater macros. - * sysdeps/m68k/m680x0/fpu/bits/mathinline.h: Likewise. - * sysdeps/powerpc/bits/mathinline.h: Likewise. - * sysdeps/sparc/fpu/bits/mathinline.h: Likewise. - * sysdeps/x86/fpu/bits/mathinline.h: Likewise. - -2017-09-28 Szabolcs Nagy - - * sysdeps/aarch64/libm-test-ulps: Update. - -2017-09-28 Joseph Myers - - [BZ #22225] - * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Use - math_opt_barrier on argument when doing arithmetic on it. - * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint): - Likewise. Use math_force_eval not math_opt_barrier after - arithmetic. - * sysdeps/ieee754/flt-32/s_nearbyintf.c (__nearbyintf): Use - math_opt_barrier on argument when doing arithmetic on it. - * sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl): - Likewise. - -2017-09-27 H.J. Lu - - * sysdeps/unix/sysv/linux/ifaddrs.c (__getifaddrs): Add - libc_hidden_def. - (__freeifaddrs): Likewise. - -2017-09-27 Samuel Thibault - - * include/dirent.h (__dirfd): New declaration. - * dirent/dirfd.c (dirfd): Rename to __dirfd, and redefine as weak - alias. - * sysdeps/posix/dirfd/dirfd.c (dirfd): Likewise. - * sysdeps/mach/hurd/dirfd.c (dirfd): Likewise. - * io/ftw.c (open_dir_stream, ftw_dir): Use __dirfd instead of dirfd. - * include/unistd.h (__revoke): New declaration. - * misc/revoke.c (revoke): Rename to __revoke, and redefine as weak - alias. - * sysdeps/mach/hurd/revoke.c (revoke): Likewise. - * sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of - revoke. - * include/dirent.h (__seekdir): New declaration. - * sysdeps/mach/hurd/seekdir.c (seekdir): Rename to __seekdir and - redefine as weak alias. - * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead - of seekdir. - * include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations, - and use libc_hidden_def on them. - * inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on - them. - * sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise. - * inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs - instead of getifaddrs and freeifaddrs. - -2017-09-26 H.J. Lu - - [BZ #18822] - * dlfcn/modatexit.c (foo): Remove __dso_handle check. - * dlfcn/modcxaatexit.c: Include . - (__dso_handle): Remove declaration. - * dlfcn/tstatexit.c (__dso_handle): Removed. - (main): Don't check __dso_handle. - * dlfcn/tstcxaatexit.c (__dso_handle): Removed. - (main): Don't check __dso_handle. - * include/dso_handle.h: New file. - * malloc/mtrace.c: Include . - (mtrace): Pass __dso_handle directly. - * nptl/pthread_atfork.c: Include . - (__dso_handle): Remove declaration. - (__pthread_atfork): Pass __dso_handle directly. - * nptl/tst-atfork2mod.c: Include . - (__dso_handle): Removed. - * posix/wordexp-test.c: Include . - (__dso_handle): Remove declaration. - (__app_register_atfork): Pass __dso_handle directly. - * stdlib/at_quick_exit.c: Include . - (__dso_handle): Remove declaration. - (at_quick_exit): Pass __dso_handle directly. - * stdlib/atexit.c: Include . - (__dso_handle): Remove declaration. - (atexit): Pass __dso_handle directly. - * stdlib/tst-tls-atexit-lib.c: Include . - (__dso_handle): Removed. - -2017-09-26 Joseph Myers - - * sysdeps/unix/make-syscalls.sh: Use __ifunc to define symbols - using VDSO. - -2017-09-26 Alexey Makhalov - - * elf/dl-tunables.c (do_tunable_update_val): Range checking fix. - * scripts/gen-tunables.awk: Set unspecified minval and/or maxval - values to correct default value for given type. - -2017-09-26 H.J. Lu - - [BZ #22101] - * elf/Makefile (tests): Add tst-debug1. - ($(objpfx)tst-debug1): New. - ($(objpfx)tst-debug1.out): Likewise. - ($(objpfx)tst-debug1mod1.so): Likewise. - * elf/dl-load.c (_dl_map_object_from_fd): Skip PT_DYNAMIC segment - with p_filesz == 0. - * elf/tst-debug1.c: New file. - -2017-09-26 Joseph Myers - - * sysdeps/sparc/sparc-ifunc.h [!__ASSEMBLER__] (sparc_libm_ifunc): - Define using __ifunc. - -2017-09-26 Tulio Magno Quites Machado Filho - - * sysdeps/powerpc/fpu/libm-test-ulps: Regenerate expf() and - exp2f() values. - -2017-09-26 Joseph Myers - - [BZ #22156] - * sysdeps/ia64/stackinfo.h (DEFAULT_STACK_PERMS): Likewise. - -2017-09-26 Florian Weimer - - * resolv/Makefile (tests-internal): Fix typo in comment. - -2017-09-26 Florian Weimer - - * resolv/nss_dns/dns-host.c: Fix typo in comment. - -2017-09-25 Adhemerval Zanella - - * lib/malloc/scratch_buffer.h (struct scratch_buffer): - Use an union instead of a max_align_t array for __space, - so that __space is the same size on all platforms. - * malloc/scratch_buffer_grow_preserve.c - (__libc_scratch_buffer_grow_preserve): Likewise. - - [BZ #22183] - * include/gnu-versions.h (_GNU_GLOB_INTERFACE_VERSION): Increase - version to 2. - * posix/Makefile (routines): Add glob-lstat-compat and - glob64-lstat-compat. - * posix/Versions (GLIBC_2.27, glob, glob64): Add symbol version. - * posix/glob-lstat-compat.c: New file. - * posix/glob64-lstat-compat.c: Likewise. - * posix/tst-glob_lstat_compat.c: Likewise. - * sysdeps/unix/sysv/linux/glob-lstat-compat.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c: Likewise. - * sysdeps/unix/sysv/linux/glob64-lstat-compat.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/glob64-lstat-compat.c: - Likewise. - * sysdeps/unix/sysv/linux/alpha/glob.c: Remove file. - * sysdeps/unix/sysv/linux/s390/s390-32/glob64.c: Likewise. - * posix/glob.c (glob_lstat): New function. - (glob): Rename to __glob and add versioned symbol to 2.27. - (glob_in_dir): Use glob_lstat. - * posix/glob64.c (glob64): Add GLOB_ATTRIBUTE. - * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/glob.c (glob): Add versioned symbol for - 2.27. - * sysdeps/unix/sysv/linux/glob64.c (glob64): Likewise. - * sysdeps/unix/sysv/linux/oldglob.c (GLOB_NO_LSTAT): Define. - * sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob): Do not use - gl_lstat on glob call. - * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add GLIBC_2.27 glob - and glob64 symbols. - * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: - Likewise. - * sysdeps/unix/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. - -2017-09-25 H.J. Lu - - * configure.ac (AS): Require binutils 2.25 or later. - * configure: Regenerated. - -2017-09-25 Paul Pluzhnikov - - [BZ #22207] - * stdlib/test-atexit-race-common.c (do_test): Minimize required - VM size. - -2017-09-25 DJ Delorie - - [BZ #22161] - * nscd/netgroupcache.c (addinnetgrX): Release read lock after - resetting timeout. - -2017-09-25 Stefan Liebler - - * sysdeps/ieee754/dbl-64/sincos32.h - [SINCCOS32_H]: Remove define. - [SINCOS32_H]: Define. - -2017-09-25 Szabolcs Nagy - - * math/Versions (expf): New libm symbol at GLIBC_2.27. - (exp2f): Likewise. - * math/w_exp2f.c: New file. - * math/w_expf.c: New file. - * math/w_exp2f_compat.c (__exp2f_compat): For compat symbol only. - * math/w_expf_compat.c (__expf_compat): Likewise. - * sysdeps/ia64/fpu/e_exp2f.S: Add versioned symbols. - * sysdeps/ia64/fpu/e_expf.S: Likewise. - * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. - * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: - Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: - Likewise. - * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. - -2017-09-25 Szabolcs Nagy - - * math/Makefile (type-float-routines): Add math_errf and e_exp2f_data. - * sysdeps/aarch64/fpu/math_private.h (TOINT_INTRINSICS): Define. - (roundtoint, converttoint): Likewise. - * sysdeps/ieee754/flt-32/e_expf.c: New implementation. - * sysdeps/ieee754/flt-32/e_exp2f.c: New implementation. - * sysdeps/ieee754/flt-32/e_exp2f_data.c: New file. - * sysdeps/ieee754/flt-32/math_config.h: New file. - * sysdeps/ieee754/flt-32/math_errf.c: New file. - * sysdeps/ieee754/flt-32/t_exp2f.h: Remove. - * sysdeps/i386/fpu/e_exp2f_data.c: New file. - * sysdeps/i386/fpu/math_errf.c: New file. - * sysdeps/ia64/fpu/e_exp2f_data.c: New file. - * sysdeps/ia64/fpu/math_errf.c: New file. - * sysdeps/m68k/m680x0/fpu/e_exp2f_data.c: New file. - * sysdeps/m68k/m680x0/fpu/math_errf.c: New file. - -2017-09-24 Samuel Thibault - - * sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): New macro. - (__open, __close, __libc_read, __libc_write, __writev, __libc_lseek64, - __mmap, __fxstat64, __xstat64, __access, __access_noerrno, __getpid, - __getcwd, __sbrk, __strtoul_internal, _exit, abort): Use check_no_hidden - to make sure that these symbols are defined. - * sysdeps/mach/hurd/bits/socket.h: Include instead - of - (__need_NULL): Do not define. - (__ss_aligntype): Use __WORDSIZE instead of ULONG_MAX to determine - alignment. - [!__USE_MISC] (pseudo_AF_XTP, pseudo_AF_RTIP, pseudo_AF_PIP, - CMGROUP_MAX, cmsgcred): Do not define. - (CMSG_FIRSTHDR, __cmsg_nxthdr): Use (struct cmsghdr *) 0 instead of - NULL. - * bits/socket.h: Likewise. - * sysdeps/unix/clock_gettime.c (realtime_gettime, __clock_gettime): Use - __gettimeofday instead of gettimeofday. - * sysdeps/unix/clock_settime.c (__clock_settime): Use __settimeofday - instead of settimeofday. - -2017-09-22 Joseph Myers - - * sysdeps/ieee754/flt-32/s_asinhf.c: Include . - (asinhf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_atanf.c: Include . - (atanf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_cbrtf.c: Include . - (cbrtf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_ceilf.c: Include . - (ceilf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_copysignf.c: Include - . - (copysignf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_cosf.c: Include . - (cosf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_erff.c: Include . - (erff): Define using libm_alias_float. - (erfcf): Likewise. - * sysdeps/ieee754/flt-32/s_expm1f.c: Include . - (expm1f): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_fabsf.c: Include . - (fabsf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_floorf.c: Include . - (floorf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_frexpf.c: Include . - (frexpf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_fromfpf.c (fromfpf): Define using - libm_alias_float. - * sysdeps/ieee754/flt-32/s_fromfpf_main.c: Include - . - * sysdeps/ieee754/flt-32/s_fromfpxf.c (fromfpxf): Define using - libm_alias_float. - * sysdeps/ieee754/flt-32/s_getpayloadf.c: Include - . - (getpayloadf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_llrintf.c: Include - . - (llrintf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_llroundf.c: Include - . - (llroundf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_logbf.c: Include . - (logbf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_lrintf.c: Include . - (lrintf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_lroundf.c: Include . - (lroundf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_modff.c: Include . - (modff): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_nearbyintf.c: Include - . - (nearbyintf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_nextafterf.c: Include - . - (nextafterf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_nextupf.c: Include - . - (nextupf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_remquof.c: Include - . - (remquof): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_rintf.c: Include . - (rintf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_roundevenf.c: Include - . - (roundevenf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_roundf.c: Include . - (roundf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_setpayloadf.c (setpayloadf): Define - using libm_alias_float. - * sysdeps/ieee754/flt-32/s_setpayloadf_main.c: Include - . - * sysdeps/ieee754/flt-32/s_setpayloadsigf.c (setpayloadsigf): - Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_sincosf.c: Include - . - (sincosf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_sinf.c: Include . - (sinf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_tanf.c: Include . - (tanf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_tanhf.c: Include . - (tanhf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_totalorderf.c: Include - . - (totalorderf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_totalordermagf.c: Include - . - (totalordermagf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_truncf.c: Include . - (truncf): Define using libm_alias_float. - * sysdeps/ieee754/flt-32/s_ufromfpf.c (ufromfpf): Define using - libm_alias_float. - * sysdeps/ieee754/flt-32/s_ufromfpxf.c (ufromfpxf): Define using - libm_alias_float. - -2017-09-22 Gabriel F. T. Gomes - - [BZ #22146] - math/math.h: Let fpclassify use the builtin in C++ mode, even - when optimazing for size. - -2017-09-22 Joseph Myers - - * csu/Makefile (generated): Do not add version-info.h. - (before-compile): Likewise. - (all-Banner-files): Remove variable. - ($(objpfx)version-info.h): Remove rule. - * csu/version.c (banner): Do not include "version-info.h". - * libidn/Banner: Remove. - * manual/contrib.texi (Simon Josefsson): New entry. - -2017-09-21 Gabriel F. T. Gomes - - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): - Remove conditionals on LDBL_MANT_DIG. - * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c - (__ieee754_lgammal_r): Likewise. - -2017-09-21 Gabriel F. T. Gomes - - * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Remove definitions of - _Float128 and L(). - * sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Remove definitions of - _Float128 and L(). Replace _Float128 with long double and L(x) - with xL, throughout the file. - * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise. - -2017-09-21 Gabriel F. T. Gomes - - * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Include tables from - sysdeps/ieee754/ldbl-128ibm. - * sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Copy contents from the - equivalent implementation in sysdeps/ieee754/ldbl-128/ instead - of including it. Keep _Float128 and L() intact. These will be - reviewed by a separate patch. - * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise. - -2017-09-21 Gabriel F. T. Gomes - - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c - (__finitef128): Define to __redirect___finitef128. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c - (__isinff128): Define to __redirect___isinff128. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c - (__isnanf128): Define to __redirect___isnanf128. - -2017-09-21 Gabriel F. T. Gomes - - * sysdeps/powerpc/powerpc64le/Makefile - (CFLAGS-tst-strtod-nan-locale.c): New variable. - (CFLAGS-tst-wcstod-nan-locale.c): New variable. - -2017-09-21 Paul Pluzhnikov - Carlos O'Donell - - [BZ #22180] - * stdlib/Makefile (tests): Add test-dlclose-exit-race. - * stdlib/test-dlclose-exit-race.c: New file. - * stdlib/test-dlclose-exit-race-helper.c: New file. - * stdlib/exit.c (__run_exit_handlers): Mark slot as free. - -2017-09-21 Joseph Myers - - * crypt/Banner: Remove file. - * nptl/Banner: Likewise. - * resolv/Banner: Likewise. - * soft-fp/Banner: Likewise. - * nptl/Makefile ($(objpfx)banner.h): Remove rule. - ($(objpfx)version.d): Remove dependency on banner.h. - ($(objpfx)version.os): Likewise. - * nptl/version.c (banner): Do not include banner.h. - * manual/contrib.texi: Update entries for Richard Henderson, Jakub - Jelinek and BIND code. - -2017-09-20 Paul Pluzhnikov - Carlos O'Donell - - * support/xdlfcn.h: New file. - * support/xdlfcn.c: New file. - * support/Makefile (libsupport-routines): Add xdlfcn. - * stdlib/tst-tls-atexit.c: Use xdlopen, xdlsym, xdlclose. - -2017-09-20 Joseph Myers - - [BZ #20142] - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add s_trunc-c, s_truncf-c, s_trunc-sse4_1 and s_truncf-sse4_1. - * sysdeps/x86_64/fpu/multiarch/s_trunc-c.c: New file. - * sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_truncf-c.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Likewise. - -2017-09-20 Paul Pluzhnikov - Ricky Zhou - Anoop V Chakkalakkal - - [BZ #14333] - * stdlib/cxa_atexit.c (__internal_atexit): Use __exit_funcs_lock. - Remove atomics. - (__new_exitfn): Fail registration when we finished at_exit processing. - * stdlib/cxa_finalize.c (__cxa_finalize): Likewise. - * stdlib/on_exit.c (__on_exit): Likewise. - * stdlib/exit.c (__exit_funcs_done): New variable. - (__run_exit_handlers): Use __exit_funcs_lock. - * stdlib/exit.h (__exit_funcs_lock, __exit_funcs_done): New - declarations. - * stdlib/Makefile (test-atexit-race, test-quick_at_exit-race) - (test-cxa_atexit-race, test-on_exit-race): New tests. - * stdlib/test-atexit-race-common.c: New file. - * stdlib/test-atexit-race.c: New file. - * stdlib/test-at_quick_exit-race.c: New file. - * stdlib/test-cxa_atexit-race.c: New file. - * stdlib/test-on_exit-race.c: New file. - -2017-09-20 Szabolcs Nagy - - * benchtests/Makefile: Add exp2f and log2f benchmarks. - * benchtests/exp2f-inputs: Copy of expf-inputs. - * benchtests/log2f-inputs: Copy of logf-inputs. - -2017-09-19 Joseph Myers - - * sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]: - Explicitly take address of first element of array arguments in - call to INLINE_SYSCALL. - -2017-09-19 Andreas Schwab - - [BZ #22134] - * sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]: Try - execveat first. - [!__ASSUME_EXECVEAT]: Fall back to /proc if execveat is - unimplemented. - * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_EXECVEAT) - [__LINUX_KERNEL_VERSION >= 0x031300]: Define. - * sysdeps/unix/sysv/linux/alpha/kernel-features.h - (__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040200]: Undef. - * sysdeps/unix/sysv/linux/hppa/kernel-features.h - (__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040000]: Undef. - * sysdeps/unix/sysv/linux/microblaze/kernel-features.h - (__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040000]: Undef. - * posix/Makefile (tests): Add tst-fexecve. - * posix/tst-fexecve.c: New file. - -2017-09-19 Wilco Dijkstra - - * benchtests/Makefile: Add logf benchmark. - * benchtests/logf-inputs: Add reduced trace from wrf_r. - -2017-09-19 Wilco Dijkstra - - * benchtests/Makefile: Add expf benchmark. - * benchtests/expf-inputs: Add reduced trace from wrf_r. - -2017-09-19 Wilco Dijkstra - - * csu/Makefile: Add -funwind-tables to libc-start.c. - * debug/Makefile: Add -funwind-tables to backtrace.c. - * sysdeps/aarch64/Makefile: Remove CFLAGS-backtrace.c. - * sysdeps/arm/Makefile: Likewise. - * sysdeps/i386/Makefile: Likewise. - * sysdeps/m68k/Makefile: Likewise. - * sysdeps/mips/Makefile: Likewise. - * sysdeps/nios2/Makefile: Likewise. - * sysdeps/sh/Makefile: Likewise. - * sysdeps/sparc/Makefile: Likewise. - -2017-09-19 Joseph Myers - - * benchtests/Makefile (bench-math): Add trunc and truncf. - (CFLAGS-bench-trunc.c): New variable. - (CFLAGS-bench-truncf.c): Likewise. - * benchtests/trunc-inputs: New file. - * benchtests/truncf-inputs: Likewise. - -2017-09-19 Rajalakshmi Srinivasaraghavan - - * sysdeps/powerpc/powerpc64/power8/memset.S: Avoid misaligned stores. - -2017-09-18 Joseph Myers - - * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT && - !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] (weak_alias): Undefine and - redefine. - [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] - (exp10l): Define as weak alias. - * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c [LIBM_SVID_COMPAT - && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (weak_alias): Undefine - and redefine. - [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] - (remainderl): Define as weak alias. - - * math/s_fmal.c: Include . - (fmal): Define using libm_alias_ldouble. - * math/w_acoshl_compat.c: Include . - (acoshl): Define using libm_alias_ldouble. - * math/w_acosl_compat.c: Include . - (acosl): Define using libm_alias_ldouble. - * math/w_asinl_compat.c: Include . - (asinl): Define using libm_alias_ldouble. - * math/w_atan2l_compat.c: Include . - (atan2l): Define using libm_alias_ldouble. - * math/w_atanhl_compat.c: Include . - (atanhl): Define using libm_alias_ldouble. - * math/w_coshl_compat.c: Include . - (coshl): Define using libm_alias_ldouble. - * math/w_exp10l_compat.c: Include . - (exp10l): Define using libm_alias_ldouble. - * math/w_exp2l_compat.c: Include . - (exp2l): Define using libm_alias_ldouble. - * math/w_expl_compat.c: Include . - (expl): Define using libm_alias_ldouble. - * math/w_fmodl_compat.c: Include . - (fmodl): Define using libm_alias_ldouble. - * math/w_hypotl_compat.c: Include . - (hypotl): Define using libm_alias_ldouble. - * math/w_j0l_compat.c: Include . - (j0l): Define using libm_alias_ldouble. - (y0l): Likewise. - * math/w_j1l_compat.c: Include . - (j1l): Define using libm_alias_ldouble. - (y1l): Likewise. - * math/w_jnl_compat.c: Include . - (jnl): Define using libm_alias_ldouble. - (ynl): Likewise. - * math/w_log10l_compat.c: Include . - (log10l): Define using libm_alias_ldouble. - * math/w_log2l_compat.c: Include . - (log2l): Define using libm_alias_ldouble. - * math/w_logl_compat.c: Include . - (logl): Define using libm_alias_ldouble. - * math/w_powl_compat.c: Include . - (powl): Define using libm_alias_ldouble. - * math/w_remainderl_compat.c: Include . - (remainderl): Define using libm_alias_ldouble. - * math/w_sinhl_compat.c: Include . - (sinhl): Define using libm_alias_ldouble. - * math/w_sqrtl_compat.c: Include . - (sqrtl): Define using libm_alias_ldouble. - * math/w_tgammal_compat.c: Include . - (tgammal): Define using libm_alias_ldouble. - * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT] - (exp10l): Do not use long_double_symbol here. - * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c - [LIBM_SVID_COMPAT] (remainderl): Likewise. - * sysdeps/ieee754/ldbl-opt/s_fmal.c: Remove. - * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise. - -2017-09-18 Wang Boshi (tiny change) - - * sysdeps/aarch64/start.S: Use MOVL instead of literal pools. - * sysdeps/aarch64/sysdep.h (MOVL): Add MOVL macro. - -2017-09-17 Samuel Thibault - - * io/read.c (read): Add libc_hidden_weak. - * sysdeps/mach/hurd/read.c (read): Likewise. - * io/write.c (write): Likewise. - * sysdeps/mach/hurd/write.c (write): Likewise. - * io/pread64.c (__pread64): Likewise. - * sysdeps/mach/hurd/pread64.c (__pread64): Likewise. - * posix/pread64.c (__pread64): Add libc_hidden_def. - -2017-09-16 Siddhesh Poyarekar - - * benchtests/scripts/compare_strings.py: New option -g. - (draw_graph): Print a message that a graph is being generated. - (process_results): Generate graph only if -g is passed. - (main): Process option -g. - - * benchtests/scripts/compare_strings.py (process_results): - Better spacing for output. - - * benchtests/scripts/compare_strings.py: Use argparse. - * benchtests/README: Document existence of compare_strings.py. - -2017-09-15 Joseph Myers - - * math/s_fma.c: Include . - (fma): Define using libm_alias_double. - * math/s_nextafter.c: Include . - (nextafter): Define using libm_alias_double. - * math/w_acos_compat.c: Include . - (acos): Define using libm_alias_double. - * math/w_acosh_compat.c: Include . - (aocsh): Define using libm_alias_double. - * math/w_asin_compat.c: Include . - (asin): Define using libm_alias_double. - * math/w_atan2_compat.c: Include . - (atan2): Define using libm_alias_double. - * math/w_atanh_compat.c: Include . - (atanh): Define using libm_alias_double. - * math/w_cosh_compat.c: Include . - (cosh): Define using libm_alias_double. - * math/w_exp10_compat.c: Include . - (exp10): Define using libm_alias_double. - * math/w_exp2_compat.c: Include . - (exp2): Define using libm_alias_double. - * math/w_exp_compat.c: Include . - (exp): Define using libm_alias_double. - * math/w_fmod_compat.c: Include . - (fmod): Define using libm_alias_double. - * math/w_hypot_compat.c: Include . - (hypot): Define using libm_alias_double. - * math/w_j0_compat.c: Include . - (j0): Define using libm_alias_double. - (y0): Likewise. - * math/w_j1_compat.c: Include . - (j1): Define using libm_alias_double. - (y1): Likewise. - * math/w_jn_compat.c: Include . - (jn): Define using libm_alias_double. - (yn): Likewise. - * math/w_log10_compat.c: Include . - (log10): Define using libm_alias_double. - * math/w_log2_compat.c: Include . - (log2): Define using libm_alias_double. - * math/w_log_compat.c: Include . - (log): Define using libm_alias_double. - * math/w_pow_compat.c: Include . - (pow): Define using libm_alias_double. - * math/w_remainder_compat.c: Include . - (remainder): Define using libm_alias_double. - * math/w_sinh_compat.c: Include . - (sinh): Define using libm_alias_double. - * math/w_sqrt_compat.c: Include . - (sqrt): Define using libm_alias_double. - * math/w_tgamma_compat.c: Include . - (tgamma): Define using libm_alias_double. - * sysdeps/ieee754/ldbl-opt/s_nextafter.c [LONG_DOUBLE_COMPAT(libm, - GLIBC_2_0)] (nextafterl): Do not define compat symbol here. - * sysdeps/ieee754/ldbl-opt/w_exp10_compat.c - [LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (exp10l): Likewise. - * sysdeps/ieee754/ldbl-opt/w_remainder_compat.c - [LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (remainderl): Likewise. - * sysdeps/ieee754/ldbl-opt/w_acos_compat.c: Remove. - * sysdeps/ieee754/ldbl-opt/w_acosh_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_asin_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_atan2_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_atanh_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_cosh_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_fmod_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_hypot_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_j0_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_j1_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_jn_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_log10_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_log2_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_log_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_pow_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_sinh_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c: Likewise. - - * math/e_acoshl.c: Remove. - * math/e_acosl.c: Likewise. - * math/e_asinl.c: Likewise. - * math/e_atan2l.c: Likewise. - * math/e_atanhl.c: Likewise. - * math/e_coshl.c: Likewise. - * math/e_expl.c: Likewise. - * math/e_fmodl.c: Likewise. - * math/e_gammal_r.c: Likewise. - * math/e_hypotl.c: Likewise. - * math/e_j0l.c: Likewise. - * math/e_j1l.c: Likewise. - * math/e_jnl.c: Likewise. - * math/e_lgammal_r.c: Likewise. - * math/e_log10l.c: Likewise. - * math/e_log2l.c: Likewise. - * math/e_logl.c: Likewise. - * math/e_powl.c: Likewise. - * math/e_rem_pio2l.c: Likewise. - * math/e_sinhl.c: Likewise. - * math/e_sqrtf128.c: Likewise. - * math/e_sqrtl.c: Likewise. - * math/k_cosl.c: Likewise. - * math/k_sinl.c: Likewise. - * math/k_tanl.c: Likewise. - * math/s_asinhl.c: Likewise. - * math/s_atanl.c: Likewise. - * math/s_cbrtl.c: Likewise. - * math/s_erfl.c: Likewise. - * math/s_expm1l.c: Likewise. - * math/s_log1pl.c: Likewise. - * math/s_tanhl.c: Likewise. - -2017-09-15 Tulio Magno Quites Machado Filho - - [BZ #21745] - * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: - [$(subdir) = math] (sysdep_calls): New variable. Has the - previous contents of sysdep_routines, but re-sorted.. - [$(subdir) = math] (sysdep_routines): Re-use the contents from - sysdep_calls. - [$(subdir) = math] (libm-sysdep_routines): Remove the functions - defined in sysdep_calls and replace by the respective m_* names. - * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: - (compat_symbol): Undefine to avoid duplicated compat symbols in - libc. - -2017-09-15 Joseph Myers - - * math/s_fmaf.c: Include . - (fmaf): Define using libm_alias_float. - * math/w_acosf_compat.c: Include . - (acosf): Define using libm_alias_float. - * math/w_acoshf_compat.c: Include . - (acoshf): Define using libm_alias_float. - * math/w_asinf_compat.c: Include . - (asinf): Define using libm_alias_float. - * math/w_atan2f_compat.c: Include . - (atan2f): Define using libm_alias_float. - * math/w_atanhf_compat.c: Include . - (atanhf): Define using libm_alias_float. - * math/w_coshf_compat.c: Include . - (coshf): Define using libm_alias_float. - * math/w_exp10f_compat.c: Include . - (exp10f): Define using libm_alias_float. - * math/w_fmodf_compat.c: Include . - (fmodf): Define using libm_alias_float. - * math/w_hypotf_compat.c: Include . - (hypotf): Define using libm_alias_float. - * math/w_j0f_compat.c: Include . - (j0f): Define using libm_alias_float. - (y0f): Likewise. - * math/w_j1f_compat.c: Include . - (j1f): Define using libm_alias_float. - (y1f): Likewise. - * math/w_jnf_compat.c: Include . - (jnf): Define using libm_alias_float. - (ynf): Likewise. - * math/w_log10f_compat.c: Include . - (log10f): Define using libm_alias_float. - * math/w_log2f_compat.c: Include . - (log2f): Define using libm_alias_float. - * math/w_logf_compat.c: Include . - (logf): Define using libm_alias_float. - * math/w_powf_compat.c: Include . - (powf): Define using libm_alias_float. - * math/w_remainderf_compat.c: Include . - (remainderf): Define using libm_alias_float. - * math/w_sinhf_compat.c: Include . - (sinhf): Define using libm_alias_float. - * math/w_sqrtf_compat.c: Include . - (sqrtf): Define using libm_alias_float. - * math/w_tgammaf_compat.c: Include . - (tgammaf): Define using libm_alias_float. - -2017-09-14 Joseph Myers - - * include/math.h (roundeven): Change hidden_proto call to - __roundeven. - * math/w_j0_compat.c (j0): Rename to __j0 and define as weak - alias. - [NO_LONG_DOUBLE] (__j0l): New strong alias. - (y0): Rename to __y0 and define as weak alias. - [NO_LONG_DOUBLE] (__y0l): New strong alias. - * math/w_j0f_compat.c (j0f): Rename to __j0f and define as weak - alias. - (y0f): Rename to __y0f and define as weak alias. - * math/w_j1_compat.c (j1): Rename to __j1 and define as weak - alias. - [NO_LONG_DOUBLE] (__j1l): New strong alias. - (y1): Rename to __y1 and define as weak alias. - [NO_LONG_DOUBLE] (__y1l): New strong alias. - * math/w_j1f_compat.c (j1f): Rename to __j1f and define as weak - alias. - (y1f): Rename to __y1f and define as weak alias. - * math/w_jn_compat.c (jn): Rename to __jn and define as weak - alias. - [NO_LONG_DOUBLE] (__jnl): New strong alias. - (yn): Rename to __yn and define as weak alias. - [NO_LONG_DOUBLE] (__ynl): New strong alias. - * math/w_jnf_compat.c (jnf): Rename to __jnf and define as weak - alias. - (ynf): Rename to __ynf and define as weak alias. - * sysdeps/ieee754/dbl-64/s_fromfp.c (FUNC): Define to __fromfp. - (fromfp): Define as weak alias. - [NO_LONG_DOUBLE] (__fromfpl): New strong alias. - * sysdeps/ieee754/dbl-64/s_fromfpx.c (FUNC): Define to __fromfpx. - (fromfpx): Define as weak alias. - [NO_LONG_DOUBLE] (__fromfpxl): New strong alias. - * sysdeps/ieee754/dbl-64/s_getpayload.c (getpayload): Rename to - __getpayload and define as weak alias. - [NO_LONG_DOUBLE] (__getpayloadl): New strong alias. - * sysdeps/ieee754/dbl-64/s_roundeven.c (roundeven): Rename to - __roundeven and define as weak alias. - [NO_LONG_DOUBLE] (__roundevenl): New strong alias. - * sysdeps/ieee754/dbl-64/s_setpayload.c (FUNC): Define to - __setpayload. - (setpayload): Define as weak alias. - [NO_LONG_DOUBLE] (__setpayloadl): New strong alias. - * sysdeps/ieee754/dbl-64/s_setpayloadsig.c (FUNC): Define to - __setpayloadsig. - (setpayloadsig): Define as weak alias. - [NO_LONG_DOUBLE] (__setpayloadsigl): New strong alias. - * sysdeps/ieee754/dbl-64/s_totalorder.c (totalorder): Rename to - __totalorder and define as weak alias. - [NO_LONG_DOUBLE] (__totalorderl): New strong alias. - * sysdeps/ieee754/dbl-64/s_totalordermag.c (totalordermag): Rename - to __totalordermag and define as weak alias. - [NO_LONG_DOUBLE] (__totalordermagl): New strong alias. - * sysdeps/ieee754/dbl-64/s_ufromfp.c (FUNC): Define to __ufromfp. - (ufromfp): Define as weak alias. - [NO_LONG_DOUBLE] (__ufromfpl): New strong alias. - * sysdeps/ieee754/dbl-64/s_ufromfpx.c (FUNC): Define to - __ufromfpx. - (ufromfpx): Define as weak alias. - [NO_LONG_DOUBLE] (__ufromfpxl): New strong alias. - * sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c (getpayload): - Rename to __getpayload and define as weak alias. - [NO_LONG_DOUBLE] (__getpayloadl): New strong alias. - * sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c (roundeven): - Rename to __roundeven and define as weak alias. - [NO_LONG_DOUBLE] (__roundevenl): New strong alias. - * sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c (totalorder): - Rename to __totalorder and define as weak alias. - [NO_LONG_DOUBLE] (__totalorderl): New strong alias. - * sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c - (totalordermag): Rename to __totalordermag and define as weak - alias. - [NO_LONG_DOUBLE] (__totalordermagl): New strong alias. - * sysdeps/ieee754/float128/float128_private.h (__getpayloadl): New - macro. - (__roundevenl): Likewise. - (__totalorderl): Likewise. - (__totalordermagl): Likewise - * sysdeps/ieee754/float128/s_fromfpf128.c (FUNC): Define to - __fromfpf128. - (fromfpf128): Define as weak alias. - * sysdeps/ieee754/float128/s_fromfpxf128.c (FUNC): Define to - __fromfpxf128. - (fromfpxf128): Define as weak alias. - * sysdeps/ieee754/float128/s_setpayloadf128.c (FUNC): Define to - __setpayloadf128. - (setpayloadf128): Define as weak alias. - * sysdeps/ieee754/float128/s_setpayloadsigf128.c (FUNC): Define to - __setpayloadsigf128. - (setpayloadsigf128): Define as weak alias. - * sysdeps/ieee754/float128/s_ufromfpf128.c (FUNC): Define to - __ufromfpf128. - (ufromfpf128): Define as weak alias. - * sysdeps/ieee754/float128/s_ufromfpxf128.c (FUNC): Define to - __ufromfpxf128. - (ufromfpxf128): Define as weak alias. - * sysdeps/ieee754/flt-32/s_fromfpf.c (FUNC): Define to __fromfpf. - (fromfpf): Define as weak alias. - * sysdeps/ieee754/flt-32/s_fromfpxf.c (FUNC): Define to - __fromfpxf. - (fromfpxf): Define as weak alias. - * sysdeps/ieee754/flt-32/s_getpayloadf.c (getpayloadf): Rename to - __getpayloadf and define as weak alias. - * sysdeps/ieee754/flt-32/s_roundevenf.c (roundevenf): Rename to - __roundevenf and define as weak alias. - * sysdeps/ieee754/flt-32/s_setpayloadf.c (FUNC): Define to - __setpayloadf. - (setpayloadf): Define as weak alias. - * sysdeps/ieee754/flt-32/s_setpayloadsigf.c (FUNC): Define to - __setpayloadsigf. - (setpayloadsigf): Define as weak alias. - * sysdeps/ieee754/flt-32/s_totalorderf.c (totalorderf): Rename to - __totalorderf and define as weak alias. - * sysdeps/ieee754/flt-32/s_totalordermagf.c (totalordermagf): - Rename to __totalordermagf and define as weak alias. - * sysdeps/ieee754/flt-32/s_ufromfpf.c (FUNC): Define to - __ufromfpf. - (ufromfpf): Define as weak alias. - * sysdeps/ieee754/flt-32/s_ufromfpxf.c (FUNC): Define to - __ufromfpxf. - (ufromfpxf): Define as weak alias. - * sysdeps/ieee754/ldbl-128/s_fromfpl.c (FUNC): Define to - __fromfpl. - (fromfpl): Define as weak alias. - * sysdeps/ieee754/ldbl-128/s_fromfpxl.c (FUNC): Define to - __fromfpxl. - (fromfpxl): Define as weak alias. - * sysdeps/ieee754/ldbl-128/s_getpayloadl.c (getpayloadl): Rename - to __getpayloadl and define as weak alias. - * sysdeps/ieee754/ldbl-128/s_roundevenl.c (roundevenl): Rename to - __roundevenl and define as weak alias. - * sysdeps/ieee754/ldbl-128/s_setpayloadl.c (FUNC): Define to - __setpayloadl. - (setpayloadl): Define as weak alias. - * sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (FUNC): Define to - __setpayloadsigl. - (setpayloadsigl): Define as weak alias. - * sysdeps/ieee754/ldbl-128/s_totalorderl.c (totalorderl): Rename - to __totalorderl and define as weak alias. - * sysdeps/ieee754/ldbl-128/s_totalordermagl.c (totalordermagl): - Rename to __totalordermagl and define as weak alias. - * sysdeps/ieee754/ldbl-128/s_ufromfpl.c (FUNC): Define to - __ufromfpl. - (ufromfpl): Define as weak alias. - * sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (FUNC): Define to - __ufromfpxl. - (ufromfpxl): Define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c (FUNC): Define to - __fromfpl. - (fromfpl): Define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c (FUNC): Define to - __fromfpxl. - (fromfpxl): Define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c (getpayloadl): - Rename to __getpayloadl and define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c (roundevenl): Rename - to __roundevenl and define as weak alias. Call __roundeven - instead of roundeven. - * sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c (FUNC): Define to - __setpayloadl. - (setpayloadl): Define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c (FUNC): Define to - __setpayloadsigl. - (setpayloadsigl): Define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c (totalorderl): - Rename to __totalorderl and define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c (totalordermagl): - Rename to __totalordermagl and define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c (FUNC): Define to - __ufromfpl. - (ufromfpl): Define as weak alias. - * sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c (FUNC): Define to - __ufromfpxl. - (ufromfpxl): Define as weak alias. - * sysdeps/ieee754/ldbl-96/s_fromfpl.c (FUNC): Define to - __fromfpl. - (fromfpl): Define as weak alias. - * sysdeps/ieee754/ldbl-96/s_fromfpxl.c (FUNC): Define to - __fromfpxl. - (fromfpxl): Define as weak alias. - * sysdeps/ieee754/ldbl-96/s_getpayloadl.c (getpayloadl): Rename to - __getpayloadl and define as weak alias. - * sysdeps/ieee754/ldbl-96/s_roundevenl.c (roundevenl): Rename to - __roundevenl and define as weak alias. - * sysdeps/ieee754/ldbl-96/s_setpayloadl.c (FUNC): Define to - __setpayloadl. - (setpayloadl): Define as weak alias. - * sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c (FUNC): Define to - __setpayloadsigl. - (setpayloadsigl): Define as weak alias. - * sysdeps/ieee754/ldbl-96/s_totalorderl.c (totalorderl): Rename to - __totalorderl and define as weak alias. - * sysdeps/ieee754/ldbl-96/s_totalordermagl.c (totalordermagl): - Rename to __totalordermagl and define as weak alias. - * sysdeps/ieee754/ldbl-96/s_ufromfpl.c (FUNC): Define to - __ufromfpl. - (ufromfpl): Define as weak alias. - * sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (FUNC): Define to - __ufromfpxl. - (ufromfpxl): Define as weak alias. - -2017-09-14 Siddhesh Poyarekar - - * benchtests/bench-string.h (realloc_bufs): New function. - (test_init): Call it. - * benchtests/bench-memset-large.c (do_test): Likewise. - * benchtests/bench-memset.c (do_test): Likewise. - - * benchtests/bench-memset-large.c: Print output in JSON - format. - * benchtests/bench-memset.c: Likewise. - -2017-09-14 Mike FABIAN - - [BZ #21084] - * benchtests/strcoll-inputs/filelist#en_US.UTF-8: Add IBM858 and ibm858.c. - * iconvdata/Makefile: Add IBM858. - * iconvdata/gconv-modules: Likewise. - * iconvdata/tst-tables.sh: Likewise. - * iconvdata/ibm858.c: New file. - * localedata/charmaps/IBM858: Likewise. - -2017-09-14 Akhilesh Kumar - - [BZ #22023] - * locales/niu_NZ (LC_TIME): copy "niu_NU". - * locales/niu_NZ (LC_MESSAGES): copy "niu_NU". - -2017-09-14 Mike FABIAN - - [BZ #22112] - * localedata/locales/az_AZ(LC_TELEPHONE): Fix int_select - and add tel_int_fmt. - -2017-09-14 Joseph Myers - - * sysdeps/generic/libm-alias-float128.h: New file. - * sysdeps/generic/math-type-macros-float128.h: Include - . - [!declare_mgen_alias] (declare_mgen_alias): Define macro. - -2017-09-13 Joseph Myers - - * sysdeps/generic/libm-alias-ldouble.h: New file. - * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Likewise. - * sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h: Remove. - * sysdeps/generic/math-type-macros-ldouble.h: Include - . - [!declare_mgen_alias] (declare_mgen_alias): Define to use - libm_alias_ldouble. - -2017-09-13 Szabolcs Nagy - - * sysdeps/ieee754/dbl-64/w_exp_compat.c: Move to... - * math/w_exp_compat.c: ... here. - * sysdeps/ieee754/flt-32/w_expf_compat.c: Move to... - * math/w_expf_compat.c: ... here. - * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Move to... - * math/w_expl_compat.c: ... here. - * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Remove. - * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Remove. - * sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Use the new path. - * sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise. - -2017-09-13 Joseph Myers - - * math/w_scalbln_template.c (strong_alias): Do not undefine and - redefine. - * sysdeps/ieee754/ldbl-opt/s_ldexp.c (declare_mgen_alias): Remove - macro. - (ldexpl): Only define as compat symbol for libc, not libm. - (scalbnl): Define as compat symbol for libc here. - * sysdeps/ieee754/ldbl-opt/s_ldexpl.c (declare_mgen_alias): Only - define for [IS_IN (libc)]. - (__ldexpl_2): Remove alias. - (ldexpl): Only define with long_double_symbol if [IS_IN (libc)]. - (scalbnl): Likewise. Use __wrap_scalbnl not __ldexpl_2 as base - name in long_double_symbol call. - * sysdeps/ieee754/ldbl-opt/s_log1p.c: Remove file. - * sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise. - * sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_log1p.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_scalbln.c (declare_mgen_alias): - Remove macro. - [IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)] (scalblnl): - Define as compat symbol. - -2017-09-13 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/s390/s390-32/oldglob.c: New file. - * sysdeps/unix/sysv/linux/alpha/Makefile - [$(subdir) = csu] (sysdep_routines): Remove rule. - -2017-09-13 Joseph Myers - - * sysdeps/generic/libm-alias-double.h: New file. - * sysdeps/ieee754/ldbl-opt/libm-alias-double.h: Likewise. - * sysdeps/generic/math-type-macros-double.h: Include - . - [declare_mgen_alias] (declare_mgen_alias): Define to use - libm_alias_double. - * sysdeps/generic/math-type-macros.h [!M_LIBM_NEED_COMPAT] - (M_LIBM_NEED_COMPAT): Remove macro. - [!M_LIBM_NEED_COMPAT] (declare_mgen_libm_compat): Likewise. - * sysdeps/ieee754/ldbl-opt/math-type-macros-double.h: Remove. - * math/cabs_template.c [M_LIBM_NEED_COMPAT]: Remove conditional - code. - * math/carg_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/cimag_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/conj_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/creal_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_cacos_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_cacosh_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_casin_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_casinh_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_catan_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_catanh_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_ccos_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_ccosh_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_cexp_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_clog10_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_clog_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_cpow_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_cproj_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_csin_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_csinh_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_csqrt_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_ctan_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_ctanh_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_fdim_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_fmax_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_fmin_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/s_nan_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * math/w_ilogb_template.c [M_LIBM_NEED_COMPAT]: Likewise. - * sysdeps/ieee754/ldbl-opt/s_clog10.c: New file. - * sysdeps/ieee754/ldbl-opt/s_ldexp.c (M_LIBM_NEED_COMPAT): Remove - macro. - (declare_mgen_alias): New macro. - * sysdeps/ieee754/ldbl-opt/w_log1p.c: New file. - * sysdeps/ieee754/ldbl-opt/w_scalbln.c: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.c - (M_LIBM_NEED_COMPAT): Remove macro. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c - [HAVE_AS_VIS3_SUPPORT]: Include and - . - [HAVE_AS_VIS3_SUPPORT && LONG_DOUBLE_COMPAT (libm, - FIRST_VERSION_libm_fdiml)]: Define fdiml as compat symbol. - -2017-09-12 Joseph Myers - - * sysdeps/generic/math-type-macros.h [!declare_mgen_alias_2] - (declare_mgen_alias_2): Remove. - * sysdeps/generic/math-type-macros-double.h - [NO_LONG_DOUBLE && !declare_mgen_alias_2] (declare_mgen_alias_2): - Likewise. - * math/s_ldexp_template.c (M_SUF (__wrap_scalbn)): Define strong - alias. - (ldexp): Define with declare_mgen_alias. - (scalbn): Likewise. - -2017-09-12 Steve Ellcey - - * grp/initgroups.c: Include config.h. - (DEFAULT_CONFIG): New macro. - (internal_getgrouplist): Use DEFAULT_CONFIG. - * nscd/initgrcache.c (addinitgroupsX): Likewise. - * nss/nsswitch.c (__nss_disable_nscd): Likewise. - (DEFAULT_DEFCONFIG): New macro. - (__nss_database_lookup): Use DEFAULT_DEFCONFIG. - * nss/grp-lookup.c: Include config.h - (DEFAULT_CONFIG): Set definition based on LINK_OBSOLETE_NSL. - * nss/pwd-lookup.c (DEFAULT_CONFIG): Likewise. - * nss/spwd-lookup.c (DEFAULT_CONFIG): Likewise. - * manual/nss.texi: Update default values section. - -2017-09-12 H.J. Lu - - [BZ #21967] - * sysdeps/x86/cpu-features.h (bit_arch_MathVec_Prefer_No_AVX512): - New. - (index_arch_MathVec_Prefer_No_AVX512): Likewise. - * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)): - Handle MathVec_Prefer_No_AVX512. - * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h - (IFUNC_SELECTOR): Return AVX2 version if MathVec_Prefer_No_AVX512 - is set. - -2017-09-12 Samuel Thibault - - * posix/sched_primax.c (__sched_get_priority_max): Add - libc_hidden_def. - * posix/sched_primin.c (__sched_get_priority_min): Likewise. - * sysdeps/mach/hurd/mmap.c (__mmap): Likewise. - * sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise. - * sysdeps/mach/hurd/mprotect.c (__mprotect): Likewise. - * sysdeps/mach/hurd/munmap.c (__munmap): Likewise. - * sysdeps/mach/hurd/dl-sysdep.c (__GI___getpid, - __GI___strtoul_internal, __GI_____strtoul_internal, __GI___chk_fail, - __GI___fortify_fail, __GI___assert_fail, __GI___assert_perror_fail): - Add aliases. - -2017-09-11 Joseph Myers - - * sysdeps/generic/libm-alias-float.h: New file. - * sysdeps/generic/math-type-macros-float.h: Include - . - [!declare_mgen_alias] (declare_mgen_alias): Define macro. - -2017-09-11 H.J. Lu - - [BZ #22093] - * sysdeps/x86/cpu-features.c (init_cpu_features): Initialize - GLRO(dl_hwcap) to HWCAP_X86_64 for x86-64. - * sysdeps/x86/dl-hwcap.h (HWCAP_COUNT): Updated. - (HWCAP_IMPORTANT): Likewise. - (HWCAP_X86_64): New enum. - (HWCAP_X86_AVX512_1): Updated. - * sysdeps/x86/dl-procinfo.c (_dl_x86_hwcap_flags): Add "x86_64". - * sysdeps/x86_64/Makefile (tests): Add tst-x86_64-1. - (modules-names): Add x86_64/tst-x86_64mod-1. - (LDFLAGS-tst-x86_64mod-1.so): New. - ($(objpfx)tst-x86_64-1): Likewise. - ($(objpfx)x86_64/tst-x86_64mod-1.os): Likewise. - (tst-x86_64-1-clean): Likewise. - * sysdeps/x86_64/tst-x86_64-1.c: New file. - * sysdeps/x86_64/tst-x86_64mod-1.c: Likewise. - -2017-09-11 Siddhesh Poyarekar - - * po/sv.po: Update translations. - * po/fr.po: Likewise. - -2017-09-10 Samuel Thibault - - * sunrpc/tst-udp-timeout.c (test_udp_server): Increase timeout to 2.5 - seconds. - * sunrpc/tst-udp-nonblocking.c (do_test): Increase timeout to 0.75 - seconds. - * elf/rtld-Rules: Fix $(error) use. - -2017-09-09 Mike FABIAN - - [BZ #14925] - * libio/tst-widetext.input: Change “Bengali” to “Bangla”. - * locale/iso-639.def: Change “Bengali” to “Bangla”. - * localedata/locales/bn_BD: “Bengali” was still used in some - comments. Change it to “Bangla”. - -2017-09-08 Markus Trippelsdorf - - * sysdeps/x86_64/fpu/libm-test-ulps: Update for AMD Ryzen. - -2017-09-08 Steve Ellcey - - * manual/tunables.texi (glibc.tune.cpu): Add thunderx2t99 and - thunderx2t99p1 to list of cpu names. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): - Add thunderx2t99 and thunderx2t99p1 entries to cpu_list. - -2017-09-08 Steve Ellcey - - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (get_midr_from_mcpu): - Use strcmp instead of tunable_is_name. - -2017-09-08 Joseph Myers - - * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] - (F_GET_RW_HINT): New macro. - [__USE_GNU] (F_SET_RW_HINT): Likewise. - [__USE_GNU] (F_GET_FILE_RW_HINT): Likewise. - [__USE_GNU] (F_SET_FILE_RW_HINT): Likewise. - [__USE_GNU] (RWF_WRITE_LIFE_NOT_SET): Likewise. - [__USE_GNU] (RWH_WRITE_LIFE_NONE): Likewise. - [__USE_GNU] (RWH_WRITE_LIFE_SHORT): Likewise. - [__USE_GNU] (RWH_WRITE_LIFE_MEDIUM): Likewise. - [__USE_GNU] (RWH_WRITE_LIFE_LONG): Likewise. - [__USE_GNU] (RWH_WRITE_LIFE_EXTREME): Likewise. - - * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] - (F_ADD_SEALS): New macro. - [__USE_GNU] (F_GET_SEALS): Likewise. - [__USE_GNU] (F_SEAL_SEAL): Likewise. - [__USE_GNU] (F_SEAL_SHRINK): Likewise. - [__USE_GNU] (F_SEAL_GROW): Likewise. - [__USE_GNU] (F_SEAL_WRITE): Likewise. - -2017-09-08 Adhemerval Zanella - - * posix/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL) - (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants. - * posix/glob_internal.h (__glob_pattern_type): - * posix/glob.c (glob): - * posix/glob_pattern_p.c (__glob_pattern_p): - Use them. - - * sysdeps/unix/sysv/linux/arm/glob64.c: Remove file. - * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise. - * sysdeps/unix/sysv/linux/m68k/glob64.c: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/glob64.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/glob.c: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise. - * sysdeps/wordsize-64/glob.c: Likewise. - * sysdeps/wordsize-64/glob64.c: Likewise. - * sysdeps/wordsize-64/globfree.c: Likewise. - * sysdeps/wordsize-64/globfree64.c: Likewise. - * sysdeps/unix/sysv/linux/glob.c: New file. - * sysdeps/unix/sysv/linux/glob64.c: Likewise. - * sysdeps/unix/sysv/linux/globfree.c: Likewise. - * sysdeps/unix/sysv/linux/globfree64.c: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/glob64.c: Likewise. - * sysdeps/unix/sysv/linux/oldglob.c [SHLIB_COMPAT]: Also - adds !GLOB_NO_OLD_VERSION as an extra condition. - * sysdeps/unix/sysv/linux/i386/alphasort64.c: Include olddirent.h - using relative path instead of absolute one. - * sysdeps/unix/sysv/linux/i386/getdents64.c: Likewise. - * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise. - * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. - * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise. - * sysdeps/unix/sysv/linux/i386/olddirent.h: Move to ... - * sysdeps/unix/sysv/linux//olddirent.h: ... here. - - [BZ #1062] - * posix/glob.c (GET_LOGIN_NAME_MAX): Remove. - (glob): Use the same scratch buffer for both getlogin_r and - getpwnam_r. Don’t require preallocation of the login name. This - simplifies storage allocation, and corrects the handling of - long login names. - - [BZ #1062] - * posix/glob.c (glob): Port recent patches to platforms - lacking getpwnam_r. - (glob): Fix longstanding misuse of errno after getpwnam_r, which - returns an error number rather than setting errno. - - * include/scratch_buffer.h (scratch_buffer): Use a C99 align method - instead of GCC extension. - * malloc/scratch_buffer_grow.c [!_LIBC]: Include libc-config.h. - * malloc/scratch_buffer_grow_preserve.c [!_LIBC]: Likewise. - * malloc/scratch_buffer_set_array_size.c [!_LIBC]: Likewise. - - [BZ #866] - [BZ #1062] - * posix/Makefile (tests): Remove bug-glob1 and tst-glob_symlinks. - * posix/bug-glob1.c: Remove file. - * posix/tst-glob_symlinks.c: New file. - * posix/glob.c (__lstat64): New macro. - (is_dir): New function. - (glob, glob_in_dir): Match symlinks even if they are dangling. - (link_stat, link_exists_p): Remove. All uses removed. - - [BZ #1062] - [BZ #19971] - * posix/glob.c (struct readdir_result): Remove skip_entry member. - (readdir_result_skip_entry, D_INO_TO_RESULT): Remove. - All uses removed. - - [BZ #1062] - CVE-2017-15671 - * posix/Makefile (routines): Add globfree, globfree64, and - glob_pattern_p. - * posix/flexmember.h: New file. - * posix/glob_internal.h: Likewise. - * posix/glob_pattern_p.c: Likewise. - * posix/globfree.c: Likewise. - * posix/globfree64.c: Likewise. - * sysdeps/gnu/globfree64.c: Likewise. - * sysdeps/unix/sysv/linux/alpha/globfree.c: Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise. - * sysdeps/unix/sysv/linux/oldglob.c: Likewise. - * sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise. - * sysdeps/wordsize-64/globfree.c: Likewise. - * sysdeps/wordsize-64/globfree64.c: Likewise. - * posix/glob.c (HAVE_CONFIG_H): Use !_LIBC instead. - [NDEBUG): Remove comments. - (GLOB_ONLY_P, _AMIGA, VMS): Remove define. - (dirent_type): New type. Use uint_fast8_t not - uint8_t, as C99 does not require uint8_t. - (DT_UNKNOWN, DT_DIR, DT_LNK): New macros. - (struct readdir_result): Use dirent_type. Do not define skip_entry - unless it is needed; this saves a byte on platforms lacking d_ino. - (readdir_result_type, readdir_result_skip_entry): - New functions, replacing ... - (readdir_result_might_be_symlink, readdir_result_might_be_dir): - these functions, which were removed. This makes the callers - easier to read. All callers changed. - (D_INO_TO_RESULT): Now empty if there is no d_ino. - (size_add_wrapv, glob_use_alloca): New static functions. - (glob, glob_in_dir): Check for size_t overflow in several places, - and fix some size_t checks that were not quite right. - Remove old code using SHELL since Bash no longer - uses this. - (glob, prefix_array): Separate MS code better. - (glob_in_dir): Remove old Amiga and VMS code. - (globfree, __glob_pattern_type, __glob_pattern_p): Move to - separate files. - (glob_in_dir): Do not rely on undefined behavior in accessing - struct members beyond their bounds. Use a flexible array member - instead - (link_stat): Rename from link_exists2_p and return -1/0 instead of - 0/1. Caller changed. - (glob): Fix memory leaks. - * posix/glob64 (globfree64): Move to separate file. - * sysdeps/gnu/glob64.c (NO_GLOB_PATTERN_P): Remove define. - (globfree64): Remove hidden alias. - * sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add - oldglob. - * sysdeps/unix/sysv/linux/alpha/glob.c (__new_globfree): Move to - separate file. - * sysdeps/unix/sysv/linux/i386/glob64.c (NO_GLOB_PATTERN_P): Remove - define. - Move compat code to separate file. - * sysdeps/wordsize-64/glob.c (globfree): Move definitions to - separate file. - -2017-09-07 H.J. Lu - - * resolv/tst-resolv-qtypes.c (domain): Changed to - "const char domain[] =". - -2017-09-07 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default MPFR - version to 3.1.6. - - * sysdeps/gnu/netinet/tcp.h (TCP_ULP): New macro. - (TCP_MD5SIG_EXT): Likewise. - (TCP_MD5SIG_FLAG_PREFIX): Likewise. - (struct tcp_md5sig): Replace __tcpm_pad1 by tcpm_flags and - tcpm_prefixlen. Rename __tcpm_pad2 to __tcpm_pad. - - * sysdeps/unix/sysv/linux/bits/socket.h (SOL_TLS): New macro. - -2017-09-07 Mike FABIAN - - * localedata/locales/om_ET (LC_TIME): use ASCII for better readability. - -2017-09-07 Akhilesh Kumar - - [BZ #22100] - * localedata/locales/om_KE (LC_TIME): copy "om_ET". - -2017-09-07 Samuel Thibault - - * hurd/get-host.c (_hurd_get_host_config): Also check that more == 0 - before assuming that the file is empty. Avoid testing buffer content - when nread == 0. - -2017-09-06 Adhemerval Zanella - - [BZ #18858] - * sysdeps/i386/i686/multiarch/strncpy.c (_HAVE_STRING_ARCH_strncpy): - Remove define. - * sysdeps/x86_64/multiarch/stpcpy.c (_HAVE_STRING_ARCH_stpcpy): - Likewise. - * sysdeps/x86_64/multiarch/strcspn.c (_HAVE_STRING_ARCH_strcspn): - Likewise. - * sysdeps/x86_64/multiarch/strncat.c (_HAVE_STRING_ARCH_strncat): - Likewise. - * sysdeps/x86_64/multiarch/strncpy.c (_HAVE_STRING_ARCH_strncpy): - Likewise. - * sysdeps/x86_64/multiarch/strpbrk.c (_HAVE_STRING_ARCH_strpbrk): - Likewise. - * sysdeps/x86_64/multiarch/strspn.c (_HAVE_STRING_ARCH_strspn): - Likewise. - -2017-09-06 Florian Weimer - - * malloc/dynarray_emplace_enlarge.c - (__libc_dynarray_emplace_enlarge): Add missing else. - -2017-09-06 Florian Weimer - - [BZ #22096] - * resolv/resolv_conf.c (__resolv_conf_attach): Do not free conf in - case of failure to obtain the global conf object. - -2017-09-06 Florian Weimer - - [BZ #22095] - * resolv/res_init.c (res_vinit_1): Avoid memory leak in case of - dynarray allocation failure. - -2017-09-06 Florian Weimer - - Remove dead PTR IPv4-to-IPv6 mapping code from nss_dns. - * resolv/nss_dns/dns-host.c (getanswer_r): Remove dead code. - * resolv/tst-res_use_inet6.c (response_ptr_v4, response_ptr_v6): - New functions. - (response): Call them. Add 'p', '6' flag processing. - (test_reverse): New function. - (test_get2_any): Call it. - (test_no_inet6): Add 'p' test. - (test_inet6): Likewise. - -2017-09-06 Florian Weimer - - Enhance tst-res_use_inet6 to test IPv4-to-IPv6 address mapping. - * resolv/tst-res_use_inet6.c (response): Process flags embedded in - the QNAME. - (test_gai): Adjust query names. Add additional tests. - (test_get2_any, test_get2_no_inet6, test_get2_inet6): Split from - test_get2. Adjust query names. Add additional tests. - (test_no_inet6): New function, extracted from threadfunc. - (threadfunc): Call test_get2_any, test_get2_inet6, test_no_inet6. - Add additional tests. - -2017-09-06 Mike FABIAN - - [BZ #22070] - * localedata/unicode-gen/utf8_gen.py: Set the width for - characters with Prepended_Concatenation_Mark property to 1 - * localedata/charmaps/UTF-8: Updated using the improved script. - -2017-09-06 Mike FABIAN - - [BZ #21750] - * localedata/unicode-gen/utf8_gen.py: Improve the script to - use the range notation for all ranges of neighbouring characters - with the same width. - -2017-09-05 Joseph Myers - - * sysdeps/generic/math-type-macros-double.h: Include - . - (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. - * sysdeps/generic/math-type-macros-float.h: Include - . - (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. - * sysdeps/generic/math-type-macros-ldouble.h: Include - . - (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. - * math/lgamma-compat.h (BUILD_LGAMMA): Include LIBM_SVID_COMPAT - condition. - * math/w_acos_compat.c: Condition contents on [LIBM_SVID_COMPAT]. - * math/w_acosf_compat.c: Likewise. - * math/w_acosh_compat.c: Likewise. - * math/w_acoshf_compat.c: Likewise. - * math/w_acoshl_compat.c: Likewise. - * math/w_acosl_compat.c: Likewise. - * math/w_asin_compat.c: Likewise. - * math/w_asinf_compat.c: Likewise. - * math/w_asinl_compat.c: Likewise. - * math/w_atan2_compat.c: Likewise. - * math/w_atan2f_compat.c: Likewise. - * math/w_atan2l_compat.c: Likewise. - * math/w_atanh_compat.c: Likewise. - * math/w_atanhf_compat.c: Likewise. - * math/w_atanhl_compat.c: Likewise. - * math/w_cosh_compat.c: Likewise. - * math/w_coshf_compat.c: Likewise. - * math/w_coshl_compat.c: Likewise. - * math/w_exp10_compat.c: Likewise. - * math/w_exp10f_compat.c: Likewise. - * math/w_exp10l_compat.c: Likewise. - * math/w_exp2_compat.c: Likewise. - * math/w_exp2f_compat.c: Likewise. - * math/w_exp2l_compat.c: Likewise. - * math/w_fmod_compat.c: Likewise. - * math/w_fmodf_compat.c: Likewise. - * math/w_fmodl_compat.c: Likewise. - * math/w_hypot_compat.c: Likewise. - * math/w_hypotf_compat.c: Likewise. - * math/w_hypotl_compat.c: Likewise. - * math/w_j0_compat.c: Likewise. - * math/w_j0f_compat.c: Likewise. - * math/w_j0l_compat.c: Likewise. - * math/w_j1_compat.c: Likewise. - * math/w_j1f_compat.c: Likewise. - * math/w_j1l_compat.c: Likewise. - * math/w_jn_compat.c: Likewise. - * math/w_jnf_compat.c: Likewise. - * math/w_jnl_compat.c: Likewise. - * math/w_lgamma_r_compat.c: Likewise. - * math/w_lgammaf_r_compat.c: Likewise. - * math/w_lgammal_r_compat.c: Likewise. - * math/w_log10_compat.c: Likewise. - * math/w_log10f_compat.c: Likewise. - * math/w_log10l_compat.c: Likewise. - * math/w_log2_compat.c: Likewise. - * math/w_log2f_compat.c: Likewise. - * math/w_log2l_compat.c: Likewise. - * math/w_log_compat.c: Likewise. - * math/w_logf_compat.c: Likewise. - * math/w_logl_compat.c: Likewise. - * math/w_pow_compat.c: Likewise. - * math/w_powf_compat.c: Likewise. - * math/w_powl_compat.c: Likewise. - * math/w_remainder_compat.c: Likewise. - * math/w_remainderf_compat.c: Likewise. - * math/w_remainderl_compat.c: Likewise. - * math/w_sinh_compat.c: Likewise. - * math/w_sinhf_compat.c: Likewise. - * math/w_sinhl_compat.c: Likewise. - * math/w_sqrt_compat.c: Likewise. - * math/w_sqrtf_compat.c: Likewise. - * math/w_sqrtl_compat.c: Likewise. - * math/w_tgamma_compat.c: Likewise. - * math/w_tgammaf_compat.c: Likewise. - * math/w_tgammal_compat.c: Likewise. - * math/w_scalb_compat.c (sysv_scalb): Condition definition on - [LIBM_SVID_COMPAT]. - (__scalb): Condition call to sysv_scalb on [LIBM_SVID_COMPAT]. - * math/w_scalbf_compat.c (sysv_scalbf): Condition definition on - [LIBM_SVID_COMPAT]. - (__scalbf): Condition call to sysv_scalbf on [LIBM_SVID_COMPAT]. - * math/w_scalbl_compat.c (sysv_scalbl): Condition definition on - [LIBM_SVID_COMPAT]. - (__scalbl): Condition call to sysv_scalbl on [LIBM_SVID_COMPAT]. - * sysdeps/i386/fpu/w_sqrt.c: New file. - * sysdeps/ia64/fpu/w_acos.c: Likewise. - * sysdeps/ia64/fpu/w_acosf.c: Likewise. - * sysdeps/ia64/fpu/w_acosh.c: Likewise. - * sysdeps/ia64/fpu/w_acoshf.c: Likewise. - * sysdeps/ia64/fpu/w_acoshl.c: Likewise. - * sysdeps/ia64/fpu/w_acosl.c: Likewise. - * sysdeps/ia64/fpu/w_asin.c: Likewise. - * sysdeps/ia64/fpu/w_asinf.c: Likewise. - * sysdeps/ia64/fpu/w_asinl.c: Likewise. - * sysdeps/ia64/fpu/w_atan2.c: Likewise. - * sysdeps/ia64/fpu/w_atan2f.c: Likewise. - * sysdeps/ia64/fpu/w_atan2l.c: Likewise. - * sysdeps/ia64/fpu/w_atanh.c: Likewise. - * sysdeps/ia64/fpu/w_atanhf.c: Likewise. - * sysdeps/ia64/fpu/w_atanhl.c: Likewise. - * sysdeps/ia64/fpu/w_cosh.c: Likewise. - * sysdeps/ia64/fpu/w_coshf.c: Likewise. - * sysdeps/ia64/fpu/w_coshl.c: Likewise. - * sysdeps/ia64/fpu/w_exp.c: Likewise. - * sysdeps/ia64/fpu/w_exp10.c: Likewise. - * sysdeps/ia64/fpu/w_exp10f.c: Likewise. - * sysdeps/ia64/fpu/w_exp10l.c: Likewise. - * sysdeps/ia64/fpu/w_exp2.c: Likewise. - * sysdeps/ia64/fpu/w_exp2f.c: Likewise. - * sysdeps/ia64/fpu/w_exp2l.c: Likewise. - * sysdeps/ia64/fpu/w_expf.c: Likewise. - * sysdeps/ia64/fpu/w_expl.c: Likewise. - * sysdeps/ia64/fpu/w_fmod.c: Likewise. - * sysdeps/ia64/fpu/w_fmodf.c: Likewise. - * sysdeps/ia64/fpu/w_fmodl.c: Likewise. - * sysdeps/ia64/fpu/w_hypot.c: Likewise. - * sysdeps/ia64/fpu/w_hypotf.c: Likewise. - * sysdeps/ia64/fpu/w_hypotl.c: Likewise. - * sysdeps/ia64/fpu/w_lgamma_r.c: Likewise. - * sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise. - * sysdeps/ia64/fpu/w_lgammal_r.c: Likewise. - * sysdeps/ia64/fpu/w_log.c: Likewise. - * sysdeps/ia64/fpu/w_log10.c: Likewise. - * sysdeps/ia64/fpu/w_log10f.c: Likewise. - * sysdeps/ia64/fpu/w_log10l.c: Likewise. - * sysdeps/ia64/fpu/w_log2.c: Likewise. - * sysdeps/ia64/fpu/w_log2f.c: Likewise. - * sysdeps/ia64/fpu/w_log2l.c: Likewise. - * sysdeps/ia64/fpu/w_logf.c: Likewise. - * sysdeps/ia64/fpu/w_logl.c: Likewise. - * sysdeps/ia64/fpu/w_pow.c: Likewise. - * sysdeps/ia64/fpu/w_powf.c: Likewise. - * sysdeps/ia64/fpu/w_powl.c: Likewise. - * sysdeps/ia64/fpu/w_remainder.c: Likewise. - * sysdeps/ia64/fpu/w_remainderf.c: Likewise. - * sysdeps/ia64/fpu/w_remainderl.c: Likewise. - * sysdeps/ia64/fpu/w_sinh.c: Likewise. - * sysdeps/ia64/fpu/w_sinhf.c: Likewise. - * sysdeps/ia64/fpu/w_sinhl.c: Likewise. - * sysdeps/ia64/fpu/w_sqrt.c: Likewise. - * sysdeps/ia64/fpu/w_sqrtf.c: Likewise. - * sysdeps/ia64/fpu/w_sqrtl.c: Likewise. - * sysdeps/ia64/fpu/w_tgamma.c: Likewise. - * sysdeps/ia64/fpu/w_tgammaf.c: Likewise. - * sysdeps/ia64/fpu/w_tgammal.c: Likewise. - * sysdeps/ieee754/dbl-64/w_exp_compat.c: Condition contents on - [LIBM_SVID_COMPAT]. - * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise. - * sysdeps/ieee754/k_standard.c: Likewise. - * sysdeps/ieee754/k_standardf.c: Likewise. - * sysdeps/ieee754/k_standardl.c: Likewise. - * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: Condition - long_double_symbol call on [LIBM_SVID_COMPAT]. - * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise. - * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c: Condition - long_double_symbol and compat_symbol calls on [LIBM_SVID_COMPAT]. - -2017-09-05 Steve Ellcey - - * include/shlib-compat.h (TEST_COMPAT): New Macro. - * malloc/tst-mallocstate.c: Convert from test-skeleton - to test-driver. Ifdef code using TEST_COMPAT macro. - * math/test-matherr-2.c: Ifdef test using TEST_COMPAT macro. - * math/test-matherr.c: Likewise. - -2017-09-05 Joseph Myers - - [BZ #22086] - * debug/pcprofiledump.c (main): Use byte-swapped mask when - comparing word with byte-swapped constant. - -2017-09-05 Chris Leonard - - [BZ #20498] - * locale/iso-639.def: add Miskito. - * localedata/SUPPORTED: Add miq_NI/UTF-8. - * localedata/locales/miq_NI: New file. - -2017-09-04 H.J. Lu - - [BZ #18822] - * include/sys/stat.h (__chmod): Add libc_hidden_proto. - (__mkdir): Likewise. - * io/chmod.c (__chmod): Add libc_hidden_def. - * io/mkdir.c (__mkdir): Likewise. - * sysdeps/mach/hurd/chmod.c (__chmod): Likewise. - * sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise. - * sysdeps/unix/sysv/linux/generic/chmod.c (__chmod): Likewise. - * sysdeps/unix/sysv/linux/generic/mkdir.c (__mkdir): Likewise. - -2017-09-04 Joseph Myers - - * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel - version to 4.13. - - [BZ #22082] - * math/bits/math-finite.h (exp10): Redirect if [__GLIBC_USE - (IEC_60559_FUNCS_EXT)], not [__USE_GNU]. - -2017-09-04 Florian Weimer - - * math/math.h: Issue warning if log is defined. - -2017-09-04 Joseph Myers - - * scripts/build-many-glibcs.py (Context.checkout): Default Linux - kernel version to 4.13. - -2017-09-03 Samuel Thibault - - * sysdeps/generic/sigsetops.h: Remove spurious #endif. - (__sigismember, __sigaddset, __sigdelset): Fix referencing set - parameter. - * sysdeps/mach/hurd/bits/socket.h: Include instead of - just . - * sysdeps/posix/preadv2.c: Use off_t instead of OFF_T. - * sysdeps/posix/preadv64v2.c: Use off64_t instead of OFF_T. - * sysdeps/posix/pwritev2.c: Use off_t instead of OFF_T. - * sysdeps/posix/pwritev64v2.c: Use off64_t instead of OFF_T. - * misc/preadv2.c: Include . - * misc/preadv64v2.c: Include . - * misc/pwritev2.c: Include . - * misc/pwritev64v2.c: Include . - * sysdeps/posix/preadv2.c: Include . - * sysdeps/posix/preadv64v2.c: Include . - Fix inclusion. - * sysdeps/posix/pwritev2.c: Include . - * sysdeps/posix/pwritev64v2.c: Include . - * sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno, __sbrk, - __strtoul_internal): New functions. - * sysdeps/posix/pause.c: Include . - * sysdeps/posix/system.c: Include . - * sysdeps/mach/hurd/i386/Makefile - [$(subdir) = csu] (sysdep_routines): New rule: divdi3 object. - [$(subdir) = csu] (sysdep-only-routines): Likewise. - [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise. - * sysdeps/x86/fpu/include/bits/fenv.h [NO_HIDDEN]: Redirect - __feraiseexcept_renamed to feraiseexcept instead of - __GI_feraiseexcept. - * sysdeps/mach/hurd/i386/Implies: Add mach/hurd/x86. - * sysdeps/mach/hurd/x86/dl-sysdep.c: New file. - * misc/tst-preadvwritev2-common.c (RWF_HIPRI, RWF_DSYNC, RWF_SYNC, - RWF_NOWAIT): Define to 0 if undefined already. - (do_test_with_invalid_flags): Set invalid_flag to 2 if RWF_SUPPORTED - boils down to 0. - * resolv/tst-resolv-res_init-skeleton.c (run_res_init) - [!CLONE_NEWUTS]: Fail as unsupported if hostname is not NULL. - -2017-09-01 Joseph Myers - - * manual/math.texi (pow10): Do not document. - (pow10f): Likewise. - (pow10l): Likewise. - * math/bits/mathcalls.h [__USE_GNU] (pow10): Do not declare. - * math/bits/math-finite.h [__USE_GNU] (pow10): Likewise. - * math/libm-test-exp10.inc (pow10_test): Remove. - (do_test): Do not call pow10. - * math/w_exp10_compat.c (pow10): Make into compat symbol. - [NO_LONG_DOUBLE] (pow10l): Likewise. - * math/w_exp10f_compat.c (pow10f): Likewise. - * math/w_exp10l_compat.c (pow10l): Likewise. - * sysdeps/ia64/fpu/e_exp10.S: Include . - (pow10): Make into compat symbol. - * sysdeps/ia64/fpu/e_exp10f.S: Include . - (pow10f): Make into compat symbol. - * sysdeps/ia64/fpu/e_exp10l.S: Include . - (pow10l): Make into compat symbol. - * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Remove - pow10. - (CFLAGS-nldbl-pow10.c): Remove variable.. - * sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: Remove file. - * sysdeps/ieee754/ldbl-opt/w_exp10_compat.c (pow10l): Condition on - [SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)]. - * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (compat_symbol): - Undefine and redefine. - (pow10l): Make into compat symbol. - * sysdeps/aarch64/libm-test-ulps: Remove pow10 ulps. - * sysdeps/alpha/fpu/libm-test-ulps: Likewise. - * sysdeps/arm/libm-test-ulps: Likewise. - * sysdeps/hppa/fpu/libm-test-ulps: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Likewise. - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. - * sysdeps/microblaze/libm-test-ulps: Likewise. - * sysdeps/mips/mips32/libm-test-ulps: Likewise. - * sysdeps/mips/mips64/libm-test-ulps: Likewise. - * sysdeps/nios2/libm-test-ulps: Likewise. - * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. - * sysdeps/powerpc/nofpu/libm-test-ulps: Likewise. - * sysdeps/s390/fpu/libm-test-ulps: Likewise. - * sysdeps/sh/libm-test-ulps: Likewise. - * sysdeps/sparc/fpu/libm-test-ulps: Likewise. - * sysdeps/tile/libm-test-ulps: Likewise. - * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. - -2017-09-01 Paul Pluzhnikov - - * stdlib/tst-atexit-common.c (crumbs): Ensure correct size. - -2017-09-01 H.J. Lu - - * posix/tst-regex.c (do_test): Replace "../ChangeLog.8" with - "../ChangeLog.old/ChangeLog.8". - * posix/tst-regex2.c (do_test): Replace "../ChangeLog.14" with - "../ChangeLog.old/ChangeLog.14". - -2017-09-01 H.J. Lu - - * manual/contrib.texi: Credit Ulrich Drepper for the POSIX - Threads Library. - -2017-09-01 Joseph Myers - - * sysdeps/unix/sysv/linux/gentempfd.c: Include . - -2017-09-01 H.J. Lu - - * csu/version.c (banner): Remove "by Roland McGrath et al.". - * nptl/Banner: Remove "by Ulrich Drepper et al.". - -2017-09-01 Paul Pluzhnikov - - * stdlib/tst-atexit-common.c (do_test): Test support for at least - 32 atexit handlers. - -2017-09-01 Zack Weinberg - - * math/math.h (HUGE_VAL): Improve commentary. - -2017-09-01 Adhemerval Zanella - Andreas Schwab - - [BZ #21530] - * include/stdio.h (__gen_tempfd): New function. - * stdio-common/Makefile (routines): Add gentempfd. - * stdio-common/gentempfd.c: New file. - * sysdeps/unix/sysv/linux/gentempfd.c: Likewise. - * stdio-common/tmpfile.c (tmpfile): First try to use a system specific - unnamed file first. - -2017-09-01 Florian Weimer - - [BZ #21915] - [BZ #21922] - * sysdeps/posix/getaddrinfo.c (gethosts): Look at NSS function - result to determine success or failure, not the errno value. - * nss/Makefile (tests): Add tst-nss-files-hosts-erange. - (tst-nss-files-hosts-erange): Link with -ldl. - * nss/tst-nss-files-hosts-erange.c: New file. - * nss/tst-resolv-basic.c (response): Handle nodata.example. - (do_test): Add NO_DATA tests. - * resolv/tst-resolv-basic.c (test_nodata_nxdomain): New function. - (do_test): Call it. - -2017-09-01 Florian Weimer - - [BZ #21922] - * sysdeps/posix/getaddrinfo.c (gaih_inet): Report EAI_NODATA error - coming from gethostbyname2_r. - -2017-09-01 Florian Weimer - - * support/namespace.h (struct support_chroot_configuration): Add - hosts, host_conf. - (struct support_chroot): Add path_hosts, path_host_conf. - * support/support_chroot.c (write_file): New function. - (support_chroot_create): Call it to process /etc/resolv.conf, - /etc/hosts, /etc/host.conf. - (support_chroot_free): Update. - -2017-09-01 Florian Weimer - - * sysdeps/posix/getaddrinfo.c (gaih_inet): Only use h_errno if - status indicates it is set. - -2017-09-01 Florian Weimer - - [BZ #20532] - * sysdeps/posix/getaddrinfo.c (gaih_inet): Make reporting of NSS - function lookup failures more reliable. - -2017-09-01 Florian Weimer - - * sysdeps/posix/getaddrinfo.c (gethosts): Use h_errno directly. - (getcanonname): Likewise. - (gaih_inet): Likewise. - -2017-09-01 Florian Weimer - - * sysdeps/posix/getaddrinfo.c (gethosts): Use errno directly. - (getcanonname): Likewise. - (gaih_inet): Likewise. - -2017-08-31 Steve Ellcey - Richard Henderson - - * sysdeps/aarch64/fpu/s_llrint.c (OREG_SIZE): New macro. - * sysdeps/aarch64/fpu/s_llround.c (OREG_SIZE): Likewise. - * sysdeps/aarch64/fpu/s_llrintf.c (OREGS, IREGS): Remove. - (IREG_SIZE, OREG_SIZE): New macros. - * sysdeps/aarch64/fpu/s_llroundf.c: (OREGS, IREGS): Remove. - (IREG_SIZE, OREG_SIZE): New macros. - * sysdeps/aarch64/fpu/s_lrintf.c (IREGS): Remove. - (IREG_SIZE): New macro. - * sysdeps/aarch64/fpu/s_lroundf.c (IREGS): Remove. - (IREG_SIZE): New macro. - * sysdeps/aarch64/fpu/s_lrint.c (get-rounding-mode.h, stdint.h): - New includes. - (IREG_SIZE, OREG_SIZE): Initialize if not already set. - (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE. - (__CONCATX): Handle exceptions correctly on large values that may - set FE_INVALID. - * sysdeps/aarch64/fpu/s_lround.c (IREG_SIZE, OREG_SIZE): - Initialize if not already set. - (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE. - -2017-08-31 Adhemerval Zanella - - * sysdeps/generic/not-cancel.h (NO_CANCELLATION): Remove macro. - * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h - (NO_CANCELLATION): Likewise. - * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h - (NO_CANCELLATION): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h - (NO_CANCELLATION): Likewise. - * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (NO_CANCELLATION): - Likewise - * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (NO_CANCELLATION): - Likewise. - * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Add - hidden prototype. - * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Define only - for !IS_IN (rtld) and remove NO_CANCELLATION usage. - -2017-08-31 Steve Ellcey - - * sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type - in resolver call. - -2017-08-31 Florian Weimer - - * include/libc-symbols.h (internal_function): Remove. - -2017-08-31 Florian Weimer - - * stdlib/fmtmsg.c (internal_addseverity): Remove - internal_function. - -2017-08-31 Florian Weimer - - * stdio-common/printf_fp.c (group_number): Remove - internal_function. - * stdio-common/vfprintf.c (buffered_vfprintf): Likewise. - -2017-08-31 Florian Weimer - - * posix/fnmatch.c (internal_function): Remove definition. - * posix/fnmatch_loop.c (FCT, EXT, END): Remove internal_function. - * posix/regcomp.c (peek_token, init_word_char) - (duplicate_node_closure, fetch_token, peek_token) - (peek_token_bracket, build_range_exp, build_collating_symbol): - Likewise. - * posix/regex_internal.c (re_string_construct_common) - (create_ci_newstate, create_cd_newstate, re_string_allocate) - (re_string_construct, re_string_realloc_buffers, build_wcs_buffer) - (build_wcs_upper_buffer, re_string_skip_chars, build_upper_buffer) - (re_string_translate_buffer, re_string_reconstruct) - (re_string_peek_byte_case, re_string_fetch_byte_case) - (re_string_destruct, re_string_context_at, re_node_set_alloc) - (re_node_set_init_1, re_node_set_init_2, re_node_set_init_copy) - (re_node_set_add_intersect, re_node_set_init_union) - (re_node_set_merge, re_node_set_insert, re_node_set_insert_last) - (re_node_set_compare, re_node_set_contains, re_node_set_remove_at) - (re_dfa_add_node, calc_state_hash, re_acquire_state) - (re_acquire_state_context): Likewise. - * posix/regex_internal.h (internal_function): Remove definition. - (re_string_realloc_buffers, build_wcs_buffer) - (build_wcs_upper_buffer, build_upper_buffer) - (re_string_translate_buffer, re_string_context_at) - (re_string_char_size_at, re_string_wchar_at) - (re_string_elem_size_at): Likewise. - * posix/regexec.c (match_ctx_init, match_ctx_clean) - (match_ctx_free, match_ctx_add_entry, search_cur_bkref_entry) - (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init) - (re_search_internal, re_search_2_stub, re_search_stub) - (re_copy_regs, prune_impossible_nodes, check_matching) - (check_halt_state_context, update_regs, push_fail_stack, set_regs) - (free_fail_stack_return, sift_states_iter_mb) - (sift_states_backward, build_sifted_states) - (update_cur_sifted_state, add_epsilon_src_nodes, check_dst_limits) - (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos) - (check_subexp_limits, sift_states_bkref, merge_state_array) - (find_recover_state, transit_state, merge_state_with_log) - (check_subexp_matching_top, transit_state_sb, transit_state_sb) - (transit_state_mb, transit_state_bkref, get_subexp) - (get_subexp_sub, find_subexp_node, check_arrival) - (check_arrival_add_next_nodes, check_arrival_expand_ecl) - (check_arrival_expand_ecl_sub, expand_bkref_cache, build_trtable) - (check_node_accept_bytes, find_collation_sequence_value) - (group_nodes_into_DFAstates, check_node_accept, extend_buffers) - (acquire_init_state_context, check_halt_node_context) - (proceed_next_node, pop_fail_stack, clean_state_log_if_needed) - (sub_epsilon_src_nodes): Likewise. - * posix/spawn_int.h (__spawn_valid_fd): Likewise. - * posix/spawn_valid_fd (__spawn_valid_fd): Likewise. - * posix/wordexp.c (parse_dollars, parse_backtick, parse_dquote) - (eval_expr, w_addmem, w_addstr, w_addword, parse_backslash) - (parse_qtd_backslash, parse_tilde, do_parse_glob, parse_glob) - (parse_squote, eval_expr_val, eval_expr_multdiv, parse_arith) - (exec_comm_child, exec_comm, parse_comm, parse_param): Likewise. - * sysdeps/posix/ttyname.c (getttyname): Likewise. - * sysdeps/posix/ttyname_r.c (getttyname_r): Likewise. - * sysdeps/unix/sysv/linux/preadv.c (__atomic_preadv_replacement) - (PREADV): Likewise. - * sysdeps/unix/sysv/linux/preadv64.c (__atomic_preadv64_replacement) - (PREADV): Likewise. - * sysdeps/unix/sysv/linux/pwritev.c (__atomic_pwritev_replacement) - (PWRITEV): Likewise. - * sysdeps/unix/sysv/linux/pwritev64.c (__atomic_pwritev64_replacement) - (PWRITEV): Likewise. - * sysdeps/unix/sysv/linux/ttyname.c (getttyname): Likewise. - * sysdeps/unix/sysv/linux/ttyname_r.c (getttyname_r): Likewise. - -2017-08-31 Florian Weimer - - * nptl/allocatestack.c (change_stack_perm, __deallocate_stack) - (setxid_mark_thread, setxid_unmark_thread, setxid_signal_thread): - Remove internal_function. - * nptl/cancellation.c (__pthread_disable_asynccancel): Likewise. - * nptl/libc_pthread_init.c (__libc_pthread_init): Likewise. - * nptl/pthreadP.h (__find_in_stack_list, __free_tcb) - (__deallocate_stack, __libc_pthread_init) - (__pthread_mutex_cond_lock, __pthread_mutex_cond_lock_adjust) - (__pthread_mutex_unlock_usercnt, __pthread_disable_asynccancel) - (__libc_disable_asynccancel, __librt_disable_asynccancel): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list, __free_tcb): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Likewise. - * nptl/pthread_mutex_lock.c (__pthread_mutex_cond_lock_adjust): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full) - (__pthread_mutex_unlock_usercnt): Likewise. - -2017-08-31 Florian Weimer - - * io/fts.c (fts_alloc, fts_build, fts_lfree, fts_load) - (fts_maxarglen, fts_padjust, fts_palloc, fts_sort, fts_stat) - (fts_safe_changedir): Remove internal_function. - * io/ftw.c (internal_function): Remove definition. - (ftw_dir, process_entry, ftw_startup): Remove internal_function. - -2017-08-31 Florian Weimer - - * inet/deadline.c (__deadline_current_time) - (__deadline_from_timeval, __deadline_to_ms): Remove - internal_function. - * inet/getnameinfo.c (nrl_domainname): Likewise. - * inet/getnetgrent_r.c (__internal_setnetgrent_reuse): Likewise. - * inet/inet6_option.c (add_pad): Likewise. - * inet/net-internal.h (__deadline_current_time) - (__deadline_from_timeval, __deadline_to_ms): Likewise. - * inet/rcmd.c (__checkhost_sa, __icheckuser): Likewise. - * sysdeps/mach/hurd/if_index.c (__protocol_available): Likewise. - * sysdeps/unix/sysv/linux/ifaddrs.c (map_newlink): Likewise. - -2017-08-31 Joseph Myers - - * math/math.h [__USE_ISOC99] (NAN): Define directly here. Do not - include . - * math/Makefile (headers): Remove bits/nan.h. - * bits/nan.h: Remove. - * sysdeps/ieee754/bits/nan.h: Likewise. - * sysdeps/mips/bits/nan.h: Likewise. - - * math/math.h [__USE_ISOC99] (INFINITY): Define directly here. Do - not include . - * math/Makefile (headers): Remove bits/inf.h. - * bits/inf.h: Remove. - * sysdeps/ieee754/bits/inf.h: Likewise. - - * math/math.h: Do not include bits/huge_val.h, bits/huge_valf.h, - bits/huge_vall.h or bits/huge_val_flt128.h. - (HUGE_VAL): Define directly here. - [__USE_ISOC99] (HUGE_VALF): Likewise. - [__USE_ISOC99] (HUGE_VALL): Likewise. - [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (HUGE_VAL_F128): Likewise. - * math/Makefile (headers): Remove bits/huge_val.h, - bits/huge_valf.h, bits/huge_vall.h and bits/huge_val_flt128.h. - * bits/huge_val.h: Remove. - * bits/huge_val_flt128.h: Likewise. - * bits/huge_valf.h: Likewise. - * bits/huge_vall.h: Likewise. - * sysdeps/ia64/bits/huge_vall.h: Likewise. - * sysdeps/ieee754/bits/huge_val.h: Likewise. - * sysdeps/ieee754/bits/huge_valf.h: Likewise. - * sysdeps/m68k/m680x0/bits/huge_vall.h: Likewise. - * sysdeps/sh/bits/huge_val.h: Likewise. - * sysdeps/sparc/bits/huge_vall.h: Likewise. - * sysdeps/x86/bits/huge_vall.h: Likewise. - -2017-08-31 Florian Weimer - - * elf/dl-addr-obj.c (_dl_addr_inside_object): Remove - internal_function. - * elf/dl-cache.c (_dl_cache_libcmp, _dl_load_cache_lookup): - Likewise. - * elf/dl-debug.c (_dl_debug_initialize): Likewise. - * elf/dl-deps.c (_dl_build_local_scope, _dl_map_object_deps): Likewise. - * elf/dl-environ.c (_dl_next_ld_env_entry): Likewise. - * elf/dl-execstack.c (_dl_make_stack_executable): Likewise. - * elf/dl-fini.c (_dl_sort_fini): Likewise. - * elf/dl-hwcaps.c (_dl_important_hwcaps): Likewise. - * elf/dl-libc.c (dlerror_run): Likewise. - * elf/dl-load.c (add_name_to_object, decompose_rpath) - (_dl_init_paths, _dl_map_object, _dl_rtld_di_serinfo): Likewise. - * elf/dl-lookup.c (add_dependency, _dl_debug_bindings) - (_dl_lookup_symbol_x, _dl_setup_hash, _dl_debug_bindings): - Likewise. - * elf/dl-misc.c (_dl_sysdep_read_whole_file, _dl_name_match_p) - (_dl_higher_prime_number, _dl_strtoul): Likewise. - * elf/dl-object.c (_dl_add_to_namespace_list, _dl_new_object): Likewise. - * elf/dl-profile.c (_dl_start_profile): Likewise. - * elf/dl-reloc.c (_dl_try_allocate_static_tls) - (_dl_allocate_static_tls, _dl_protect_relro, _dl_reloc_bad_type): - Likewise. - * elf/dl-support.c (_dl_aux_init, _dl_non_dynamic_init): Likewise. - * elf/dl-sym.c (_dl_tls_symaddr, do_sym): Likewise. - * elf/dl-sysdep.c (_dl_sysdep_start_cleanup, _dl_show_auxv): Likewise. - * elf/dl-tls.c (_dl_next_tls_modid, _dl_count_modids) - (_dl_determine_tlsoffset, allocate_dtv, _dl_get_tls_static_info) - (_dl_allocate_tls_storage): Likewise. - * elf/dl-version.c (match_symbol, _dl_check_map_versions) - (_dl_check_all_versions): Likewise. - * elf/dynamic-link.h (_dl_try_allocate_static_tls): Likewise. - * elf/tlsdeschtab.h (_dl_make_tlsdesc_dynamic): Likewise. - * elf/tst-_dl_addr_inside_object.c (_dl_addr_inside_object): Likewise. - * sysdeps/aarch64/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise. - * sysdeps/aarch64/tlsdesc.c (_dl_unmap): Likewise. - * sysdeps/arm/dl-lookupcfg.h (_dl_unmap): Likewise. - * sysdeps/arm/dl-machine.h (elf_machine_load_address): Remove - internal_function from __dl_start. - * sysdeps/arm/dl-tlsdesc.h (_dl_unmap): Remove internal_function. - * sysdeps/generic/dl-cache.h (_dl_cache_libcmp): Likewise. - * sysdeps/generic/ldsodefs.h (_dl_name_match_p) - (_dl_higher_prime_number, _dl_strtoul, _dl_map_object) - (_dl_map_object_deps, _dl_setup_hash, _dl_rtld_di_serinfo) - (_dl_lookup_symbol_x, _dl_add_to_namespace_list, _dl_new_object) - (_dl_protect_relro, _dl_reloc_bad_type, _dl_check_all_versions) - (_dl_check_map_versions, _dl_sort_fini, _dl_debug_initialize) - (_dl_init_paths, _dl_start_profile, _dl_show_auxv) - (_dl_next_ld_env_entry, _dl_important_hwcaps) - (_dl_load_cache_lookup, _dl_sysdep_read_whole_file) - (_dl_sysdep_start_cleanup, _dl_next_tls_modid, _dl_count_modids) - (_dl_determine_tlsoffset, _dl_get_tls_static_info) - (_dl_allocate_static_tls, _dl_allocate_tls_storage) - (_dl_addr_inside_object, _dl_non_dynamic_init, _dl_aux_init): - Likewise. - (struct rtld_global_ro): Remove internal_function from the - _dl_lookup_symbol_x member. - (_dl_symbol_value): Remove. No longer defined anywhere. - * sysdeps/i386/dl-lookupcfg.h (_dl_unmap): Remove - internal_function. - * sysdeps/i386/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise. - * sysdeps/i386/tlsdesc.c (_dl_unmap): Likewise. - * sysdeps/mach/hurd/dl-sysdep.c (_dl_show_auxv): Likewise. - * sysdeps/nios2/dl-init.c (_dl_nios2_get_gp_value): Likewise. - * sysdeps/tile/dl-lookupcfg.h (_dl_unmap): Likewise. - * sysdeps/tile/dl-machine.h (_dl_after_load): Likewise. - * sysdeps/tile/dl-runtime.c (_dl_after_load, _dl_unmap): Likewise. - * sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Likewise. - * sysdeps/unix/sysv/linux/dl-vdso.h (_dl_vdso_vsym): Likewise. - * sysdeps/x86_64/dl-lookupcfg.h (_dl_unmap): Likewise. - * sysdeps/x86_64/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise. - * sysdeps/x86_64/tlsdesc.c (_dl_unmap): Likewise. - -2017-08-31 Florian Weimer - - * gmon/gmon.c (write_hist, write_call_graph, write_bb_counts): - Remove internal_function. - * sysdeps/arm/machine-gmon.h (mcount_internal, _MCOUNT_DECL): - Likewise. - * sysdeps/sparc/machine-gmon.h (mcount_internal, _MCOUNT_DECL): - Likewise. - -2017-08-31 Florian Weimer - - * dlfcn/dlerror.c (_dlerror_run): Remove internal_function. - * elf/dl-sym.c (_dl_vsym, _dl_sym): Likewise. - * include/dlfcn.h (_dl_sym, _dl_vsym, _dlerror_run): Likewise. - -2017-08-31 Florian Weimer - - * resolv/gai_misc.c (__gai_find_request, __gai_remove_request) - (__gai_enqueue_request): Remove internal_function. - * resolv/gai_misc.h (__gai_enqueue_request, __gai_find_request) - (__gai_remove_request, __gai_notify, __gai_notify_only) - (__gai_sigqueue): Likewise. - * resolv/gai_notify.c (__gai_notify_only, __gai_notify): Likewise. - * resolv/gai_sigqueue.c (__gai_sigqueue): Likewise. - * resolv/inet_ntop.c (inet_ntop4, inet_ntop6): Likewise. - * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): - Likewise. - -2017-08-31 Florian Weimer - - * dirent/scandir-tail.c (SCANDIR_TAIL): Remove internal_function. - * include/dirent.h (__opendirat, __getdents, __getdents64) - (__alloc_dir, __scandir_tail, __scandir64_tail): Likewise. - * sysdeps/posix/opendir.c (__opendirat, __alloc_dir): Likewise. - * sysdeps/mach/hurd/opendir.c (__opendirat): Likewise. - * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64): - Likewise. - * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Likewise. - -2017-08-31 Florian Weimer - - * sysdeps/unix/sysv/linux/getcwd.c (generic_getcwd): Remove - internal_function. - (GETCWD_RETURN_TYPE): Likewise. - -2017-08-31 Florian Weimer - - * include/time.h (__tz_compute, __strptime_internal): Remove - internal_function. - * time/strptime_l.c (__strptime_internal): Likewise. - * time/tzset.c (compute_change, update_vars, __tz_compute): Likewise. - -2017-08-31 Florian Weimer - - * iconv/gconv.c (__gconv): Remove internal_function. - * iconv/gconv_builtin.c (__gconv_get_builtin_trans): Likewise. - * iconv/gconv_cache.c (__gconv_load_cache, find_module_idx) - (find_module, __gconv_compare_alias_cache, __gconv_lookup_cache) - (__gconv_release_cache): Likewise. - * iconv/gconv_close.c (__gconv_close): Likewise. - * iconv/gconv_conf.c (detect_conflict, insert_module, add_module) - (read_conf_file, __gconv_get_path): Likewise. - * iconv/gconv_db.c (derivation_lookup, add_derivation) - (__gconv_release_step, gen_steps, increment_counter) - (find_derivation, __gconv_compare_alias, __gconv_find_transform) - (__gconv_close_transform, free_modules_db): Likewise. - * iconv/gconv_dl.c (__gconv_find_shlib, __gconv_release_shlib): - Likewise. - * iconv/gconv_int.h (__gconv_open, __gconv_close, __gconv) - (__gconv_find_transform, __gconv_lookup_cache) - (__gconv_release_step, __gconv_load_cache, __gconv_get_path) - (__gconv_close_transform, __gconv_release_cache) - (__gconv_loaded_object, __gconv_release_shlib) - (__gconv_compare_alias): Likewise. - * iconv/gconv_open.c (__gconv_open): Likewise. - * iconv/iconv_prog.c (print_known_names, add_known_names): Likewise. - * iconv/iconvconfig.c (add_module): Likewise. - * intl/dcigettext.c (plural_lookup, guess_category_value) - (category_to_name, get_output_charset, _nl_find_msg): Likewise. - * intl/eval-plural.h (plural_eval): Likewise. - * intl/finddomain.c (_nl_find_domain): Likewise. - * intl/gettextP.h (_nl_unload_domain, _nl_find_domain) - (_nl_load_domain, _nl_find_msg): Likewise. - (internal_function): Remove definition. - * intl/loadinfo.h (internal_function): Likewise. - * intl/loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Remove - internal_function. - * intl/localealias.c (internal_function): Remove definition. - (read_alias_file): Remove internal_function. - * intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Likewise. - * intl/plural-exp.h (internal_function): Remove definition. - (FREE_EXPRESSION, EXTRACT_PLURAL_EXPRESSION): Remove - internal_function. - * intl/plural.c: Regenerate. - * intl/plural.y (FREE_EXPRESSION): Remove internal_function. - * locale/coll-lookup.c (__collidx_table_lookup) - (__collseq_table_lookup): Likewise. - * locale/coll-lookup.h (__collidx_table_lookup) - (__collseq_table_lookup): Likewise. - * locale/findlocale.c (_nl_find_locale, _nl_remove_locale): Likewise. - * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. - * locale/loadlocale.c (_nl_intern_locale_data, _nl_load_locale) - (_nl_unload_locale): Likewise. - * locale/localeinfo.h (struct __locale_data): Remove - internal_function from cleanup member. - (_nl_find_locale, _nl_load_locale, _nl_unload_locale) - (_nl_remove_locale, _nl_load_locale_from_archive) - (_nl_intern_locale_data, _nl_get_era_entry, _nl_select_era_entry) - (_nl_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit) - (_nl_cleanup_time): Remove internal_function. - * time/alt_digit.c (_nl_get_alt_digit, _nl_get_walt_digit) - (_nl_parse_alt_digit): Likewise. - * time/era.c (_nl_init_era_entries, _nl_get_era_entry) - (_nl_select_era_entry): Likewise. - * time/lc-time-cleanup.c (_nl_cleanup_time): Likewise. - * wcsmbs/wcsmbsload.c (__wcsmbs_load_conv, __wcsmbs_clone_conv) - (__wcsmbs_named_conv, _nl_cleanup_ctype): Likewise. - * wcsmbs/wcsmbsload.h (__wcsmbs_load_conv, __wcsmbs_clone_conv) - (__wcsmbs_named_conv, _nl_cleanup_ctype): Likewise. - -2017-08-31 Florian Weimer - - * rt/aio_sigqueue.c (__aio_sigqueue): Remove internal_function. - * sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise. - * sysdeps/pthread/aio_misc.c (__aio_free_request, __aio_find_req) - (__aio_find_req_fd, __aio_remove_request, __aio_enqueue_request): - Likewise. - * sysdeps/pthread/aio_misc.h (__aio_enqueue_request) - (__aio_find_req, __aio_find_req_fd, __aio_free_request) - (__aio_notify, __aio_notify_only, __aio_sigqueue): Likewise. - * sysdeps/pthread/aio_notify.c (__aio_notify_only, __aio_notify): - Likewise. - * sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Likewise. - -2017-08-31 Florian Weimer - - * misc/getttyent.c (skip, value): Remove internal_function. - * misc/syslog.c (openlog_internal): Likewise. - * misc/tsearch.c (trecurse, tdestroy_recurse): Likewise. - -2017-08-31 Florian Weimer - - * include/nss.h (__nss_valid_field, __nss_valid_list_field) - (__nss_rewrite_field): Remove internal_function. - * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. - * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise. - * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise. - * nss/nsswitch.c (nss_parse_file, nss_getline) - (nss_parse_service_list, nss_new_service): Likewise. - * nss/rewrite_field.c (__nss_rewrite_field): Likewise. - * nss/valid_field.c (__nss_valid_field): Likewise. - * nss/valid_list_field.c (__nss_valid_list_field): Likewise. - -2017-08-31 Florian Weimer - - * malloc/arena.c (__malloc_fork_lock_parent) - (__malloc_fork_unlock_parent, __malloc_fork_unlock_child) - (next_env_entry, new_heap, heap_trim, arena_get2): Remove - internal_function from defintions. - * malloc/hooks.c (mem2mem_check, mem2chunk_check): Likewise. - * malloc/malloc-internal.h (__malloc_fork_lock_parent) - (__malloc_fork_unlock_parent, __malloc_fork_unlock_child): Remove - internal_function from declarations. - * malloc/malloc.c (internal_function): Do not define. - (mem2mem_check): Remove internal_function from declaration. - (munmap_chunk, mremap_chunk): Remove internal_function. - * malloc/mtrace.c (tr_where): Likewise. - -2017-08-31 Florian Weimer - - * include/rpc/pmap_clnt.h (__get_socket): Remove - internal_function. - * sunrpc/auth_des.c (synchronize): Likewise. - * sunrpc/auth_unix.c (marshal_new_auth): Likewise. - * sunrpc/clnt_perr.c (auth_errmsg): Likewise. - * sunrpc/des_impl.c (des_encrypt, des_set_key): Likewise. - * sunrpc/key_call.c (key_call_keyenvoy, key_call_socket) - (key_call): Likewise. - * sunrpc/pm_getport.c (__get_socket): Likewise. - * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. - * sunrpc/svc_unix.c (makefd_xprt): Likewise. - * sunrpc/svc_tcp.c (makefd_xprt): Likewise. - * sunrpc/svcauth_des.c (cache_init, cache_spot, cache_ref) - (invalidate): Likewise. - * sunrpc/xcrypt.c (hexval, hex2bin, bin2hex): Likewise. - * sunrpc/xdr_rec.c (fix_buf_size, skip_input_bytes, flush_out) - (set_input_fragment, get_input_bytes): Likewise. - -2017-08-31 Florian Weimer - - * malloc/malloc.c (_int_free): Remove locked variable and related - asserts. - -2017-08-31 H.J. Lu - - [BZ #22051] - * Makerules (build-module-helper-objlist): Filter out - $(elf-objpfx)sofini.os. - (build-shlib-objlist): Append $(elf-objpfx)sofini.os if it is - needed. - -2017-08-31 Florian Weimer - - * libio/fcloseall.c: Assume weak_alias is defined. - * libio/feof.c: Likewise. - * libio/fileno.c: Likewise. - * libio/fileops.c: Assume _LIBC, errno, __set_errno are defined. - (_POSIX_SOURCE, open, lseek, read, write): Remove macro - definitions. - (_IO_file_open): Call __open directly. - (_IO_new_file_sync): Assume ESPIPE is defined. - (_IO_file_seekoff_maybe_mmap): Call __read directly. - (_IO_new_file_write): Call __write directly. - * libio/ftello.c (__ftello): Assume EIO, EOVERFLOW are defined. - * libio/ftello64.c (__ftello64): Assume EIO is defined. - * libio/genops.c: Assume _LIBC is defined. - (save_for_backup): Remove internal_function. - * libio/getc.c: Assume weak_alias is defined. - * libio/getwc.c: Likewise. - * libio/iofclose.c: Assume _LIBC is defined. - * libio/iofdopen.c: Likewise. - (_IO_fcntl): Remove macro definition. - (_IO_new_fdopen): Assume F_GETFL, F_SETFL, O_ACCMODE are defined. - Call __fcntl directly. - * libio/iofflush.c: Assume weak_alias is defined. - * libio/iofgetpos.c (_IO_new_fgetpos): Assume EIO, EOVERFLOW are - defined. - * libio/iofgetpos64.c (_IO_new_fgetpos64): Assume EIO is defined. - * libio/iofgets.c: Likewise. - * libio/iofopen.c: Assume _LIBC is defined. - * libio/iofopen64.c: Assume _LIBC, weak_alias are defined. - * libio/iofputs.c: Assume weak_alias is defined. - * libio/iofread.c: Likewise. - * libio/iofsetpos.c (_IO_new_fsetpos): Assume EIO is defined. - * libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise. - * libio/ioftell.c: Assume weak_alias is defined. - (_IO_ftell): Assume EIO, EOVERFLOW are defined. - * libio/iofwide.c: Assume _LIBC is defined. - (_IO_fwide): Drop SHARED conditional because it is implied by - SHLIB_COMPAT. - * libio/iofwrite.c: Assume weak_alias is defined. - * libio/iogetdelim.c: Likewise. - * libio/iogets.c: Assume _LIBC, weak_alias are defined. - * libio/iogetwline.c (wmemcpy): Remove macro definition. - (_IO_getwline): Call __wmemcpy directly. - * libio/iopopen.c: Assume _LIBC is defined. - (_POSIX_SOURCE, _IO_fork, _IO_dup2, _IO_waitpid, _IO_execl) - (_IO_close): Remove macro definitions. - (_IO_new_proc_open): Call __fork, __dup2, __close_nocancel, execl, - _exit directly. - (_IO_new_proc_close): Call __close_nocancel, __waitpid_nocancel - directly. - * libio/ioputs.c: Assume weak_alias is defined. - * libio/ioseekoff.c: Assume errno, __set_errno are defined. - * libio/iosetbuffer.c: Assume weak_alias is defined. - * libio/iosetvbuf.c: Likewise. - * libio/ioungetc.c: Likewise. - * libio/libioP.h: Assume _LIBC, __GLIBC__, libc_hidden_proto, - libc_hidden_def, libc_hidden_weak, NULL are defined. - (mmap, munmap, ftruncate, OS_FSTAT): Remove macro definitions. - * libio/oldfilepos.c: Assume _LIBC, errno, __set_errno are - defined. - (_POSIX_SOURCE, open, lseek, read, write): Remove macro - definitions. - (_IO_old_file_init_internal): Drop SHARED conditional because it - is implied by SHLIB_COMPAT. - (_IO_old_file_fopen): Call __open directly. - (_IO_old_file_sync): Assume ESPIPE is defined. - (_IO_old_file_write): Call __write directly. - * libio/oldfdopen.c (_IO_fcntl): Remove macro definition. - (_IO_old_fdopen): Assume F_GETFL, O_ACCMODE, F_SETFL are defined. - Call __fcntl directly. - * libio/oldiofgetpos.c: Assume weak_alias is defined. - (_IO_old_fgetpos): Assume EIO is defined. - * libio/oldiofgetpos64.c: Assume weak_alias is defined. - (_IO_old_fgetpos64): Assume EIO is defined. - * libio/oldiofsetpos.c: Assume weak_alias is defined. - (_IO_old_fsetpos): Assume EIO is defined. - * libio/oldiofsetpos64.c: Assume weak_alias is defined. - (_IO_old_fsetpos64): Assume EIO is defined. - * libio/oldiopopen.c: Assume _LIBC is defined. - (_POSIX_SOURCE, _IO_fork, _IO_dup2, _IO_waitpid, _IO_execl) - (_IO_close): Remove macro definitions. - (_IO_old_proc_open): Call __pipe, __close, __dup2, execl, _exit - directly. - (_IO_old_proc_close): Call __close, __waitpid directly. - * libio/put.c: Assume weak_alias is defined. - * libio/stdfiles.c: Assume _LIBC is defined. - * libio/stdio.c: Likewise. - * libio/wfileops.c: Likewise. - (_IO_wfile_sync): Assume ESPIPE is defined. - * libio/wgenops.c: Assume _LIBC is defined. - (save_for_wbackup): Remove internal_function. - -2017-08-31 Florian Weimer - - * malloc/malloc.c (top_check): Change return type to void. Remove - internal_function. - * malloc/hooks.c (top_check): Likewise. - (malloc_check, realloc_check, memalign_check): Adjust. - -2017-08-30 Joseph Myers - - [BZ #21457] - * sysdeps/arm/sys/ucontext.h: Do not include . - * sysdeps/generic/sys/ucontext.h: Add comment about use of struct - sigcontext and namespace requirements. - * sysdeps/i386/sys/ucontext.h: Do not include . - * sysdeps/m68k/sys/ucontext.h: Likewise. - * sysdeps/mips/sys/ucontext.h: Likewise. Include . - * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Do not include - . - (__ctx): Define earlier. - (mcontext_t): Define structure contents rather than using struct - sigcontext. - * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (oEXTENSION): Use - __glibc_reserved1 instead of __reserved. - * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Do not include - . - (__ctx): Define earlier. - (mcontext_t): Define structure contents rather than using struct - sigcontext. - * sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: Use - mcontext_t instead of struct sigcontext. - * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Do not include - . - (__ctx): Define earlier. - (mcontext_t): Define structure contents rather than using struct - sigcontext. - * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Do not include - . - (__ctx): Define earlier. - (mcontext_t): Define structure contents rather than using struct - sigcontext. - * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Use - mcontext_t instead of struct sigcontext. - * sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: Use - mcontext_t instead of struct sigcontext. - * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Do not include - . - (__ctx): New macro. - (struct __ia64_fpreg_mcontext): New type. - (mcontext_t): Define structure contents rather than using struct - sigcontext. - (_SC_GR0_OFFSET): Use mcontext_t instead of struct sigcontext. - (uc_sigmask): Define using __ctx. - (uc_stack): Likewise. - * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Include - . - * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Do not include - . - * sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: New file. - * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Do not include - . - * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Do not include - . - * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Do not include - . - * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Do not include - . - * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Do not include - . - * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Do not include - . - * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Do not include - . - (__ctx): Define earlier. - (mcontext_t): Define structure contents rather than using struct - sigcontext. - * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Do not include - . Include . - * conform/Makefile (test-xfail-XPG42/signal.h/conform): Remove. - (test-xfail-XPG42/sys/wait.h/conform): Likewise. - (test-xfail-XPG42/ucontext.h/conform): Likewise. - (test-xfail-UNIX98/signal.h/conform): Likewise. - (test-xfail-UNIX98/sys/wait.h/conform): Likewise. - (test-xfail-UNIX98/ucontext.h/conform): Likewise. - (test-xfail-XOPEN2K/signal.h/conform): Likewise. - (test-xfail-XOPEN2K/sys/wait.h/conform): Likewise. - (test-xfail-XOPEN2K/ucontext.h/conform): Likewise. - (test-xfail-POSIX2008/signal.h/conform): Likewise. - (test-xfail-POSIX2008/sys/wait.h/conform): Likewise. - (test-xfail-XOPEN2K8/signal.h/conform): Likewise. - (test-xfail-XOPEN2K8/sys/wait.h/conform): Likewise. - -2017-08-30 Florian Weimer - - * malloc/dynarray_emplace_enlarge.c - (__libc_dynarray_emplace_enlarge): Set errno on overflow. - * malloc/dynarray_resize.c (__libc_dynarray_resize): Likewise. - * malloc/tst-dynarray.c (test_long_overflow): New function. - (do_test): Call it. - -2017-08-30 Florian Weimer - - * malloc/malloc.c (ARENA_CORRUPTION_BIT, arena_is_corrupt) - (set_arena_corrupt): Remove definitions. - (mtrim): Do not check for corrupt arena. - * malloc/arena.c (arena_lock, reused_arena, arena_get_retry): - Likewise. - -2017-08-30 Florian Weimer - - [BZ #21754] - * malloc/arena.c (TUNABLE_CALLBACK set_mallopt_check): Do not set - check_action. - (ptmalloc_init): Do not set or use check_action. - * malloc/hooks.c (malloc_check_get_size, realloc_check): Adjust - call to malloc_printerr. Remove return statement. - (free_check): Likewise. Remove arena unlock. - (top_check): Update comment. Adjust call to malloc_printerr. - Remove heap repair code. - * malloc/malloc.c (unlink): Adjust calls to malloc_printerr. - (DEFAULT_CHECK_ACTION, check_action): Remove definitions. - (sysmalloc): Adjust call to malloc_printerr. - (munmap_chunk, __libc_realloc): Likewise. Remove return - statement. - (_int_malloc, int_realloc): Likewise. Remove errstr variable. - Remove errout label and corresponding gotos. - (_int_free): Likewise. Remove arena unlock. - (do_set_mallopt_check): Do not set check_action. - (malloc_printerr): Adjust parameter list. Do not mark arena as - corrupt. - * manual/memory.texi (Malloc Tunable Parameters): Remove TODO - comment. - * manual/probes.texi (Memory Allocation Probes): Remove - memory_mallopt_check_action. - -2017-08-30 Steve Ellcey - - * sysdeps/unix/sysv/linux/aarch64/makecontext.c (__makecontext): - Use pointer to uint64_t instead of long int for sp. - -2017-08-30 Florian Weimer - - [BZ #21754] - * malloc/malloc.c (malloc_printerr): Always terminate the process, - without printing a backtrace. Do not leak any information in the - error message. - * manual/memory.texi (Heap Consistency Checking): Update. - * manual/tunables.texi (Memory Allocation Tunables): Likewise. - -2017-08-30 Florian Weimer - - Do not scale NPTL tests with available number of CPUs. - * nptl/tst-cond16.c (count): Set to constant value of 8. - * nptl/tst-cond18.c (count): Likewise. - -2017-08-29 Joseph Myers - - [BZ #22035] - * sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__inline_functions): - Define to take a second argument that is a macro that - concatentates a suffix, not the suffix itself. - (__CONCAT_d): New macro. - (__CONCAT_f): Likewise. - (__CONCAT_l): Likewise. - -2017-08-29 Paul Pluzhnikov - - * stdlib/tst-atexit-common.c (do_test): Test handler inheritance - by child. - -2017-08-29 Adhemerval Zanella - Aurelien Jarno - Maciej W. Rozycki - - [BZ #21956] - * sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile - [subdir = misc] (sysdep_routines): Remove `mips16-syscall5', - `mips16-syscall6' and `mips16-syscall7'. - (CFLAGS-mips16-syscall5.c, CFLAGS-mips16-syscall6.c) - (CFLAGS-mips16-syscall7.c): Remove. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions (libc): - Remove `__mips16_syscall5', `__mips16_syscall6' and - `__mips16_syscall7'. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c - (__mips16_syscall0): Rename `__mips16_syscall_return' to - `__mips_syscall_return'. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c - (__mips16_syscall1): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c - (__mips16_syscall2): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c - (__mips16_syscall3): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c - (__mips16_syscall4): Likewise. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c: - Remove. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c: - Remove. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c: - Remove. - * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h - (__mips16_syscall5): Expand to `__mips_syscall5' rather than - `__mips16_syscall5'. Remove prototype. - (__mips16_syscall6): Expand to `__mips_syscall6' rather than - `__mips16_syscall6'. Remove prototype. - (__mips16_syscall7): Expand to `__mips_syscall7' rather than - `__mips16_syscall7'. Remove prototype. - (__nomips16, __mips16_syscall_return): Move to... - * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h - (__nomips16, __mips_syscall_return): ... here. - [__mips16] (INTERNAL_SYSCALL_NCS): Rename - `__mips16_syscall_return' to `__mips_syscall_return'. - [__mips16] (INTERNAL_SYSCALL_MIPS16): Pass `number' to - `internal_syscall##nr'. - [!__mips16] (INTERNAL_SYSCALL): Pass `SYS_ify (name)' to - `internal_syscall##nr'. - (FORCE_FRAME_POINTER): Remove. - (__mips_syscall5): New prototype. - (internal_syscall5): Rewrite to call `__mips_syscall5'. - (__mips_syscall6): New prototype. - (internal_syscall6): Rewrite to call `__mips_syscall6'. - (__mips_syscall7): New prototype. - (internal_syscall7): Rewrite to call `__mips_syscall7'. - * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: New file. - * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: New file. - * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: New file. - * sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = misc] - (sysdep_routines): Add libc-do-syscall. - * sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add - `__mips_syscall5', `__mips_syscall6' and `__mips_syscall7'. - -2017-08-29 Adhemerval Zanella - - [BZ #21672] - * nptl/allocatestack.c [_STACK_GROWS_DOWN] (setup_stack_prot): - Set to use !NEED_SEPARATE_REGISTER_STACK as well. - (advise_stack_range): New function. - * nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark - stack non required to advise_stack_range at allocatestack.c - -2017-08-29 Szabolcs Nagy - - * sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Use __uint64_t. - -2017-08-29 Florian Weimer - - [BZ #22026] - * iconv/gconv_db.c (gen_steps): Decrement step_cnt after resetting - __end_fct. Mangle __end_fct after setting it to NULL. - * iconv/Makefile (tests): Add tst-gconv-init-failure. - (modules-names, modules-names-tests): Add - tst-gconv-init-failure-mod. - (gconv-modules): New target. - (tst-gconv-init-failure-mod.so): Link against libsupport. - (tst-gconv-init-failure): Depend on gconv-modules, - tst-gconv-init-failure-mod.so. - * iconv/tst-gconv-init-failure-mod.c: New file. - * iconv/tst-gconv-init-failure.c: Likewise. - * iconv/test-gconv-modules: Likewise. - -2017-08-29 Florian Weimer - - [BZ #22025] - * iconv/gconv_db.c (free_derivation): Remove redundant - parentheses. - (gen_steps): Unconditionally mangle __btowc_fct after - initialization. - (increment_counter): Likewise. Do not call init_fct for internal - modules. - -2017-08-29 Joseph Myers - - [BZ #22028] - * math/math.h [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] - (_MSUF_): Remove macro. - [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (_MSUFTO_): - Likewise. - [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] - (__REDIRFROM_X): New macro. - [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (__REDIRTO_X): - Likewise. - * math/bits/math-finite.h (__REDIRFROM_X): Remove macro. - (__REDIRTO_X): Likewise. - (__MATH_REDIRCALL): Do not pass _MSUF_ or _MSUFTO_ macro - arguments. - (__MATH_REDIRCALL_2): Likewise. - (__MATH_REDIRCALL_INTERNAL): Likewise. - (__REDIRFROM (lgamma, , _MSUF_)): Likewise. - (__REDIRFROM (gamma, , _MSUF_)): Likweise. - (__REDIRFROM (__gamma, _r_finite, _MSUF_)): Likewise. - (__REDIRFROM (tgamma, , _MSUF_)): Likewise. - * math/test-finite-macros.c: New file. - * math/Makefile (tests): Add test-finite-macros. - (CFLAGS-test-finite-macros.c): New variable. - -2017-08-29 Patsy Franklin - Jeff Law - - [BZ #22025] - Mangle NULL pointers in iconv/gconv. - * iconv/gconv_cache.c (find_module): Demangle init_fct before - checking for NULL. Mangle __btowc_fct if init_fct is non-NULL. - * iconv/gconv_db.c (free_derivation): Check that __shlib_handle - is non-NULL before demangling the end_fct. Check for NULL - end_fct after demangling. - (__gconv_release_step): Demangle the end_fct before checking - it for NULL. Remove assert on __shlibc_handle != NULL. - (gen_steps): Don't check btowc_fct for NULL before mangling. - Demangle init_fct before checking for NULL. - (increment_counter): Likewise. - * gconv_dl.c (__gconv_find_shlib): Don't check init_fct or - end_fct for NULL before mangling. - * wcsmbs/btowc.c (__btowc): Demangle btowc_fct before checking - for NULL. - -2017-08-29 Akhilesh Kumar - - [BZ #21971] - * locale/iso-639.def: add Morisyen. - -2017-08-28 Gabriel F. T. Gomes - - [BZ #21930] - * math/math.h [defined __cplusplus && defined __SUPPORT_SNAN__] - (iszero): New C++ implementation that does not use - fpclassify/__MATH_TG/__builtin_types_compatible_p, when - signaling nans are enabled, since __builtin_types_compatible_p - is a C-only feature. - * math/test-math-iszero.cc: When __HAVE_DISTINCT_FLOAT128 is - defined, include ieee754_float128.h for access to the union and - member ieee854_float128.ieee. - [__HAVE_DISTINCT_FLOAT128] (do_test): Call check_float128. - [__HAVE_DISTINCT_FLOAT128] (check_float128): New function. - * sysdeps/powerpc/powerpc64le/Makefile [subdir == math] - (CXXFLAGS-test-math-iszero.cc): Add -mfloat128 to the build - options of test-math-zero on powerpc64le. - -2017-08-28 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf): - Change double to float. - -2017-08-28 Joseph Myers - - * math/math-svid-compat.h [!__ASSEMBLER__]: Make code - unconditional. - * sysdeps/ieee754/s_lib_version.c [!defined SHARED]: Remove - conditional code; define contents only for [LIBM_SVID_COMPAT]. - -2017-08-28 Florian Weimer - - * sysdeps/unix/sysv/linux/aarch64/Makefile (abi-lp64-options) - (abi-lp64_be-options): Remove. - * sysdeps/unix/sysv/linux/arm/Makefile (abi-soft-options) - (abi-hard-options): Likewise. - * sysdeps/unix/sysv/linux/mips/Makefile(abi-o32_soft-options) - (abi-o32_hard-options, abi-o32_soft_2008-options) - (abi-o32_hard_2008-options, abi-n32_soft-options) - (abi-n32_hard-options, abi-n32_soft_2008-options) - (abi-n32_hard_2008-options, abi-n64_soft-options) - (abi-n64_hard-options, abi-n64_soft_2008-options) - (abi-n64_hard_2008-options): Likewise. - * sysdeps/unix/sysv/linux/powerpc/Makefile (abi-32-options) - (abi-64-v1-options, abi-64-v2-options): Likewise. - * sysdeps/unix/sysv/linux/s390/Makefile (abi-32-options) - (abi-64-options): Likewise. - * sysdeps/unix/sysv/linux/sparc/Makefile (abi-32-options) - (abi-64-options): Likewise. - * sysdeps/unix/sysv/linux/tile/tilegx/Makefile (abi-32-options) - (abi-64-options): Likewise. - * sysdeps/unix/sysv/linux/x86/Makefile (abi-32-options) - (abi-64-options, abi-x32-options): Likewise. - -2017-08-28 Florian Weimer - - Store supported list of SYS_* system calls in the source tree. - * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] - (bits/syscall.h): Generate from list file. - [$(subdir) = misc] (before-compile): Add bits/syscall.h. - [$(subdir) = misc] (tests): Add tst-syscall-list. - [$(subdir) = misc] (tests-special): Add tst-syscall-list.out - [$(subdir) = misc] (tst-syscall-list-macros.list) - [$(subdir) = misc] (tst-syscall-list-nr.list) - (tst-syscall-list-sys.list): Helper targets for new - tst-syscall-list test. - [$(subdir) = misc] (tst-syscall-list.out): Run test script - tst-syscall-list.sh. - [$(subdir) = misc] (bits/syscall%h, bits/syscall%d): Remove - target. Do not include bits/syscall.d. - [$(subdir) = misc] (generated): Do not update. - * sysdeps/unix/sysv/linux/syscall-names.list: New file. - * sysdeps/unix/sysv/linux/gen-syscall-h.awk: Likewise. - * sysdeps/unix/sysv/linux/filter-nr-syscalls.awk: Likewise. - * sysdeps/unix/sysv/linux/tst-syscall-list.sh: Likewise. - -2017-08-27 Paul Pluzhnikov - - * stdlib/Makefile (tst-atexit, tst-at_quick_exit): New tests. - (tst-cxa_atexit, tst-on_exit): Likewise. - * stdlib/Makefile (tests): Add tst-atexit, tst-at_quick_exit, - tst-cxa_atexit, and tst-on_exit. - * stdlib/tst-atexit-common.c: New file. - * stdlib/tst-atexit.c: New file. - * stdlib/tst-at_quick_exit.c: New file. - * stdlib/tst-cxa_atexit.c: New file. - * stdlib/tst-on_exit.c: New file. - -2017-08-27 Samuel Thibault - - * sysdeps/mach/hurd/bits/sysmacros.h: New file. - * mach/stack_chk_fail_local.c: New file. - * hurd/stack_chk_fail_local.c: New file. - * mach/Machrules ($(interface-library)-routines): Add - stack_chk_fail_local. - * mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o, - CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o, - CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o, - CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector). - * hurd/Makefile (CFLAGS-hurdstartup.o, - CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector). - -2017-08-25 H.J. Lu - - * sysdeps/x86/cpu-features.h [__ASSEMBLER__] - (index_cpu_*, index_arch_*): Removed. - -2017-08-25 Szabolcs Nagy - - * sysdeps/unix/sysv/linux/aarch64/sys/procfs.h (elf_greg_t): - Use uint64_t instead of unsigned long. - -2017-08-25 Joseph Myers - - * math/tgmath.h [__HAVE_FLOAT128]: Change conditional to - [__HAVE_DISTINCT_FLOAT128]. - - * math/math.h (_MSUFTO_): Define and undefine for each inclusion - of . - (__MATH_DECLARING_LDOUBLE): Do not define and undefine for each - inclusion of . - * math/bits/math-finite.h (__REDIRTO_X): Do not define - conditionally on [__MATH_DECLARING_LDOUBLE && defined - __NO_LONG_DOUBLE_MATH]. - (__MATH_REDIRCALL): Use _MSUFTO_ in __REDIRTO call. - (__MATH_REDIRCALL_2): Likewise. - (__MATH_REDIRCALL_INTERNAL): Likewise. - (__REDIRFROM (lgamma, , _MSUF_)): Likewise. - (__REDIRFROM (gamma, , _MSUF_)): Likewise. - (__REDIRFROM (tgamma, , _MSUF_)): Likewise. - - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-power5.S: - Remove file. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-power5.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-ppc32.S: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat.c: - Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise. - * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile - (libm-sysdep-routines): Remove w_sqrt_compat-power5, - w_sqrt_compat-ppc32, w_sqrtf_compat-power5 and - w_sqrtf_compat-ppc32. - -2017-08-24 Gabriel F. T. Gomes - - * math/math.h [defined __cplusplus] (issignaling): In the long - double case, call __issignalingl only if __NO_LONG_DOUBLE_MATH - is not defined. Call __issignaling, otherwise. - -2017-08-24 Adhemerval Zanella - - * sysdeps/unix/make-syscalls.sh: Remove cancellable tagging for - syscall definitions and replace __builtin_expect with __glibc_likely. - * sysdeps/unix/syscall-template.S: Update comment about cancellable - syscall. - (SYSCALL_CANCELLABLE): Removedefinition - * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (__local_enable_asynccancel): Likewise. - [IS_IN (libpthread)] (__local_disable_asynccancel): Likewise. - [IS_IN (libc)] (__local_enable_asynccancel): Likewise. - [IS_IN (libc)] (__local_enable_asynccancel): Likewise. - [IS_IN (librt)] (__local_disable_asynccancel): Likewise. - [IS_IN (librt)] (__local_disable_asynccancel): Likewise. - (CENABLE): Likewise. - (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO): Remove - defintion. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h (PSEUDO): - Remove definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Remove file. - * sysdeps/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Remove file. - * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: New file. - * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Remove - definition. - (PSEUDO_END): Likewise. - [IS_IN (libpthread)] (CENABLE): Likewise. - [IS_IN (libpthread)] (CDISABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (libc)] (CENABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [IS_IN (librt)] (CDISABLE): Likewise. - [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. - -2017-08-24 Szabolcs Nagy - - * sysdeps/ieee754/dbl-64/Makefile: Don't override CFLAGS. - -2017-08-23 H.J. Lu - - * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated. - -2017-08-23 H.J. Lu - - [BZ #21982] - * string/stratcliff.c (do_test): Declare size, nchars, inner, - middle and outer with size_t instead of int. Repleace %d and - %Zd with %zu in printf. Update "MAX (0, nchars - 128)" and - "MAX (outer, nchars - 64)" to support unsigned outer and - nchars. Also exit loop when outer == 0. - -2017-08-23 Adhemerval Zanella - - * include/fcntl.h (__fcntl_nocancel): Remove definition. - * include/signal.h (__sigsuspend_nocancel): Likewise. - * include/time.h (__nanosleep_nocancel): Likewise. - * sysdeps/generic/not-cancel.h (__fcntl_nocancel): New macro. - * login/utmp_file.c: Include non cancellable syscall header. - * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): New - prototype. - -2017-08-23 H.J. Lu - - * sysdeps/x86_64/fpu/svml_d_sincos8_core.S: Replace AVX512F - .byte sequences with AVX512F instructions. - * sysdeps/x86_64/fpu/svml_d_wrapper_impl.h: Likewise. - * sysdeps/x86_64/fpu/svml_s_sincosf16_core.S: Likewise. - * sysdeps/x86_64/fpu/svml_s_wrapper_impl.h: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S: - Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S: - Likewise. - -2017-08-22 Szabolcs Nagy - Steve Ellcey - - * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): - Use PTR_REG macro in cmp instruction. - -2017-08-22 Gabriel F. T. Gomes - - * include/libc-symbols.h: [!defined HAVE_GCC_IFUNC] (__ifunc): - Change the return type of the ifunc resolver to match the return - type of the target function. - -2017-08-22 Adhemerval Zanella - - * sysdeps/unix/sysv/linux/x86_64/syscalls.list (pread64): Remove. - (preadv64): Likewise. - (pwrite64(: Likewise. - (pwritev64): Likewise. - - * sysdeps/unix/sysv/linux/x86_64/sysdep.h - (INTERNAL_SYSCALL_NCS_TYPES): Remove define. - (LOAD_ARGS_0): Likewise. - (LOAD_ARGS_1): Likewise. - (LOAD_ARGS_2): Likewise. - (LOAD_ARGS_3): Likewise. - (LOAD_ARGS_4): Likewise. - (LOAD_ARGS_5): Likewise. - (LOAD_ARGS_6): Likewise. - (LOAD_REGS_0): Likewise. - (LOAD_REGS_1): Likewise. - (LOAD_REGS_2): Likewise. - (LOAD_REGS_3): Likewise. - (LOAD_REGS_4): Likewise. - (LOAD_REGS_5): Likewise. - (LOAD_REGS_6): Likewise. - (ASM_ARGS_0): Likewise. - (ASM_ARGS_1): Likewise. - (ASM_ARGS_2): Likewise. - (ASM_ARGS_3): Likewise. - (ASM_ARGS_4): Likewise. - (ASM_ARGS_5): Likewise. - (ASM_ARGS_6): Likewise. - (LOAD_ARGS_TYPES_1): Likewise. - (LOAD_ARGS_TYPES_2): Likewise. - (LOAD_ARGS_TYPES_3): Likewise. - (LOAD_ARGS_TYPES_4): Likewise. - (LOAD_ARGS_TYPES_5): Likewise. - (LOAD_ARGS_TYPES_6): Likewise. - (LOAD_REGS_TYPES_1): Likewise. - (LOAD_REGS_TYPES_2): Likewise. - (LOAD_REGS_TYPES_3): Likewise. - (LOAD_REGS_TYPES_4): Likewise. - (LOAD_REGS_TYPES_5): Likewise. - (LOAD_REGS_TYPES_6): Likewise. - (TYPEFY): New define. - (ARGIFY): Likewise. - (internal_syscall0): Likewise. - (internal_syscall1): Likewise. - (internal_syscall2): Likewise. - (internal_syscall3): Likewise. - (internal_syscall4): Likewise. - (internal_syscall5): Likewise. - (internal_syscall6): Likewise. - * sysdeps/unix/sysv/linux/x86_64/x32/times.c - (INTERNAL_SYSCALL_NCS): Remove define. - (internal_syscall1): Add define. - -2017-08-22 Gabriel F. T. Gomes - - * math/w_remainder_compat.c: Remove duplicate inclusion of - math-svid-compat.h. - * math/w_remainderf_compat.c: Likewise. - * math/w_remainderl_compat.c: Likewise. - -2017-08-22 Gabriel F. T. Gomes - - * sysdeps/powerpc/fpu/libm-test-ulps: Update. - -2017-08-22 Joseph Myers - - [BZ #21684] - * math/tgmath.h (__floating_type): Simplify definitions. - (__real_integer_type): New macro. - (__complex_integer_type): Likewise. - (__expr_is_real): Likewise. - (__tgmath_real_type_sub): Update comment to describe handling of - complex types. - (__tgmath_complex_type_sub): New macro. - (__tgmath_complex_type): Likewise. - [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (__TGMATH_CF128): Use __expr_is_real. - (__TGMATH_UNARY_REAL_IMAG): Use __tgmath_complex_type and - __expr_is_real. - (__TGMATH_BINARY_REAL_IMAG): Likewise. - (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __expr_is_real. - * math/gen-tgmath-tests.py (Type.create_type): Create complex - integer types. - -2017-08-22 Adhemerval Zanella - - * sysdeps/generic/not-cancel.h (sigsuspend_not_cancel): Remove - macro. - * sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Remove - alias. - * sysdeps/unix/sysv/linux/not-cancel.h (sigsuspend_not_cancel): - Likewise. - - * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Replace - nanosleep_not_cancel with __nanosleep_nocancel. - * sysdeps/generic/not-cancel.h (nanosleep_not_cancel): Remove macro. - (__nanosleep_nocancel): New macro. - * sysdeps/unix/sysv/linux/nanosleep.c (__nanosleep_nocancel): New - function. - * sysdeps/unix/sysv/linux/not-cancel.h (nanosleep_not_cancel): Remove - macro. - (__nanosleep_nocancel): New prototype. - - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Replace - pause_not_cancel with __pause_nocancel. - * sysdeps/generic/not-cancel.h (pause_not_cancel): Remove macro. - (__pause_nocancel): New macro. - * sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): Remove - macro. - (__pause_nocancel): New prototype. - * sysdeps/unix/sysv/linux/pause.c (__pause_nocancel): New function. - -2017-08-22 Martin Sebor - - * include/libc-symbols.h (__ifunc_resolver): Declare resolver - to return a pointer to the same type as the target function. - -2017-08-22 H.J. Lu - - [BZ #18822] - [BZ #21986] - * include/printf.h (__printf_fphex): Add attribute_hidden. - (__guess_grouping): New prototype. - * stdio-common/printf_fp.c (__guess_grouping): Removed. - * stdio-common/reg-printf.c (__register_printf_specifier): Add - libc_hidden_proto and libc_hidden_def. - * stdlib/strfmon_l.c (__guess_grouping): Removed. - (__vstrfmon_l): Remove the third argument passed to - __guess_grouping. - -2017-08-22 Gabriel F. T. Gomes - - * math/math.h [defined __cplusplus] (issignaling): Provide a C++ - definition for issignaling that does not rely on __MATH_TG, - since __MATH_TG uses __builtin_types_compatible_p, which is only - available in C mode. - (CFLAGS-test-math-issignaling.cc): New variable. - * math/Makefile [CXX] (tests): Add test-math-issignaling. - * math/test-math-issignaling.cc: New test for C++ implementation - of type-generic issignaling. - * sysdeps/powerpc/powerpc64le/Makefile [subdir == math] - (CXXFLAGS-test-math-issignaling.cc): Add -mfloat128 to the build - options of test-math-issignaling on powerpc64le. - -2017-08-22 H.J. Lu - - * include/libc-symbols.h (__hidden_proto_hiddenattr): New for - building libc.a. - (hidden_proto): Likewise. - (hidden_tls_proto): Likewise. - (__hidden_proto): Likewise. - -2017-08-22 Florian Weimer - - math: Statically link tests of internal functionality. - * math/Makefile (tests): Remove atest-exp, atest-sincos, - atest-exp2. - (tests-static): Add atest-exp, atest-sincos, atest-exp2. - (gmp-objs): Remove assignment. - (atest-exp, atest-sincos, atest-exp2): Remove targets. - -2017-08-22 Joseph Myers - - [BZ #21987] - * sysdeps/unix/sysv/linux/sparc/bits/long-double.h: Remove file - and copy to ... - * sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h: - ... here. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h: - ... and here. - - * assert/Makefile [$(have-cxx-thread_local)]: Move conditional - variable definitions above inclusion of ../Rules. - -2017-08-21 Joseph Myers - - * sysdeps/ieee754/k_standard.c (__kernel_standard): Add default - case calling __builtin_unreachable. - -2017-08-21 Adhemerval Zanella - - * libio/ioopen.c (_IO_waitpid): Replace waitpid_not_cancel with - __waitpid_nocancel. - * sysdeps/generic/not-cancel.h (waitpid_not_cancel): Remove macro. - (__waitpid_nocancel): New macro. - * sysdeps/unix/sysv/linux/not-cancel.h (waitpid_not_cancel): Remove - macro. - (__waitpid_nocancel): Replace macro with a function. - * sysdeps/unix/sysv/linux/waitpid.c (__waitpid_nocancel): New - function. - - * login/utmp_file.c (timeout_handler): Replace fcntl_not_cancel with - __fcntl_nocancel. - * sysdeps/generic/not-cancel.h (fcntl_not_cancel): Remove macro. - * sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Likewise. - - * gmon/gmon.c (write_hist): Replace writev_not_cancel_no_status with - __writev_nocancel_nostatus. - (write_call_graph): Likewise. - (write_bb_counts): Likewise. - * resolv/herror.c (herror): Likewise. - * sysdeps/generic/not-cancel.h (writev_not_cancel_no_status): Remove - macro. - (__writev_nocancel_nostatus): New macro. - * sysdeps/unix/sysv/linux/not-cancel.h (writev_not_cancel_no_status): - Remove macro. - (__writev_nocancel_nostatus): New function. - -2017-08-21 Joseph Myers - - Revert: - 2017-08-21 H.J. Lu - - * include/libc-symbols.h (__hidden_proto_hiddenattr): New for - building libc.a. - (hidden_proto): Likewise. - (hidden_tls_proto): Likewise. - (__hidden_proto): Likewise. - - [BZ #21973] - * sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file. - * sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S : Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise. - * sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add - GLIBC_2.0 sqrtl symbol. - - * math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove. - [__USE_MISC] (_LIB_VERSION): Likewise. - [__USE_MISC] (struct exception): Likewise. - [__USE_MISC] (matherr): Likewise. - [__USE_MISC] (DOMAIN): Likewise. - [__USE_MISC] (SING): Likewise. - [__USE_MISC] (OVERFLOW): Likewise. - [__USE_MISC] (UNDERFLOW): Likewise. - [__USE_MISC] (TLOSS): Likewise. - [__USE_MISC] (PLOSS): Likewise. - [__USE_MISC] (HUGE): Likewise. - [__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC]. - * math/math-svid-compat.h: New file. - * conform/linknamespace.pl (@whitelist): Remove matherr, matherrf - and matherrl. - * include/math.h [!_ISOMAC] (__matherr): Remove. - * manual/arith.texi (FP Exceptions): Do not document matherr. - * math/Makefile (tests): Change test-matherr to test-matherr-3. - (tests-internal): New variable. - (install-lib): Do not add libieee.a. - (non-lib.a): Likewise. - (extra-objs): Do not add libieee.a and ieee-math.o. - (CPPFLAGS-s_lib_version.c): Remove variable. - ($(objpfx)libieee.a): Remove rule. - ($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm). - * math/ieee-math.c: Remove. - * math/libm-test-support.c (matherr): Remove. - * math/test-matherr.c: Use . Add copyright - and license notices. Include and - . - (matherr): Undefine as macro. Use compat_symbol_reference. - (_LIB_VERSION): Likewise. - * math/test-matherr-2.c: New file. - * math/test-matherr-3.c: Likewise. - * sysdeps/generic/math_private.h (__kernel_standard): Remove - declaration. - (__kernel_standard_f): Likewise. - (__kernel_standard_l): Likewise. - * sysdeps/ieee754/s_lib_version.c: Do not include or - . Include . - (_LIB_VERSION): Undefine as macro. - (_LIB_VERSION_INTERNAL): Always initialize to _POSIX_. Define - only if [LIBM_SVID_COMPAT || !defined SHARED]. If - [LIBM_SVID_COMPAT], use compat_symbol. - * sysdeps/ieee754/s_matherr.c: Do not include or - . Include . - (matherr): Undefine as macro. - (__matherr): Define only if [LIBM_SVID_COMPAT]. Use - compat_symbol. - * sysdeps/ia64/fpu/libm_error.c: Include . - [_LIBC && LIBM_SVID_COMPAT] (matherrf): Use - compat_symbol_reference. - [_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise. - [_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro. - [_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise. - * sysdeps/ia64/fpu/libm_support.h: Include . - (MATHERR_D): Remove declaration. - [!_LIBC] (_LIB_VERSION_TYPE): Likewise - [!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise. - [LIBM_BUILD] (pmatherrf): Likewise. - [LIBM_BUILD] (pmatherr): Likewise. - [LIBM_BUILD] (pmatherrl): Likewise. - (DOMAIN): Likewise. - (SING): Likewise. - (OVERFLOW): Likewise. - (UNDERFLOW): Likewise. - (TLOSS): Likewise. - (PLOSS): Likewise. - * sysdeps/ia64/fpu/s_matherrf.c: Include . - (__matherrf): Define only if [LIBM_SVID_COMPAT]. Use - compat_symbol. - * sysdeps/ia64/fpu/s_matherrl.c: Include . - (__matherrl): Define only if [LIBM_SVID_COMPAT]. Use - compat_symbol. - * math/lgamma-compat.h: Include . - * math/w_acos_compat.c: Likewise. - * math/w_acosf_compat.c: Likewise. - * math/w_acosh_compat.c: Likewise. - * math/w_acoshf_compat.c: Likewise. - * math/w_acoshl_compat.c: Likewise. - * math/w_acosl_compat.c: Likewise. - * math/w_asin_compat.c: Likewise. - * math/w_asinf_compat.c: Likewise. - * math/w_asinl_compat.c: Likewise. - * math/w_atan2_compat.c: Likewise. - * math/w_atan2f_compat.c: Likewise. - * math/w_atan2l_compat.c: Likewise. - * math/w_atanh_compat.c: Likewise. - * math/w_atanhf_compat.c: Likewise. - * math/w_atanhl_compat.c: Likewise. - * math/w_cosh_compat.c: Likewise. - * math/w_coshf_compat.c: Likewise. - * math/w_coshl_compat.c: Likewise. - * math/w_exp10_compat.c: Likewise. - * math/w_exp10f_compat.c: Likewise. - * math/w_exp10l_compat.c: Likewise. - * math/w_exp2_compat.c: Likewise. - * math/w_exp2f_compat.c: Likewise. - * math/w_exp2l_compat.c: Likewise. - * math/w_fmod_compat.c: Likewise. - * math/w_fmodf_compat.c: Likewise. - * math/w_fmodl_compat.c: Likewise. - * math/w_hypot_compat.c: Likewise. - * math/w_hypotf_compat.c: Likewise. - * math/w_hypotl_compat.c: Likewise. - * math/w_j0_compat.c: Likewise. - * math/w_j0f_compat.c: Likewise. - * math/w_j0l_compat.c: Likewise. - * math/w_j1_compat.c: Likewise. - * math/w_j1f_compat.c: Likewise. - * math/w_j1l_compat.c: Likewise. - * math/w_jn_compat.c: Likewise. - * math/w_jnf_compat.c: Likewise. - * math/w_jnl_compat.c: Likewise. - * math/w_lgamma_main.c: Likewise. - * math/w_lgamma_r_compat.c: Likewise. - * math/w_lgammaf_main.c: Likewise. - * math/w_lgammaf_r_compat.c: Likewise. - * math/w_lgammal_main.c: Likewise. - * math/w_lgammal_r_compat.c: Likewise. - * math/w_log10_compat.c: Likewise. - * math/w_log10f_compat.c: Likewise. - * math/w_log10l_compat.c: Likewise. - * math/w_log2_compat.c: Likewise. - * math/w_log2f_compat.c: Likewise. - * math/w_log2l_compat.c: Likewise. - * math/w_log_compat.c: Likewise. - * math/w_logf_compat.c: Likewise. - * math/w_logl_compat.c: Likewise. - * math/w_pow_compat.c: Likewise. - * math/w_powf_compat.c: Likewise. - * math/w_powl_compat.c: Likewise. - * math/w_remainder_compat.c: Likewise. - * math/w_remainderf_compat.c: Likewise. - * math/w_remainderl_compat.c: Likewise. - * math/w_scalb_compat.c: Likewise. - * math/w_scalbf_compat.c: Likewise. - * math/w_scalbl_compat.c: Likewise. - * math/w_sinh_compat.c: Likewise. - * math/w_sinhf_compat.c: Likewise. - * math/w_sinhl_compat.c: Likewise. - * math/w_sqrt_compat.c: Likewise. - * math/w_sqrtf_compat.c: Likewise. - * math/w_sqrtl_compat.c: Likewise. - * math/w_tgamma_compat.c: Likewise. - * math/w_tgammaf_compat.c: Likewise. - * math/w_tgammal_compat.c: Likewise. - * sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise. - * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise. - * sysdeps/ieee754/k_standard.c: Likewise. - * sysdeps/ieee754/k_standardf.c: Likewise. - * sysdeps/ieee754/k_standardl.c: Likewise. - * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise. - * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise. - * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise. - * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise. - * sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S: - Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise. - * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise. - * sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise. - * sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise. - -2017-08-21 Florian Weimer - - [BZ #21864] - Do not compile benchmark helper objects with -DMODULE_NAME=libc. - * benchtests/Makefile (others-extras): Set to $(bench-extra-objs). - Move before inclusion of ../Rules. - -2017-08-21 Florian Weimer - - [BZ #21972] - * assert/assert.h (assert): Use static_cast (bool) for C++. - Use the ternary operator in the warning branch for GNU C. - * assert/Makefile (tests): Add tst-assert-c++, tst-assert-g++. - (CFLAGS-tst-assert-c++.o): Compile in C++11 mode. - (CFLAGS-tst-assert-g++.o): Compile in GnU C++11 mode. - (LDLIBS-tst-assert-c++, LDLIBS-tst-assert-g++): Link with libstdc++. - * assert/tst-assert-c++.cc, assert/tst-assert-g++.cc: New files. - -2017-08-21 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/x86_64/init-first.c - (__syscall_clock_gettime): Add attribute_hidden. - * sysdeps/unix/sysv/linux/x86_64/makecontext.c - (__start_context): Likewise. - -2017-08-21 H.J. Lu - - * include/libc-symbols.h (__hidden_proto_hiddenattr): New for - building libc.a. - (hidden_proto): Likewise. - (hidden_tls_proto): Likewise. - (__hidden_proto): Likewise. - -2017-08-21 H.J. Lu - - * include/libc-symbols.h (attribute_hidden): Enable hidden - visibility in libc.a compiled with PIE. - -2017-08-21 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/x86/libc-vdso.h (VDSO_SYMBOL(getcpu)): - Add attribute_hidden. - -2017-08-21 H.J. Lu - - [BZ #21864] - * Makerules (all-nonlib): Add $(others-extras). - * catgets/Makefile (others-extras): New. - * elf/Makefile (others-extras): Likewise. - * nss/Makefile (others-extras): Likewise. - -2017-08-21 H.J. Lu - - [BZ #18822] - * csu/libc-start.c (__libc_multiple_libcs): Removed. - * elf/dl-open.c: Include . - (__libc_multiple_libcs): Removed. - * elf/dl-sysdep.c: Include instead of - . - * include/libc-internal.h (__libc_multiple_libcs): New. - * misc/sbrk.c: Include . - (__libc_multiple_libcs): Removed. - -2017-08-21 H.J. Lu - - [BZ #18822] - * grp/initgroups.c (__nss_group_database): Removed. - (__nss_initgroups_database): Likewise. - * nscd/gai.c (__nss_hosts_database): Likewise. - * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise. - * posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise. - * posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise. - * posix/tst-rfc3484.c (__nss_hosts_database): Likewise. - * sysdeps/posix/getaddrinfo.c (__nss_hosts_database): Likewise. - * nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add - attribute_hidden. - * nss/nsswitch.c (__nss_database_custom): Define only if - USE_NSCD is defined. - (__nss_configure_lookup): Use __nss_database_custom only if - USE_NSCD is defined. - * nss/nsswitch.h (__nss_database_custom): Declare only if - USE_NSCD is defined. Add attribute_hidden. - (__nss_setent): Add attribute_hidden. - (__nss_endent): Likewise. - (__nss_getent_r): Likewise. - (__nss_getent): Likewise. - (DEFINE_DATABASE): Declare __nss_##arg##_database. - -2017-08-20 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add - libc_hidden_proto and libc_hidden_def. - -2017-08-20 H.J. Lu - - [BZ #18822] - * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_readdir64): - Add libc_hidden_proto. - * sysdeps/unix/sysv/linux/i386/readdir64.c (__old_readdir64): - Add libc_hidden_def. - -2017-08-20 H.J. Lu - - [BZ #21974] - * gmon/Makefile (routines): Remove bb_init_func and - bb_exit_func. - (elide-routines.os): Removed. - * gmon/bb_exit_func.c: Likewise. - * gmon/bb_init_func.c: Likewise. - * include/sys/gmon.h (__bb): Likewise. - (__bb_init_func): Likewise. - (__bb_exit_func): Likewise. - * sysdeps/alpha/bb_init_func.S: Likewise. - -2017-08-20 H.J. Lu - - * debug/longjmp_chk.c (____longjmp_chk): Moved to ... - * include/setjmp.h (____longjmp_chk): Here. Add - attribute_hidden. - -2017-08-19 H.J. Lu - - [BZ #18822] - * sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE2): Add - attribute_hidden. - (__strspn_sse2): Likewise. - -2017-08-18 Adhemerval Zanella - - * sysdeps/generic/not-cancel.h (close_not_cancel): Remove macro. - (close_not_cancel_no_status): Likewise. - (__close_nocancel): New macro. - (__close_nocancel_nostatus): Likewise. - * sysdeps/unix/sysv/linux/not-cancel.h (__close_nocancel): Remove - macro. - (close_not_cancel): Likewise. - (close_not_cancel_no_status): Likewise. - (__close_nocancel): New prototype. - (__close_nocancel_nostatus): New function. - * sysdeps/unix/sysv/linux/close.c (__close_nocancel): New function. - * catgets/open_catalog.c (__open_catalog): Replace - close_not_cancel{_no_status) with __close_nocancel{_nostatus}. - * gmon/gmon.c (write_gmon): Likewise. - * iconv/gconv_cache.c (__gconv_load_cache): Likewise. - * intl/loadmsgcat.c (close): Likewise. - * io/ftw.c (open_dir_stream): Likewise. - (ftw_startup): Likewise. - * libio/fileops.c (_IO_file_open): Likewise. - (_IO_file_close_mmap): Likewise. - (_IO_file_close): Likewise. - * libio/iopopen.c (_IO_dup2): Likewise. - * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. - * locale/loadlocale.c (_nl_load_locale): Likewise. - * login/utmp_file.c (pututline_file): Likewise. - (endutent_file): Likewise. - * misc/daemon.c (daemon): Likewise. - * nscd/nscd_getai.c (__nscd_getai): Likewise. - * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. - * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise. - * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise. - * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise. - * nscd/nscd_helper.c (open_socket): Likewise. - (__nscd_open_socket): Likewise. - * nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise. - * nscd/nscd_netgroup.c (__nscd_setnetgrent): Likewise. - (__nscd_innetgr): Likewise. - * nss/nss_db/db-open.c (internal_setent): Likewise. - * resolv/res-close.c (__res_iclose): Likewise. - * sunrpc/pm_getmaps.c (pmap_getmaps): Likewise. - * sysdeps/posix/closedir.c (__closedir): Likewise. - * sysdeps/posix/getaddrinfo.c (getaddrinfo): Likewise. - * sysdeps/posix/getcwd.c (__getcwd): Likewise. - * sysdeps/posix/opendir.c (tryopen_o_directory): Likewise. - (opendir_tail): Likewise. - * sysdeps/posix/spawni.c (__spawni_child): Likewise. - * sysdeps/unix/sysv/linux/check_native.c (__check_native): Likewise. - * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Likewise. - * sysdeps/unix/sysv/linux/fips-private.h (fips_enabled_p): Likewise. - * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise. - (gethostid): Likewise. - * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise. - * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): - Likewise. - * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise. - * sysdeps/unix/sysv/linux/grantpt.c (close_all_fds): Likewise. - * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise. - * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock): - Likewise. - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Likewise. - * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): Likewise. - * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap): - Likewise. - * sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Likewise. - * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np): - Likewise. - * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np): - Likewise. - * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise. - * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. - * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add - __close_nocancel. - - * sysdeps/generic/not-cancel.h (openat_not_cancel): Remove macro. - (openat_not_cancel_3): Likewise. - (openat64_not_cancel_3): Likewise). - (openat_not_cancel_3): Likewise). - * sysdeps/unix/sysv/linux/not-cancel.h (openat_not_cancel): Remove - macro. - (openat_not_cancel_3): Likewise. - (openat64_not_cancel): Likewise. - (openat64_not_cancel_3): Likewise. - * sysdeps/unix/sysv/linux/openat.c (__openat_nocancel): New function. - * sysdeps/unix/sysv/linux/openat64.c (__openat64_nocancel): Likewise. - * io/ftw.c (open_dir_stream): Replace openat{64}_not_cancel{_3} with - __open{64}_nocancel. - * sysdeps/mach/hurd/opendir.c (__opendirat): Likewise. - * sysdeps/posix/getcwd.c (__getcwd): Likewise. - * sysdeps/posix/opendir.c (__opendirat): Likewise. - -2017-08-18 H.J. Lu - - [BZ #18822] - * include/argz.h (__argz_create_sep): New function prototype. - (__argz_append): Likewise. - (__argz_add): Likewise. - (__argz_add_sep): Likewise. - (__argz_delete): Likewise. - (__argz_insert): Likewise. - (__argz_replace): Likewise. - * string/argz.h (__argz_create_sep): Removed. - (__argz_append): Likewise. - (__argz_add): Likewise. - (__argz_add_sep): Likewise. - (__argz_delete): Likewise. - (__argz_insert): Likewise. - (__argz_replace): Likewise. - -2017-08-18 H.J. Lu - - * elf/elf.h (NT_GNU_PROPERTY_TYPE_0): New. - (NOTE_GNU_PROPERTY_SECTION_NAME): Likewise. - (GNU_PROPERTY_STACK_SIZE): Likewie. - (GNU_PROPERTY_NO_COPY_ON_PROTECTED): Likewie. - (GNU_PROPERTY_LOPROC): Likewise. - (GNU_PROPERTY_HIPROC): Likewise. - (GNU_PROPERTY_LOUSER): Likewise. - (GNU_PROPERTY_HIUSER): Likewise. - (GNU_PROPERTY_X86_ISA_1_USED): Likwise. - (GNU_PROPERTY_X86_ISA_1_NEEDED): Likwise. - (GNU_PROPERTY_X86_FEATURE_1_AND): Likwise. - (GNU_PROPERTY_X86_ISA_1_486): Likwise. - (GNU_PROPERTY_X86_ISA_1_586): Likwise. - (GNU_PROPERTY_X86_ISA_1_686): Likwise. - (GNU_PROPERTY_X86_ISA_1_SSE): Likwise. - (GNU_PROPERTY_X86_ISA_1_SSE2): Likwise. - (GNU_PROPERTY_X86_ISA_1_SSE3): Likwise. - (GNU_PROPERTY_X86_ISA_1_SSSE3): Likwise. - (GNU_PROPERTY_X86_ISA_1_SSE4_1): Likwise. - (GNU_PROPERTY_X86_ISA_1_SSE4_2): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX2): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX512F): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX512CD): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX512ER): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX512PF): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX512VL): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likwise. - (GNU_PROPERTY_X86_ISA_1_AVX512BW): Likwise. - (GNU_PROPERTY_X86_FEATURE_1_IBT): Likwise. - (GNU_PROPERTY_X86_FEATURE_1_SHSTK): Likwise. - -2017-08-18 Gabriel F. T. Gomes - - * misc/sys/cdefs.h (__HAVE_GENERIC_SELECTION): Define to 0, if - in C++ mode. - -2017-08-18 Gabriel F. T. Gomes - - [BZ #21930] - * math/math.h (isinf): Check if in C or C++ mode before using - __builtin_types_compatible_p, since this is a C mode feature. - -2017-08-18 Adhemerval Zanella - - * sysdeps/generic/not-cancel.h (write_not_cancel): Remove macro. - (__write_nocancel): New macro. - * sysdeps/unix/sysv/linux/not-cancel.h (__write_nocancel): - Rewrite as a function prototype. - (write_not_cancel): Remove macro. - * sysdeps/unix/sysv/linux/write.c (__write_nocancel): New function. - * gmon/gmon.c (ERR): Replace write_not_cancel with __write_nocancel. - (write_gmon): Likewise. - * libio/fileops.c (_IO_new_file_write): Likewise. - * login/utmp_file.c (pututline_file): Likewise. - (updwtmp_file): Likewise. - * stdio-common/psiginfo.c (psiginfo): Likewise. - * sysdeps/posix/spawni.c (__spawni_child): Likewise. - * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise. - * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): - Likewise. - * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np): - Likewise. - - * sysdeps/generic/not-cancel.h (read_not_cancel): Remove macro. - (__read_nocancel): New macro. - * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add - __read_nocancel. - * sysdeps/unix/sysv/linux/not-cancel.h (__read_nocancel): Remove - macro. - (__read_nocancel): New prototype. - * sysdeps/unix/sysv/linux/read.c (__read_nocancel): New function. - * catgets/open_catalog.c (__open_catalog): Replace read_not_cancel - with __read_nocancel. - * intl/loadmsgcat.c (read): Likewise. - * libio/fileops.c (_IO_file_read): Likewise. - * locale/loadlocale.c (_nl_load_locale): Likewise. - * login/utmp_file.c (getutent_r_file): Likewise. - (internal_getut_r): Likewise. - (getutline_r_file): Likewise. - * sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise. - * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise. - * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise. - * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): - Likewise. - * sysdeps/unix/sysv/linux/getsysstats.c (next_line): Likewise. - * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise. - * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock): - Likewise. - * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): - Likewise. - * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap): - Likewise. - * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np): - Likewise. - * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. - -2017-08-18 H.J. Lu - - [BZ #21966] - * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h - (IFUNC_SELECTOR): Don't use the AVX2 version if FMA isn't - usable. - -2017-08-17 DJ Delorie - - * bug17079.c: Update to new test harness. - * test-digits-dots.c: Likewise. - * test-netdb.c: Likewise. - * tst-field.c: Likewise. - * tst-nss-getpwent.c: Likewise. - * tst-nss-static.c: Likewise. - * tst-nss-test1.c: Likewise. - * tst-nss-test2.c: Likewise. - * tst-nss-test3.c: Likewise. - * tst-nss-test4.c: Likewise. - * tst-nss-test5.c: Likewise. - -2017-08-17 Adhemerval Zanella - - * sysdeps/generic/not-cancel.h (open_not_cancel): Remove macro. - (open_not_cancel_2): Likewise. - (open_nocancel): New macro. - (open64_nocancel): Likewise. - * sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Remove macro. - (open_not_cancel_2): Likewise. - (__open_nocancel): New prototype. - (__open64_nocancel): Likewise. - * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add - __open_nocancel. - * sysdeps/unix/sysv/linux/open.c (__open_nocancel): New function. - * sysdeps/unix/sysv/linux/open64.c (__open64_nocancel): Likewise. - * catgets/open_catalog.c (__open_catalog): Replace open_not_cancel{_2} - with __open_nocancel. - * csu/check_fds.c (check_one_fd): Likewise. - * gmon/gmon.c (write_gmon): Likewise. - * iconv/gconv_cache.c (__gconv_load_cached): Likewise. - * intl/loadmsgcat.c (open): Likewise. - * libio/fileops.c (_IO_file_open): Likewise. - * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. - * locale/loadlocale.c (_nl_load_locale): Likewise. - * login/utmp_file.c (setutent_file): Likewise. - * misc/daemon.c (daemon): Likewise. - * nss/nss_db/db-open.c (internal_setent): Likewise. - * sysdeps/mach/hurd/opendir.c (__opendirat): Likewise. - * sysdeps/posix/libc_fatal.c (__libc_message): Likewise. - * sysdeps/posix/opendir.c (tryopen_o_directory): Likewise. - (__opendir): Likewise. - * sysdeps/posix/spawni.c (__spawni_child): Likewise. - * sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise. - * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise. - (gethostid): Likewise. - * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise. - * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): - Likewise. - * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise. - * sysdeps/unix/sysv/linux/grantpt.c (__close_all_fds): Likewise. - * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise. - * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock): - Likewise. - * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): - Likewise. - * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap): - Likewise. - * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c (__get_clockfreq): - Likewise. - * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np): - Likewise. - * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np): - Likewise. - * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise. - * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. - -2017-08-17 Wilco Dijkstra - - * benchtests/bench-skeleton.c (main): Add support for - latency benchmarking. - * benchtests/scripts/bench.py: Add support for latency benchmarking. - -2017-08-17 H.J. Lu - - * Makeconfig (+link-pie-before-libc): Add CRT-* hook to override - the startup object. - -2017-08-17 Florian Weimer - - * include/sys/socket.h (__opensock): Remove internal_function. - * socket/opensock.c (__opensock): Likewise. - * sysdeps/unix/sysv/linux/opensock.c (__opensock): Likewise. - -2017-08-16 Joseph Myers - - [BZ #21944] - * signal/bits/types/__sigval_t.h: New file. - * signal/Makefile (headers): Add bits/types/__sigval_t.h. - * signal/bits/types/sigval_t.h: Include - and define sigval_t using __sigval_t. - * include/bits/types/__sigval_t.h: New file. - * bits/types/sigevent_t.h: Include - instead of . - (struct sigevent): Use __sigval_t instead of sigval_t. - * bits/types/siginfo_t.h: Include - instead of . - (siginfo_t): Use __sigval_t instead of sigval_t. - * sysdeps/unix/sysv/linux/bits/types/sigevent_t.h: Include - instead of . - (struct sigevent): Use __sigval_t instead of sigval_t. - * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h: Include - instead of . - (siginfo_t): Use __sigval_t instead of sigval_t. - * signal/signal.h [__USE_MISC]: Include . - -2017-08-16 H.J. Lu - - * NEWS: Remove "[Add new features here]" for 2.27. - -2017-08-16 Joseph Myers - - * sysdeps/unix/sysv/linux/sh/localplt.data: Allow abort in - libc.so. - -2017-08-16 H.J. Lu - - * NEWS: Mention x86-64 FMA optimization. - -2017-08-16 H.J. Lu - - [BZ #21912] - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_expf-fma. - * sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: New file. - * sysdeps/x86_64/fpu/multiarch/e_expf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/ifunc-fma.h: Likewise. - -2017-08-16 Andreas Schwab - - [BZ #16750] - CVE-2009-5064 - * elf/ldd.bash.in: Never run file directly. - -2017-08-15 H.J. Lu - - [BZ #21955] - * sysdeps/x86_64/fpu/e_expf.S (L(SP_RANGE)): Aligned to 8 bytes. - (L(SP_INF_0)): Likewise. - -2017-08-15 Florian Weimer - - * gmon/Makefile (tests-special): Add tst-gmon-prof only if - run-built-tests. - -2017-08-15 Florian Weimer - - Remove BROKEN_THREAD_SIGNALS support for LinuxThreads. - * sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Remove - BROKEN_THREAD_SIGNALS code. - * sysdeps/ppthread/aio_misc.h (struct waitlist, struct - request_list): Remove caller_pid member used for - BROKEN_THREAD_SIGNALS. - [BROKEN_THREAD_SIGNALS] (__aio_notify_only): Remove declaration. - * sysdeps/pthread/aio_notify.c (__aio_notify_only, __aio_notify): - Remove BROKEN_THREAD_SIGNALS support. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/lio_listio.c (lio_listio_internal): Likewise. - -2017-08-15 Florian Weimer - - * gmon/Makefile (tests): Add tst-gmon. - (CFLAGS-tst-gmon.c, LDFLAGS-tst-gmon, CRT-tst-gmon, tst-gmon-ENV): - Set. - (tests-special): Add tst-gmon-prof.out. - (tst-gmon.out): Depend on clean-tst-gmon-data. - (clean-tst-gmon-data, tst-gmon-gprof.out): New targets. - * gmon/tst-gmon.c, gmon/tst-gmon-gprof.sh: New files. - * Makeconfig (+link-before-libc): Add CRT-* hook to override the - startup object. - * aclocal.m4 (GPROF): Set and substitute. - * config.amke.in (GPROF): Set. - * configure: Regenerate. - -2017-08-15 Gustavo Romero - - * elf/elf.h A (NT_PPC_TAR): New macro. - (NT_PPC_PPR): Likewise. - (NT_PPC_DSCR): Likewise. - (NT_PPC_EBB): Likewise. - (NT_PPC_PMU): Likewise. - (NT_PPC_TM_CGPR): Likewise. - (NT_PPC_TM_CFPR): Likewise. - (NT_PPC_TM_CVMX): Likewise. - (NT_PPC_TM_CVSX): Likewise. - (NT_PPC_TM_SPR): Likewise. - (NT_PPC_TM_CTAR): Likewise. - (NT_PPC_TM_CPPR): Likewise. - (NT_PPC_TM_CDSCR): Likewise. - -2017-08-15 Florian Weimer - - * sysdeps/i386/machine-gmon.h (mcount_internal): Declare with - regparm (2) instead of internal_function. - (_MCOUNT_DECL): Adjust. - -2017-08-15 Stefan Liebler - - * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add z14. - * sysdeps/s390/dl-procinfo.h (_DL_PLATFORMS_COUNT): Increased. - -2017-08-14 Joseph Myers - - * conform/data/sys/wait.h-data (si_value): Do not expect for - XPG42. - -2017-08-14 Florian Weimer - - [BZ #21962] - NSS: Create stubs for accidentally exported lookup functions. - * grp/initgroups.c (__nss_group_lookup, __nss_lookup_function): - Remove declaration. - * inet/ether_hton.c (__nss_ethers_lookup): Likewise. - (ether_hostton): Call __nss_ethers_lookup2 instead. - * inet/ether_ntoh.c (__nss_ethers_lookup): Remove declaration. - (ether_ntohost): Call __nss_ethers_lookup2 instead. - * inet/getnetgrent_r.c (__nss_netgroup_lookup): Remove declaration. - (setup): Call __nss_netgroup_lookup2 instead. - * nss/Makefile (routines): Add compat-lookup. - * nss/Versions (GLIBC_2.27): Add symbol version. - * nss/XXX-lookup (DB_LOOKUP_FCT): Remove declaration. Now provided by . - (DB_COMPAT_FCT): Remove. - * nss/compat-lookup.c: New file. - * nss/nsswitch.h: Generate __nss_*_lookup2 function prototypes - from databases.def. - * nss/service-lookup.c (NO_COMPAT): Remove definition. - * sunrpc/netname.c (__nss_publickey_lookup): Remove declaration. - (netname2user): Call __nss_publickey_lookup2 instead. - * sunrpc/publickey.c (__nss_publickey_lookup): Remove declaration. - (getpublickey, getsecretkey): Call __nss_publickey_lookup2 - instead. - -2017-08-14 Adhemerval Zanella - Sergei Trofimovich - - [BZ #21908] - * sysdeps/unix/sysv/linux/m68k/mmap_internal.h (MMAP2_PAGE_SHIFT): - Rename to MMAP2_PAGE_UNIT. - * sysdeps/unix/sysv/linux/mmap.c: Include mmap_internal iff - __OFF_T_MATCHES_OFF64_T is not defined. - * sysdeps/unix/sysv/linux/mmap_internal.h (page_unit): Declare as - uint64_t. - (MMAP2_PAGE_UNIT) [MMAP2_PAGE_UNIT == -1]: Redefine to page_unit. - (page_unit) [MMAP2_PAGE_UNIT != -1]: Remove definition. - -2017-08-14 Florian Weimer - - i386: Do not set internal_function. - * config.h.in (USE_REGPARMS, internal_function): Remove. - * sysdeps/i386/configure.ac (USE_REGPARMS): Likewise. - * sysdeps/i386/configure (USE_REGPARMS): Likewise. - -2017-08-14 Florian Weimer - - * elf/dl-init.c (_dl_init): Remove internal_function. - * sysdeps/generic/ldsodefs.h (_dl_init): Likewise. - * sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to _dl_init. - -2017-08-14 Florian Weimer - - * elf/rtld.c (_dl_start): Remove internal_function. - * sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to - _dl_start. - -2017-08-14 Florian Weimer - - * elf/dl-fini.c (_dl_fini): Remove internal_function - * sysdeps/generic/ldsodefs.h (_dl_fini): Likewise. - -2017-08-14 H.J. Lu - - * sysdeps/x86/cpu-features.h (bit_cpu_IBT): New. - (bit_cpu_SHSTK): Likewise. - (index_cpu_IBT): Likewise. - (index_cpu_SHSTK): Likewise. - (reg_IBT): Likewise. - (reg_SHSTK): Likewise. - * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)): - Handle index_cpu_IBT and index_cpu_SHSTK. - -2017-08-14 Mike FABIAN - - [BZ #19982] - * po/fr.po: Fix spelling mistake. - -2017-08-13 Florian Weimer - - * elf/dl-addr.c (_dl_addr): Remove internal_function. - * elf/dl-error-skeleton.c (_dl_signal_error, _dl_signal_cerror) - (_dl_catch_error, _dl_receive_error): Likewise. - * elf/dl-open.c (_dl_find_dso_for_object): Likewise. - * elf/dl-tls.c (_dl_allocate_tls_init, _dl_allocate_tls) - (_dl_deallocate_tls): Likewise. - * include/dlfcn.h (_dl_addr): Likewise. - * sysdeps/generic/ldsodefs.h (_dl_signal_error, _dl_signal_cerror) - (_dl_catch_error, _dl_receive_error, _dl_find_dso_for_object) - (_dl_allocate_tls_init, _dl_allocate_tls, _dl_deallocate_tls): - Likewise. - -2017-08-13 Florian Weimer - - * include/stdlib.h: (__strtof_nan, __strtod_nan, __strtold_nan) - (__wcstof_nan, __wcstod_nan, __wcstold_nan): Remove - internal_function. - * stdlib/sttod_nan_main.c (STRTOD_NAN): Likewise. - -2017-08-13 Florian Weimer - - * elf/dl-support.c (_dl_make_stack_executable_hook): Remove - internal_function. - * nptl/allocatestack.c (__make_stacks_executable): Likewise. - * nptl/pthreadP.h (__make_stacks_executable): Likewise. - * sysdeps/generic/ldsodefs.h (_rtld_global): Remove - internal_function from _dl_make_stack_executable_hook member. - (_dl_make_stack_executable): Remove internal_function. - * sysdeps/mach/hurd/dl-execstack.c (_dl_make_stack_executable): - Likewise. - * sysdeps/unix/sysv/linux/dl-execstack.c - (_dl_make_stack_executable): Likewise. - -2017-08-13 Florian Weimer - - * sysdeps/unix/sysv/linux/netlinkaccess.h - (__netlink_assert_response): Remove internal_function. - * sysdeps/unix/sysv/linux/netlink_assert_response.c - (__netlink_assert_response): Likewise. - -2017-08-13 Florian Weimer - - * include/rpc/pmap_clnt.h (__libc_rpc_getport): Remove - internal_function. - * sunrpoc/pm_getport.c (__libc_rpc_getport): Likewise. - -2017-08-13 Florian Weimer - - * grp/grp-merge.h (__copy_grp, __merge_grp): Remove - internal_function. - * grp/grp-merge.c (__copy_grp, __merge_grp): Likewise. - * inet/netgroup.h (__internal_setnetgrent) - (__internal_endnetgrent,__internal_getnetgrent_r): Likewise. - * inet/getnetgrent_r.c (__internal_setnetgrent) - (__internal_endnetgrent,__internal_getnetgrent_r): Likewise. - * nss/XXX-lookup.c (DB_LOOKUP_FCT, DB_COMPAT_FCT): Likewise. - * nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Likewise. - * nss/getXXent_r.c (DB_LOOKUP_FCT): Likewise. - * nss/nsswitch.h (db_lookup_function): Likewise. - -2017-08-13 Florian Weimer - - * debug/fortify_fail.c (__fortify_fail, __fortify_fail_abort): - Remove internal_function. - * include/stdio.h (__fortify_fail, __fortify_fail_abort): Likewise. - * sysdeps/mach/hurd/i386/____longjmp_chk.S (CALL_FAIL): Pass - message argument on the stack. - * sysdeps/unix/sysv/linux/i386/____longjmp_chk.S (CALL_FAIL): - Likeweise. - -2017-08-12 Mike FABIAN - - Adapt test case data to the changes in the thousands - separators. - - [BZ #20756] - * localedata/tst-langinfo.sh: Adapt test case data. - * stdlib/tst-strfmon_l.c: Likewise. - * stdlib/tst-strtod4.c: Likewise. - * stdlib/tst-strtod5i.c: Likewise. - -2017-08-11 Florian Weimer - - [BZ #21242] - * assert/assert.h [__GNUC__ && !__STRICT_ANSI__] (assert): - Suppress pedantic warning resulting from statement expression. - (__ASSERT_FUNCTION): Add missing __extension__. - -2017-08-11 Siddhesh Poyarekar - - * benchtests/bench-memmove-large.c: Print output in JSON - format. - * benchtests/bench-memmove.c: Likewise. - - * benchtests/bench-memccpy.c (do_one_test): Remove checks. - * benchtests/bench-memchr.c (do_one_test): Likewise. - * benchtests/bench-memcpy-large.c (do_one_test): Likewise. - * benchtests/bench-memcpy.c (do_one_test): Likewise. - * benchtests/bench-memmove-large.c (do_one_test): Likewise. - * benchtests/bench-memmove.c (do_one_test): Likewise. - * benchtests/bench-memset-large.c (do_one_test): Likewise. - * benchtests/bench-memset.c (do_one_test): Likewise. - * benchtests/bench-string.h (test_init): Remove memsets. - -2017-08-10 Rical Jasan - - * manual/lang.texi - (Computing the Width of an Integer Data Type): Rename section to - "Width of an Integer Type". Remove inaccurate statement regarding - lack of C language facilities for determining width of integer - types, and reorder content to improve flow and context of - discussion. - -2017-08-10 Rical Jasan - - * lang.texi (va_copy): Change standard from ISO to C99. - (__va_copy): Add standard and header annotation. - Update description for clarity of origins and current use. - -2017-08-10 Gabriel F. T. Gomes - - [BZ #21941] - * sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrtf128): Since - xssqrtqp requires operands to be in Vector Registers - (Altivec/VMX), replace the register constraint 'wq' with 'v'. - * sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c - (__ieee754_sqrtf128): Likewise. - -2017-08-10 Wilco Dijkstra - - * sysdeps/aarch64/memcmp.S (memcmp): - Rewrite of optimized memcmp. - -2017-08-10 Florian Weimer - - Introduce ld.so exceptions. - * sysdeps/generic/ldsodefs.h (struct dl_exception): Define. - (_dl_exception_create, _dl_exception_create_format) - (_dl_exception_free, _dl_signal_exception, _dl_signal_cexception) - (_dl_catch_exception): Declare. - (_dl_catch_error): Update comment. - * elf/dl-error-skeleton.c (struct catch): Replace objname, - errstring, malloced members with exception member. - (_dl_out_of_memory): Remove. - (fatal_error): New function, extracted from _dl_signal_error. - (_dl_signal_exception, _dl_signal_cexception): New functions. - (_dl_signal_error): Call _dl_exception_create to allocate an - exception object. - (_dl_catch_exception): New function, based on _dl_catch_error. - (_dl_catch_error): Implement using _dl_catch_exception. - * elf/dl-exception.c: New file. - * elf/Makefile (dl-routines): Add dl-exception. - (elide-routines.os): Likewise. - * elf/Version (ld/GLIBC_PRIVATE): Add _dl_exception_create, - _dl_exception_create_format, _dl_exception_free. - * elf/dl-deps.c (_dl_map_object_deps): Use _dl_catch_exception and - _dl_signal_exception. - * elf/dl-lookup.c (make_string): Remove. - (_dl_lookup_symbol_x): Use _dl_exception_create_format, - _dl_signal_cexception, _dl_exception_free. - * elf/dl-open.c (_dl_open): Use _dl_catch_exception and - _dl_signal_exception. - * elf/dl-sym.c (do_sym): Likewise. - * elf/dl-version.c (make_string): Remove. - (match_symbol): Use _dl_exception_create_format, - _dl_signal_cexception, _dl_exception_free. - (_dl_check_map_versions): Likewise. - * sysdeps/generic/localplt.data (ld.so): Add _dl_signal_exception, - _dl_catch_exception. - * sysdeps/unix/sysv/linux/aarch64/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/alpha/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/arm/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/hppa/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/i386/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/ia64/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/m68k/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/microblaze/localplt.data (ld.so): - Likewise. - * sysdeps/unix/sysv/linux/nios2/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data - (ld.so): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data - (ld.so): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data (ld.so): - Likewise. - * sysdeps/unix/sysv/linux/s390/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/sh/localplt.data (ld.so): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data (ld.so): - Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data (ld.so): - Likewise. - * sysdeps/x86_64/localplt.data (ld.so): Likewise. - -2017-08-10 Florian Weimer - - * inet/net-internal.h (__inet6_scopeid_pton): Remove - attribute_hidden, internal_function. - * inet/inet6_scopeid_pton.c (__inet6_scopeid_pton): Remove - internal_function. - -2017-08-10 Florian Weimer - - * malloc/malloc.c (get_max_fast): Reimplement as an inline - function which calls __builtin_unreachable. - -2017-08-10 Mike FABIAN - - * stdlib/tst-strfmon_l.c: Fix test cases to agree with the changes in - Indian monetary formatting - * stdlib/Makefile: Adapt list of locales needed for the tst-strfmon_l.c - test cases. - -2017-08-09 Dmitry V. Levin - - * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (enum __ptrace_request): - Fix typo in comment. - - [BZ #21928] - * sysdeps/unix/sysv/linux/sys/ptrace.h (enum __ptrace_flags, - PTRACE_SEIZE_DEVEL): Remove. - * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. - -2017-08-09 Joseph Myers - - * posix/bits/types.h (__qaddr_t): Remove. - - [BZ #21457] - * sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down. - (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to - __glibc_reserved1. - * sysdeps/generic/sys/ucontext.h (__ctx): New macro. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down. - (__ctxt): Likewise. - (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to - __glibc_reserved1. - * sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down. - (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to - __glibc_reserved1. - * sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down. - (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to - __glibc_reserved1. - * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New - macro. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro. - (ucontext_t): Use __ctx with uc_flags and uc_regspace. - * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move - undefine further down. - (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to - __glibc_reserved1. - * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move - undefine further down. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move - undefine further down. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use - __ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space. - Rename uc_pad to __glibc_reserved1. - * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move - undefine further down. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine - further down. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use - __ctx with uc_flags. - * sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro. - (ucontext_t): Use __ctx with uc_flags. - * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use - __ctx with uc_flags. - -2017-08-09 Florian Weimer - - [BZ #21932] - * nss/getXXbyYY_r.c (REENTRANT_NAME): Call __resolv_context_put - before early return. - -2017-08-09 Andreas Schwab - - [BZ #21041] - * sysdeps/unix/sysv/linux/s390/pt-longjmp.c: Update reference to - renamed alias. - - [BZ #21041] - * nptl/Makefile (tests) [$(build-shared) = yes]: Add - tst-compat-forwarder. - (modules-names): Add tst-compat-forwarder-mod. - ($(objpfx)tst-compat-forwarder): Depend on - $(objpfx)tst-compat-forwarder-mod.so. - * nptl/tst-compat-forwarder.c: New file. - * nptl/tst-compat-forwarder-mod.c: New file. - -2017-08-09 Siddhesh Poyarekar - - * sysdeps/aarch64/multiarch/memcpy_falkor.S: Fix code style in - comments. - - * manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor. - * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add - memcpy_falkor. - * sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC): - Bump. - (__libc_ifunc_impl_list): Add __memcpy_falkor. - * sysdeps/aarch64/multiarch/memcpy.c: Likewise. - * sysdeps/aarch64/multiarch/memcpy_falkor.S: New file. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): - Add falkor. - * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR): - New macro. - -2017-08-08 Adhemerval Zanella - - [BZ #759] - * manual/setjmp.texi (getcontex): Document uc_stack value - compatibility differences. - -2017-08-08 Joseph Myers - - * malloc/mcheck.c (old_free_hook): Use void * instead of __ptr_t. - (old_malloc_hook): Likewise. - (old_memalign_hook): Likewise. - (old_realloc_hook): Likewise. - (struct hdr): Likewise. - (flood): Likewise. - (freehook): Likewise. - (mallochook): Likewise. - (memalignhook): Likewise. - (reallochook): Likewise. - (mprobe): Likewise. - * malloc/mtrace.c (mallwatch): Likewise. - (tr_old_free_hook): Likewise. - (tr_old_malloc_hook): Likewise. - (tr_old_realloc_hook): Likewise. - (tr_old_memalign_hook): Likewise. - (tr_where): Likewise. - (lock_and_info): Likewise. - (tr_freehook): Likewise. - (tr_mallochook): Likewise. - (tr_reallochook): Likewise. - (tr_memalignhook): Likewise. - * misc/err.h [!__GNUC_VA_LIST] (__gnuc_va_list): Likewise. - * misc/mmap.c (__mmap): Likewise. - * misc/mmap64.c (__mmap64): Likewise. - * misc/mprotect.c (__mprotect): Likewise. - * misc/msync.c (msync): Likewise. - * misc/munmap.c (__munmap): Likewise. - * posix/posix_madvise.c (posix_madvise): Likewise. - * socket/send.c (__send): Likewise. - * socket/sendto.c (__sendto): Likewise. - * socket/setsockopt.c (__setsockopt): Likewise. - * string/memcmp.c (__ptr_t): Remove macro. - (MEMCMP): Use void * instead of ptr_t. - * string/memrchr.c (__ptr_t): Remove macro. - (__memrchr): Use void * instead of ptr_t. - * sysdeps/mach/hurd/dl-sysdep.c (__mmap): Likewise. - * sysdeps/mach/hurd/mmap.c (__mmap): Likewise. - * sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise. - * sysdeps/mach/mprotect.c (__mprotect): Likewise. - * sysdeps/mach/msync.c (msync): Likewise. - * sysdeps/mach/munmap.c (__munmap): Likewise. - * sysdeps/mips/bits/setjmp.h (struct __jmp_buf_internal_tag): - Likewise. - * sysdeps/posix/getcwd.c (__getcwd): Likewise. - * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise. - * sysdeps/powerpc/powerpc32/power4/memcpy.S (memcpy): Likewise. - * sysdeps/powerpc/powerpc32/power4/memset.S (memset): Likewise. - * sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Likewise. - * sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise. - * sysdeps/powerpc/powerpc32/power7/memcpy.S (memcpy): Likewise. - * sysdeps/powerpc/powerpc32/power7/mempcpy.S (__mempcpy): - Likewise. - * sysdeps/powerpc/powerpc32/power7/memset.S (memset): Likewise. - * sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise. - * sysdeps/powerpc/powerpc64/memset.S (memset): Likewise. - * sysdeps/powerpc/powerpc64/power4/memcpy.S (memcpy): Likewise. - * sysdeps/powerpc/powerpc64/power4/memset.S (memset): Likewise. - * sysdeps/powerpc/powerpc64/power6/memcpy.S (memcpy): Likewise. - * sysdeps/powerpc/powerpc64/power6/memset.S (memset): Likewise. - * sysdeps/powerpc/powerpc64/power7/memcpy.S (memcpy): Likewise. - * sysdeps/powerpc/powerpc64/power7/mempcpy.S (__mempcpy): - Likewise. - * sysdeps/powerpc/powerpc64/power7/memset.S (memset): Likewise. - * sysdeps/powerpc/powerpc64/power8/memset.S (memset): Likewise. - * sysdeps/tile/memcmp.c (__ptr_t): Remove macro. - (MEMCMP): Use void * instead of ptr_t. - * sysdeps/unix/sysv/linux/alpha/oldglob.c (old_glob_t): Likewise. - * sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise. - -2017-08-08 Florian Weimer - - * sysdeps/posix/getaddrinfo.c (gaih_inet): Remove unreachable - return statement. - -2017-08-08 H.J. Lu - - [BZ #21913] - * csu/libc-tls.c: Include first. - (__libc_setup_tls): Call _startup_fatal instead of __libc_fatal. - * elf/dl-tunables.c: Include first. - * include/libc-symbols.h (BUILD_PIE_DEFAULT): New. - * sysdeps/generic/startup.h: New file. - * sysdeps/unix/sysv/linux/i386/startup.h: Likewise. - * sysdeps/unix/sysv/linux/i386/brk.c [BUILD_PIE_DEFAULT != 0] - (I386_USE_SYSENTER): New. Defined to 0. - -2017-08-08 Andreas Schwab - - [BZ #21041] - * nptl/pt-longjmp.c (longjmp, siglongjmp): Don't use IFUNC resolver. - * nptl/pt-system.c (system): Likewise. - -2017-08-07 Adhemerval Zanella - - [BZ #21780] - * sysdeps/posix/preadv2.c (preadv2): Use ENOTSUP instead of - EOPNOTSUPP. - * sysdeps/posix/preadv64v2.c (preadv64v2): Likewise. - * sysdeps/posix/pwritev2.c (pwritev2): Likewise. - * sysdeps/posix/pwritev64v2.c (pwritev64v2): Likewise. - * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise. - * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise. - * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise. - * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise. - -2017-08-07 Joseph Myers - - [BZ #21899] - * bits/sigaction.h (struct sigaction): Define sa_handler and - sa_sigaction using union also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. - (SA_RESETHAND): Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h - (struct sigaction): Define sa_handler and sa_sigaction using union - also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. - (SA_RESETHAND): Likewise. - * sysdeps/unix/sysv/linux/bits/sigaction.h - (struct sigaction): Define sa_handler and sa_sigaction using union - also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. - (SA_RESETHAND): Likewise. - * sysdeps/unix/sysv/linux/hppa/bits/sigaction.h - (struct sigaction): Define sa_handler and sa_sigaction using union - also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. - (SA_RESETHAND): Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h - (struct sigaction): Define sa_handler and sa_sigaction using union - also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. - (SA_RESETHAND): Likewise. - * sysdeps/unix/sysv/linux/mips/bits/sigaction.h - (struct sigaction): Define sa_handler and sa_sigaction using union - also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. - (SA_RESETHAND): Likewise. - * sysdeps/unix/sysv/linux/s390/bits/sigaction.h - (struct sigaction): Define sa_handler and sa_sigaction using union - also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. - (SA_RESETHAND): Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h - (struct sigaction): Define sa_handler and sa_sigaction using union - also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. Define directly rather than as alias. - (SA_RESETHAND): Likewise. - (SA_INTERRUPT): Define only for [__USE_MISC]. - (SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC]. - (SA_ONESHOT): Define as alias of SA_RESETHAND, only for - [__USE_MISC]. - (SA_STACK): Define only for [__USE_MISC]. - * sysdeps/unix/sysv/linux/tile/bits/sigaction.h - (struct sigaction): Define sa_handler and sa_sigaction using union - also for [__USE_XOPEN_EXTENDED]. - (SA_ONSTACK): Change [__USE_UNIX98] condition to - [__USE_XOPEN_EXTENDED]. - (SA_RESTART): Likewise. - (SA_NODEFER): Likewise. - (SA_RESETHAND): Likewise. - (SA_NOPTRACE): Define only for [__USE_MISC]. - - * catgets/catgets.c (catgets): Use uintN_t instead of u_intN_t. - * catgets/catgetsinfo.h (struct catalog_obj): Likewise. - (struct catalog_info): Likewise. - * inet/htontest.c (lo): Likewise. - (foo): Likewise. - * inet/inet_lnaof.c (inet_lnaof): Likewise. - * inet/inet_net.c (inet_network): Likewise. - * inet/inet_netof.c (inet_netof): Likewise. - * inet/rcmd.c (__ivaliduser): Likewise. - (iruserok): Likewise. - * locale/loadlocale.c (_nl_intern_locale_data): Likewise. - * locale/programs/locale-spec.c (locale_special): Likewise. - * nis/nis_findserv.c (struct findserv_req): Likewise. - (__nis_findfastest_with_timeout): Likewise. - * nss/test-netdb.c (test_network): Likewise. - * resolv/inet_neta.c (inet_neta): Likewise. - * resolv/ns_date.c (ns_datetosecs): Likewise. - (SECS_PER_DAY): Likewise. - * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): - Likewise. - * resolv/res_comp.c (__putlong): Likewise. - (__putshort): Likewise. - (_getlong): Likewise. - (_getshort): Likewise. - * resolv/res_debug.c (p_time): Likewise. - (precsize_ntoa): Likewise. - (precsize_aton): Likewise. - (latlon2ul): Likewise. - (loc_aton): Likewise. - (loc_ntoa): Likewise. - * resolv/res_hconf.c (struct netaddr): Likewise. - (_res_hconf_reorder_addrs): Likewise. - * sunrpc/clnt_tcp.c (clnttcp_call): Likewise. - (clnttcp_control): Likewise. - * sunrpc/clnt_udp.c (clntudp_call): Likewise. - (clntudp_control): Likewise. - * sunrpc/clnt_unix.c (clntunix_call): Likewise. - (clntunix_control): Likewise. - * sunrpc/pmap_rmt.c (clnt_broadcast): Likewise. - * sunrpc/rpc/auth.h (union des_block): Likewise. - * sunrpc/tst-udp-nonblocking.c (do_test): Likewise. - * sunrpc/xdr_rec.c (struct rec_strm): Likewise. - (xdrrec_create): Likewise. - (xdrrec_endofrecord): Likewise. - (flush_out): Likewise. - * sunrpc/xdr_stdio.c (xdrstdio_getlong): Likewise. - (xdrstdio_putlong): Likewise. - * sysdeps/unix/sysv/linux/errqueue.h (struct sock_extended_err): - Likewise. - - * misc/sys/cdefs.h (__long_double_t): Remove. - * stdio-common/printf_fp.c (__printf_fp_l): Use long double - instead of __long_double_t, - * stdlib/strfmon_l.c (__vstrfmon_l): Likewise. - -2017-08-07 Siddhesh Poyarekar - - * benchtests/scripts/compare_strings.py: Avoid display error when - running on a text terminal. - - * benchtests/scripts/compare_strings.py (main): Add an - optional -base option. - (process_results): New argument base_func. - - * benchtests/bench-memcpy.c (test_main): Use TEST_NAME instead of - hardcoding memcpy. - * benchtests/bench-memcpy-large.c (test_name): Likewise. - * benchtests/bench-memcpy-random.c (test_name): Likewise. - -2017-08-07 Andreas Schwab - - * elf/Makefile ($(objpfx)tst-pathopt.out): Redirect output to target. - * grp/Makefile ($(objpfx)tst_fgetgrent.out): Likewise. - * intl/Makefile ($(objpfx)tst-gettext.out) - ($(objpfx)tst-translit.out, $(objpfx)tst-gettext2.out) - ($(objpfx)tst-gettext4.out, $(objpfx)tst-gettext6.out): Likewise. - * libio/Makefile ($(objpfx)test-freopen.out): Likewise. - * malloc/Makefile ($(objpfx)tst-mtrace.out): Likewise. - * nptl/Makefile ($(objpfx)tst-tls6.out): Likewise. - * posix/Makefile ($(objpfx)globtest.out) - ($(objpfx)wordexp-tst.out, $(objpfx)tst-getconf.out): Likewise. - * stdio-common/Makefile ($(objpfx)tst-unbputc.out) - ($(objpfx)tst-printf.out): Likewise. - * stdlib/Makefile ($(objpfx)tst-fmtmsg.out) - ($(objpfx)tst-setcontext3.out): Likewise. - -2017-08-07 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add e_exp-fma, e_log-fma, e_pow-fma, s_atan-fma, e_asin-fma, - e_atan2-fma, s_sin-fma, s_tan-fma, mplog-fma, mpa-fma, - slowexp-fma, slowpow-fma, sincos32-fma, doasin-fma, dosincos-fma, - halfulp-fma, mpexp-fma, mpatan2-fma, mpatan-fma, mpsqrt-fma, - and mptan-fma. - (CFLAGS-doasin-fma.c): New. - (CFLAGS-dosincos-fma.c): Likewise. - (CFLAGS-e_asin-fma.c): Likewise. - (CFLAGS-e_atan2-fma.c): Likewise. - (CFLAGS-e_exp-fma.c): Likewise. - (CFLAGS-e_log-fma.c): Likewise. - (CFLAGS-e_pow-fma.c): Likewise. - (CFLAGS-halfulp-fma.c): Likewise. - (CFLAGS-mpa-fma.c): Likewise. - (CFLAGS-mpatan-fma.c): Likewise. - (CFLAGS-mpatan2-fma.c): Likewise. - (CFLAGS-mpexp-fma.c): Likewise. - (CFLAGS-mplog-fma.c): Likewise. - (CFLAGS-mpsqrt-fma.c): Likewise. - (CFLAGS-mptan-fma.c): Likewise. - (CFLAGS-s_atan-fma.c): Likewise. - (CFLAGS-sincos32-fma.c): Likewise. - (CFLAGS-slowexp-fma.c): Likewise. - (CFLAGS-slowpow-fma.c): Likewise. - (CFLAGS-s_sin-fma.c): Likewise. - (CFLAGS-s_tan-fma.c): Likewise. - * sysdeps/x86_64/fpu/multiarch/doasin-fma.c: New file. - * sysdeps/x86_64/fpu/multiarch/dosincos-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_asin-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_atan2-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Likewise. - * sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Likewise. - * sysdeps/x86_64/fpu/multiarch/mpa-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mpatan-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mpatan2-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mpsqrt-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/mptan-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_atan-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_sin-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_tan-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/sincos32-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_asin.c: Rewrite. - * sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/e_pow.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise. - -2017-08-04 Joseph Myers - - * sysdeps/generic/math_private.h (__EXPR_FLT128): Remove macro. - (min_of_type_f): New macro. - (min_of_type_): Likewise. - (min_of_type_l): Likewise. - (min_of_type_f128): Likewise. - (min_of_type): Define using __MATH_TG and taking an expression - argument. - (math_check_force_underflow): Pass expression instead of type to - min_of_type. - (math_check_force_underflow_nonneg): Likewise. - -2017-08-04 H.J. Lu - - * sysdeps/x86/cpu-features.h [__ASSEMBLER__] - (LOAD_RTLD_GLOBAL_RO_RDX, HAS_FEATURE, LOAD_FUNC_GOT_EAX, - HAS_CPU_FEATURE, HAS_ARCH_FEATURE): Removed. - -2017-08-04 H.J. Lu - - * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add - bcopy-ia32, bzero-ia32, rawmemchr-ia32 memchr-ia32, - memcmp-ia32, memcpy-ia32, memmove-ia32, mempcpy-ia32, - memset-ia32, strcat-ia32, strchr-ia32, strrchr-ia32, - strcpy-ia32, strcmp-ia32, strcspn-ia32, strpbrk-ia32, - strspn-ia32, strlen-ia32, stpcpy-ia32, stpncpy-ia32, - memcpy_chk-nonshared, mempcpy_chk-nonshared, - memmove_chk-nonshared and memset_chk-nonshared - * sysdeps/i386/i686/multiarch/bcopy-ia32.S: New file. - * sysdeps/i386/i686/multiarch/bcopy.c: Likewise. - * sysdeps/i386/i686/multiarch/bzero-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/bzero.c: Likewise. - * sysdeps/i386/i686/multiarch/ifunc-memmove.h: Likewise. - * sysdeps/i386/i686/multiarch/ifunc-memset.h: Likewise. - * sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Likewise. - * sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Likewise. - * sysdeps/i386/i686/multiarch/ifunc-sse2.h: Likewise. - * sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Likewise. - * sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Likewise. - * sysdeps/i386/i686/multiarch/memchr-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/memchr.c: Likewise. - * sysdeps/i386/i686/multiarch/memcmp-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/memcmp.c: Likewise. - * sysdeps/i386/i686/multiarch/memcpy-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/memcpy.c: Likewise. - * sysdeps/i386/i686/multiarch/memcpy_chk-nonshared.S: Likewise. - * sysdeps/i386/i686/multiarch/memcpy_chk.c: Likewise. - * sysdeps/i386/i686/multiarch/memmove-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/memmove.c: Likewise. - * sysdeps/i386/i686/multiarch/memmove_chk-nonshared.S: Likewise. - * sysdeps/i386/i686/multiarch/memmove_chk.c: Likewise. - * sysdeps/i386/i686/multiarch/mempcpy-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/mempcpy.c: Likewise. - * sysdeps/i386/i686/multiarch/mempcpy_chk-nonshared.S: Likewise. - * sysdeps/i386/i686/multiarch/mempcpy_chk.c: Likewise. - * sysdeps/i386/i686/multiarch/memrchr.c: Likewise. - * sysdeps/i386/i686/multiarch/memset-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/memset.c: Likewise. - * sysdeps/i386/i686/multiarch/memset_chk-nonshared.S: Likewise. - * sysdeps/i386/i686/multiarch/rawmemchr-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/rawmemchr.c: Likewise. - * sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/stpcpy.c: Likewise. - * sysdeps/i386/i686/multiarch/stpncpy-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/stpncpy.c: Likewise. - * sysdeps/i386/i686/multiarch/strcasecmp.c: Likewise. - * sysdeps/i386/i686/multiarch/strcasecmp_l.c: Likewise. - * sysdeps/i386/i686/multiarch/strcat-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strcat.c: Likewise. - * sysdeps/i386/i686/multiarch/strchr-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strchr.c: Likewise. - * sysdeps/i386/i686/multiarch/strcmp-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strcmp.c: Likewise. - * sysdeps/i386/i686/multiarch/strcpy-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strcpy.c: Likewise. - * sysdeps/i386/i686/multiarch/strcspn-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strcspn.c: Likewise. - * sysdeps/i386/i686/multiarch/strlen-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strlen.c: Likewise. - * sysdeps/i386/i686/multiarch/strncase.c: Likewise. - * sysdeps/i386/i686/multiarch/strncase_l.c: Likewise. - * sysdeps/i386/i686/multiarch/strncat.c: Likewise. - * sysdeps/i386/i686/multiarch/strncmp.c: Likewise. - * sysdeps/i386/i686/multiarch/strncpy.c: Likewise. - * sysdeps/i386/i686/multiarch/strnlen.c: Likewise. - * sysdeps/i386/i686/multiarch/strpbrk-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strpbrk.c: Likewise. - * sysdeps/i386/i686/multiarch/strrchr-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strrchr.c: Likewise. - * sysdeps/i386/i686/multiarch/strspn-ia32.S: Likewise. - * sysdeps/i386/i686/multiarch/strspn.c: Likewise. - * sysdeps/i386/i686/multiarch/wcschr.c: Likewise. - * sysdeps/i386/i686/multiarch/wcscmp.c: Likewise. - * sysdeps/i386/i686/multiarch/wcscpy.c: Likewise. - * sysdeps/i386/i686/multiarch/wcslen.c: Likewise. - * sysdeps/i386/i686/multiarch/wcsrchr.c: Likewise. - * sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise. - * sysdeps/i386/i686/multiarch/bcopy.S: Removed. - * sysdeps/i386/i686/multiarch/bzero.S: Likewise. - * sysdeps/i386/i686/multiarch/memchr.S: Likewise. - * sysdeps/i386/i686/multiarch/memcmp.S: Likewise. - * sysdeps/i386/i686/multiarch/memcpy.S: Likewise. - * sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise. - * sysdeps/i386/i686/multiarch/memmove.S: Likewise. - * sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise. - * sysdeps/i386/i686/multiarch/mempcpy.S: Likewise. - * sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise. - * sysdeps/i386/i686/multiarch/memrchr.S: Likewise. - * sysdeps/i386/i686/multiarch/memset.S: Likewise. - * sysdeps/i386/i686/multiarch/memset_chk.S: Likewise. - * sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise. - * sysdeps/i386/i686/multiarch/stpcpy.S: Likewise. - * sysdeps/i386/i686/multiarch/stpncpy.S: Likewise. - * sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise. - * sysdeps/i386/i686/multiarch/strcasecmp_l.S: Likewise. - * sysdeps/i386/i686/multiarch/strcat.S: Likewise. - * sysdeps/i386/i686/multiarch/strcmp.S: Likewise. - * sysdeps/i386/i686/multiarch/strcpy.S: Likewise. - * sysdeps/i386/i686/multiarch/strcspn.S: Likewise. - * sysdeps/i386/i686/multiarch/strlen.S: Likewise. - * sysdeps/i386/i686/multiarch/strncase.S: Likewise. - * sysdeps/i386/i686/multiarch/strncase_l.S: Likewise. - * sysdeps/i386/i686/multiarch/strncat.S: Likewise. - * sysdeps/i386/i686/multiarch/strncmp.S: Likewise. - * sysdeps/i386/i686/multiarch/strncpy.S: Likewise. - * sysdeps/i386/i686/multiarch/strnlen.S: Likewise. - * sysdeps/i386/i686/multiarch/strpbrk.S: Likewise. - * sysdeps/i386/i686/multiarch/strrchr.S: Likewise. - * sysdeps/i386/i686/multiarch/strspn.S: Likewise. - * sysdeps/i386/i686/multiarch/wcschr.S: Likewise. - * sysdeps/i386/i686/multiarch/wcscmp.S: Likewise. - * sysdeps/i386/i686/multiarch/wcscpy.S: Likewise. - * sysdeps/i386/i686/multiarch/wcslen.S: Likewise. - * sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise. - * sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise. - -2017-08-04 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines) - Add svml_d_cos2_core-sse2, svml_d_cos4_core-sse, - svml_d_cos8_core-avx2, svml_d_exp2_core-sse2, - svml_d_exp4_core-sse, svml_d_exp8_core-avx2, - svml_d_log2_core-sse2, svml_d_log4_core-sse, - svml_d_log8_core-avx2, svml_d_pow2_core-sse2, - svml_d_pow4_core-sse, svml_d_pow8_core-avx2 - svml_d_sin2_core-sse2, svml_d_sin4_core-sse, - svml_d_sin8_core-avx2, svml_d_sincos2_core-sse2, - svml_d_sincos4_core-sse, svml_d_sincos8_core-avx2, - svml_s_cosf16_core-avx2, svml_s_cosf4_core-sse2, - svml_s_cosf8_core-sse, svml_s_expf16_core-avx2, - svml_s_expf4_core-sse2, svml_s_expf8_core-sse, - svml_s_logf16_core-avx2, svml_s_logf4_core-sse2, - svml_s_logf8_core-sse, svml_s_powf16_core-avx2, - svml_s_powf4_core-sse2, svml_s_powf8_core-sse, - svml_s_sincosf16_core-avx2, svml_s_sincosf4_core-sse2, - svml_s_sincosf8_core-sse, svml_s_sinf16_core-avx2, - svml_s_sinf4_core-sse2 and svml_s_sinf8_core-sse. - * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: New file. - * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Likewise. - * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core-sse2.S: This. - Don't include nor . - (_ZGVbN2v_cos): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core-sse.S: This. - Don't include nor . - (_ZGVdN4v_cos): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core-avx2.S: This. - Don't include nor . - (_ZGVeN8v_cos): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core-sse2.S: This. - Don't include nor . - (_ZGVbN2v_exp): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core-sse.S: This. - Don't include nor . - (_ZGVdN4v_exp): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core-avx2.S: This. - Don't include nor . - (_ZGVeN8v_exp): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core-sse2.S: This. - Don't include nor . - (_ZGVbN2v_log): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core-sse.S: This. - Don't include nor . - (_ZGVdN4v_log): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core-avx2.S: This. - Don't include nor . - (_ZGVeN8v_log): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core-sse2.S: This. - Don't include nor . - (_ZGVbN2vv_pow): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core-sse.S: This. - Don't include nor . - (_ZGVdN4vv_pow): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core-avx2.S: This. - Don't include nor . - (_ZGVeN8vv_pow): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core-sse2.S: This. - Don't include nor . - (_ZGVbN2v_sin): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core-sse.S: This. - Don't include nor . - (_ZGVbN4v_sin): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: This. - Don't include nor . - (_ZGVbN8v_sin): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core-sse2.S: This. - Don't include nor . - (_ZGVbN2vvv_sincos): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core-sse.S: This. - Don't include nor . - (_ZGVdN4vvv_sincos): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core-avx2.S: This. - Don't include nor . - (_ZGVeN8vvv_sincos): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core-avx2.S: This. - Don't include nor . - (_ZGVeN16v_cosf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core-sse2.S: This. - Don't include nor . - (_ZGVbN4v_cosf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core-sse.S: This. - Don't include nor . - (_ZGVdN8v_cosf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core-avx2.S: This. - Don't include nor . - (_ZGVeN16v_expf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core-sse2.S: This. - Don't include nor . - (_ZGVbN4v_expf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core-sse.S: This. - Don't include nor . - (_ZGVdN8v_expf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core-avx2.S: This. - Don't include nor . - (_ZGVeN16v_logf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core-sse2.S: This. - Don't include nor . - (_ZGVbN4v_logf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core-sse.S: This. - Don't include nor . - (_ZGVdN8v_logf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core-avx2.S: This. - Don't include nor . - (_ZGVeN16vv_powf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core-sse2.S: This. - Don't include nor . - (_ZGVbN4vv_powf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core-sse.S: This. - Don't include nor . - (_ZGVdN8vv_powf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core-avx2.S: This. - Don't include nor . - (_ZGVeN16vvv_sincosf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core-sse2.S: This. - Don't include nor . - (_ZGVbN4vvv_sincosf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core-sse.S: This. - Don't include nor . - (_ZGVdN8vvv_sincosf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core-avx2.S: This. - Don't include nor . - (_ZGVeN16v_sinf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core-sse2.S: This. - Don't include nor . - (_ZGVbN4v_sinf): Removed. - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.S: Renamed to - ... - * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core-sse.S: This. - Don't include nor . - (_ZGVdN8v_sinf): Removed. - -2017-08-04 H.J. Lu - - * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): - Add s_ceil-sse4_1, s_ceilf-sse4_1, s_floor-sse4_1, - s_floorf-sse4_1, s_nearbyint-sse4_1, s_nearbyintf-sse4_1, - s_rint-sse4_1 and s_rintf-sse4_1. - * sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: New file. - * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise. - * sysdeps/x86_64/fpu/multiarch/s_ceil.S: Renamed to ... - * sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: This. Don't - include nor . Include . - (__ceil): Removed. - * sysdeps/x86_64/fpu/multiarch/s_ceilf.S: Renamed to ... - * sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: This. Don't - include nor . Include . - (__ceilf): Removed. - * sysdeps/x86_64/fpu/multiarch/s_floor.S: Renamed to ... - * sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: This. Don't - include nor . Include . - (__floor): Removed. - * sysdeps/x86_64/fpu/multiarch/s_floorf.S: Renamed to ... - * sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: This. Don't - include nor . Include . - (__floorf): Removed. - * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: Renamed to ... - * sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: This. Don't - include nor . Include . - (__nearbyint): Removed. - * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: Renamed to ... - * sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: This. Don't - include nor . Include . - (__nearbyintf): Removed. - * sysdeps/x86_64/fpu/multiarch/s_rint.S: Renamed to ... - * sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: This. Don't - include nor . Include . - (__rint): Removed. - * sysdeps/x86_64/fpu/multiarch/s_rintf.S: Renamed to ... - * sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: This. Don't - include nor . Include . - (__rintf): Removed. - -2017-08-04 H.J. Lu - - * sysdeps/i386/start.S (_start): Check Check PIC instead of - SHARED. Avoid dynamic relocation against main in static PIE. - -2017-08-04 H.J. Lu - - [BZ #21815] - * elf/Makefile (CFLAGS-tst-prelink.c): New. - (LDFLAGS-tst-prelink): Likewise. - -2017-08-04 H.J. Lu - - * sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER): - Define to I386_USE_SYSENTER to 0 or 1 if not defined. - (ENTER_KERNEL): Check if I386_USE_SYSENTER is 1 and check PIC. - (INTERNAL_SYSCALL_MAIN_INLINE): Likewise. - (INTERNAL_SYSCALL_NCS): Likewise. - (LOADARGS_1): Likewise. - (LOADARGS_5): Likewise. - (RESTOREARGS_1): Likewise. - (RESTOREARGS_5): Likewise. - -2017-08-04 H.J. Lu - - * sysdeps/x86_64/memmove.S (MEMCPY_SYMBOL): Don't check SHARED. - (MEMPCPY_SYMBOL): Likewise. - * sysdeps/x86_64/multiarch/ifunc-impl-list.c - (__libc_ifunc_impl_list): Test memcpy and mempcpy in libc.a. - * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Also include - in libc.a. - * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise. - * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S: - Likewise. - * sysdeps/x86_64/multiarch/memcpy.c: Also include in libc.a. - (__hidden_ver1): Don't use in libc.a. - * sysdeps/x86_64/multiarch/memmove-sse2-unaligned-erms.S - (__mempcpy): Don't create a weak alias in libc.a. - * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Support - libc.a. - * sysdeps/x86_64/multiarch/mempcpy.c: Also include in libc.a. - (__hidden_ver1): Don't use in libc.a. - -2017-08-04 H.J. Lu - - * config.make.in (have-insert): New. - * configure.ac (libc_cv_insert): New. Set to yes if linker - supports INSERT in linker script. - (AC_SUBST(libc_cv_insert): New. - * configure: Regenerated. - * sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc only - if $(have-insert) == yes. - -2017-08-04 H.J. Lu - - * elf/Makefile (tests): Add vismain only if - $(have-protected-data) == yes. - (tests-pie): Likewise. - -2017-08-04 H.J. Lu - - [BZ #21871] - * sysdeps/x86/cpu-features.c (init_cpu_features): Set - bit_arch_Use_dl_runtime_resolve_opt only with AVX512F. - -2017-08-04 H.J. Lu - - [BZ #21790] - * sysdeps/i386/i586/memset.S - (__memset_zero_constant_len_parameter): Removed. - * sysdeps/i386/i686/memset.S - (__memset_zero_constant_len_parameter): Likewise. - * sysdeps/i386/i686/multiarch/memset_chk.S - (__memset_zero_constant_len_parameter): Likewise. - * sysdeps/x86_64/memset.S (__memset_zero_constant_len_parameter): - Likewise. - -2017-08-03 Aurelien Jarno - - * stdlib/getentropy.c (getentropy): Change return type to int. - -2017-08-03 Aurelien Jarno - - * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Regenerated. - -2017-08-03 Joseph Myers - - * math/s_nextafter.c (__nextafter): Use uintN_t instead of - u_intN_t. - * math/s_nexttowardf.c (__nexttowardf): Likewise. - * sysdeps/generic/math_private.h (ieee_double_shape_type): - Likewise. - (ieee_float_shape_type): Likewise. - * sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Likewise. - * sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise. - * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Likewise. - * sysdeps/i386/fpu/s_nexttoward.c (__nexttoward): Likewise. - * sysdeps/i386/fpu/s_nexttowardf.c (__nexttowardf): Likewise. - * sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Likewise. - * sysdeps/ieee754/dbl-64/e_cosh.c (__ieee754_cosh): Likewise. - * sysdeps/ieee754/dbl-64/e_fmod.c (__ieee754_fmod): Likewise. - * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): - Likewise. - * sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise. - * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise. - (__ieee754_yn): Likewise. - * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise. - * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise. - * sysdeps/ieee754/dbl-64/e_rem_pio2.c (__ieee754_rem_pio2): - Likewise. - * sysdeps/ieee754/dbl-64/e_sinh.c (__ieee754_sinh): Likewise. - * sysdeps/ieee754/dbl-64/s_ceil.c (__ceil): Likewise. - * sysdeps/ieee754/dbl-64/s_copysign.c (__copysign): Likewise. - * sysdeps/ieee754/dbl-64/s_erf.c (__erf): Likewise. - (__erfc): Likewise. - * sysdeps/ieee754/dbl-64/s_expm1.c (__expm1): Likewise. - * sysdeps/ieee754/dbl-64/s_finite.c (FINITE): Likewise. - * sysdeps/ieee754/dbl-64/s_floor.c (__floor): Likewise. - * sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Likewise. - * sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Likewise. - * sysdeps/ieee754/dbl-64/s_issignaling.c (__issignaling): - Likewise. - * sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise. - * sysdeps/ieee754/dbl-64/s_llround.c (__llround): Likewise. - * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise. - * sysdeps/ieee754/dbl-64/s_lround.c (__lround): Likewise. - * sysdeps/ieee754/dbl-64/s_modf.c (__modf): Likewise. - * sysdeps/ieee754/dbl-64/s_nextup.c (__nextup): Likewise. - * sysdeps/ieee754/dbl-64/s_remquo.c (__remquo): Likewise. - * sysdeps/ieee754/dbl-64/s_round.c (__round): Likewise. - * sysdeps/ieee754/dbl-64/s_trunc.c (__trunc): Likewise. - * sysdeps/ieee754/dbl-64/wordsize-64/s_issignaling.c - (__issignaling): Likewise. - * sysdeps/ieee754/flt-32/e_atan2f.c (__ieee754_atan2f): Likewise. - * sysdeps/ieee754/flt-32/e_fmodf.c (__ieee754_fmodf): Likewise. - * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): - Likewise. - * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise. - * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise. - * sysdeps/ieee754/flt-32/e_rem_pio2f.c (__ieee754_rem_pio2f): - Likewise. - * sysdeps/ieee754/flt-32/e_remainderf.c (__ieee754_remainderf): - Likewise. - * sysdeps/ieee754/flt-32/e_sqrtf.c (__ieee754_sqrtf): Likewise. - * sysdeps/ieee754/flt-32/s_ceilf.c (__ceilf): Likewise. - * sysdeps/ieee754/flt-32/s_copysignf.c (__copysignf): Likewise. - * sysdeps/ieee754/flt-32/s_erff.c (__erff): Likewise. - (__erfcf): Likewise. - * sysdeps/ieee754/flt-32/s_expm1f.c (__expm1f): Likewise. - * sysdeps/ieee754/flt-32/s_finitef.c (FINITEF): Likewise. - * sysdeps/ieee754/flt-32/s_floorf.c (__floorf): Likewise. - * sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf): - Likewise. - * sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise. - * sysdeps/ieee754/flt-32/s_issignalingf.c (__issignalingf): - Likewise. - * sysdeps/ieee754/flt-32/s_llrintf.c (__llrintf): Likewise. - * sysdeps/ieee754/flt-32/s_llroundf.c (__llroundf): Likewise. - * sysdeps/ieee754/flt-32/s_lrintf.c (__lrintf): Likewise. - * sysdeps/ieee754/flt-32/s_lroundf.c (__lroundf): Likewise. - * sysdeps/ieee754/flt-32/s_modff.c (__modff): Likewise. - * sysdeps/ieee754/flt-32/s_remquof.c (__remquof): Likewise. - * sysdeps/ieee754/flt-32/s_roundf.c (__roundf): Likewise. - * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): - Likewise. - * sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): - Likewise. - * sysdeps/ieee754/ldbl-128/e_atanhl.c (__ieee754_atanhl): - Likewise. - * sysdeps/ieee754/ldbl-128/e_fmodl.c (__ieee754_fmodl): Likewise. - * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl): - Likewise. - * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. - (__ieee754_ynl): Likewise. - * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise. - * sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (__ieee754_rem_pio2l): - Likewise. - * sysdeps/ieee754/ldbl-128/e_remainderl.c (__ieee754_remainderl): - Likewise. - * sysdeps/ieee754/ldbl-128/e_sinhl.c (__ieee754_sinhl): Likewise. - * sysdeps/ieee754/ldbl-128/k_cosl.c (__kernel_cosl): Likewise. - * sysdeps/ieee754/ldbl-128/k_sincosl.c (__kernel_sincosl): - Likewise. - * sysdeps/ieee754/ldbl-128/k_sinl.c (__kernel_sinl): Likewise. - * sysdeps/ieee754/ldbl-128/s_ceill.c (__ceill): Likewise. - * sysdeps/ieee754/ldbl-128/s_copysignl.c (__copysignl): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Likewise. - * sysdeps/ieee754/ldbl-128/s_fabsl.c (__fabsl): Likewise. - * sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Likewise. - * sysdeps/ieee754/ldbl-128/s_floorl.c (__floorl): Likewise. - * sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl): - Likewise. - * sysdeps/ieee754/ldbl-128/s_frexpl.c (__frexpl): Likewise. - * sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise. - * sysdeps/ieee754/ldbl-128/s_issignalingl.c (__issignalingl): - Likewise. - * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Likewise. - * sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise. - * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise. - * sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Likewise. - * sysdeps/ieee754/ldbl-128/s_modfl.c (__modfl): Likewise. - * sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl): - Likewise. - * sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl): - Likewise. - * sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward): - Likewise. - * sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf): - Likewise. - * sysdeps/ieee754/ldbl-128/s_nextupl.c (__nextupl): Likewise. - * sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Likewise. - * sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise. - * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Likewise. - * sysdeps/ieee754/ldbl-128/s_tanhl.c (__tanhl): Likewise. - * sysdeps/ieee754/ldbl-128/s_truncl.c (__truncl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (__ieee754_rem_pio2l): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/e_remainderl.c - (__ieee754_remainderl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/k_cosl.c (__kernel_cosl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/k_sinl.c (__kernel_sinl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c (___fpclassifyl): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_modfl.c (__modfl): Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c (__nexttowardf): - Likewise. - * sysdeps/ieee754/ldbl-128ibm/s_remquol.c (__remquol): Likewise. - * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Likewise. - * sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise. - * sysdeps/ieee754/ldbl-96/e_atanhl.c (__ieee754_atanhl): Likewise. - * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Likewise. - * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): - Likewise. - * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise. - * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise. - (__ieee754_y0l): Likewise. - (pzero): Likewise. - (qzero): Likewise. - * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise. - (__ieee754_y1l): Likewise. - (pone): Likewise. - (qone): Likewise. - * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. - (__ieee754_ynl): Likewise. - * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise. - (__ieee754_lgammal_r): Likewise. - * sysdeps/ieee754/ldbl-96/e_rem_pio2l.c (__ieee754_rem_pio2l): - Likewise. - * sysdeps/ieee754/ldbl-96/e_sinhl.c (__ieee754_sinhl): Likewise. - * sysdeps/ieee754/ldbl-96/s_copysignl.c (__copysignl): Likewise. - * sysdeps/ieee754/ldbl-96/s_erfl.c (__erfl): Likewise. - (__erfcl): Likewise. - * sysdeps/ieee754/ldbl-96/s_frexpl.c (__frexpl): Likewise. - * sysdeps/ieee754/ldbl-96/s_issignalingl.c (__issignalingl): - Likewise. - * sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Likewise. - * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Likewise. - * sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise. - * sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Likewise. - * sysdeps/ieee754/ldbl-96/s_modfl.c (__modfl): Likewise. - * sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise. - * sysdeps/ieee754/ldbl-96/s_nexttowardf.c (__nexttowardf): - Likewise. - * sysdeps/ieee754/ldbl-96/s_nextupl.c (__nextupl): Likewise. - * sysdeps/ieee754/ldbl-96/s_remquol.c (__remquol): Likewise. - * sysdeps/ieee754/ldbl-96/s_roundl.c (__roundl): Likewise. - * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Likewise. - * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c (__nldbl_nexttowardf): - Likewise. - * sysdeps/m68k/m680x0/fpu/e_pow.c (s(__ieee754_pow)): Likewise. - * sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c (__fpclassifyl): - Likewise. - * sysdeps/m68k/m680x0/fpu/s_llrint.c (__llrint): Likewise. - * sysdeps/m68k/m680x0/fpu/s_llrintf.c (__llrintf): Likewise. - * sysdeps/m68k/m680x0/fpu/s_llrintl.c (__llrintl): Likewise. - * sysdeps/m68k/m680x0/fpu/s_nextafterl.c (__nextafterl): Likewise. - * sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise. - -2017-08-03 Florian Weimer - - [BZ #21885] - * sysdeps/posix/getaddrinfo.c (gethosts): Release resolver context - on memory allocation failure. - -2017-08-03 Alan Modra - - * sysdeps/powerpc/mod-tlsopt-powerpc.c: Extract from - tst-tlsopt-powerpc.c with function name change and no test harness. - * sysdeps/powerpc/tst-tlsopt-powerpc.c: Remove body of test. - Call tls_get_addr_opt_test. - * sysdeps/powerpc/Makefile (LDFLAGS-tst-tlsopt-powerpc): Don't define. - (modules-names): Add mod-tlsopt-powerpc. - (mod-tlsopt-powerpc.so-no-z-defs): Define. - (tst-tlsopt-powerpc): Depend on .so. - * sysdeps/powerpc/powerpc64/tls-macros.h (__TLS_GET_ADDR): Don't - define. Expand use in TLS_GD and TLS_LD. - -2017-08-02 Samuel Thibault - - * sysdeps/mach/hurd/enbl-secure.c (__libc_init_secure): Define - function. - * sysdeps/posix/shm_open.c: Include . - -2017-08-02 Joseph Myers - - [BZ #21686] - * math/tgmath.h (__TGMATH_BINARY_REAL_ONLY): Add arguments before - comparing size with that of double. - (__TGMATH_BINARY_REAL_STD_ONLY): Likewise. - (__TGMATH_BINARY_REAL_RET_ONLY): Likewise. - (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise. - (__TGMATH_TERNARY_REAL_ONLY): Likewise. - (__TGMATH_BINARY_REAL_IMAG): Likewise. - * math/gen-tgmath-tests.py (Type.init_types): Create __int128 and - unsigned __int128 types. - -2017-08-02 Steve Ellcey - - * localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c - CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c, - CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c, - CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c, - CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): Remove. - -2017-08-02 H.J. Lu - - * sysdeps/x86_64/start.S (_start): Check PIC instead of SHARED. - -2017-08-02 H.J. Lu - - * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Check PIC instead - of SHARED. - * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Likewise. - * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise. - * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise. - * sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise. - * sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise. - * sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise. - * sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise. - -2017-08-02 Joseph Myers - - [BZ #21685] - * math/tgmath.h (__tgmath_real_type): Use unary + on potentially - bit-field expressions passed to sizeof or typeof. - [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (__TGMATH_F128): Likewise. - [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] - (__TGMATH_CF128): Likewise. - (__TGMATH_UNARY_REAL_ONLY): Likewise. - (__TGMATH_UNARY_REAL_RET_ONLY): Likewise. - (__TGMATH_BINARY_FIRST_REAL_ONLY): Likewise. - (__TGMATH_BINARY_FIRST_REAL_STD_ONLY): Likewise. - (__TGMATH_BINARY_REAL_ONLY): Likewise. - (__TGMATH_BINARY_REAL_STD_ONLY): Likewise. - (__TGMATH_BINARY_REAL_RET_ONLY): Likewise. - (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise. - (__TGMATH_TERNARY_REAL_ONLY): Likewise. - (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise. - (__TGMATH_UNARY_REAL_IMAG): Likewise. - (__TGMATH_UNARY_IMAG): Likewise. - (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise. - (__TGMATH_BINARY_REAL_IMAG): Likewise. - * math/gen-tgmath-tests.py (Type.init_types): Create bit_field - type. - (define_vars_for_type): Handle bit_field type specially. - (Tests.__init__): Declare structure with bit-field element. - -2017-08-02 H.J. Lu - - [BZ #21791] - * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S - (MEMCPY_CHK): Define only if SHARED is defined. - * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S (MEMCPY_CHK): - Likewise. - * sysdeps/i386/i686/multiarch/memcpy-ssse3.S (MEMCPY_CHK): - Likewise. - -See ChangeLog.18 for earlier changes. diff --git a/ChangeLog.old/ChangeLog.10 b/ChangeLog.old/ChangeLog.10 index 6736bcc1fa..f2eb42b300 100644 --- a/ChangeLog.old/ChangeLog.10 +++ b/ChangeLog.old/ChangeLog.10 @@ -658,10 +658,10 @@ Define and initialize use_outdigits in the inner loops. * sysdeps/posix/sigwait.c: Don't look for signal 0 since it does - not exist. Patch by Miloslav Trmac (PR libc/1601). + not exist. Patch by Miloslav Trmač (PR libc/1601). * sysdeps/i386/fpu/s_nearbyint.S: Disable raising exception, not - enable it. Patch by Miloslav Trmac (PR libc/1600). + enable it. Patch by Miloslav Trmač (PR libc/1600). * sysdeps/i386/fpu/s_nearbyintf.S: Likewise. * sysdeps/i386/fpu/s_nearbyintl.S: Likewise. @@ -693,7 +693,7 @@ so test for overflow and handle it. * sysdeps/i386/fpu/s_sinf.S: Likewise. * sysdeps/i386/fpu/s_tanf.S: Likewise. - Patch by Miloslav Trmac (PR libc/1563). + Patch by Miloslav Trmač (PR libc/1563). * iconvdata/Makefile (modules): Add UTF-16. (distribute): Add utf-16.c. @@ -981,7 +981,7 @@ * sysdeps/unix/sysv/linux/mips/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/mips/init-first.h: New file, from Ralf - Baechle . + Bächle . * sysdeps/unix/sysv/linux/mips/brk.c: New file. @@ -1012,7 +1012,7 @@ * sysdeps/powerpc/fpu/fesetround.c: Likewise. * sysdeps/sparc/fpu/feholdexcpt.c: Likewise. * sysdeps/sparc/fpu/fesetround.c: Likewise. - Patch by Miloslav Trmac . + Patch by Miloslav Trmač . * locale/programs/ld-collate.c (struct locale_collate_t): Change type of plane_size and plane_cnt to uint32_t. @@ -1482,7 +1482,7 @@ * manual/getopt.texi (Using the getopt function): Fix description of return value for format string starting with '-' (PR libc/1551). - Patch by Ral Nez de Arenas Coronado + Patch by Raúl Núñez de Arenas Coronado * sunrpc/clnt_perr.c (rpc_errlist): Fix index for RPC_PROGVERSMISMATCH. Patch by jens.moeller@westgeo.com (PR libc/1550). @@ -3715,7 +3715,7 @@ (RESOLVE_GOTSYM): Use R_MIPS_REL32. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. Based on patches from Maciej W. Rozycki and - Ralf Baechle . + Ralf Bächle . * sysdeps/mips/mips64/dl-machine.h: Apply same patches. @@ -6138,7 +6138,7 @@ * sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise. * elf/Makefile ($(objpfx)ld.so): Fix rtld-ldscript dependency. - Patch by Ralf Baechle . + Patch by Ralf Bächle . 1999-08-25 Ulrich Drepper @@ -6188,14 +6188,14 @@ * stdio-common/tst-cookie.c: New file. * sysdeps/unix/sysv/linux/mips/bits/errno.h: Fix EILSEQ value - changed in last patch. Reported by Ralf Baechle. + changed in last patch. Reported by Ralf Bächle. 1999-08-24 Andreas Jaeger * sysdeps/unix/mips/sysdep.h: Use __syscall_error. * sysdeps/unix/mips/sysdep.S: Rewrite, don't declare errno here. - Patches by Ralf Baechle + Patches by Ralf Bächle 1999-08-24 Andreas Jaeger @@ -6361,7 +6361,7 @@ * sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it. * sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL. - Patches by Ralf Baechle + Patches by Ralf Bächle 1999-08-21 Ulrich Drepper @@ -7316,7 +7316,7 @@ 1999-07-25 Andreas Jaeger - * localedata/tst-rpmatch.sh: Use "&" instead of "" to avoid a bug + * localedata/tst-rpmatch.sh: Use "&" instead of "§" to avoid a bug in bash 2.03. 1999-07-25 Ulrich Drepper diff --git a/ChangeLog.old/ChangeLog.11 b/ChangeLog.old/ChangeLog.11 index 356da033c3..c6ce38de50 100644 --- a/ChangeLog.old/ChangeLog.11 +++ b/ChangeLog.old/ChangeLog.11 @@ -789,7 +789,7 @@ * sysdeps/s390/fpu/libm-test-ulps: New ulps. * sysdeps/unix/sysv/linux/mips/syscalls.list: Add fcntl64. - Patch by Ralf Baechle . + Patch by Ralf Bächle . 2000-10-21 Ulrich Drepper @@ -878,7 +878,7 @@ * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. - Patch by Martin Schwidefsksy . + Patch by Martin Schwidefsky . 2000-10-20 Jakub Jelinek @@ -918,7 +918,7 @@ * string/string.h: Remove declaration of __strcasecmp and __strcasestr. * include/string.h: Declare them here. -2000-10-18 Ralf Baechle +2000-10-18 Ralf Bächle * sysdeps/unix/sysv/linux/mips/sys/syscall.h: Include . @@ -944,7 +944,7 @@ (elf_machine_runtime_link_map): Likewise. (elf_machine_runtime_setup): Likewise. Handle dynamic linker's local got entries. - Patches by Ralf Baechle . + Patches by Ralf Bächle . 2000-10-09 Maciej W. Rozycki @@ -1347,7 +1347,7 @@ * sysdeps/sparc/sparc32/fpu/libm-test-ulps: New file. -2000-10-02 Ralf Baechle +2000-10-02 Ralf Bächle * sysdeps/unix/sysv/linux/mips/sys/tas.h: Add missing .mips0 at the end of inline assembler code. @@ -1364,7 +1364,7 @@ * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Add RLIMIT_LOCKS. -2000-10-01 Ralf Baechle +2000-10-01 Ralf Bächle * sysdeps/mips/dl-machine.h (RTLD_START): Fix computation of envp argument passed to _dl_init. @@ -1433,7 +1433,7 @@ level2, and level3 as well. (wctype_table_add): Remove a few unnecessary conditionals. -2000-09-30 Ralf Baechle +2000-09-30 Ralf Bächle * wcsmbs/Versions [libc] (GLIBC_2.0): Add __mbrtowc. @@ -1702,7 +1702,7 @@ * sysdeps/unix/sysv/linux/powerpc/bits/sem.h: New file. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: New file. -2000-09-28 Martin Schwidefsksy +2000-09-28 Martin Schwidefsky * sysdeps/s390/atomicity.h: Fix compare_and_swap. @@ -1733,7 +1733,7 @@ 2000-09-28 Ulrich Drepper * manual/errno.texi: Correct error text for ENXIO. - Reported by Jrg Schilling . + Reported by Jörg Schilling . 2000-09-27 Jes Sorensen @@ -2216,7 +2216,7 @@ * intl/Versions: Add bind_textdomain_codeset. -2000-09-16 Ralf Baechle +2000-09-16 Ralf Bächle * sysdeps/mips/dl-machine.h (_RTLD_PROLOGUE): Reformat. Declare as function. @@ -3116,7 +3116,7 @@ * libio/oldiofsetpos64.c: iofsetpos was introduced in glibc 2.1, change symbol version. * libio/oldiofgetpos64.c: Likewise. - Reported by Martin v. Loewis . + Reported by Martin v. Löwis . * locale/programs/ld-ctype.c (charclass_charcode_ellipsis): Fix typo. @@ -5522,7 +5522,7 @@ * timezone/northamerica: Likewise. * timezone/zone-tab: Likewise. -2000-07-30 Ralf Baechle +2000-07-30 Ralf Bächle * sysdeps/unix/sysv/linux/mips/bits/sigstack.h: New file. On MIPS the order of struct sigaltstack members is different. @@ -6434,7 +6434,7 @@ * nss/makedb.c (main): Compare result of load_db with NSS_STATUS_SUCCESS and not 0. - Patch by Jan Rekorajski . + Patch by Jan Rękorajski . * sysdeps/unix/sysv/linux/Versions: Export __sysctl for GLIBC_2.2. @@ -7177,7 +7177,7 @@ * sysdeps/mips/fpu_control.h: Fix type of fpu_control_t. (_FPU_GETCW): Remove extra colon. - Patch by Ralf Baechle . + Patch by Ralf Bächle . * posix/fnmatch_loop.c (FCT): Only declare len if !WIDE_CHAR_VERSION to silence GCC. @@ -8201,7 +8201,7 @@ 2000-06-18 Andreas Jaeger * sysdeps/mips/dl-machine.h: Always use $25 as jump register. - Patch by Ralf Baechle . + Patch by Ralf Bächle . 2000-06-17 Ulrich Drepper @@ -8471,7 +8471,7 @@ 2000-06-13 Andreas Jaeger * sysdeps/mips/elf/start.S (ENTRY_POINT): Remove mips64 defines. - Patch by Ralf Baechle . + Patch by Ralf Bächle . 2000-06-13 Ulrich Drepper @@ -9820,7 +9820,7 @@ * inet/netinet/in.h (IN6_ARE_ADDR_EQUAL): Correct indices. Reported by tmoestl@gmx.net, closes PR libc/1732. -2000-05-11 Jan Hubicka +2000-05-11 Jan Hubička * misc/sys/cdefs.h: Add support for pure attribute. @@ -11318,7 +11318,7 @@ * sysdeps/mips/__longjmp.c (__longjmp): Use $25 to fix problems with some applications. - Patches by Ralf Baechle . + Patches by Ralf Bächle . * sysdeps/mips/bsd-setjmp.S: Use __PIC__. * sysdeps/mips/bsd-_setjmp.S: Likewise. @@ -12107,7 +12107,7 @@ * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. 2000-03-29 Andreas Jaeger , - Ralf Baechle + Ralf Bächle * Makeconfig: Introduce new variable SHARED to mark code used in the shared library. diff --git a/ChangeLog.old/ChangeLog.12 b/ChangeLog.old/ChangeLog.12 index 2a4620e56d..adcf9081d4 100644 --- a/ChangeLog.old/ChangeLog.12 +++ b/ChangeLog.old/ChangeLog.12 @@ -510,7 +510,7 @@ * libio/iopopen.c: Add lock for proc_file_chain access. * libio/oldiopopen.c: Add lock for old_proc_file_chain access. - Reported by Padraig Brady . + Reported by Pádraig Brady . 2001-07-31 Andreas Jaeger @@ -2247,7 +2247,7 @@ * sysdeps/unix/sysv/linux/speed.c (cfsetispeed): Max speed is B4000000. (cfsetospeed): Likewise. - Reported by Lukasz Trabinski . + Reported by Łukasz Trąbiński . 2001-05-31 Joseph S. Myers @@ -2813,7 +2813,7 @@ that _CS_LFS_CFLAGS can fall through to the empty returned string case. Add FALLTHROUGH comment. -2001-04-29 Ralf Baechle +2001-04-29 Ralf Bächle * sysdeps/unix/sysv/linux/mips/bits/sem.h: Make structure definitions match the kernel definitions. @@ -5570,7 +5570,7 @@ * resolv/tst-aton.c: Add testcase for IP with four periods. * resolv/inet_addr.c: Don't recognize an IP with four periods. - Patch by Andre' Breiler . + Patch by André Breiler . 2001-02-27 Philip Blundell @@ -9884,7 +9884,7 @@ * manual/startup.texi (Program Arguments): Fix type of main's envp parameter. - Reported by Ral Nez de Arenas Coronado . + Reported by Raúl Núñez de Arenas Coronado . * iconvdata/gconv-modules: Add CP950 alias. diff --git a/ChangeLog.old/ChangeLog.13 b/ChangeLog.old/ChangeLog.13 index 241861369e..1dc96b6ef3 100644 --- a/ChangeLog.old/ChangeLog.13 +++ b/ChangeLog.old/ChangeLog.13 @@ -12297,7 +12297,7 @@ * po/ca.po: New file. Contributed by the translation team. -2001-10-15 Ralf Baechle +2001-10-15 Ralf Bächle * sysdeps/unix/sysv/linux/mips/sys/sysmips.h: Make sysmips() prototype a varargs prototype. Remove dependency from kernel header files. diff --git a/ChangeLog.old/ChangeLog.14 b/ChangeLog.old/ChangeLog.14 index 708e765084..eb45d78862 100644 --- a/ChangeLog.old/ChangeLog.14 +++ b/ChangeLog.old/ChangeLog.14 @@ -4149,7 +4149,7 @@ * sysdeps/x86_64/fpu/s_ilogbl.S: New file. * sysdeps/x86_64/fpu/e_remainderl.S: New file. - * math/libm-test.inc (floor_test): Test also 0.25. + * math/libm-test.inc (floor_test): Test also ±0.25. (ceil_test): Test -0.25. 2003-11-17 Ulrich Drepper @@ -4658,7 +4658,7 @@ (hol_entry_long_iterate): Change __attribute to __attribute__. (_help, __argp_error, __argp_failure) [!_LIBC && (HAVE_FLOCKFILE && HAVE_FUNLOCKFILE)]: Protect call to flockfile and funlockfile. - (__argp_basename) [!_LIBC]: New. Taken from LSH, by Niels Mller, + (__argp_basename) [!_LIBC]: New. Taken from LSH, by Niels Möller, modified after comments from Ulrich Drepper. (__argp_short_program_name): Ditto. (__argp_state_help, __argp_error, __argp_failure): Use it. @@ -10627,7 +10627,7 @@ and handle TPREL16 relocs too. Return rather than break for DTPREL64. Mostly from Steven Munroe . -2003-03-11 Ralf Baechle +2003-03-11 Ralf Bächle * sysdeps/unix/sysv/linux/mips/clone.S (__thread_start): Use jal instead of jalr to invoke subroutine so restoring the $gp register @@ -12372,7 +12372,7 @@ * elf/reldep6.c: Create relocation dependency before closing the first module. -2003-01-10 Guido Gnther +2003-01-10 Guido Günther * sysdeps/unix/mips/fork.S: Add PSEUDO_END. * sysdeps/unix/mips/brk.S: Likewise. @@ -15230,11 +15230,11 @@ service hasn't been used [PR libc/4744]. * include/features.h: Use __STDC_VERSION__ not __STDC_VERSION. - Reported by Miloslav Trmac [PR libc/4766]. + Reported by Miloslav Trmač [PR libc/4766]. * manual/examples/dir.c: Don't include . * manual/examples/select.c: Include for TEMP_FAILURE_RETRY. - Reported by Frdric Delanoy . + Reported by Frédéric Delanoy . 2002-11-02 H.J. Lu diff --git a/ChangeLog.old/ChangeLog.15 b/ChangeLog.old/ChangeLog.15 index 5d9b00d42a..d7b791fdee 100644 --- a/ChangeLog.old/ChangeLog.15 +++ b/ChangeLog.old/ChangeLog.15 @@ -2046,7 +2046,7 @@ (delete_heap): Clear aligned_heap_area if deleting the area right before aligned_heap_area. -2004-10-03 Juerg Billeter +2004-10-03 Jürg Billeter * nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd can't be used. [BZ #424] diff --git a/ChangeLog.old/ChangeLog.17 b/ChangeLog.old/ChangeLog.17 index 92f9739680..86f3d01d33 100644 --- a/ChangeLog.old/ChangeLog.17 +++ b/ChangeLog.old/ChangeLog.17 @@ -795,7 +795,7 @@ [BZ #5553] * malloc/malloc.c (public_vALLOc): Set ar_ptr when trying main_arena. (public_pVALLOc): Likewise. - Patch by Petr Baudis. + Patch by Petr Baudiš. 2010-02-22 Jim Meyering @@ -5048,7 +5048,7 @@ d2009-10-30 Ulrich Drepper * posix/Makefile (getconf.speclist): Also collect SUSv5 and SUSv7 environments. -2009-01-16 Petr Baudis +2009-01-16 Petr Baudiš [BZ #9753] * resolv/res_libc.c (__res_maybe_init): Call __res_vinit() @@ -5357,7 +5357,7 @@ d2009-10-30 Ulrich Drepper re_string_skip_chars, re_string_reconstruct): Likewise. * posix/regex_internal.h [!_LIBC] (__mbrtowc): New #define. -2008-12-31 Rafael Avila de Espindola +2008-12-31 Rafael Ávila de Espíndola * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Check and adjust the buffer alignment. @@ -5462,7 +5462,7 @@ d2009-10-30 Ulrich Drepper * inet/Makefile (tests): Add tst-getni1. * inet/tst-getni1.c: New file. -2008-12-03 Petr Baudis +2008-12-03 Petr Baudiš [BZ #7067] * nscd/connections.c (invalidate_cache): Use prune_run_lock @@ -6487,7 +6487,7 @@ d2009-10-30 Ulrich Drepper [BZ #6657] * time/strptime_l.c: Don't clear s.era_cnt after successful match of %EY. - Patch by Petr Baudis. + Patch by Petr Baudiš. 2008-06-26 Ulrich Drepper @@ -6542,7 +6542,7 @@ d2009-10-30 Ulrich Drepper [BZ #6612] * time/strftime.c (__strftime_internal): Call tzset() only when printing timezone-dependent values. - Based on a patch by Petr Baudis . + Based on a patch by Petr Baudiš . * resolv/nss_dns/dns-host.c (gaih_getanswer): Don't unconditionally use second gaih_getanswer_slice result. @@ -8275,7 +8275,7 @@ d2009-10-30 Ulrich Drepper * nscd/connections.c (start_threads): Use NSCD_THREAD_STACKSIZE. * nscd/mem.c (gc): Don't allocate arrays on the stack if they can overflow it. - Partially based on a patch by Petr Baudis . + Partially based on a patch by Petr Baudiš . * sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread): Return zero in case the thread library is not NPTL. @@ -8288,7 +8288,7 @@ d2009-10-30 Ulrich Drepper * nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't use result of nss_getgrgid_r if nothing was found. For other error return with a failure. - Partially based on a patch by Petr Baudis . + Partially based on a patch by Petr Baudiš . * locale/programs/ld-collate.c (collate_read): Fix loop to match macro name. @@ -9789,7 +9789,7 @@ d2009-10-30 Ulrich Drepper [BZ #4946] * nscd/connections.c (handle_request): Using sendfile always requires that mmap is used for the database. - Patch by Petr Baudis . + Patch by Petr Baudiš . [BZ #4905] * nscd/hstcache.c (cache_addhst): When reloading an entry which @@ -10987,7 +10987,7 @@ d2009-10-30 Ulrich Drepper determining whether there are IPv4/IPv6 addresses, ignore loopback addresses. -2007-06-14 Uros Bizjak +2007-06-14 Uroš Bizjak * soft-fp/soft-fp.h (CMPtype): Define to "int" if undefined. * soft-fp/eqdf2.c (__eqdf2): Use CMPtype instead of int @@ -11630,7 +11630,7 @@ d2009-10-30 Ulrich Drepper with setting the sticky bit. * math/test-misc.c (main): Add more truncation tests. -2007-04-14 Uros Bizjak +2007-04-14 Uroš Bizjak * soft-fp/floatunsidf.c (__floatunsidf): Use DFtype instead of double in the function declaration. @@ -11658,7 +11658,7 @@ d2009-10-30 Ulrich Drepper * soft-fp/op-4.h (_FP_FRAC_COPY_2_2): Define as alias to _FP_FRAC_COPY_4. -2007-04-16 Uros Bizjak +2007-04-16 Uroš Bizjak Jakub Jelinek * soft-fp/op-common.h (FP_EXTEND): Do not abort when @@ -12914,7 +12914,7 @@ d2009-10-30 Ulrich Drepper * io/fts.c: Make sure fts_cur is always valid after return from fts_read. - Patch by Miloslav Trmac . + Patch by Miloslav Trmač . 2006-10-27 Richard Sandiford @@ -13800,7 +13800,7 @@ d2009-10-30 Ulrich Drepper * po/pl.po: Update from translation team. * nscd/nscd.c (main): Fix typo in message. - Patch by Jakub Bogsz . + Patch by Jakub Bogusz . 2006-10-02 Jakub Jelinek @@ -13858,7 +13858,7 @@ d2009-10-30 Ulrich Drepper [BZ #3273] * nscd/nscd_initgroups.c (__nscd_getgrouplist): It is OK to have found no group members. - Patch by Petr Baudis. + Patch by Petr Baudiš. 2006-09-29 Jakub Jelinek diff --git a/ChangeLog.old/ChangeLog.18 b/ChangeLog.old/ChangeLog.18 index d6b1025cf1..76e2e2b0d6 100644 --- a/ChangeLog.old/ChangeLog.18 +++ b/ChangeLog.old/ChangeLog.18 @@ -6271,7 +6271,7 @@ * scripts/build-many-glibcs.py (Context.checkout): Default gcc version to 7 branch. -2017-04-25 Uros Bizjak +2017-04-25 Uroš Bizjak * sysdeps/alpha/fpu/math_private.h (__ieee754_sqrt): Add earlyclobber to output operand of sqrt insn. @@ -15923,7 +15923,7 @@ * math/libm-test.inc (totalorder_test_data): Add more tests. -2016-10-12 Adhemerval Zanela +2016-10-12 Adhemerval Zanella * sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c: Undefine weak_alias and add a comment why mips64 require @@ -20368,7 +20368,7 @@ * misc/sys/cdefs.h [__GNUC_PREREQ (3,2)]: Undef __always_inline first. [!__GNUC_PREREQ (3,2)]: Likewise. -2016-06-10 Adhemerval Zanela +2016-06-10 Adhemerval Zanella * conform/data/sys/socket.h-data (msghdr.msg_iovlen): Add xfail-. (msghdr.msg_controllen): Likewise. @@ -24840,7 +24840,7 @@ * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Move __sqrtl_finite to GLIBC_2.23 -2016-01-25 Ricchard Henderson +2016-01-25 Richard Henderson * sysdeps/alpha/fpu/libm-test-ulps: Update. @@ -33529,7 +33529,7 @@ * sysdeps/posix/nice.c (nice): Restore old errno. * posix/tst-nice.c (do_test): Add test for BZ #18086. -2015-08-10 Ondrej Bilka +2015-08-10 Ondřej Bílka * sysdeps/powerpc/powerpc64/multiarch/stpcpy.c: Fix ifunc. @@ -39110,7 +39110,7 @@ [BZ #18043] * posix/wordexp.c (parse_param): Don't call setenv(..., NULL, 1). -2015-03-11 Adhemerval Zanellla +2015-03-11 Adhemerval Zanella * config.h.in [HAVE_ASM_GLOBAL_DOT_NAME]: Remove define. * include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME] (strong_alias): @@ -39397,7 +39397,7 @@ * string/strings.h (__CORRECT_ISO_CPP_STRINGS_H_PROTO): Likewise. -2015-03-03 Adhemerval Zanellla +2015-03-03 Adhemerval Zanella [BZ #17776] * sysdeps/powerpc/bits/fenvinline.h (feraiseexcept): Convert input to @@ -40170,7 +40170,7 @@ * sysdeps/i386/i686/multiarch/mempcpy_chk.S: Fix position of jump label. -2015-02-09 Adhemerval Zanellla +2015-02-09 Adhemerval Zanella * sysdeps/powerpc/powerpc32/configure.ac: Remove R_PPC_REL16 check. * sysdeps/powerpc/powerpc32/configure: Regenerated. @@ -40608,7 +40608,7 @@ * sysdeps/mips/bits/atomic.h [_MIPS_SIM == _ABIN32] (__HAVE_64B_ATOMICS): Define to 0. -2015-01-28 Adhemerval Zanellla +2015-01-28 Adhemerval Zanella [BZ #17885] * sysdeps/powerpc/fpu/fsetexcptflg.c (__fesetexceptflag): Fix correct @@ -40657,7 +40657,7 @@ * elf/dl-load.c (open_path): Avoid writing to 'env_path_list' when none of the search directories exist. -2015-01-24 Adhemerval Zanellla +2015-01-24 Adhemerval Zanella [BZ #17869] * sysdeps/powerpc/powerpc64/power8/memset.S: Use power7 instead of @@ -51441,7 +51441,7 @@ * manual/resource.texi (How to get information about the memory subsystem?): Fix typo. - Reported by Peon de la Parra Ivan + Reported by Ivan Peon de la Parra 2014-06-03 Guo Yixuan @@ -58133,7 +58133,7 @@ * libio/tst-ftell-partial-wide.c: New test case. * libio/Makefile (tests): Add tst-ftell-partial-wide. - * manual/contrib.texi: Update entry for Ondrej Bilka, Will + * manual/contrib.texi: Update entry for Ondřej Bílka, Will Newton and Alexandre Oliva. Add entries for Steve Ellcey, Chris Leonard and Allan McRae. @@ -61220,7 +61220,7 @@ * malloc/malloc.c (__libc_calloc): Make memset a tail call. -2013-11-26 Uros Bizjak +2013-11-26 Uroš Bizjak * soft-fp/op-4.h (_FP_FRAC_ASSEMBLE_4): Check rsize against _FP_W_TYPE_SIZE to avoid "left shift count >= width of type" @@ -64634,8 +64634,8 @@ 2013-08-01 David S. Miller * manual/contrib.texi: Update entry for Siddhesh Poyarekar. Add - entries for Will Newton, Andi Kleen, David Holsgrove, and Ondrej - Bilka. + entries for Will Newton, Andi Kleen, David Holsgrove, and Ondřej + Bílka. 2013-07-30 David S. Miller @@ -68988,7 +68988,7 @@ 2013-04-10 Siddhesh Poyarekar Roland McGrath - Ondrej Bilka + Ondřej Bílka [BZ #15346] * time/getdate.c: Include ctype.h and alloca.h. @@ -69563,7 +69563,7 @@ on argument names, not just descriptions. * iconv/iconvconfig.c (options): Likewise. -2013-03-18 Ondrej Bilka +2013-03-18 Ondřej Bílka * sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementation which is faster on all x86_64 architectures. @@ -69772,7 +69772,7 @@ * sysdeps/unix/sysv/linux/times.c (__times): Fix formatting. -2013-03-14 Petr Baudis +2013-03-14 Petr Baudiš * sysdeps/unix/sysv/linux/times.c (__times): On EFAULT, test for non-NULL pointer before the memory validity test. Pointed @@ -83503,7 +83503,7 @@ * config.h.in: Add HAVE_ARM_PCS_VFP. -2012-05-08 Roland Mc Grath +2012-05-08 Roland McGrath [BZ #13979] * include/features.h: Warn if user requests __FORTIFY_SOURCE @@ -85140,7 +85140,7 @@ * sysdeps/ieee754/ldbl-opt/w_ilogb.c: ... here. * sysdeps/ieee754/ldbl-opt/w_ilogbl.c: New file: ilogbl wrapper. -2012-04-17 Petr Baudis +2012-04-17 Petr Baudiš * include/sys/uio.h: Change __vector to __iovec to avoid clash with altivec. @@ -85188,7 +85188,7 @@ [BZ #2074] * libio/libio.h (__io_write_fn): Update comment. -2012-04-12 Petr Baudis +2012-04-12 Petr Baudiš [BZ #2074] * stdio.texi (Hook Functions): The user provided writer function @@ -92408,7 +92408,7 @@ * sysdeps/x86_64/fpu/libm-test-ulps: Add new ULPs for jn_test, regenerate with gen-libm-tests.pl. -2010-05-12 Petr Baudis +2010-05-12 Petr Baudiš [BZ #11589] * sysdeps/ieee754/dbl-64/e_jn.c: Compensate major precision loss @@ -94475,7 +94475,7 @@ * resolv/res_query.c (__libc_res_nsearch): Backport changes from modern BIND to search name as TLD unless forbidden. -2011-05-07 Petr Baudis +2011-05-07 Petr Baudiš Ulrich Drepper [BZ #12393] @@ -94984,7 +94984,7 @@ Hurd needs munmap. * sysdeps/mach/hurd/ifreq.h: New file. -2011-01-27 Petr Baudis +2011-01-27 Petr Baudiš Ulrich Drepper [BZ 12445]# @@ -95432,7 +95432,7 @@ * sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Fix up inline asm. -2010-05-31 Petr Baudis +2010-05-31 Petr Baudiš [BZ #11149] * elf/ldconfig.c (main): Allow aux_cache_file open()ing to fail @@ -95443,7 +95443,7 @@ * nis/nss_compat/compat-initgroups.c (internal_getgrent_r): Optimize last patch a bit. Pretty printing -2010-05-31 Petr Baudis +2010-05-31 Petr Baudiš [BZ #10085] * nis/nss_compat/compat-initgroups.c (internal_getgrent_r): Fix @@ -95821,7 +95821,7 @@ * sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS): Mask out sign-bit copies when constructing f_fsid. -2010-09-24 Petr Baudis +2010-09-24 Petr Baudiš * debug/stack_chk_fail_local.c: Add missing licence exception. * debug/warning-nop.c: Likewise. @@ -96051,7 +96051,7 @@ * configure.in: Move assembler checks to before sysdep dir checking. -2010-08-20 Petr Baudis +2010-08-20 Petr Baudiš * LICENSES: Sync the sunrpc license. diff --git a/ChangeLog.old/ChangeLog.19 b/ChangeLog.old/ChangeLog.19 new file mode 100644 index 0000000000..84d56ed5e8 --- /dev/null +++ b/ChangeLog.old/ChangeLog.19 @@ -0,0 +1,39254 @@ +2019-10-11 Florian Weimer + + * manual/startup.texi (Aborting a Program): Remove warning. + +2019-10-10 Adhemerval Zanella + + [BZ #18231] + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/ipc-perm.h. + * sysdeps/unix/sysv/linux/aarch64/bits/ipc.h: Remove file. + * sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/arm/kernel-features.h + [__BYTE_ORDER == __BIG_ENDIAN] (__ASSUME_SYSVIPC_BROKEN_MODE_T): + Define. + * sysdeps/sysv/linux/microblaze/kernel-features.h: Likewise. + * sysdeps/unix/sysv/linux/s390/kernel-features.h + [!__s390x__] (__ASSUME_SYSVIPC_BROKEN_MODE_T): Define. + * sysdeps/unix/sysv/linux/sh/kernel-features.h + (__ASSUME_SYSVIPC_BROKEN_MODE_T): Define. + * sysdeps/unix/sysv/linux/m68k/kernel-features.h: Likewise. + * sysdeps/unix/sysv/linux/bits/ipc-perm.h: New file. + * sysdeps/unix/sysv/linux/powerpc/bits/ipc-perm.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/ipc-perm.h: Likewise. + * sysdeps/unix/sysv/linux/bits/ipc.h (ipc_perm): Move to + bits/ipc-perm.h. + * sysdeps/unix/sysv/linux/hppa/bits/ipc-perm.h: New file. + * sysdeps/unix/sysv/linux/kernel-features.h: Add comment about + __ASSUME_SYSVIPC_BROKEN_MODE_T semantic. + * sysdeps/unix/sysv/linux/msgctl.c (DEFAULT_VERSION): Define as + 2.31 if __ASSUME_SYSVIPC_BROKEN_MODE_T is defined. + (msgctl_syscall, __msgctl_mode16): New symbol. + (__new_msgctl): Add bits for __ASSUME_SYSVIPC_BROKEN_MODE_T. + * sysdeps/unix/sysv/linux/semctl.c: Likewise. + * sysdeps/unix/sysv/linux/shmctl.c: Likewise. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist (GLIBC_2.31): Add + msgctl, semctl, and shmctl. + * sysdeps/sysv/linux/microblaze/be/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Likewise. + * conform/data/sys/ipc.h-data: Only xfail {struct ipc_perm} mode_t + mode for Hurd. + * sysdeps/unix/sysv/linux/m68k/Versions (libc) [GLIBC_2.31]: Add + msgctl, semctl, and shmctl. + * sysdeps/unix/sysv/linux/arm/be/Versions: New file. + * sysdeps/unix/sysv/linux/microblaze/be/Versions: Likewise. + * sysdeps/unix/sysv/linux/sh/be/Versions: Likewise. + +2019-10-10 Andreas Schwab + + * elf/dl-load.c (open_verify): Remove dead code. + +2019-10-10 Dmitry V. Levin + + * sysdeps/unix/sysv/linux/syscall-names.list: Fix typos in comment, + reformat the affected paragraph. + +2019-10-10 Łukasz Majewski + + * include/time.h (__clock_settime64): + Add __clock_settime alias according to __TIMESIZE define + * sysdeps/unix/sysv/linux/clock_settime.c (__clock_settime): + Refactor this function to be used only on 32 bit machines as a + wrapper on __clock_settime64. + * sysdeps/unix/sysv/linux/clock_settime.c (__clock_settime64): Add + * sysdeps/unix/sysv/linux/clock_settime.c (__clock_settime64): + Use clock_settime64 kernel syscall (available from 5.1+ Linux) + +2019-10-09 Adhemerval Zanella + + * include/spawn.h (__posix_spawn_file_actions_addopen): New + prototype. + * posix/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): + Add internal alias. + * posix/wordexp.c (create_environment, free_environment): New + functions. + (exec_comm_child, exec_comm): Use posix_spawn instead of fork+exec. + * posix/wordexp-test.c: Use libsupport. + + * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c (__getdents64): + Add small optimization for older kernel to avoid issuing + __NR_getdents64 on each call and replace scratch_buffer usage with + a static allocated buffer. + +2019-10-09 Florian Weimer + + * config.h.in (HAVE_GCC_GOTDATA): Remove. + * sysdeps/sparc/configure.ac: Remove checks for HAVE_GCC_GOTDATA + and PI_STATIC_AND_HIDDEN. Always define PI_STATIC_AND_HIDDEN. + * sysdeps/sparc/configure: Regenerate. + +2019-10-09 Petr Vorel + + * include/dirent.h (__getdents64): Update comment. + +2019-10-08 Gabriel F. T. Gomes + + * Makefile: Fix locale dependency for a couple of tests. + ($(objpfx)tst-strftime2.out): New rule. + ($(objpfx)tst-strftime3.out): Likewise. + +2019-10-08 Florian Weimer + + * posix/tst-wordexp-nocmd.c (do_test): Fix diagnostics output. + +2019-10-08 Florian Weimer + + * posix/Makefile (tests): Add tst-wordexp-nocmd. + * posix/wordexp-test.c (__app_register_atfork): Remove function. + (registered_forks): Remove variable. + (register_fork): Remove function. + (test_case): Remove WRDE_NOCMD tests. + (main): Do not set up fork tracking. Remove integer overflow in + division tests. + (testit): Do not check for unexpected forks. + * posix/tst-wordexp-nocmd.c: New file containing the tests removed + from posix/wordexp-test.c. + +2019-10-07 Florian Weimer + + nptl: Move pthread_attr_setschedparam implementation into libc. + * nptl/Makefile (routines): Add pthread_attr_setschedparam. + (libpthread-routines): Remove pthread_attr_setschedparam. + * nptl/Versions (libpthread GLIBC_2.0): Remove + pthread_attr_setschedparam. + * nptl/forward.c (pthread_attr_setschedparam): Remove definition. + * nptl/nptl-init.c (pthread_functions): Remove initializer for + ptr_pthread_attr_setschedparam. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_attr_setschedparam member. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_attr_setschedparam. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-10-07 Florian Weimer + + riscv: Remove support for variable page sizes. + * sysdeps/unix/sysv/linux/riscv/Makefile [$(subdir) == elf] + (sysdep_routines): Do not add dl-static. + * sysdeps/unix/sysv/linux/riscv/dl-static.c: Remove file. + * sysdeps/unix/sysv/linux/riscv/ldsodefs.h: Likewise. + +2019-10-07 Florian Weimer + + nptl: Move pthread_attr_getschedparam implementation into libc. + * nptl/Makefile (routines): Add pthread_attr_getschedparam. + (libpthread-routines): Remove pthread_attr_getschedparam. + * nptl/Versions (libpthread GLIBC_2.0): Remove + pthread_attr_getschedparam. + * nptl/forward.c (pthread_attr_getschedparam): Remove definition. + * nptl/nptl-init.c (pthread_functions): Remove initializer for + ptr_pthread_attr_getschedparam. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_attr_getschedparam member. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_attr_getschedparam. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-10-04 Florian Weimer + + [BZ #24930] + * elf/dl-load.c (_dl_map_object_from_fd): Only assign TLS modid if + the link map will be returned to the caller. + * elf/Makefile [$(have-fpie) && $(build-shared)] (tests, tests-pie): + Add tst-dlopen-aout-pie. + (tst-tst-dlopen-aout-no-pie): Set. + (CFLAGS-tst-dlopen-aout-pie.c): Build with -fpie. + (tst-dlopen-aout-pie): Link with -ldl -lpthread. + * elf/tst-dlopen-aout-pie.c: New file. + +2019-10-04 Florian Weimer + + [BZ #24900] + * elf/dl-load.c (_dl_map_object_from_fd): Do not use the file ID + when loading the executable as part of an explicit loader + invocation. + +2019-10-04 Florian Weimer + + nptl: Move pthread_attr_setinheritsched implementation into libc. + * nptl/Makefile (routines): Add pthread_attr_setinheritsched. + (libpthread-routines): Remove pthread_attr_setinheritsched. + * nptl/Versions (libpthread GLIBC_2.0): Remove + pthread_attr_setinheritsched. + * nptl/forward.c (pthread_attr_setinheritsched): Remove definition. + * nptl/nptl-init.c (pthread_functions): Remove initializer for + ptr_pthread_attr_setinheritsched. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_attr_setinheritsched member. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_attr_setinheritsched. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-10-02 Joseph Myers + + * sunrpc/clnt_udp.c: Include . + (clntudp_call): Disable -Wmaybe-uninitialized around declaration + of total_deadline. + +2019-10-02 Alistair Francis + + * string/endian.h: Restore the __USE_MISC conditionals. + +2019-10-02 Joseph Myers + + * string/tester.c: Ignore -Warray-bounds and + -Wmemset-transposed-args at top level. + [__GNUC_PREREQ (7, 0)]: Ignore -Wrestrict and -Wstringop-overflow= + at top level. + [__GNUC_PREREQ (8, 0)]: Ignore -Wstringop-truncation at top level. + (test_stpncpy): Do not ignore warnings here. + (test_strncat): Likewise. + (test_strncpy): Likewise. + (test_memset): Likewise. + +2019-10-02 Łukasz Majewski + + * include/time.h: Add #include + +2019-10-02 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_private.h: + (__TEST_AND_BEGIN_NON_STOP): New. + (__TEST_AND_END_NON_STOP): New. + (libc_feholdexcept_setround_ppc): Use __TEST_AND_BEGIN_NON_STOP. + (__libc_femergeenv_ppc): Use __TEST_AND_BEGIN_NON_STOP and + __TEST_AND_END_NON_STOP. + (libc_feholdsetround_noex_ppc_ctx): Use __TEST_AND_END_NON_STOP. + +2019-10-02 Arjun Shankar + + debugglibc.sh: Implement program arguments + * Makefile (debugglibc): Change variable definition. + +2019-10-01 Alistair Francis + + * time/bits/types/struct_timespec.h: Add padding for the timespec if + required. + +2019-10-01 Zack Weinberg + Alistair Francis + + * string/endian.h: Unconditionally define LITTLE_ENDIAN, + BIG_ENDIAN, PDP_ENDIAN, and BYTE_ORDER. Condition byteswapping + macros only on !__ASSEMBLER__. Move the definitions of + __BIG_ENDIAN, __LITTLE_ENDIAN, __PDP_ENDIAN, __FLOAT_WORD_ORDER, + and __LONG_LONG_PAIR to... + * string/bits/endian.h: ...this new file, which includes + the renamed header bits/endianness.h for the definition of + __BYTE_ORDER and possibly __FLOAT_WORD_ORDER. + + * string/Makefile: Install bits/endianness.h. + * include/bits/endian.h: New wrapper. + + * bits/endian.h: Rename to bits/endianness.h. + Add multiple-include guard. Rewrite the comment explaining what + the machine-specific variants of this file should do. + + * sysdeps/unix/sysv/linux/ia64/bits/endian.h: + Move to sysdeps/ia64. + + * sysdeps/aarch64/bits/endian.h + * sysdeps/alpha/bits/endian.h + * sysdeps/arm/bits/endian.h + * sysdeps/csky/bits/endian.h + * sysdeps/hppa/bits/endian.h + * sysdeps/ia64/bits/endian.h + * sysdeps/m68k/bits/endian.h + * sysdeps/microblaze/bits/endian.h + * sysdeps/mips/bits/endian.h + * sysdeps/nios2/bits/endian.h + * sysdeps/powerpc/bits/endian.h + * sysdeps/riscv/bits/endian.h + * sysdeps/s390/bits/endian.h + * sysdeps/sh/bits/endian.h + * sysdeps/sparc/bits/endian.h + * sysdeps/x86/bits/endian.h: + Rename to endianness.h; canonicalize form of file; remove + redundant definitions of __FLOAT_WORD_ORDER. + + * sysdeps/powerpc/bits/endianness.h: Remove logic to check for + broken compilers. + + * ctype/ctype.h + * sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h + * sysdeps/arm/nptl/bits/pthreadtypes-arch.h + * sysdeps/csky/nptl/bits/pthreadtypes-arch.h + * sysdeps/ia64/ieee754.h + * sysdeps/ieee754/ieee754.h + * sysdeps/ieee754/ldbl-128/ieee754.h + * sysdeps/ieee754/ldbl-128ibm/ieee754.h + * sysdeps/m68k/nptl/bits/pthreadtypes-arch.h + * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h + * sysdeps/mips/ieee754/ieee754.h + * sysdeps/mips/nptl/bits/pthreadtypes-arch.h + * sysdeps/nios2/nptl/bits/pthreadtypes-arch.h + * sysdeps/nptl/pthread.h + * sysdeps/riscv/nptl/bits/pthreadtypes-arch.h + * sysdeps/sh/nptl/bits/pthreadtypes-arch.h + * sysdeps/sparc/sparc32/ieee754.h + * sysdeps/unix/sysv/linux/generic/bits/stat.h + * sysdeps/unix/sysv/linux/generic/bits/statfs.h + * sysdeps/unix/sysv/linux/sys/acct.h + * wctype/bits/wctype-wchar.h: + Include bits/endian.h, not endian.h. + + * sysdeps/unix/sysv/linux/hppa/pthread.h: Don’t include endian.h. + + * sysdeps/mips/ieee754/ieee754.h: Use __LDBL_MANT_DIG__ + in ifdefs, instead of LDBL_MANT_DIG. Only include float.h + when __LDBL_MANT_DIG__ is not predefined, in which case + define __LDBL_MANT_DIG__ to equal LDBL_MANT_DIG. + +2019-09-17 Mike FABIAN + + * localedata/locales/az_AZ: Make lang_name agree with CLDR + * localedata/locales/be_BY@latin: Make lang_name agree with langtable + * localedata/locales/ber_DZ: Make language, country_name, lang_name agree with langtable + * localedata/locales/ber_MA: Add country_name from langtable, make language, lang_name agree with langtable + * localedata/locales/bhb_IN: Add country_name from langtable, make lang_name agree with langtable + * localedata/locales/bho_IN: Add country_name from langtable + * localedata/locales/chr_US: Make country_name agree with CLDR + * localedata/locales/crh_UA: Make lang_name agree with langtable + * localedata/locales/csb_PL: Add country_name from langtable + * localedata/locales/doi_IN: Add country_name from langtable + * localedata/locales/dv_MV: Add country_name from langtable + * localedata/locales/eo: Fix capitalisation of lang_name, agree with CLDR + * localedata/locales/hak_TW: Make lang_name agree with langtable + * localedata/locales/hif_FJ: Make lang_name agree with langtable + * localedata/locales/hne_IN: Add country_name from langtable + * localedata/locales/ia_FR: Fix capitalisation of lang_name, agree with CLDR + * localedata/locales/id_ID: Make lang_name agree with CLDR + * localedata/locales/ig_NG: Make country_name, lang_name agree with CLDR + * localedata/locales/kab_DZ: Make country_name agree with CLDR + * localedata/locales/ks_IN: Make country_name agree with CLDR + * localedata/locales/ku_TR: Make country_name, lang_name agree with CLDR + * localedata/locales/mag_IN: Add country_name from langtable + * localedata/locales/mfe_MU: Make country_name agree with CLDR + * localedata/locales/mhr_RU: Add lang_name from langtable + * localedata/locales/mi_NZ: Make lang_name agree with CLDR + * localedata/locales/ms_MY: Make lang_name agree with CLDR + * localedata/locales/nan_TW: Make lang_name agree with langtable + * localedata/locales/nan_TW@latin: Make lang_name agree with langtable + * localedata/locales/nds_DE: Make lang_name agree with langtable + * localedata/locales/nds_NL: Make lang_name agree with langtable + * localedata/locales/nhn_MX: Add country_name from langtable, make lang_name agree with langtable + * localedata/locales/niu_NU: Add country_name, lang_name from langtable + * localedata/locales/niu_NZ: Add lang_name from langtable + * localedata/locales/nr_ZA: Fix capitalisation of lang_name from langtable + * localedata/locales/oc_FR: Fix capitalisation of lang_name from langtable + * localedata/locales/or_IN: Fix spelling of language from langtable + * localedata/locales/pa_PK: Make country_name agree with CLDR + * localedata/locales/ps_AF: Make country_name agree with CLDR + * localedata/locales/quz_PE: Make language, lang_name agree with langtable + * localedata/locales/raj_IN: Make country_name, lang_name agree with langtable + * localedata/locales/rw_RW: Make country_name agree with CLDR + * localedata/locales/sah_RU: Make langauge, country_name, lang_name agree with CLDR + * localedata/locales/sat_IN: Make country_name, lang_name agree with langtable + * localedata/locales/sc_IT: Fix capitalisaton of lang_name according to langtable + * localedata/locales/sd_IN: Make country_name, lang_name agree with CLDR + * localedata/locales/sd_IN@devanagari: Make lang_name agree with langtable + * localedata/locales/shn_MM: Make country_name agree with langtable + * localedata/locales/shs_CA: Make language, lang_name agree with langtable + * localedata/locales/sm_WS: Make country_name agree with langtable + * localedata/locales/ss_ZA: Fix capitalisation of lang_name from langtable + * localedata/locales/szl_PL: Add country_name from langtable + * localedata/locales/te_IN: Fix country_name from CLDR + * localedata/locales/tg_TJ: Add lang_name from CLDR + * localedata/locales/the_NP: Add country_name, lang_name from langtable + * localedata/locales/tk_TM: Make lang_name agree with CLDR + * localedata/locales/tl_PH: Add lang_name from langtable + * localedata/locales/to_TO: Make lang_name agree with CLDR + * localedata/locales/tpi_PG: Make country_name, lang_name agree with langtable + * localedata/locales/tt_RU@iqtelif: Add country_name, lang_name from langtable + * localedata/locales/ug_CN: Add lang_name from CLDR + * localedata/locales/unm_US: Add lang_name from langtable + * localedata/locales/wa_BE: Fix capitalisation of lang_name from langtable + * localedata/locales/wo_SN: Add lang_name from CLDR + * localedata/locales/xh_ZA: Fix capitalisation of country_name, lang_name from CLDR + * localedata/locales/yo_NG: Make country_name agree with CLDR + * localedata/locales/yuw_PG: Make langauge, lang_name agree with langtable + * localedata/locales/zh_HK: Add lang_name from langtable + * localedata/locales/zh_SG: Add lang_name from langtable + +2019-09-30 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default + binutils version to 2.33 branch. + +2019-10-01 Lukasz Majewski + + * include/time.h (valid_timeval_to_timespec64): Add. + * include/time.h (valid_timespec_to_timespec64): Likewise. + * include/time.h (valid_timespec64_to_timespec): Likewise. + * include/time.h (valid_timespec64_to_timeval): Likewise. + +2019-09-30 Joseph Myers + + * sysdeps/unix/sysv/linux/powerpc/bits/mman.h [__USE_MISC] + (MAP_SYNC): New macro. + * sysdeps/unix/sysv/linux/sparc/bits/mman.h [__USE_MISC] + (MAP_SYNC): Likewise. + * sysdeps/unix/sysv/linux/tst-mman-consts.py (main): Update Linux + kernel version number to 5.3. + +2019-09-27 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_mode): Rename to + fesetenv_control. + * sysdeps/powerpc/fpu/fedisblxcpt.c (fedisableexcept): Accommodate + rename of fesetenv_mode to fegetenv_control. + * sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Likewise. + * sysdeps/powerpc/fpu/fesetmode.c (fesetmode): Likewise. + * sysdeps/powerpc/fpu/fenv_private.h (__libc_femergeenv_ppc): Likewise. + (libc_feholdsetround_noex_ppc_ctx): Likewise. + +2019-09-27 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_private.h + (libc_feholdsetround_noex_ppc_ctx): Call fesetenv_mode instead + of fesetenv_register. + +2019-09-27 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_status): Rename to + fegetenv_control. + * sysdeps/powerpc/fpu/fedisblxcpt.c (fedisableexcept): Accommodate + rename of fegetenv_status to fegetenv_control. + * sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Likewise. + * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Likewise. + * sysdeps/powerpc/fpu/fegetmode.c (fegetmode): Likewise. + * sysdeps/powerpc/fpu/fesetenv.c (__fesetenv): Likewise. + * sysdeps/powerpc/fpu/fesetmode.c (fesetmode): Likewise. + +2019-09-27 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (__fesetround_inline): Use + 'mffscrn' instruction on POWER9. + (__fesetround_inline_nocheck): Likewise. + +2019-09-27 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (FPSCR_EXCEPTIONS_MASK): New. + * sysdeps/powerpc/fpu/fenv_private.h (__libc_femergeenv_ppc): Optimize + to write FPSCR control only, if exceptions have not changed. + +2019-09-27 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h: + (__TEST_AND_ENTER_NON_STOP): New. + (__TEST_AND_EXIT_NON_STOP): New. + * sysdeps/powerpc/fpu/fenv_private.h + (_FPU_ALL_TRAPS): Delete, replace with FPSCR_ENABLES_MASK. + (_FPU_MASK_RN): Delete. + (_FPU_MASK_NOT_RN_NI): Delete. + (_FPU_MASK_TRAPS_RN): Delete, replace with ~FPSCR_CONTROL_MASK. + (_FPU_MASK_FRAC_INEX_RET_CC): Delete, replace with ~FPSCR_STATUS_MASK. + (__libc_feholdbits_ppc): Delete, move code into + libc_feholdexcept_setround_ppc. + (libc_feholdexcept_ppc): Delete. + (libc_fesetround_ppc): Delete. + (libc_fetestexcept_ppc): Delete. + (libc_feholdsetround_ppc): Delete. + (__libc_femergeenv_ppc): Use __TEST_AND_ENTER/EXIT_NON_STOP. + (libc_feholdsetround_noex_ppc_ctx): Likewise. + (libc_feupdateenv_test_ppc): Use FPSCR defines. + * sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Use + __TEST_AND_ENTER_NON_STOP. + * sysdeps/powerpc/fpu/fedisblxcpt.c (fedisableexcept): Likewise. + * sysdeps/powerpc/fpu/feholdexcpt.c (__feholdexcept): Likewise. + * sysdeps/powerpc/fpu/fesetenv.c (__fesetenv): Likewise. + * sysdeps/powerpc/fpu/fesetmode.c (fesetmode): Likewise. + * sysdeps/powerpc/fpu/feupdateenv.c (__feupdateenv): Likewise. + (_FPU_MASK_ALL): Delete. + +2019-09-27 Joseph Myers + + * sysdeps/gnu/netinet/tcp.h (TCP_TX_DELAY): New macro. + +2019-09-26 Lukasz Majewski + + * include/time.h: Add struct __timespec64 definition + +2019-09-26 Siddhesh Poyarekar + + * scripts/vcs_to_changelog/misc_util.py (decode): Remove latin1 + from codecs. + +2019-09-25 Adhemerval Zanella + + * rt/Makefile (CFLAGS-clock_nanosleep.c): Move to ... + * time/Makefile (CFLAGS-clock_nanosleep.c): ... here. + + * sysdeps/unix/sysv/linux/Makefile + (CFLAGS-tst-sigcontextinfo-get_pc.c): Rename to + CFLAGS-tst-sigcontext-get_pc.c. + +2019-09-24 Alistair Francis + + * inet/net-internal.h: Fix uninitalised clntudp_call() variable. + +2019-09-24 Andreas Schwab + + * sysdeps/unix/sysv/linux/arm/sysdep.h + (HAVE_CLOCK_GETTIME_VSYSCALL): Define to "__vdso_clock_gettime", + not "__vdso_gettimeofday". + (HAVE_GETTIMEOFDAY_VSYSCALL): Define to "__vdso_gettimeofday", not + "__vdso_clock_gettime". + * sysdeps/unix/sysv/linux/mips/sysdep.h + (HAVE_CLOCK_GETTIME_VSYSCALL): Define to "__vdso_clock_gettime", + not "__vdso_gettimeofday". + (HAVE_GETTIMEOFDAY_VSYSCALL): Define to "__vdso_gettimeofday", not + "__vdso_clock_gettime". + +2019-09-19 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_and_set_rn): New. + (__fe_mffscrn): New. + * sysdeps/powerpc/fpu/fenv_private.h (libc_feholdsetround_ppc_ctx): + Do not clear enable bits, remove obsolete code, use + fegetenv_and_set_rn. + (libc_feresetround_ppc): Remove obsolete code, use + fegetenv_and_set_rn. + +2019-09-19 Stefan Liebler + + * support/support_ptrace.c: Remove inclusion of sys/prctl.h. + +2019-09-19 Stefan Liebler + + * sysdeps/s390/hp-timing.h (_HP_TIMING_H): Undefine. + (_HP_TIMING_S390_H): Define. + +2019-09-18 Joseph Myers + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 5.3. + (clone3): New syscall. + (pidfd_open): Likewise. + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + version to 5.3. + +2019-09-18 Stefan Liebler + + * sysdeps/s390/hp-timing.h: New file. + +2019-09-18 Joseph Myers + + * sysdeps/unix/sysv/linux/riscv/vfork.S: Do not include + . + (CLONE_VM): New macro. + (CLONE_VFORK): Likewise. + +2019-09-18 Stefan Liebler + + * elf/tst-pldd.c (do_test): Add UNSUPPORTED check. + Rearrange subprocesses. + (pldd_process): New function. + * support/Makefile (libsupport-routines): Add support_ptrace. + * support/xptrace.h: New file. + * support/support_ptrace.c: Likewise. + +2019-09-17 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/sparc/sparc64/time.c: Remove file. + + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h + (INTERNAL_VSYSCALL_CALL): Remove. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h + (INTERNAL_VSYSCALL_CALL): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h + (INTERNAL_VSYSCALL_CALL): Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep.h (INTERNAL_VSYSCALL_CALL): + New macro. + + * sysdeps/unix/sysv/linux/libc-vdso.h (VDSO_IFUNC_RET): Define if not + defined. + * sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c + (__get_timebase_freq): Remove use of + INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK. + (get_timebase_freq_fallback): New symbol. + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c (time): Use + HAVE_GETTIMEOFDAY_VSYSCALL. + * sysdeps/unix/sysv/linux/powerpc/time.c (gettimeofday): Use + HAVE_TIME_VSYSCALL. + * sysdeps/unix/sysv/linux/powerpc/libc-vdso.h: Include generic + implementation. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h + (INTERNAL_VSYSCALL_CALL_TYPE): Make calling convention similar to + powerpc64. + (INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK): Remove macro. + * .../sysv/linux/powerpc/powerpc64/sysdep.h + (INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK): Likewise. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h + (HAVE_GETTIMEOFDAY_VSYSCALL): Define. + + * sysdeps/powerpc/powerpc32/backtrace.c (is_sigtramp_address, + is_sigtramp_address_rt): Use HAVE_SIGTRAMP_{RT}32 instead of SHARED. + * sysdeps/powerpc/powerpc64/backtrace.c (is_sigtramp_address): + Likewise. + * sysdeps/unix/sysv/linux/aarch64/init-first.c: Remove file. + * sysdeps/unix/sysv/linux/aarch64/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/arm/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/arm/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/mips/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/mips/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/i386/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/s390/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/s390/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/x86/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/aarch64/sysdep.h + (HAVE_CLOCK_GETRES_VSYSCALL, HAVE_CLOCK_GETTIME_VSYSCALL, + HAVE_GETTIMEOFDAY_VSYSCALL): Define value based on kernel exported + name. + * sysdeps/unix/sysv/linux/arm/sysdep.h (HAVE_CLOCK_GETTIME_VSYSCALL, + HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep.h (HAVE_CLOCK_GETTIME_VSYSCALL, + HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep.h (HAVE_CLOCK_GETTIME_VSYSCALL, + HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h + (HAVE_CLOCK_GETRES_VSYSCALL, HAVE_CLOCK_GETTIME_VSYSCALL, + HAVE_GETCPU_VSYSCALL, HAVE_TIME_VSYSCALL, HAVE_GET_TBFREQ, + HAVE_SIGTRAMP_RT64, HAVE_SIGTRAMP_32, HAVE_SIGTRAMP_RT32i, + HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/riscv/sysdep.h (HAVE_CLOCK_GETRES_VSYSCALL, + HAVE_CLOCK_GETTIME_VSYSCALL, HAVE_GETTIMEOFDAY_VSYSCALL, + HAVE_GETCPU_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/s390/sysdep.h (HAVE_CLOCK_GETRES_VSYSCALL, + HAVE_CLOCK_GETTIME_VSYSCALL, HAVE_GETTIMEOFDAY_VSYSCALL, + HAVE_GETCPU_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/sparc/sysdep.h (HAVE_CLOCK_GETTIME_VSYSCALL, + HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h + (HAVE_CLOCK_GETTIME_VSYSCALL, HAVE_GETTIMEOFDAY_VSYSCALL, + HAVE_GETCPU_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/dl-vdso.h (VDSO_NAME, VDSO_HASH): Define to + invalid names if architecture does not define them. + (get_vdso_mangle_symbol): New symbol. + * sysdeps/unix/sysv/linux/init-first.c: New file. + * sysdeps/unix/sysv/linux/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/init-first.c (gettimeofday, + clock_gettime, clock_getres, getcpu, time): Remove declaration. + (__libc_vdso_platform_setup_arch): Likewise and use + get_vdso_mangle_symbol to setup vDSO symbols. + (sigtramp_rt64, sigtramp32, sigtramp_rt32, get_tbfreq): Add + attribute_hidden. + * sysdeps/unix/sysv/linux/powerpc/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/sysdep-vdso.h (VDSO_SYMBOL): Remove + definition. + + * sysdeps/unix/make-syscalls.sh: Make vDSO call use get_vdso_symbol. + * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c (__gettimeofday): + Use get_vdso_symbol instead of _dl_vdso_vsym. + * sysdeps/unix/sysv/linux/powerpc/time.c (time): Likewise. + * sysdeps/unix/sysv/linux/riscv/flush-icache.c + (__lookup_riscv_flush_icache): Likewise. + * sysdeps/unix/sysv/linux/x86/gettimeofday.c (__gettimeofday): + Likewise. + * sysdeps/unix/sysv/linux/x86/time.c (time): Likewise. + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c: Likewise. + * sysdeps/unix/sysv/linux/aarch64/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/arm/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/i386/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/mips/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/s390/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/aarch64/sysdep.h (VDSO_NAME, VDSO_HASH): + Define. + * sysdeps/unix/sysv/linux/arm/sysdep.h (VDSO_NAME, VDSO_HASH): + Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep.h (VDSO_NAME, VDSO_HASH): + Likewise. + * sysdeps/unix/sysv/linux/riscv/sysdep.h (VDSO_NAME, VDSO_HASH): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sysdep.h (VDSO_NAME, VDSO_HASH): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (VDSO_NAME, VDSO_HASH): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h + (HAVE_CLOCK_GETTIME_VSYSCALL, HAVE_GETTIMEOFDAY_VSYSCALL): Remove + definition. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h + (HAVE_CLOCK_GETTIME_VSYSCALL, HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h + (HAVE_CLOCK_GETTIME_VSYSCALL, HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h + (HAVE_CLOCK_GETTIME_VSYSCALL, HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h + (HAVE_CLOCK_GETTIME_VSYSCALL, HAVE_GETTIMEOFDAY_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h + (HAVE_CLOCK_GETRES_VSYSCALL, HAVE_CLOCK_GETTIME_VSYSCALL, + HAVE_GETTIMEOFDAY_VSYSCALL, HAVE_GETCPU_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h + (HAVE_CLOCK_GETRES_VSYSCALL, HAVE_CLOCK_GETTIME_VSYSCALL, + HAVE_GETTIMEOFDAY_VSYSCALL, HAVE_GETCPU_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep.h: New file. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION, + PREPARE_VERSION_KNOWN, VDSO_NAME_LINUX_2_6, VDSO_HASH_LINUX_2_6, + VDSO_NAME_LINUX_2_6_15, VDSO_HASH_LINUX_2_6_15, + VDSO_NAME_LINUX_2_6_29, VDSO_HASH_LINUX_2_6_29, + VDSO_NAME_LINUX_4_15, VDSO_HASH_LINUX_4_15): Remove defines. + (get_vdso_symbol): New function. + +2019-09-17 Chung-Lin Tang + + * sysdeps/generic/hp-timing-common.h (HP_TIMING_PRINT): Correct + position of string null termination. + +2019-09-14 Aurelien Jarno + + [BZ #24986] + * sysdeps/unix/alpha/getegid.S: Move to ... + * sysdeps/unix/sysv/linux/alpha/getegid.S: ... here. + * sysdeps/unix/alpha/geteuid.S: Move to ... + * sysdeps/unix/sysv/linux/alpha/geteuid.S: ... here. + * sysdeps/unix/alpha/getppid.S: Move to ... + * sysdeps/unix/sysv/linux/alpha/getppid.S: ... here + +2019-09-09 Paul Eggert + + Fix http: URL in 'configure' + * configure.ac: Add URL to AC_INIT so that it generates an + https: URL instead of an http: URL. + * configure: Regenerate. + + Regenerate charmap-kw.h, locfile-kw.h + This propagates the recent http->https URL changes. + Since I used gperf 3.1 to regenerate, this is also a minor + internal-to-localedef API change. + URL problem reported by Joseph Myers in: + https://www.sourceware.org/ml/libc-alpha/2019-09/msg00143.html + * locale/programs/charmap-kw.h, locale/programs/locfile-kw.h: + Regenerate with gperf 3.1. + * locale/programs/linereader.h (kw_hash_fct_t): + * locale/programs/repertoire.c (repertoiremap_hash): + 2nd arg is now size_t not unsigned, for compatibility with gperf 3.1. + +2019-09-05 Florian Weimer + + [BZ #24962] + * locale/localeinfo.h (_nl_category_names): Remove union wrapper. + (_nl_category_names_get): New function. + * intl/dcigettext.c (category_to_name): Call it. + * locale/findlocale.c (_nl_find_locale): Likewise. + * intl/loadlocale.c (_nl_load_locale): Likewise. + * locale/newlocale.c (__newlocale): Likewise. + * locale/setlocale.c (_nl_category_names): Adjust definition. + (_nl_category_name_idxs): Likewise. + (new_composite_name): Call _nl_category_names_get. + (setlocale): Likewise. + +2019-09-05 Gabriel F. T. Gomes + + * math/bits/mathcalls.h (totalorder, totalordermag): Replace + const attribute with pure attribute. + +2019-09-04 Lukasz Majewski + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_TIME64_SYSCALLS): New macro. + +2019-09-04 Zack Weinberg + + [BZ #24959] + * rt/clock_getcpuclockid.c: Move to time/clock_getcpuclockid.c. + * rt/clock_getres.c: Move to time/clock_getres.c. + * rt/clock_gettime.c: Move to time/clock_gettime.c. + * rt/clock_nanosleep.c: Move to time/clock_nanosleep.c. + * rt/clock_settime.c: Move to time/clock_settime.c. + * rt/tst-clock.c: Move to time/tst-clock.c. + * rt/tst-clock2.c: Move to time/tst-clock2.c. + * rt/tst-clock_nanosleep.c: Move to time/tst-clock_nanosleep.c. + * rt/tst-cpuclock1.c: Move to time/tst-cpuclock1.c. + * rt/clock-compat.c: Delete file. + + * time/clock_getcpuclockid.c + * time/clock_getres.c + * time/clock_gettime.c + * time/clock_nanosleep.c + * time/clock_settime.c + * sysdeps/posix/clock_getres.c + * sysdeps/unix/clock_gettime.c + * sysdeps/unix/clock_nanosleep.c + * sysdeps/unix/clock_settime.c + * sysdeps/unix/sysv/linux/clock_getcpuclockid.c + * sysdeps/unix/sysv/linux/clock_getres.c + * sysdeps/unix/sysv/linux/clock_gettime.c + * sysdeps/unix/sysv/linux/clock_nanosleep.c + * sysdeps/unix/sysv/linux/clock_settime.c: Define the function + defined by this file with default symbol version GLIBC_2_17, + and optionally a compatibility alias at symbol version GLIBC_2_2. + * include/time.h: Remove internal prototypes for clock_getres, + clock_nanosleep, and clock_getcpuclockid. + + * sysdeps/unix/sysv/linux/clock_gettime.c: Prune includes. + Remove unused function realtime_gettime. + + * rt/Makefile (clock-routines, routines): Remove variable. + (librt-routines): Remove clock-compat. + (tests): Remove tst-clock, tst-clock2, tst-clock_nanosleep, + and tst-cpuclock1. + * time/Makefile (routines): Add clock_getres, clock_gettime, + clock_settime, clock_getcpuclockid, and clock_nanosleep. + (tests): Add tst-clock, tst-clock2, tst-clock_nanosleep, + and tst-cpuclock1. + + * rt/Versions (libc): Remove entire stanza. + (librt GLIBC_2.2): Remove all clock_* functions. + * time/Versions (libc GLIBC_2.2, libc GLIBC_2.17): + Add clock_getres, clock_gettime, clock_settime, + clock_getcpuclockid, and clock_nanosleep. + (libc GLIBC_PRIVATE): Add __clock_gettime. + + * sysdeps/mach/hurd/i386/librt.abilist + * sysdeps/unix/sysv/linux/alpha/librt.abilist + * sysdeps/unix/sysv/linux/arm/be/librt.abilist + * sysdeps/unix/sysv/linux/arm/le/librt.abilist + * sysdeps/unix/sysv/linux/hppa/librt.abilist + * sysdeps/unix/sysv/linux/i386/librt.abilist + * sysdeps/unix/sysv/linux/ia64/librt.abilist + * sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist + * sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist + * sysdeps/unix/sysv/linux/microblaze/be/librt.abilist + * sysdeps/unix/sysv/linux/microblaze/le/librt.abilist + * sysdeps/unix/sysv/linux/mips/mips32/librt.abilist + * sysdeps/unix/sysv/linux/mips/mips64/librt.abilist + * sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist + * sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist + * sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist + * sysdeps/unix/sysv/linux/sh/librt.abilist + * sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist + * sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist + * sysdeps/unix/sysv/linux/x86_64/64/librt.abilist + * sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist: + Remove entries for clock_getres, clock_gettime, clock_settime, + clock_getcpuclockid, and clock_nanosleep. + + * sysdeps/mach/hurd/i386/libc.abilist + * sysdeps/unix/sysv/linux/alpha/libc.abilist + * sysdeps/unix/sysv/linux/arm/libc.abilist + * sysdeps/unix/sysv/linux/hppa/libc.abilist + * sysdeps/unix/sysv/linux/i386/libc.abilist + * sysdeps/unix/sysv/linux/ia64/libc.abilist + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist + * sysdeps/unix/sysv/linux/sh/be/libc.abilist + * sysdeps/unix/sysv/linux/sh/le/libc.abilist + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: + Add another set of entries for clock_getres, clock_gettime, + clock_settime, clock_getcpuclockid, and clock_nanosleep at + whatever version GLIBC_2.2 maps to. + +2019-09-03 Aurelien Jarno + + * sysdeps/alpha/fpu/libm-test-ulps: Regenerated using GCC 9.2. + +2019-09-03 Florian Weimer + + [BZ #24950] + * locale/programs/charmap.h (struct charseq): Turn bytes into a + flexible array member. + * locale/programs/ld-ctype.c (ctype_finish): Use initializer for + replace. + +2019-09-02 Florian Weimer + + * misc/tst-mntent-autofs.c: New file. + * misc/Makefile (tests): Add misc/tst-mntent-autofs. + +2019-09-02 Ian Kent + + Use autofs "ignore" mount hint in getmntent_r/getmntent. + * misc/mntent_r.c (get_mnt_entry): New function, extracted from + getmntent_r. + (__getmntent_r): Call it. Filter out autofs entries with an + "ignore" mount option. + +2019-08-30 Wilco Dijkstra + + * benchtests/bench-memcpy.c (simple_memcpy): Remove. + (generic_memcpy): Include generic C memcpy. + * benchtests/bench-memmove.c (simple_memmove): Remove. + (generic_memmove): Include generic C memmove. + * benchtests/bench-memset.c (simple_memset): Remove. + (generic_memset): Include generic C memset. + * benchtests/bench-memset-large.c (simple_memset): Remove. + (generic_memset): Include generic C memset. + * benchtests/bench-memset-walk.c (simple_memset): Remove. + (generic_memset): Include generic C memset. + * string/memcpy.c (MEMCPY): Add defines to enable redirection. + * string/memset.c (MEMSET): Likewise. + * sysdeps/x86_64/memcopy.h: Remove empty file. + +2019-08-30 Florian Weimer + + nptl: Move pthread_attr_getinheritsched implementation into libc. + * nptl/Makefile (routines): Add pthread_attr_getinheritsched. + (libpthread-routines): Remove pthread_attr_getinheritsched. + * nptl/Versions (libpthread GLIBC_2.0): Remove + pthread_attr_getinheritsched. + * nptl/forward.c (pthread_attr_getinheritsched): Remove definition. + * nptl/nptl-init.c (pthread_functions): Remove initializer for + ptr_pthread_attr_getinheritsched. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_attr_getinheritsched member. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_attr_getinheritsched. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-08-30 Samuel Thibault + + * sysdeps/mach/hurd/getcwd.c + (_hurd_canonicalize_directory_name_internal): Do not remove the heading + slash if we got an unknown root directory. (__getcwd): Do not fail with + EGRATUITOUS if we got an unknown root directory. + * hurd/hurdselect.c (SELECT_ERROR): New macro. + (_hurd_select): + - Add `error' field to `d' structures array. + - If a poll descriptor is bogus, set EBADF, but continue with a zero + timeout. + - Go through the whole fd_set, not only until _hurd_dtablesize. Return + EBADF there is any bit set above _hurd_dtablesize. + - Do not request io_select on bogus descriptors (SELECT_ERROR). + - On io_select request error, record the error. + - On io_select bogus reply, use EIO error code. + - On io_select bogus or error reply, record the error. + - Do not destroy reply port for bogus FDs. + - On error, make poll set POLLHUP in the EPIPE case, POLLNVAL in the + EBADF case, or else POLLERR. + - On error, make select simulated readiness. + + [BZ #19903] + * sysdeps/mach/hurd/mmap.c (__mmap): Remove optimizing anonymous maps + as __vm_allocate. + + * sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn2): New function, + unlocks SS and returns to the saved PC. + (__sigreturn): Do not unlock SS, and "return" into __sigreturn2 on the + thread stack instead of the saved PC. + +2019-08-30 Richard Braun + + * hurd/hurdselect.c (_hurd_select): Always call __io_select with no + timeout. + * sysdeps/mach/hurd/setitimer.c (setitimer_locked): Fix preemptor setup. + * hurd/Makefile (user-interfaces): Add io_reply and io_request. + * hurd/hurdselect.c: Include , and + . + (_hurd_select): Replace the call to __io_select with either + __io_select_request or __io_select_timeout_request, depending on the + timeout. Count the number of ready descriptors (replies for which at + least one type bit is set). Implement the timeout locally when there is + no file descriptor. + +2019-08-29 Mihailo Stojanovic + + * elf/dl-addr.c (determine_info): Calculate the symbol index + using the newly defined ELF_MACHINE_HASH_SYMIDX macro. + * elf/dl-lookup.c (do_lookup_x): Ditto. + (_dl_setup_hash): Initialize MIPS xhash translation table. + * elf/elf.h (SHT_MIPS_XHASH): New define. + (DT_MIPS_XHASH): New define. + * sysdeps/generic/ldsodefs.h (ELF_MACHINE_GNU_HASH_ADDRIDX): New + define. + (ELF_MACHINE_HASH_SYMIDX): Ditto. + (ELF_MACHINE_XHASH_SETUP): Ditto. + * sysdeps/mips/ldsodefs.h (ELF_MACHINE_GNU_HASH_ADDRIDX): New + define. + (ELF_MACHINE_HASH_SYMIDX): Ditto. + (ELF_MACHINE_XHASH_SETUP): Ditto. + * sysdeps/mips/linkmap.h (struct link_map_machine): New member. + * sysdeps/unix/sysv/linux/mips/ldsodefs.h: Increment valid ABI + version. + * sysdeps/unix/sysv/linux/mips/libc-abis: New ABI version. + +2019-08-29 Adhemerval Zanella + + * sysdeps/sh/preconfigure.ac: New file. + * sysdeps/sh/preconfigure: Regenerate. + * sysdeps/sh/be/sh3/Implies: New file. + * sysdeps/sh/be/sh4/Implies: Likewise. + * sysdeps/sh/le/sh3/Implies: Likewise. + * sysdeps/sh/le/sh4/Implies: Likewise. + * sysdeps/unix/sysv/linux/sh/le/sh3/Implies: Likewise. + * sysdeps/unix/sysv/linux/sh/le/sh4/Implies: Likewise. + * sysdeps/unix/sysv/linux/sh/*.abilist: Move to + sysdeps/unix/sysv/linux/sh/le/*.abilist. + * sysdeps/unix/sysv/linux/sh/be/*.abilist: New files. + + * sysdeps/microblaze/preconfigure.ac: New file. + * sysdeps/microblaze/preconfigure: Regenerate. + * sysdeps/microblaze/be/implies: New file. + * sysdeps/microblaze/le/implies: Likewise. + * sysdeps/unix/sysv/linux/microblaze/be/implies: Likewise. + * sysdeps/unix/sysv/linux/microblaze/le/implies: Likewise. + * sysdeps/unix/sysv/linux/microblaze/*.abilist. Move to + sysdeps/unix/sysv/linux/microblaze/be/*.abilist. + * sysdeps/unix/sysv/linux/microblaze/le/*.abilist: New files. + + * sysdeps/arm/preconfigure.ac: Set machine based on endianness. + * sysdeps/arm/preconfigure: Regenerate. + * sysdeps/arm/be/Implies: New file. + * sysdeps/arm/be/armv6/Implies: Likewise. + * sysdeps/arm/be/armv6t2/Implies: Likewise. + * sysdeps/arm/be/armv7/Implies: Likewise. + * sysdeps/arm/le/Implies: Likewise. + * sysdeps/unix/sysv/linux/arm/be/Implies: Likewise. + * sysdeps/unix/sysv/linux/arm/le/Implies: Likewise. + * sysdeps/unix/sysv/linux/arm/*.abilist: Move to + sysdeps/unix/sysv/linux/arm/le/*.abilist. + * sysdeps/unix/sysv/linux/arm/be/l*.abilist: New files. + +2019-08-27 Paul Eggert + + Fix posix/tst-regex by using UTF-8 and own test input + Problem reported by Stefan Liebler in: + https://sourceware.org/ml/libc-alpha/2019-08/msg00658.html + * posix/tst-regex.c: Convert this file from Latin-1 to UTF-8. + (do_test, test_expr): Adjust to the fact that this source file, + and the test data in ChangeLog.8, is now UTF-8 instead of Latin-1. + * posix/tst-regex.input: Copy from ChangeLog.old/ChangeLog.8, + so that it is now UTF-8. + +2019-08-28 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_status_ISA300): Delete. + (fegetenv_status): Generate 'mffsl' unconditionally. + +2019-08-28 Paul A. Clarke + + * sysdeps/powerpc/fpu/fesetenv.c (__fesetenv): Utilize lightweight + FPSCR read. + (_FPU_MASK_ALL): Delete. + +2019-08-28 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_private.h (libc_feholdsetround_ppc_ctx): + Utilize lightweight FPSCR read if possible, set fewer FPSCR bits + if possible. + (libc_feresetround_ppc): Replace call to __libc_femergeenv_ppc + with simpler required steps, set fewer FPSCR bits if possible. + +2019-08-28 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_mode): New. + (FPSCR_FPRF_MASK): New. (FPSCR_STATUS_MASK): New. + * sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Use lighter- + weight access to FPSCR; remove unnecessary second FPSCR read and + validate. + * sysdeps/powerpc/fpu/fedisblxcpt.c (fedisableexcept): Likewise. + * sysdeps/powerpc/fpu/fesetmode.c (fesetmode): Use lighter-weight + access to FPSCR; Use macros in fenv_libc.h in favor of local. + +2019-08-28 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h: Define FPSCR bitmasks. + (fenv_reg_to_exceptions): Replace bitwise operations with mask-shift. + (fenv_exceptions_to_reg): New. + * sysdeps/powerpc/fpu/fedisblxcpt.c (fedisableexcept): Replace bitwise + operation with call to fenv_exceptions_to_reg(). + * sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Likewise. + +2019-08-28 Florian Weimer + + * misc/mntent.c (struct mntent_buffer): Define. + (mntent_buffer): Adjust type to void *. + (allocate): Adjust for allocate_once. + (deallocate): New function. + (getmntent): Call allocate_once. + +2019-08-28 Florian Weimer + + nptl: Move pthread_attr_setdetachstate implementation into libc. + * nptl/Makefile (routines): Add pthread_attr_setdetachstate. + (libpthread-routines): Remove pthread_attr_setdetachstate. + * nptl/Versions (libpthread GLIBC_2.0): Remove + pthread_attr_setdetachstate. + * nptl/forward.c (pthread_attr_setdetachstate): Remove definition. + * nptl/nptl-init.c (pthread_functions): Remove initializer for + ptr_pthread_attr_setdetachstate. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_attr_setdetachstate member. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_attr_setdetachstate. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-08-28 Florian Weimer + + [BZ #24902] + * login/Makefile (tests): Add tst-pututxline-lockfail. + (tst-pututxline-lockfail): Link with -lpthread. + * login/utmp_file.c (internal_getut_r): Remove buffer argument. + (__libc_getutid_r): Adjust. + (__libc_pututline): Likewise. Check for file_offset == -1. + * login/tst-pututxline-lockfail.c: New file. + +2019-08-28 Stefan Liebler + + * posix/tst-regex.c (do_test): Use tst-regex.input as input file. + * posix/tst-regex.input: New file. + +2019-08-23 Mihailo Stojanovic + + [BZ #24916] + * sysdeps/mips/Makefile [$(subdir) = elf] (tests): Add + tst-undefined-weak. + [$(subdir) = elf] (modules-names): Add tst-undefined-weak-lib. + [$(subdir) = elf] ($(objpfx)tst-undefined-weak): Add dependency. + * sysdeps/mips/tst-undefined-weak-lib.S: New file. + * sysdeps/mips/tst-undefined-weak.c: Likewise. + * sysdeps/unix/sysv/linux/mips/ldsodefs.h (VALID_ELF_ABIVERSION): + Increment highest valid ABIVERSION value. + +2019-08-23 Dragan Mladjenovic + + * sysdeps/unix/sysv/linux/mips/Makefile + (test-xfail-check-execstack): + Move under mips-has-gnustack != yes. + (CFLAGS-.o*, ASFLAGS-.o*): New rules. + Apply -Wa,-execstack if mips-force-execstack == yes. + * sysdeps/unix/sysv/linux/mips/configure: Regenerated. + * sysdeps/unix/sysv/linux/mips/configure.ac + (mips-force-execstack): New var. + Set to yes for hard-float builds with minimum_kernel < 4.8.0 + or minimum_kernel not set at all. + (mips-has-gnustack): New var. + Use value of libc_cv_as_noexecstack + if mips-force-execstack != yes, otherwise set to no. + +2019-08-23 Adhemerval Zanella + Florian Weimer + + * gmon/Versions (libc) [GLIBC_2.31]: New entry. + * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter): + Make a compat_symbol. + * sysdeps/unix/sysv/linux/sparc/profil-counter.h + (__profil_counter_global): Likewise. + + * debug/segfault.c (install_handler): Use SA_SIGINFO if defined. + * sysdeps/generic/profil-counter.h (__profil_counter): Cast to + uintptr_t. + * sysdeps/generic/sigcontextinfo.h (GET_PC): Rename to + sigcontext_get_pc and return aligned cast to uintptr_t. + * sysdeps/mach/hurd/i386/sigcontextinfo.h (GET_PC): Likewise. + * sysdeps/posix/profil.c (profil_count): Change PC argument to + uintptr_t. + (__profil): Use SA_SIGINFO. + * sysdeps/posix/sprofil.c (profil_count): Change PCP argument to + uintptr_t. + (__sprofil): Use SA_SIGINFO. + * sysdeps/unix/sysv/linux/profil-counter.h: New file. + * sysdeps/unix/sysv/linux/aarch64/profil-counter.h: Remove file. + * sysdeps/unix/sysv/linux/csky/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/i386/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/microblaze/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/mips/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/nios2/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/profil-counter.h: Likewise. + * sysdeps/sysv/linux/s390/s390-32/profil-counter.h: Likewise. + * sysdeps/sysv/linux/s390/s390-64/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/sh/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/arm/profil-counter.h (__profil_counter): + Assume SA_SIGINFO and use sigcontext_get_pc instead of GET_PC. + * sysdeps/unix/sysv/linux/sparc/profil-counter.h: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h: Remove file. + * sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h: Likewise. + * sysdpes/unix/sysv/linux/aarch64/sigcontextinfo.h (SIGCONTEXT, + GET_PC, __sigaction, sigaction): Remove defines. + (sigcontext_get_pc): New function. + * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/csky/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/sh/sigcontextinfo.h: Likewise. + * sysdeps/sysv/linux/sparc/sparc32/sigcontextinfo.h: Likewise. + * sysdeps/sysv/linux/sparc/sparc64/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/register-dump.h (register_dump): + Handle CTX argument as ucontext_t. + * sysdeps/unix/sysv/linux/i386/register-dump.h: Likewise. + Likewise. + * sysdeps/unix/sysv/linux/m68k/register-dump.h: Likewise. + * sysdeps/sysv/linux/s390/s390-32/register-dump.h: Likewise. + * sysdeps/sysv/linux/s390/s390-64/register-dump.h: Likewise. + * sysdeps/unix/sysv/linux/sh/register-dump.h: New file. + * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Remove File. + * sysdeps/unix/sysv/linux/sh/sh3/register-dump.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h: Likewise. + * sysdeps/unix/sysv/linux/Makefile (tests-internal): Add + tst-sigcontextinfo-get_pc. + * sysdeps/unix/sysv/linux/tst-sigcontextinfo-get_pc.c: New file. + (CFLAGS-tst-sigcontextinfo-get_pc.c): New rule. + +2019-08-23 Adhemerval Zanella + + * sysdeps/generic/single-thread.h (RTLD_SINGLE_THREAD_P): Add + definition. + +2019-08-23 Rafał Lużyński + + [BZ #24682] + * localedata/locales/bo_CN (first_weekday): Add, set to 2 (Monday). + * localedata/locales/ug_CN (first_weekday): Likewise. + * localedata/locales/zh_CN (first_weekday): Likewise. + +2019-08-22 Gustavo Romero + + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Fix typos and + field name in mcontext_t struct. + +2019-08-22 Joseph Myers + + * resolv/tst-resolv-ai_idn-latin1.c (do_test): Mark test + unsupported with libidn2 before 2.0.5. + * resolv/tst-resolv-ai_idn.c (do_test): Likewise. + + * manual/time.texi (strftime): Document %Ob and %OB as C2X + features. + +2019-08-21 Paul Eggert + + Remove dead regex code + * posix/regex_internal.c (re_node_set_insert): + Remove unnecessary assignment. Reported by Tim Rühsen in: + https://lists.gnu.org/r/bug-gnulib/2019-08/msg00026.html + + Fix bad pointer / leak in regex code + This was found by Coverity (CID 1484201). [BZ#24844] + * posix/regex_internal.c (create_cd_newstate): Fix use of bad + pointer and/or memory leak when storage is exhausted. + +2019-08-21 Zack Weinberg + + * misc/syslog.c (__vsyslog_internal) + * time/getdate.c (__getdate_r) + * time/tst_wcsftime.c (main): + Use return value of time, not its argument. + + * string/strfry.c (strfry) + * sysdeps/mach/sleep.c (__sleep): + Remove unnecessary casts of NULL in calls to time. + +2019-08-21 Joseph Myers + + * math/tgmath.h [__HAVE_FLOAT128X]: Give error. + [(__HAVE_FLOAT64X && !__HAVE_FLOAT128) + || (__HAVE_FLOAT128 && !__HAVE_FLOAT64X)]: Likewise. + (__TGMATH_2_NARROW_F): Likewise. + (__TGMATH_2_NARROW_D): New macro. + (__TGMATH_2_NARROW_F16): Likewise. + (__TGMATH_2_NARROW_F32): Likewise. + (__TGMATH_2_NARROW_F64): Likewise. + (__TGMATH_2_NARROW_F32X): Likewise. + (__TGMATH_2_NARROW_F64X): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_NARROW_FUNCS_F): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_NARROW_FUNCS_F16): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_NARROW_FUNCS_F32): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_NARROW_FUNCS_F64): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_NARROW_FUNCS_F32X): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)] (fadd): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)] (dadd): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)] (fdiv): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)] (ddiv): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)] (fmul): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)] (dmul): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)] (fsub): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)] (dsub): Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT16] (f16add): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT16] (f16div): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT16] (f16mul): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT16] (f16sub): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT32] (f32add): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT32] (f32div): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT32] (f32mul): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT32] (f32sub): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT64 + && (__HAVE_FLOAT64X || __HAVE_FLOAT128)] (f64add): Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT64 + && (__HAVE_FLOAT64X || __HAVE_FLOAT128)] (f64div): Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT64 + && (__HAVE_FLOAT64X || __HAVE_FLOAT128)] (f64mul): Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT64 + && (__HAVE_FLOAT64X || __HAVE_FLOAT128)] (f64sub): Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT32X] (f32xadd): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT32X] (f32xdiv): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT32X] (f32xmul): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT32X] (f32xsub): + Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT64X + && (__HAVE_FLOAT128X || __HAVE_FLOAT128)] (f64xadd): Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT64X + && (__HAVE_FLOAT128X || __HAVE_FLOAT128)] (f64xdiv): Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT64X + && (__HAVE_FLOAT128X || __HAVE_FLOAT128)] (f64xmul): Likewise. + [__GLIBC_USE (IEC_60559_TYPES_EXT) && __HAVE_FLOAT64X + && (__HAVE_FLOAT128X || __HAVE_FLOAT128)] (f64xsub): Likewise. + * math/gen-tgmath-tests.py (Type): Add members + non_standard_real_argument_types_list, long_double_type, + complex_float64_type and float32x_ext_type. + (Type.__init__): Set the new members. + (Type.floating_type): Add new argument floatn. + (Type.real_floating_type): Likewise. + (Type.can_combine_types): Likewise. + (Type.combine_types): Likewise. + (Type.init_types): Create internal Float32x_ext type. + (Tests.__init__): Define Float32x_ext in generated C code. + (Tests.add_tests): Handle narrowing functions. + (Tests.add_all_tests): Likewise. + (Tests.tests_text): Allow variation in mant_dig for narrowing + functions with compilers before GCC 8. + * math/Makefile (tgmath3-narrow-types): New variable. + (tgmath3-narrow-macros): Likewise. + (tgmath3-macros): Add $(tgmath3-narrow-macros). + +2019-08-20 Andreas Schwab + + * sysdeps/i386/fpu/libm-test-ulps: Update. + +2019-08-19 Carlos O'Donell + + * nscd/nscd.conf: Add warning and comment about shared option. + +2019-08-19 Carlos O'Donell + + * nss/nsswitch.conf: Expand comments, and simplify defaults. + * manual/nss.texi (NSS Basics): List all known databases. + (Services in the NSS configuration): Mention automount. + +2019-08-19 Florian Weimer + + Do not print backtraces on fatal errors. + * debug/fortify_fail.c (__libc_argv): Remove declaration. + (__fortify_fail_abort): Remove definition. + (__fortify_fail): Call __libc_message directly. + * debug/stack_chk_fail.c (__libc_argv): Remove declaration. + (__stack_chk_fail): Call __fortify_fail instead of + __fortify_fail_abort. + * include/stdio.h (__fortify_fail_abort): Remove declaration. + * sysdeps/posix/libc_fatal.c (BEFORE_ABORT, before_abort): Remove + definitions. + (__libc_message): Do not handle do_backtrace. Do not call + BEFORE_ABORT. + (__libc_fatal): Do not pass do_backtrace to __libc_message. + * sysdeps/unix/sysv/linux/libc_fatal.c (BEFORE_ABORT) + (before_abort): Remove definitions. + +2019-08-16 Florian Weimer + + nptl: Move pthread_attr_getdetachstate implementation into libc. + * nptl/Makefile (routines): Add pthread_attr_getdetachstate. + (libpthread-routines): Remove pthread_attr_getdetachstate. + * nptl/Versions (libpthread GLIBC_2.0): Remove + pthread_attr_getdetachstate. + * nptl/forward.c (pthread_attr_getdetachstate): Remove definition. + * nptl/nptl-init.c (pthread_functions): Remove initializer for + ptr_pthread_attr_getdetachstate. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_attr_getdetachstate member. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_attr_getdetachstate. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-08-16 Joseph Myers + + * math/libm-test-compat_totalorder.inc (do_test) + [TEST_COMPAT (libm, GLIBC_2_25, GLIBC_2_31)]: Change condition to + [TEST_COMPAT (libm, COMPAT_VER, GLIBC_2_31)]. + * math/libm-test-compat_totalordermag.inc (do_test) + [TEST_COMPAT (libm, GLIBC_2_25, GLIBC_2_31)]: Likewise. + +2019-08-15 Florian Weimer + + nptl: Move pthread_attr_init implementation into libc. + * nptl/Makefile (routines): Add pthread_attr_init. + (libpthread-routines): Remove pthread_attr_init. + * nptl/Versions (libpthread GLIBC_2.0): Remove pthread_attr_init. + (libpthread GLIBC_2.0): Likewise. + * nptl/pthread_attr_init.c: Check for libc compat version instead + of libpthread compat version. + * nptl/forward.c (__pthread_attr_init_2_0) + (__pthread_attr_init_2_1): Remove definitions. + * nptl/nptl-init.c (pthread_functions): Remove initializers for + ptr___pthread_attr_init_2_0, ptr___pthread_attr_init_2_1. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove members ptr___pthread_attr_init_2_0, + ptr___pthread_attr_init_2_1. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_attr_init. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + (GLIBC_2.1): Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + (GLIBC_2.1): Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + (GLIBC_2.1): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + (GLIBC_2.1): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + (GLIBC_2.1): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + (GLIBC_2.1): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + (GLIBC_2.1): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + (GLIBC_2.1): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-08-15 Florian Weimer + + [BZ #24900] + * elf/dl-object.c (_dl_new_object): Do not store pathnames in the + new object in __RTLD_OPENEXEC mode (except for the origin). + * elf/tst-dlopen-aout.c (check_dlopen_failure): New function with + check for the error message. + (do_test): Call it. Add check using relative path. + * elf/Makefile (tests-container): Add tst-dlopen-aout-container. + (tst-dlopen-aout-container): Link with libpthread. + (LDFLAGS-tst-dlopen-aout-container): Set RPATH to $ORIGIN. + +2019-08-15 Joseph Myers + + * math/bits/mathcalls.h + [__GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN] + (totalorder): Take pointer arguments. + [__GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN] + (totalordermag): Likewise. + * manual/arith.texi (totalorder): Likewise. + (totalorderf): Likewise. + (totalorderl): Likewise. + (totalorderfN): Likewise. + (totalorderfNx): Likewise. + (totalordermag): Likewise. + (totalordermagf): Likewise. + (totalordermagl): Likewise. + (totalordermagfN): Likewise. + (totalordermagfNx): Likewise. + * math/tgmath.h (__TGMATH_BINARY_REAL_RET_ONLY): Remove macro. + [__GLIBC_USE (IEC_60559_BFP_EXT)] (totalorder): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT)] (totalordermag): Likewise. + * math/Versions (GLIBC_2.31): Add totalorder, totalorderf, + totalorderl, totalordermag, totalordermagf, totalordermagl, + totalorderf32, totalorderf64, totalorderf32x, totalordermagf32, + totalordermagf64, totalordermagf32x, totalorderf64x, + totalordermagf64x, totalorderf128 and totalordermagf128. + * math/Makefile (libm-test-funcs-noauto): Add compat_totalorder + and compat_totalordermag. + (libm-test-funcs-compat): New variable. + (libm-tests-compat): Likewise. + (tests): Do not include compat tests. + (tests-internal): Add compat tests. + ($(foreach t,$(libm-tests-base), + $(objpfx)$(t)-compat_totalorder.o)): Depend + on $(objpfx)libm-test-totalorder.c. + ($(foreach t,$(libm-tests-base), + $(objpfx)$(t)-compat_totalordermag.o): Depend on + $(objpfx)libm-test-totalordermag.c. + (tgmath3-macros): Remove totalorder and totalordermag. + * math/libm-test-compat_totalorder.inc: New file. + * math/libm-test-compat_totalordermag.inc: Likewise. + * math/libm-test-driver.c (struct test_ff_i_data): Update comment. + (RUN_TEST_fpfp_b): New macro. + (RUN_TEST_LOOP_fpfp_b): Likewise. + * math/libm-test-totalorder.inc (totalorder_test_data): Use + TEST_fpfp_b. + (totalorder_test): Condition on [!COMPAT_TEST]. + (do_test): Likewise. + * math/libm-test-totalordermag.inc (totalordermag_test_data): Use + TEST_fpfp_b. + (totalordermag_test): Condition on [!COMPAT_TEST]. + (do_test): Likewise. + * math/gen-tgmath-tests.py (Tests.add_all_tests): Remove + totalorder and totalordermag. + * math/test-tgmath.c (NCALLS): Change to 132. + (F(compile_test)): Do not call totalorder or totalordermag. + (F(totalorder)): Remove. + (F(totalordermag)): Likewise. + * include/float.h (__STDC_WANT_IEC_60559_TYPES_EXT__): Do not + define if [__STDC_WANT_IEC_60559_TYPES_EXT__]. + * include/setjmp.h [!_ISOMAC] (STR_HELPER): Rename to + SJSTR_HELPER. + [!_ISOMAC] (STR): Rename to SJSTR. Update call to STR_HELPER. + [!_ISOMAC] (TEST_SIZE): Update call to STR. + [!_ISOMAC] (TEST_ALIGN): Likewise. + [!_ISOMAC] (TEST_OFFSET): Likewise. + * sysdeps/ieee754/dbl-64/s_totalorder.c: Include + and . + (__totalorder): Take pointer arguments. Add symbol versions and + compat symbols. + * sysdeps/ieee754/dbl-64/s_totalordermag.c: Include + and . + (__totalordermag): Take pointer arguments. Add symbol versions + and compat symbols. + * sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c: Include + and . + (__totalorder): Take pointer arguments. Add symbol versions and + compat symbols. + * sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c: Include + and . + (__totalordermag): Take pointer arguments. Add symbol versions + and compat symbols. + * sysdeps/ieee754/float128/float128_private.h + (__totalorder_compatl): New macro. + (__totalordermag_compatl): Likewise. + * sysdeps/ieee754/flt-32/s_totalorderf.c: Include + and . + (__totalorderf): Take pointer arguments. Add symbol versions and + compat symbols. + * sysdeps/ieee754/flt-32/s_totalordermagf.c: Include + and . + (__totalordermagf): Take pointer arguments. Add symbol versions + and compat symbols. + * sysdeps/ieee754/ldbl-128/s_totalorderl.c: Include + and . + (__totalorderl): Take pointer arguments. Add symbol versions and + compat symbols. + * sysdeps/ieee754/ldbl-128/s_totalordermagl.c: Include + and . + (__totalordermagl): Take pointer arguments. Add symbol versions + and compat symbols. + * sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c: Include + . + (__totalorderl): Take pointer arguments. Add symbol versions and + compat symbols. + * sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c: Include + . + (__totalordermagl): Take pointer arguments. Add symbol versions + and compat symbols. + * sysdeps/ieee754/ldbl-96/s_totalorderl.c: Include + and . + (__totalorderl): Take pointer arguments. Add symbol versions and + compat symbols. + * sysdeps/ieee754/ldbl-96/s_totalordermagl.c: Include + and . + (__totalordermagl): Take pointer arguments. Add symbol versions + and compat symbols. + * sysdeps/ieee754/ldbl-opt/nldbl-totalorder.c (totalorderl): Take + pointer arguments. + * sysdeps/ieee754/ldbl-opt/nldbl-totalordermag.c (totalordermagl): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/test-totalorderl-ldbl-128ibm.c + (do_test): Update calls to totalorderl and totalordermagl. + * sysdeps/ieee754/ldbl-96/test-totalorderl-ldbl-96.c (do_test): + Update calls to totalorderl and totalordermagl. + * sysdeps/mach/hurd/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + +2019-08-15 Florian Weimer + + [BZ #24899] + * sysdeps/gnu/bits/utmpx.h (struct utmpx): Add + __attribute_nonstring__ to ut_line, ut_id, ut_user, ut_host. + * sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmpx): + Likewise. + * sysdeps/gnu/bits/utmp.h (struct utmp): Add + __attribute_nonstring__ to ut_id. + * sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmp): + Likewise. + +2019-08-15 Florian Weimer + + [BZ #24880] + * login/utmp_file.c (file_locking_failed): Use struct flock64. + (file_locking_unlock): Likewise. + +2019-08-15 Florian Weimer + + [BZ #24879] + login: Disarm timer after utmp lock acquisition. + * login/utmp_file.c (struct file_locking): Remove. + (try_file_lock): Adjust. + (file_lock_restore): Remove function. + (__libc_getutent_r): . + (internal_getut_r): Likewise. + (__libc_getutline_r): Likewise. + (__libc_pututline): Likewise. + (__libc_updwtmp): Likewise. + +2019-08-15 Florian Weimer + + nptl: Remove pthread_self compatibility symbol from libpthread. + * nptl/Versions (libpthread GLIBC_2.0): Remove pthread_self, + pthread_equal. + * nptl/Makefile (libpthread-routines): Remove compat-pthread_self. + * nptl/compat-pthread_self.c: Remove file. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_self. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-08-15 Florian Weimer + + nptl: Move pthread_attr_destroy implementation into libc. + * nptl/Makefile (routines): Add pthread_attr_destroy. + (libpthread-routines): Remove pthread_attr_destroy. + * nptl/Versions (libpthread GLIBC_2.0): Remove + pthread_attr_destroy. + * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Check for + libc compat version instead of libpthread compat version. + * nptl/forward.c (pthread_attr_destroy): Remove definition. + * nptl/nptl-init.c (pthread_functions): Remove initializer for + ptr_pthread_attr_destroy. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_attr_destroy member. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_attr_destroy. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-08-15 Andreas Schwab + + * sysdeps/i386/fpu/libm-test-ulps: Update. + +2019-08-15 Florian Weimer + + * malloc/Makefile (tests): Only add tst-mxfast for + $(have-tunables). + * malloc/tst-mxfast.c: Fix copyright year. + (do_test): Fix GNU style issues. Use TEST_COMPARE instead of + assert for checks. + +2019-08-15 Florian Weimer + + * login/utmp_file.c (__libc_updwtmp): Unlock the right file + descriptor. + * login/Makefile (tests): Add tst-updwtmpx. + * login/tst-updwtmpx.c: New file. + +2019-08-15 Florian Weimer + + nptl: Move pthread_equal implementation into libc. + * nptl/Makefile (routines): Add pthread_equal. + * nptl/forward.c (pthread_equal): Remove definition. + * nptl/nptl-init.c (pthread_functions): Remove initializer for + ptr_pthread_equal. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_equal member. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove pthread_equal. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.18): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.21): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + +2019-08-14 Florian Weimer + + * support/support_descriptors.c: Include . + +2019-08-14 Feng Xue + + * sysdeps/aarch64/multiarch/memset_base64.S (DC_ZVA_THRESHOLD): + Disable DC ZVA code if this macro is defined as zero. + * sysdeps/aarch64/multiarch/memset_emag.S (DC_ZVA_THRESHOLD): + Change to zero to disable using DC ZVA. + +2019-08-13 Joseph Myers + + * bits/libc-header-start.h (__GLIBC_USE_IEC_60559_FUNCS_EXT): + Update comment. + (__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X): New macro. + * bits/math-finite.h [__GLIBC_USE (IEC_60559_FUNCS_EXT)]: Change + to [__GLIBC_USE (IEC_60559_FUNCS_EXT_C2X)]. + * math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_FUNCS_EXT)]: + Likewise. + +2019-08-13 Florian Weimer + + * login/utmp_file.c (LOCK_FILE, LOCKING_FAILED, UNLOCK_FILE): + Remove macros. + (struct file_locking): New. + (try_file_lock, file_unlock, file_lock_restore): New functions. + (__libc_getutent_r): Use the new functions. + (internal_getut_r): Likewise. + (__libc_getutline_r): Likewise. + (__libc_pututline): Likewise. + (__libc_updwtmp): Likewise. + +2019-08-13 Joseph Myers + + * bits/libc-header-start.h (__GLIBC_USE_IEC_60559_BFP_EXT): Update + comment. + (__GLIBC_USE_IEC_60559_BFP_EXT_C2X): New macro. + * bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Change to + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)]. + * include/limits.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. + * math/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. + * math/math.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. + * stdlib/bits/stdlib-ldbl.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * stdlib/stdint.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. + * stdlib/stdlib.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. + * sysdeps/aarch64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/alpha/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/arm/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/csky/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/hppa/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/ia64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/m68k/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/microblaze/bits/fenv.h [__GLIBC_USE + (IEC_60559_BFP_EXT)]: Likewise. + * sysdeps/mips/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/nios2/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/powerpc/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/riscv/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/s390/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/sh/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/sparc/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * sysdeps/x86/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise. + * math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: + Likewise, except for totalorder, totalordermag, getpayload, + setpayload and setpayloadsig. + * math/tgmath.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise, + except for totalorder and totalordermag. + + * string/string.h (memccpy): Also declare if [__GLIBC_USE (ISOC2X)]. + (strdup): Likewise. + (strndup): Likewise. + + * include/features.h (_ISOC2X_SOURCE): New feature test macro. + Undefine and define to 1 if [_GNU_SOURCE]. + (__GLIBC_USE_ISOC2X): New macro. Undefine and redefine depending + on [_ISOC2X_SOURCE] and [__STDC_VERSION__ > 201710L]. + (__USE_ISOC11): Also define to 1 if [_ISOC2X_SOURCE]. + (__USE_ISOC99): Likewise. + (__USE_ISOC95): Likewise. + * manual/creature.texi (_ISOC2X_SOURCE): Document. + +2019-08-13 Florian Weimer + + * login/getutid_r.c (__getutid_r): _HAVE_UT_ID and _HAVE_UT_TYPE + are always true. + * login/getutmp.c (getutmp): _HAVE_UT_TYPE, _HAVE_UT_PID, + _HAVE_UT_ID, _HAVE_UT_HOST, _HAVE_UT_TV are always true. + * login/getutmpx.c (getutmpx): Likewise. + * login/login.c (login): _HAVE_UT_TYPE, _HAVE_UT_PID are always + true. + * login/logout.c (logout): _HAVE_UT_TYPE, _HAVE_UT_HOST, + _HAVE_UT_TV are always true. + * login/logwtmp.c (logwtmp): _HAVE_UT_PID, _HAVE_UT_TYPE, + _HAVE_UT_HOST, _HAVE_UT_TV are always true. + * login/tst-utmp.c: _HAVE_UT_TYPE, _HAVE_UT_TV are always true. + * login/utmp_file.c (__libc_setutent): _HAVE_UT_TYPE, _HAVE_UT_ID + are always true. + (internal_getut_r): _HAVE_UT_TYPE is always true. + (__libc_pututline): Likewise. + * login/programs/utmpdump.c (print_entry): Assume that + _HAVE_UT_TYPE, _HAVE_UT_PID, _HAVE_UT_ID, _HAVE_UT_HOST, + _HAVE_UT_TV are always true. + * sysdeps/generic/utmp-equal.h (__utmp_equal): _HAVE_UT_TYPE, + _HAVE_UT_ID are always true. + * sysdeps/gnu/bits/utmp.h: Move to ... + * bits/utmp.h: ... here, replacing the old file. + +2019-08-12 Florian Weimer + + * elf/Makefile (tests): Unconditionally add tst-dlopen-aout. + [$(build-hardcoded-path-in-tests)] (tst-dlopen-aout-no-pie): Do + not set. + * elf/tst-dlopen-aout.c: Do not included . + (do_test): Open the executable using an absolute path. Print + error message to standard output. + +2019-08-09 DJ Delorie + + * elf/dl-tunables.list: Add glibc.malloc.mxfast. + * manual/tunables.texi: Document it. + * malloc/malloc.c (do_set_mxfast): New. + (__libc_mallopt): Call it. + * malloc/arena.c: Add mxfast tunable. + * malloc/tst-mxfast.c: New. + * malloc/Makefile: Add it. + +2019-08-08 Niklas Hambüchen + Carlos O'Donell + + [BZ #24026] + * malloc/malloc.c (__malloc_info): Account for top chunk. + +2019-08-07 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] + (SYNC_FILE_RANGE_WRITE_AND_WAIT): New macro. + +2019-08-06 Joseph Myers + + * io/fcntl.h [__USE_GNU] (AT_RECURSIVE): New macro. + +2019-07-02 Stefan Liebler + + * sysdeps/unix/sysv/linux/s390/init-first.c (VDSO_SETUP): New define. + +2019-08-05 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/sched.h [__USE_GNU] (CLONE_PIDFD): + New macro. + +2019-08-05 Adhemerval Zanella + + [BZ #19767] + * sysdeps/unix/sysv/linux/aarch64/sysdep.h (ALWAYS_USE_VSYSCALL): + Remove definition. + * sysdeps/unix/sysv/linux/arm/sysdep.h (ALWAYS_USE_VSYSCALL): + Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep.h (ALWAYS_USE_VSYSCALL): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (ALWAYS_USE_VSYSCALL): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h + (ALWAYS_USE_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h + (ALWAYS_USE_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h + (ALWAYS_USE_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h + (ALWAYS_USE_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/riscv/sysdep.h (ALWAYS_USE_VSYSCALL): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h + (ALWAYS_USE_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h + (ALWAYS_USE_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/sparc/sysdep.h (ALWAYS_USE_VSYSCALL): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (ALWAYS_USE_VSYSCALL): + Likewise. + * sysdeps/unix/sysv/linux/x86/libc-vdso.h: Remove #if USE_VSYSCALL. + * sysdeps/unix/sysv/linux/sysdep-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/sysdep.h (ALWAYS_USE_VSYSCALL, + USE_VSYSCALL): Remove defitions. + + [BZ #19767] + * sysdeps/unix/sysv/linux/sparc/init-first.c: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/sparc/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sysdep.h (ALWAYS_USE_VSYSCALL): + Define. + + [BZ #19767] + * sysdeps/unix/sysv/linux/s390/init-first.c: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/s390/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h + (ALWAYS_USE_VSYSCALL): Define. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h + (ALWAYS_USE_VSYSCALL): Likewise. + + [BZ #19767] + * sysdeps/unix/sysv/linux/riscv/init-first.c: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/riscv/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/sysdep.h (ALWAYS_USE_VSYSCALL): + Define. + + * sysdeps/sh/libm-test-ulps: Update. + +2019-08-05 Florian Weimer + + [BZ #23518] + * login/uptmp-private.h (struct ufuncs): Remove definition. + (__libc_utmp_file_functions, __libc_utmp_unknown_functions) + (__libc_utmp_jump_table): Remove declarations. + (__libc_setutent, __libc_getutent_r, __libc_getutid_r) + (__libc_getutline_r, __libc_pututline, __libc_endutent) + (__libc_updwtmp): Declare. + * login/getutent_r.c (__libc_utmp_unknown_functions) + (__libc_utmp_jump_table, setutent_unknown, getutent_r_unknown) + (getutid_r_unknown, getutline_r_unknown, pututline_unknown) + (endutent_unknown): Remove definitions. + (__setutent): Call __libc_setutent. + (__getutent_r): Call __libc_getutent_r. + (__pututline): Call __libc_pututline. + (__endutent): Call __libc_endutent. + * login/getutid_r.c (__getutid_r): Call __libc_getutid_r. + * login/getutline_r.c (__getutline_r): Call __libc_getutline_r. + * login/updwtmp.c (__updwtmp): Call __libc_updwtmp. + * login/utmp_file.c (__libc_utmp_file_functions): Remove definition + (__libc_setutent): Rename from stetutent_file. Drop static. + (maybe_setutent): New function. + (__libc_getutent_r): Rename from getutent_r_file. Drop static. + Check for initialization. + (__libc_getutid_r): Rename from getutid_r_file. Drop static. + Check for initialization. + (__libc_getutline_r): Rename from getutline_r_file. Drop static. + Check for initialization. + (__libc_pututline): Rename from pututline_file. Drop static. + Check for initialization. + (__libc_endutent): Rename from endutent_file. Drop static. Check + for initialization. + (__libc_updwtmp): Rename from updwtmp_file. Drop static. + * login/utmpname.c (__utmpname): Call __libc_endutent. + * sysdeps/unix/getlogin_r (__getlogin_r): Call __libc_setutent, + __libc_getutlien_r, __libc_endutent. + * manual/users.texi (Who Logged In, Manipulating the Database): + Adjust. + +2019-08-05 Alexandra Hájková + + * elf/tst-ldconfig-bad-aux-cache.c: Use support_capture_subprocess. + +2019-08-02 Joseph Myers + + * sysdeps/unix/sysv/linux/syscall-names.list: Update comment. + + * sysdeps/unix/sysv/linux/tst-mman-consts.py (main): Update Linux + kernel version number to 5.2. + +2019-08-01 Raoni Fassina Firmino + + * sysdeps/powerpc/powerpc64/power8/memchr.S: Update power8 + mnemonics and set .machine power8. + * sysdeps/powerpc/powerpc64/power8/memcmp.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/memrchr.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/memset.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strchr.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strlen.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strncmp.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strncpy.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strnlen.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strrchr.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strspn.S: Likewise. + +2019-08-01 Adhemerval Zanella + + * sysdeps/hppa/fpu/libm-test-ulps: Update. + +2019-08-01 Florian Weimer + + [BZ #24867] + * malloc/malloc.c (__malloc_info): Remove unwanted leading + whitespace. + +2019-08-01 Adhemerval Zanella + + [BZ #15813] + sysdeps/posix/tempname.c (__gen_tempname): get entropy on each + attempt. + +2019-08-01 Carlos O'Donell + + * version.h (RELEASE): Set to "stable". + (VERSION): Set to "2.30". + * include/features.h (__GLIBC_MINOR__): Set to 2.30. + + * manual/install.texi: Update component versions. + * INSTALL: Regenerate. + * NEWS: Update. + +2019-07-31 Carlos O'Donell + + * po/be.po: Update translations. + * po/bg.po: Likewise. + * po/ca.po: Likewise. + * po/cs.po: Likewise. + * po/da.po: Likewise. + * po/de.po: Likewise. + * po/el.po: Likewise. + * po/eo.po: Likewise. + * po/es.po: Likewise. + * po/fi.po: Likewise. + * po/fr.po: Likewise. + * po/gl.po: Likewise. + * po/hr.po: Likewise. + * po/hu.po: Likewise. + * po/ia.po: Likewise. + * po/id.po: Likewise. + * po/it.po: Likewise. + * po/ja.po: Likewise. + * po/ko.po: Likewise. + * po/lt.po: Likewise. + * po/nb.po: Likewise. + * po/nl.po: Likewise. + * po/pl.po: Likewise. + * po/pt_BR.po: Likewise. + * po/ru.po: Likewise. + * po/rw.po: Likewise. + * po/sk.po: Likewise. + * po/sl.po: Likewise. + * po/sv.po: Likewise. + * po/tr.po: Likewise. + * po/uk.po: Likewise. + * po/vi.po: Likewise. + * po/zh_CN.po: Likewise. + * po/zh_TW.po: Likewise. + +2019-07-31 Florian Weimer + + [BZ #24583] + [BZ #24677] + iconv, libio: Revert reference counting changes. + * iconv/gconv_cache.c (__gconv_release_cache): Unconditionally + free the steps array. + * libio/Makefile (tests): Remove tst-wfile-gconv. + (tests-container): Do not add tst-wfile-ascii. + (tst-wfile-gconv-ENV): Do not set. + (generated): Do not add tst-wfile-gconv.mtrace, + tst-wfile-gconv.check. + [($run-built-tests)] (tests-special): Do not add + tst-wfile-gconv-mem.out. + (tst-wfile-gconv.out, tst-wfile-gconv-mem.out): Remove targets. + * libio/iofclose.c (_IO_new_fclose): Call __gconv_release_step + instead of __wcsmbs_clone_conv. + * wcsmbs/wcsmbsload.c (__wcsmbs_clone_conv): Remove definition. + * wcsmbs/wcsmbsload.h (__wcsmbs_clone_conv): Remove declaration. + +2019-07-30 Joseph Myers + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S + (__CONTEXT_FUNC_NAME): Restore setting of r31. + +2019-07-30 Florian Weimer + + * nptl/tst-pthread-getattr.c (allocate_and_test): Change return + type to uintptr_t. Update comment. + (check_stack_top): Adjust. + +2019-07-29 Florian Weimer + + Linux: Move declaration of getdents64 to . + * bits/dirent_ext.h: New file. + * dirent/Makefile (headers): Add bits/dirent_ext.h. + * dirent/dirent.h: Include . + * sysdeps/unix/sysv/linux/bits/dirent_ext.h: New file. + * sysdeps/unix/sysv/linux/bits/unistd_ext.h (getdents64): Remove + declaration. + * manual/filesys.texi (Low-level Directory Access): Update header + to dirent.h. + +2019-07-29 DJ Delorie + Tulio Magno Quites Machado Filho + + [BZ #24794] + * Makeconfig (all-subdirs): Improved source comments. + * Makefile (testroot.pristine/install.stamp): Pass + subdirs='$(sorted-subdirs)' to make install. + +2019-07-25 Florian Weimer + + [BZ #24677] + * iconv/gconv_cache.c (__gconv_release_cache): Check reference + counter before freeing array. + +2019-07-24 H.J. Lu + + [BZ #24603] + * sysdeps/x86_64/configure.ac: Check if -mprefer-vector-width=128 + works. + * sysdeps/x86_64/configure: Regenerated. + * sysdeps/x86_64/fpu/Makefile (CFLAGS-branred.c): New. Set + to -mprefer-vector-width=128 if supported. + +2019-07-24 Florian Weimer + + * scripts/build-many-glibcs.py (Context.checkout): Default to + Linux 5.2. + +2019-07-24 Florian Weimer + + [BZ #24532] + Linux: Use in-tree copy of SO_ constants for !__USE_MISC. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) == socket] + (sysdep_headers): Add bits/socket-constants.h. + (tests-special): Add tst-socket-consts.out. + (tst-socket-consts.out): New target. + * sysdeps/unix/sysv/linux/bits/socket.h: Remove macro tracking + around . + [__USE_MISC]: Include before . + [!__USE_MISC]: Include instead of + . + * sysdeps/unix/sysv/linux/bits/tst-socket-consts.py: New file. + * sysdeps/unix/sysv/linux/bits/socket-constants.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/socket-constants.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/socket-constants.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/socket-constants.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h: + Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/socket-constants.h: Likewise. + +2019-07-23 Tulio Magno Quites Machado Filho + + [BZ #24794] + * Makefile (testroot.pristine/install.stamp): Pass + subdirs='$(all-subdirs)' to make install. + + * Makefile (testroot.pristine/install.stamp): Execute ld.so with + the same arguments used in all tests. + +2019-07-22 Szabolcs Nagy + + * NEWS: Mention the AArch64 IFUNC resolver ABI change. + +2019-07-20 Egor Kobylkin + + [BZ #2872] + * locale/C-translit.h.in: Add Cyrillic transliteration. + +2019-07-19 Florian Weimer + + * sysdeps/unix/sysv/linux/syscall-names.list: Add system calls + from Linux 5.2. + (fsconfig): Add system call name. + (fsmount): Likewise. + (fsopen): Likewise. + (fspick): Likewise. + (move_mount): Likewise. + (open_tree): Likewise. + +2019-07-18 Carlos O'Donell + + * po/libc.pot: Regenerate. + +2019-07-18 Mike Crowe + + * sysdeps/unix/sysv/linux/hppa/pthread.h: Add declarations of + functions recently added to sysdeps/nptl/pthread.h: + pthread_mutex_clocklock, pthread_rwlock_clockrdlock, + pthread_rwlock_clockwrlock and pthread_cond_clockwait. + + * nptl/forward.c: Remove unnecessary __pthread_cond_clockwait and + pthread_cond_clockwait forwarding functions. There are no internal + users, so it is unnecessary to expose these functions in libc.so. + * sysdeps/nptl/pthread-functions.h (pthread_functions): Remove + unnecessary ptr___pthread_cond_clockwait member. + * nptl/nptl-init.c (pthread_functions): Remove assignment of + removed member. + +2019-07-17 Rafał Lużyński + + [BZ #21897] + * localedata/locales/aa_DJ (abday): Update from CLDR, all words + begin with an uppercase letter now. + (abmon): Likewise. + (mon): Update from CLDR, reword February from "Kudo" to + "Naharsi Kudo", April from "Agda Baxisso" to "Agda Baxis", + and August from "Liiqen" to "Leqeeni". + * localedata/locales/aa_ER (mon): Update from CLDR, reword + April from "Agda Baxisso" to "Agda Baxis" and August from + "Leqeeni" to "Liiqen". + * localedata/locales/aa_ER@saaho (mon): Likewise. + * localedata/locales/aa_ET (abmon): Update from CLDR, reword + abbreviated February from "Kud" to "Nah". + (mon): Update from CLDR, reword February from "Kudo" to + "Naharsi Kudo" and April from "Agda Baxisso" to "Agda Baxis". + +2019-07-17 Rafał Lużyński + + [BZ #23996] + * localedata/locales/nl_BE (LC_NAME): Replace with “copy "nl_NL"”. + +2019-07-17 PanderMusubi + + [BZ #23996] + * localedata/locales/nl_BE (LC_NAME): Add name_gen, name_mr, + name_mrs, name_miss, and name_ms. + * localedata/locales/nl_NL (LC_NAME): Likewise. + +2019-07-17 Daniil Zhilin + + [BZ #24200] + * localedata/locales/ga_IE (first_weekday): Add, set to 2 (Monday). + * localedata/locales/en_IE (first_weekday): Likewise. + +2019-07-12 Mike Crowe + + * nptl/pthread_cond_wait.c: (__pthread_cond_clockwait): Remove code + that is only useful if futex_supports_exact_relative_timeouts () + returns false. + * nptl/pthread_condattr_setclock.c: (pthread_condattr_setclock): + Likewise. + * sysdeps/nptl/futex-internal.h: Remove comment about relative + timeouts potentially being imprecise since it's no longer true. + Remove declaration of futex_supports_exact_relative_timeouts. + * sysdeps/unix/sysv/linux/futex-internal.h: Remove implementation + of futex_supports_exact_relative_timeouts. + + * NEWS: Mention recently-added pthread_cond_clockwait, + pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and + sem_clockwait functions. + + nptl: Add POSIX-proposed pthread_mutex_clocklock function that + works like pthread_mutex_timedlock but takes a clockid parameter to + measure the abstime parameter against. + * sysdeps/nptl/pthread.h: Add pthread_mutex_clocklock. + * nptl/DESIGN-systemtap-probes.txt: Likewise. + * nptl/pthread_mutex_timedlock.c + (__pthread_mutex_clocklock_common): Rename from + __pthread_mutex_timedlock and add clockid parameter. Pass this + parameter to lll_clocklock and lll_clocklock_elision in place of + CLOCK_REALTIME. (__pthread_mutex_clocklock): New function to add + LIBC_PROBE and validate clockid parameter before calling + __pthread_mutex_clocklock_common. (__pthread_mutex_timedlock): New + implementation to add LIBC_PROBE and calls + __pthread_mutex_clocklock_common passing CLOCK_REALTIME as the + clockid. + * nptl/Makefile: Add tst-mutex11.c. + * nptl/tst-abstime.c (th): Add tests for pthread_mutex_clocklock. + * nptl/tst-mutex11.c: New tests for passing invalid and unsupported + clockid parameters to pthread_mutex_clocklock. + * nptl/tst-mutex5.c (do_test_clock): Rename from do_test and take + clockid parameter to indicate which clock to be used. Call + pthread_mutex_timedlock or pthread_mutex_clocklock as appropriate. + (do_test): Call do_test_clock to separately test + pthread_mutex_timedlock, pthread_mutex_clocklock(CLOCK_REALTIME) + and pthread_mutex_clocklock(CLOCK_MONOTONIC). + * nptl/tst-mutex9.c: Likewise. + * nptl/Versions (GLIBC_2.30): Add pthread_mutex_clocklock. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.30): Likewise. + + nptl: Rename lll_timedlock to lll_clocklock and add clockid + parameter to indicate the clock that the abstime parameter should + be measured against in preparation for adding + pthread_mutex_clocklock. + * sysdeps/nptl/lowlevellock.h (lll_clocklock): Rename from + lll_timedlock and add clockid parameter. (__lll_clocklock): Rename + from __lll_timedlock and add clockid parameter. + * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_clocklock): + Likewise. + * nptl/lll_timedlock_wait.c (__lll_clocklock_wait): Rename from + __lll_timedlock_wait and add clockid parameter. Use __clock_gettime + rather than __gettimeofday so that clockid can be used. This means + that conversion from struct timeval is no longer required. + * sysdeps/sparc/sparc32/lowlevellock.c (lll_clocklock_wait): + Likewise. + * sysdeps/sparc/sparc32/lll_timedlock_wait.c: Update comment to + refer to __lll_clocklock_wait rather than __lll_timedlock_wait. + * nptl/pthread_mutex_timedlock.c (lll_clocklock_elision): Rename + from lll_timedlock_elision, add clockid parameter and use + meaningful names for other parameters. (__pthread_mutex_timedlock): + Pass CLOCK_REALTIME where necessary to lll_clocklock and + lll_clocklock_elision. + * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h + (lll_clocklock_elision): Rename from lll_timedlock_elision and add + clockid parameter. (__lll_clocklock_elision): Rename from + __lll_timedlock_elision and add clockid parameter. + * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. + * sysdeps/unix/sysv/linux/x86/lowlevellock.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/elision-timed.c + (__lll_lock_elision): Call __lll_clocklock_elision rather than + __lll_timedlock_elision. (EXTRAARG): Add clockid parameter. + (LLL_LOCK): Likewise. + * sysdeps/unix/sysv/linux/s390/elision-timed.c: Likewise. + * sysdeps/unix/sysv/linux/x86/elision-timed.c: Likewise. + + nptl: Add POSIX-proposed pthread_rwlock_clockrdlock & + pthread_rwlock_clockwrlock which behave like + pthread_rwlock_timedrdlock and pthread_rwlock_timedwrlock + respectively, except they always measure abstime against the + supplied clockid. The functions currently support CLOCK_REALTIME + and CLOCK_MONOTONIC and return EINVAL if any other clock is + specified. + * sysdeps/nptl/pthread.h: Add pthread_rwlock_clockrdlock and + pthread_wrlock_clockwrlock. + * nptl/Makefile: Build pthread_rwlock_clockrdlock.c and + pthread_rwlock_clockwrlock.c. + * nptl/pthread_rwlock_clockrdlock.c: Implement + pthread_rwlock_clockrdlock. + * nptl/pthread_rwlock_clockwrlock.c: Implement + pthread_rwlock_clockwrlock. + * nptl/pthread_rwlock_common.c (__pthread_rwlock_rdlock_full): Add + clockid parameter and verify that it indicates a supported clock on + entry so that we fail even if it doesn't end up being used. Pass + that clock on to futex_abstimed_wait when necessary. + (__pthread_rwlock_wrlock_full): Likewise. + * nptl/pthread_rwlock_rdlock.c: (__pthread_rwlock_rdlock): Pass + CLOCK_REALTIME to __pthread_rwlock_rdlock_full even though it won't + be used because there's no timeout. + * nptl/pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Pass + CLOCK_REALTIME to __pthread_rwlock_wrlock_full even though it won't + be used because there is no timeout. + * nptl/pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): + Pass CLOCK_REALTIME to __pthread_rwlock_rdlock_full since abstime + uses that clock. + * nptl/pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): + Pass CLOCK_REALTIME to __pthread_rwlock_wrlock_full since abstime + uses that clock. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.30): Likewise. + * nptl/tst-abstime.c (th): Add pthread_rwlock_clockrdlock and + pthread_rwlock_clockwrlock timeout tests to match the existing + pthread_rwlock_timedrdloock and pthread_rwlock_timedwrlock tests. + * nptl/tst-rwlock14.c (do_test): Likewise. + * nptl/tst-rwlock6.c Invent verbose_printf macro, and use for + ancillary output throughout. (tf): Accept thread_args structure so + that rwlock, a clockid and function name can be passed to the + thread. (do_test_clock): Rename from do_test. Accept clockid + parameter to specify test clock. Use the magic clockid value of + CLOCK_USE_TIMEDLOCK to indicate that pthread_rwlock_timedrdlock and + pthread_rwlock_timedwrlock should be tested, otherwise pass the + specified clockid to pthread_rwlock_clockrdlock and + pthread_rwlock_clockwrlock. Use xpthread_create and xpthread_join. + (do_test): Call do_test_clock to test each clockid in turn. + * nptl/tst-rwlock7.c: Likewise. + * nptl/tst-rwlock9.c (writer_thread, reader_thread): Accept + thread_args structure so that the (now int) thread number, the + clockid and the function name can be passed to the thread. + (do_test_clock): Renamed from do_test. Pass the necessary + thread_args when creating the reader and writer threads. Use + xpthread_create and xpthread_join. + (do_test): Call do_test_clock to test each clockid in turn. + * manual/threads.texi: Add documentation for + pthread_rwlock_clockrdlock and pthread_rwlock_clockwrclock. + + nptl: pthread_rwlock: Move timeout validation into _full functions + * nptl/pthread_rwlock_common.c (__pthread_rwlock_rdlock_full): + Check validity of abstime parameter. + (__pthread_rwlock_rwlock_full): Likewise. + * nptl/pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): + Remove check for validity of abstime parameter. + * nptl/pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): + Likewise. + + nptl: Add POSIX-proposed pthread_cond_clockwait which behaves just + like pthread_cond_timedwait except it always measures abstime + against the supplied clockid. + * nptl/Makefile: Add tst-cond26 and tst-cond27 + * nptl/Versions (GLIBC_2.30): Add pthread_cond_clockwait + * sysdeps/nptl/pthread.h: Likewise + * nptl/forward.c: Add __pthread_cond_clockwait + * nptl/forward.c: Likewise + * nptl/pthreadP.h: Likewise + * sysdeps/nptl/pthread-functions.h: Likewise + * nptl/pthread_cond_wait.c (__pthread_cond_wait_common): Add + clockid parameter and comment describing why we don't need to check + its value. Use that value when calling + futex_abstimed_wait_cancelable rather than reading the clock from + the flags. (__pthread_cond_wait): Pass unused clockid parameter. + (__pthread_cond_timedwait): Read clock from flags and pass it to + __pthread_cond_wait_common. (__pthread_cond_clockwait): Add new + function with weak alias from pthread_cond_clockwait. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.30): Likewise. + * nptl/tst-cond11.c (run_test): Support testing + pthread_cond_clockwait too by using a special magic + CLOCK_USE_ATTR_CLOCK value to determine whether to call + pthread_cond_timedwait or pthread_cond_clockwait. (do_test): Pass + CLOCK_USE_ATTR_CLOCK for existing tests, and add new tests using + all combinations of CLOCK_MONOTONIC and CLOCK_REALTIME. + * ntpl/tst-cond26.c: New test for passing unsupported and invalid + clocks to pthread_cond_clockwait. + * nptl/tst-cond27.c: Add test similar to tst-cond5.c, but using + struct timespec and pthread_cond_clockwait. + * manual/threads.texi: Document pthread_cond_clockwait. + + nptl: Add POSIX-proposed sem_clockwait which behaves just like + sem_timedwait, but measures abstime against the specified clock. + * nptl/sem_waitcommon.c (do_futex_wait, __new_sem_wait_slow): Add + clockid parameters to indicate the clock which abstime should be + measured against. + * nptl/sem_timedwait.c (sem_timedwait), nptl/sem_wait.c + (__new_sem_wait): Pass CLOCK_REALTIME as clockid to + __new_sem_wait_slow. + * nptl/sem_clockwait.c: New file to implement sem_clockwait based + on sem_timedwait.c. + * nptl/Makefile: Add sem_clockwait.c source file. Add CFLAGS for + sem_clockwait.c to match those used for sem_timedwait.c. + * sysdeps/pthread/semaphore.h: Add sem_clockwait. + * nptl/Versions (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.30): Likewise. + * nptl/tst-sem17.c: Add new test for passing invalid clock to + sem_clockwait. + * nptl/tst-sem13.c, nptl/tst-sem5.c: Modify existing sem_timedwait + tests to also test sem_clockwait. + * manual/threads.texi: Document sem_clockwait. + + nptl: Add clockid parameter to futex timed wait calls + * sysdeps/nptl/lowlevellock-futex.h, + sysdeps/unix/sysv/linux/lowlevellock-futex.h: Replace + lll_futex_timed_wait_bitset with lll_futex_clock_wait_bitset that + takes a clockid rather than a special clockbit. + * sysdeps/nptl/lowlevellock-futex.h: Add + lll_futex_supported_clockid so that client functions can check + whether their clockid parameter is valid even if they don't + ultimately end up calling lll_futex_clock_wait_bitset. + * sysdeps/nptl/futex-internal.h, + sysdeps/unix/sysv/linux/futex-internal.h + (futex_abstimed_wait, futex_abstimed_wait_cancelable): Add + clockid_t parameter to indicate which clock the absolute time + passed should be measured against. Pass that clockid onto + lll_futex_clock_wait_bitset. Add invalid clock as reason for + returning -EINVAL. + * sysdeps/nptl/futex-internal.h, + sysdeps/unix/sysv/linux/futex-internal.h: Introduce + futex_abstimed_supported_clockid so that client functions can check + whether their clockid parameter is valid even if they don't + ultimately end up calling futex_abstimed_wait. + * nptl/pthread_cond_wait.c (__pthread_cond_wait_common): Remove + code to calculate relative timeout for + __PTHREAD_COND_CLOCK_MONOTONIC_MASK and just pass CLOCK_MONOTONIC + or CLOCK_REALTIME as required to futex_abstimed_wait_cancelable. + * nptl/pthread_rwlock_common (__pthread_rwlock_rdlock_full) + (__pthread_wrlock_full), nptl/sem_waitcommon (do_futex_wait): Pass + additional CLOCK_REALTIME to futex_abstimed_wait_cancelable. + * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): + Switch to lll_futex_clock_wait_bitset and pass CLOCK_REALTIME + +2019-07-10 Adhemerval Zanella + + [BZ #24699] + * posix/tst-mmap-offset.c: Mention BZ #24699. + (do_test_bz21270): Rename to do_test_large_offset and use + mmap64_maximum_offset to check for maximum expected offset value. + * sysdeps/generic/mmap_info.h: New file. + * sysdeps/unix/sysv/linux/mips/mmap_info.h: Likewise. + * sysdeps/unix/sysv/linux/mmap64.c (MMAP_OFF_HIGH_MASK): Define iff + __NR_mmap2 is used. + +2019-07-10 DJ Delorie + Sergei Trofimovich + + [BZ #24696] + [BZ #24695] + * nss/nss_db/db-open.c (internal_endent): Protect against NULL + mappings. + * nss/tst-nss-db-endgrent.c: New. + * nss/tst-nss-db-endgrent.root: New. + * nss/tst-nss-db-endpwent.c: New. + * nss/tst-nss-db-endpwent.root: New. + * nss/Makefile: Add new tests. + * support/links-dso-program-c.c: Add selinux dependency. + * support/links-dso-program.cc: Add selinux dependency. + * support/Makefile: Build those with -lselinux if enabled. + +2019-07-10 Szabolcs Nagy + + * sysdeps/aarch64/dl-machine.h (elf_machine_runtime_setup): Remove the + DT_AARCH64_VARIANT_PCS check. + (elf_machine_lazy_rel): Use l_info[DT_AARCH64 (VARIANT_PCS)]. + * sysdeps/aarch64/linkmap.h (struct link_map_machine): Remove + variant_pcs. + +2019-07-10 Andreas Schwab + + [BZ #23352] + * malloc/malloc.h (__malloc_check_init): Don't declare. + * include/malloc.h (__malloc_check_init): Likewise. + * malloc/malloc-internal.h (__malloc_check_init): Declare it here. + * manual/memory.texi (__malloc_check_init): Don't mention it. + +2019-07-10 Mao Han + + * locale/Makefile: Fix tst-locale-locpath arguments passing. + +2019-07-09 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (_FPU_GET_RC): Protect use of + __builtin_cpu_supports with __BUILTIN_CPU_SUPPORTS__. + +2019-07-08 DJ Delorie + + [BZ #23501] + * io/ftw.c (process_entry): Fill in statbuf for dangling links. + * io/tst-ftw-lnk.c: New test. + * io/Makefile: Run it. + +2019-07-08 Adhemerval Zanella + + * sysdeps/powerpc/power7/fpu/s_logb.c: Move to ... + * sysdeps/powerpc/fpu/s_logb.c: ... here. Use inline FP constants. + * sysdeps/powerpc/power7/fpu/s_logbf.c: Move to ... + * sysdeps/powerpc/fpu/s_logbf.c: ... here. Use inline FP constants. + * sysdeps/powerpc/power7/fpu/s_logbl.c: Move to ... + * sysdeps/powerpc/fpu/s_logbl.c: ... here. Use inline FP constants. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb-power7.c: + Adjust implementation path. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logbf-power7.c: + Adjust implementation path. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logbl-power7.c: + Adjust implementation path. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_log* objects. + (CFLAGS-s_logbf-power7.c, CFLAGS-s_logbl-power7.c, + CFLAGS-s_logb-power7.c): New fule. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-power7.c: Move + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logb-power7.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-ppc64.c: Move + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logb-ppc64.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logb.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf-power7.c: Move + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbf-power7.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf-ppc64.c: Move + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbf-ppc64.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbf.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl-power7.c: Move + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbl-power7.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl-ppc64.c: Move + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbl-ppc64.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_logbl.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Remove file. + * sysdeps/powerpc/powerpc64/power7/fpu/s_logb.c: Remove file. + * sysdeps/powerpc/powerpc64/power7/fpu/s_logbf.c: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/s_logbl.c: Likewise. + + * sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c: Move to ... + * sysdeps/ieee754/dbl-64/s_logb.c: ... here. Add work around for + powerpc32 integer 0 converting to -0. + + * benchtests/Makefile (bench-math): Add logb. + * benchtests/logb-inputs: New file. + * benchtests/logbf-inputs: New file. + + * sysdeps/powerpc/power5+/fpu/s_modf.c: Move to ... + * sysdeps/powerpc/fpu/s_modf.c: ... here. Add ISA 2.07 optimization. + * sysdeps/powerpc/power5+/fpu/s_modff.c: Move to ... + * sysdeps/powerpc/fpu/s_modff.c: ... here. Add ISA 2.07 optimization. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c: + Adjust include. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c: + Likewise. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile (sysdep_calls, + sysdep_routines): Add s_modf* objects. + (CFLAGS-s_modf-power5+.c, CFLAGS-s_modff-power5+.c, + CFLAGS-s_modf-ppc64.c, CFLAGS-s_modff-ppc64.c): New rule. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c: Move + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c: Movo + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c: Move + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-power5+.c: Move + to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-ppc64.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-ppc64.c: + ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff.c: ... here. + + * sysdeps/powerpc/fpu/e_hypot.c (two60, two500, two600, two1022, + twoM500, twoM600, two60factor, pdnum): Remove. + (TEST_INFO_NAN, GET_TW0_HIGH_WORD): Remove macro. + (__ieee754_hypot): Replace static variables with inline definition, + remove ununsed branches. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove e_hypot-* objects. + (CFLAGS-e_hypot-power7.c, CFLAGS-e_hypotf-power7.c): Remove rule. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-power7.c: Remove + file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-power7.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf.c: Likewise. + + * benchtests/Makefile (bench-math): Add hypot. + * benchtests/hypot-inputs: New file. + +2019-07-08 Vincent Chen + + * sysdeps/unix/sysv/linux/dl-vdso.h + (VDSO_NAME_LINUX_4, VDSO_HASH_LINUX_4): New defines. + +2019-07-04 Andreas Schwab + + [BZ #24484] + * sysdeps/riscv/ldsodefs.h (DL_RO_DYN_SECTION): Define. + +2019-07-04 Szabolcs Nagy + + * sysdeps/aarch64/Makefile: Install sys/ifunc.h and add tests. + * sysdeps/aarch64/dl-irel.h (elf_ifunc_invoke): Update to new ABI. + * sysdeps/aarch64/sys/ifunc.h: New file. + * sysdeps/aarch64/tst-ifunc-arg-1.c: New file. + * sysdeps/aarch64/tst-ifunc-arg-2.c: New file. + +2019-07-01 Florian Weimer + + [BZ #20188] + * nptl/Versions (libpthread): Remove __fork from GLIBC_2.0. + Replace __vfork with __libpthread_version_placeholder for + GLIBC_2.1.2. + (libc): Remove __libc_vfork from GLIBC_PRIVATE. + * nptl/Makefile (libpthread-routines): Remove pt-vfork. Add + libpthread-compat. + * nptl/pt-vfork.c: Remove file. + * sysdeps/unix/sysv/linux/aarch64/pt-vfork.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/csky/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/hppa/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/ia64/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/m68k/pt-vfork.c: Likewise. + * sysdeps/unix/sysv/linux/microblaze/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/mips/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/nios2/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/riscv/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/s390/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/sh/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/sparc/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.17): + Remove vfork, __vfork. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.0): + Remove vfork. + (GLIBC_2.1.2): Replace __vfork with + __libpthread_version_placeholder. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.4): + Remove vfork, __vfork. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.0): + Remove vfork. + (GLIBC_2.1.2): Replace __vfork with + __libpthread_version_placeholder. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.2): + Remove vfork. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist + (GLIBC_2.4): Remove vfork, __vfork. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist + (GLIBC_2.0): Remove vfork. + (GLIBC_2.1.2): Replace __vfork with + __libpthread_version_placeholder. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist + (GLIBC_2.18): Remove vfork, __vfork. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist + (GLIBC_2.0): Remove vfork. + (GLIBC_2.2): Remove __vfork. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: + (GLIBC_2.2): Remove vfork, __vfork. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: + (GLIBC_2.0): Remove vfork. + (GLIBC_2.1.2): Replace __vfork with + __libpthread_version_placeholder. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist + (GLIBC_2.3): Remove vfork, __vfork. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist + (GLIBC_2.17): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist + (GLIBC_2.0): Remove vfork. + (GLIBC_2.1.2): Replace __vfork with + __libpthread_version_placeholder. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist + (GLIBC_2.2): Remove vfork, __vfork. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.2): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist + (GLIBC_2.0): Remove vfork. + (GLIBC_2.1.2): Replace __vfork with + __libpthread_version_placeholder. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist + (GLIBC_2.2): Remove vfork, __vfork. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist + (GLIBC_2.2.5): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist + (GLIBC_2.16): Likewise. + * sysdeps/unix/sysv/linux/hppa/localplt.data (libpthread.so): + Remove __errno_location. + +2019-07-02 Florian Weimer + + [BZ #24757] + * malloc/Depend: Add nptl and htl, due to potential indirect + libpthread dependency of memusagestat. + +2019-07-02 Stefan Liebler + + * resolv/res_send.c (__res_context_send): Disable maybe-uninitialized + warning. + +2019-07-01 Florian Weimer + + * scripts/build-many-glibcs.py (Context.add_all_configs): Add v4t + variant for arm-linux-gnueabi. + +2019-07-01 H.J. Lu + + [BZ #24259] + * elf/dl-open.c (dl_open_worker): Call _dl_open_check after + relocation. + * sysdeps/x86/Makefile (tests): Add tst-cet-legacy-5a, + tst-cet-legacy-5b, tst-cet-legacy-6a and tst-cet-legacy-6b. + (modules-names): Add tst-cet-legacy-mod-5a, tst-cet-legacy-mod-5b, + tst-cet-legacy-mod-5c, tst-cet-legacy-mod-6a, tst-cet-legacy-mod-6b + and tst-cet-legacy-mod-6c. + (CFLAGS-tst-cet-legacy-5a.c): New. + (CFLAGS-tst-cet-legacy-5b.c): Likewise. + (CFLAGS-tst-cet-legacy-mod-5a.c): Likewise. + (CFLAGS-tst-cet-legacy-mod-5b.c): Likewise. + (CFLAGS-tst-cet-legacy-mod-5c.c): Likewise. + (CFLAGS-tst-cet-legacy-6a.c): Likewise. + (CFLAGS-tst-cet-legacy-6b.c): Likewise. + (CFLAGS-tst-cet-legacy-mod-6a.c): Likewise. + (CFLAGS-tst-cet-legacy-mod-6b.c): Likewise. + (CFLAGS-tst-cet-legacy-mod-6c.c): Likewise. + ($(objpfx)tst-cet-legacy-5a): Likewise. + ($(objpfx)tst-cet-legacy-5a.out): Likewise. + ($(objpfx)tst-cet-legacy-mod-5a.so): Likewise. + ($(objpfx)tst-cet-legacy-mod-5b.so): Likewise. + ($(objpfx)tst-cet-legacy-5b): Likewise. + ($(objpfx)tst-cet-legacy-5b.out): Likewise. + (tst-cet-legacy-5b-ENV): Likewise. + ($(objpfx)tst-cet-legacy-6a): Likewise. + ($(objpfx)tst-cet-legacy-6a.out): Likewise. + ($(objpfx)tst-cet-legacy-mod-6a.so): Likewise. + ($(objpfx)tst-cet-legacy-mod-6b.so): Likewise. + ($(objpfx)tst-cet-legacy-6b): Likewise. + ($(objpfx)tst-cet-legacy-6b.out): Likewise. + (tst-cet-legacy-6b-ENV): Likewise. + * sysdeps/x86/tst-cet-legacy-5.c: New file. + * sysdeps/x86/tst-cet-legacy-5a.c: Likewise. + * sysdeps/x86/tst-cet-legacy-5b.c: Likewise. + * sysdeps/x86/tst-cet-legacy-6.c: Likewise. + * sysdeps/x86/tst-cet-legacy-6a.c: Likewise. + * sysdeps/x86/tst-cet-legacy-6b.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-5.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-5a.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-5b.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-5c.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-6.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-6a.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-6b.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-6c.c: Likewise. + +2019-06-30 Paul A. Clarke + + * sysdeps/powerpc/bits/fenvinline.h (__fegetround): Use + __fegetround_ISA300() or __fegetround_ISA2() as appropriate. + (__fegetround_ISA300) New. + (__fegetround_ISA2) New. + * sysdeps/powerpc/fpu_control.h (IS_ISA300): New. + (_FPU_MFFS): Move implementation... + (_FPU_GETCW): Here. + (_FPU_MFFSL): Move implementation.... + (_FPU_GET_RC_ISA300): Here. New. + (_FPU_GET_RC): Use _FPU_GET_RC_ISA300() or _FPU_GETCW() as appropriate. + * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_status_ISA300): New. + (fegetenv_status): New. + * sysdeps/powerpc/fpu/fegetmode.c (fegetmode): Use fegetenv_status() + instead of fegetenv_register(). + * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Likewise. + +2019-06-28 Wilco Dijkstra + + * benchtests/bench-math-inlines.c: Increase iterations. + * benchtests/bench-memcmp.c: Likewise. + * benchtests/bench-rawmemchr.c: Likewise. + * benchtests/bench-strcmp.c: Likewise. + * benchtests/bench-strcpy_chk.c: Likewise. + * benchtests/bench-string.h (INNER_LOOP_ITERS8): Add define. + (INNER_LOOP_ITERS_MEDIUM): Increase iterations. + (INNER_LOOP_ITERS_SMALL): Likewise. + * benchtests/bench-strncat.c: Increase iterations. + * benchtests/bench-strncmp.c: Increase iterations. + * benchtests/bench-strncpy.c: Reduce iterations for wide strings. + * benchtests/bench-strrchr.c: Increase iterations. + * benchtests/bench-strstr.c: Keep iterations unchanged. + * benchtests/bench-strtod.c: Increase iterations. + +2019-06-28 Anton Youdkevitch + + * benchtests/bench-memccpy.c: Replace INNER_LOOP_ITERS + with INNER_LOOP_ITERS_LARGE. + * benchtests/bench-memchr.c: Likewise. + * benchtests/bench-rawmemchr.c: Likewise. + * benchtests/bench-strcat.c: Likewise. + * benchtests/bench-strchr.c: Likewise. + * benchtests/bench-string.h: Likewise. + * benchtests/bench-strlen.c: Likewise. + * benchtests/bench-strncpy.c: Likewise. + * benchtests/bench-strnlen.c: Likewise. + +2019-06-28 Florian Weimer + + * sysdeps/unix/sysv/linux/tst-getdents64.c (large_buffer_checks): + Use mmap instead of malloc. malloc with M_PERTURB writes to the + entire allocated memory range. + +2019-06-28 Tobias Klauser + + * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. + (prepare_version_base): New helper inline function. + (prepare_version): New macro replacing PREPARE_VERSION. + (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. + +2019-06-28 Florian Weimer + + [BZ #24741] + * elf/dl-lookup.c (do_lookup_x): Do not fail if there is a soname + mismatch in a versioned symbol reference. + (_dl_lookup_symbol_x): Do not report soname mismatch failures. + * elf/Makefile [$(build-shared)] (tests): Add tst-sonamemove-link, + tst-sonamemove-dlopen. + (module-names): Add tst-sonamemove-linkmod1, + tst-sonamemove-runmod1, tst-sonamemove-runmod2. + (LDFLAGS-tst-sonamemove-linkmod1.so): Set. + (LDFLAGS-tst-sonamemove-runmod1.so): Likewise. + (LDFLAGS-tst-sonamemove-runmod2.so): Likewise. + (tst-sonamemove-runmod1.so): Link against + tst-sonamemove-runmod2.so. + (tst-sonamemove-link): Link against tst-sonamemove-linkmod1.so. + (tst-sonamemove-link.out): Depend on tst-sonamemove-runmod1.so, + tst-sonamemove-runmod2.so. + (tst-sonamemove-dlopen): Link with -ldl. + (tst-sonamemove-dlopen.out): Likewise. + * elf/tst-sonamemove-link.c: New file. + * elf/tst-sonamemove-dlopen.c: Likewise. + * elf/tst-sonamemove-linkmod1.c: Likewise. + * elf/tst-sonamemove-linkmod1.map: Likewise. + * elf/tst-sonamemove-runmod1.c: Likewise. + * elf/tst-sonamemove-runmod1.map: Likewise. + * elf/tst-sonamemove-runmod2.c: Likewise. + * elf/tst-sonamemove-runmod2.map: Likewise. + +2019-06-28 Florian Weimer + + * support/xdlfcn.h (xdlvsym): Declare function. + * support/xdlfcn.c (xdlvsym): Define funciton. + +2019-06-28 Florian Weimer + + [BZ #24744] + io: Remove the copy_file_range emulation. + * sysdeps/unix/sysv/linux/copy_file_range.c (copy_file_range): Do + not define and call copy_file_range_compat. + * io/Makefile (tests-static, tests-internal): Do not add + tst-copy_file_range-compat. + * io/copy_file_range-compat.c: Remove file. + * io/copy_file_range.c (copy_file_range): Define as stub. + * io/tst-copy_file_range-compat.c: Remove file. + * io/tst-copy_file_range.c (xdevfile): Remove variable. + (typical_sizes): Update comment. Remove 16K sizes. + (maximum_offset, maximum_offset_errno, maximum_offset_hard_limit): + Remove variables. + (find_maximum_offset, pipe_as_source, pipe_as_destination) + (delayed_write_failure_beginning, delayed_write_failure_end) + (cross_device_failure, enospc_failure_1, enospc_failure) + (oappend_failure): Remove functions. + (tests): Adjust test case list. + (do_test): Remove file system search code. Check for ENOSYS from + copy_file_range. Do not free xdevfile. + * manual/llio.texi (Copying File Data): Document ENOSYS error from + copy_file_range. Do not document the EXDEV error, which future + kernels may not report. Update the wording to reflect that + further errors are possible. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040D00] (__ASSUME_COPY_FILE_RANGE): Do + not undefine. + * sysdeps/unix/sysv/linux/arm/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_COPY_FILE_RANGE): + Likewise. + * sysdeps/unix/sysv/linux/kernel-features.h + [__LINUX_KERNEL_VERSION >= 0x040500] (__ASSUME_COPY_FILE_RANGE): + Remove definition. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040A00] (__ASSUME_COPY_FILE_RANGE): Do + not undefine. + * sysdeps/unix/sysv/linux/sh/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_COPY_FILE_RANGE): + Likewise. + +2019-06-27 Gabriel F. T. Gomes + + * libio/libioP.h (PRINTF_LDBL_USES_FLOAT128): New macro to be + used as a mask for the mode argument of __vfprintf_internal. + * stdio-common/printf-parse.h (printf_arg): New union member: + pa_float128. + * stdio-common/vfprintf-internal.c + (PARSE_FLOAT_VA_ARG_EXTENDED): New macro. + (PARSE_FLOAT_VA_ARG): Likewise. + (SETUP_FLOAT128_INFO): Likewise. + (process_arg): Use PARSE_FLOAT_VA_ARG_EXTENDED and + SETUP_FLOAT128_INFO. + [__HAVE_FLOAT128_UNLIKE_LDBL] (printf_positional): Write + floating-point value to the new union member, pa_float128. + (printf_positional): Zero-initialize args_value[cnt] with memset. + +2019-06-27 Florian Weimer + + [BZ #24740] + * sysdeps/unix/sysv/linux/getdents64.c (__getdents64): Adjust + buffer size if necessary. + * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c (__getdents64): + Likewise. + * sysdeps/unix/sysv/linux/tst-getdents64.c (large_buffer_check): + New function. + (large_buffer_checks): Likewise. + (do_test): Call large_buffer_checks. + +2019-06-26 H.J. Lu + + * sysdeps/i386/dl-lookupcfg.h: Moved to ... + * sysdeps/x86/dl-lookupcfg.h: Here. + * sysdeps/x86_64/dl-lookupcfg.h: Removed. + +2019-06-26 Adhemerval Zanella + + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove e_expf-power8 and expf-ppc64. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-power8.S: Remove + file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/e_expf.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/w_expf.c: Likewise. + + * sysdeps/powerpc/powerpc32/fpu/Makefile + [$(subdir) == math] (CFLAGS-s_lround.c): New rule. + * sysdeps/powerpc/powerpc32/fpu/s_llround.c (__llround): Add power5+ + and fctidz optimization. + * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_lround.c: New file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile + (CFLAGS-s_llround-power6.c, CFLAGS-s_llround-power5+.c, + CFLAGS-s_llround-ppc32.c, CFLAGS-s_lround-ppc32.c, + CFLAGS-s_lround-power5+.c): New rule. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-power5+.c: + New file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-power6.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround-power5+.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-power5+.S: + Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-power6.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround-power5+.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llroundf.S: Likewise. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Likewise. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_llroundf.S: Likewise. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Likewise. + * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Likewise. + * sysdeps/powerpc/powerpc32/power6/fpu/s_llroundf.S: Likewise. + +2019-06-26 Vincent Chen + + * sysdeps/unix/sysv/linux/syscall-names.list: Add nds32 + specific system calls, fp_udfiex_crtl and udftrap. + +2019-06-26 Stefan Liebler + + * nptl/tst-eintr1.c (tf1): Add return statement. + (do_test): Remove unused th variable. + +2019-06-26 Stefan Liebler + + * locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): + Return error if get_character fails. + +2019-06-25 Stefan Liebler + + * sysdeps/s390/fpu/libm-test-ulps: Regenerated. + +2019-06-24 Rafał Lużyński + + [BZ #24652] + * localedata/locales/szl_PL (day): Use the correct Unicode + sequences instead of non-ASCII characters. + +2019-06-24 Grzegorz Kulik + + [BZ #24652] + * localedata/locales/szl_PL (abday): Spelling corrections. + (day): Likewise. + (abmon): Likewise. + (mon): Rename to... + (alt_mon): This, then apply spelling corrections. + (mon): New entry, month names in the genitive case. + +2019-06-21 Rafał Lużyński + + [BZ #23831] + * localedata/locales/nl_AW (mon_thousands_sep): Set to ".". + * localedata/locales/nl_NL (mon_thousands_sep): Likewise. + (thousands_sep): Likewise. + (grouping): Set to 3;3. + +2019-06-21 Tobias Klauser + + * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c (INIT_ARCH): Use + PREPARE_VERSION_KNOWN. + * sysdeps/unix/sysv/linux/aarch64/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/dl-vdso.h (VDSO_NAME_LINUX_2_6_39): New + define. + (VDSO_HASH_LINUX_2_6_39): Likewise. + (VDSO_NAME_LINUX_4_9): Likewise. + (VDSO_HASH_LINUX_4_9): Likewise. + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c (INIT_ARCH): Likewise. + * sysdeps/unix/sysv/linux/powerpc/init-first.c + (_libc_vdso_platform_setup): Likewise. + * sysdeps/unix/sysv/linux/powerpc/time.c (INIT_ARCH): Likewise. + * sysdeps/unix/sysv/linux/s390/init-first.c (_libc_vdso_platform_setup): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_platform_setup): + Likewise. + +2019-06-20 Mike Crowe + + * nptl/eintr.c: Use libsupport. + * nptl/tst-eintr1.c: Likewise. + * nptl/tst-eintr2.c: Likewise. + * nptl/tst-eintr3.c: Likewise. + * nptl/tst-eintr4.c: Likewise. + * nptl/tst-eintr5.c: Likewise. + * nptl/tst-mutex-errorcheck.c: Likewise. + * nptl/tst-mutex5.c: Likewise. + + * support/test-driver.h: Add verbose_printf macro. + + * support/xtime.h: Add xclock_now() helper function. + +2019-06-20 Dmitry V. Levin + Florian Weimer + + [BZ #24228] + * libio/genops.c (_IO_unbuffer_all) + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Do not attempt to free wide + buffers and access _IO_FILE_complete members of legacy libio streams. + * libio/tst-bz24228.c: New file. + * libio/tst-bz24228.map: Likewise. + * libio/Makefile [build-shared] (tests): Add tst-bz24228. + [build-shared] (generated): Add tst-bz24228.mtrace and + tst-bz24228.check. + [run-built-tests && build-shared] (tests-special): Add + $(objpfx)tst-bz24228-mem.out. + (LDFLAGS-tst-bz24228, tst-bz24228-ENV): New variables. + ($(objpfx)tst-bz24228-mem.out): New rule. + +2019-06-19 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (relax_fenv_state): Add 'volatile'. + * sysdeps/powerpc/fpu/fpu_control.h (__FPU_MFFS): Likewise. + (__FPU_MFFSL): Likewise. + (_FPU_SETCW): Likewise. + +2019-06-19 Stan Shebs + Raoni Fassina Firmino + + [BZ #24640] + * sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c + [!SHARED] (__get_timebase_freq): Fix sense of a test in the + static-linking version. + * sysdeps/unix/sysv/linux/powerpc/Makefile + (tests-static): Add test-gettimebasefreq-static. + (tests): Likewise. + * sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq-static.c: + New file. + +2019-06-19 Rafał Lużyński + + [BZ #24614] + * localedata/locales/nl_AW (n_sep_by_space): Set to 2 (a space + between the currency symbol and the minus sign). + (n_sign_posn): Set to 4 (the minus sign after the currency symbol). + +2019-06-19 Stefan Liebler + + [BZ #24556] + * string/test-strcasestr.c (check_result): Add NULL check. + * nss/tst-field.c (check_rewrite): Likewise. + * benchtests/bench-strstr.c (do_one_test): Likewise. + * string/test-strstr.c (check_result): Likewise. + * argp/argp-test.c (popt): Increase size of buf to 12. + * benchtests/bench-malloc-simple.c (bench): + Do not initialize tests array out of bounds. + +2019-06-19 Florian Weimer + + [BZ #24166] + * dlfcn/dlfcn.h (Dl_serinfo): Do not use array of length 1 for + dls_serpath field. + +2019-06-18 Florian Weimer + + [BZ #24323] + * include/elf.h (DT_1_SUPPORTED_MASK): Include DF_1_PIE. + * elf/dl-load.c (_dl_map_object_from_fd): Check for DF_1_PIE and + fail when called from dlopen. + * elf/Makefile [have-fpie && build-shared] (tests): Add + tst-dlopen-pie. + (tst-dlopen-pie): Link with -ldl. + (tst-dlopen-pie.out): Add run-time dependency on tst-pie1. + * elf/tst-dlopen-pie.c (do_test): New file. + +2019-06-17 Rafał Lużyński + + [BZ #24614] + * localedata/Makefile (LOCALES): Add nl_NL.UTF-8. + * localedata/locales/nl_NL (n_sep_by_space): Set to 2 (a space + between the currency symbol and the minus sign). + (n_sign_posn): Set to 4 (the minus sign after the currency symbol). + * localedata/tst-strfmon1.c (tests): Add test data for nl_NL.UTF-8. + +2019-06-17 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/m68k/Makefile (sysdep_routines, + sysdep-rtld-routines): Remove rules. + * sysdeps/unix/sysv/linux/m68k/Versions (libc) [GLIBC_PRIVATE]: + Remove __vdso_atomic_cmpxchg_32 and __vdso_atomic_barrier. + (ld) [GLIBC_PRIVATE]: __rtld___vdso_read_tp, + __rtld___vdso_atomic_cmpxchg_32, and __rtld___vdso_atomic_barrier. + * sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h + (atomic_compare_and_exchange_val_acq, atomic_full_barrier): Remove + vDSO path for SHARED. + * sysdeps/unix/sysv/linux/m68k/init-first.c: Remove file. + * sysdeps/unix/sysv/linux/m68k/libc-m68k-vdso.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/m68k-helpers.S: Likewise. + * sysdeps/unix/sysv/linux/m68k/m68k-vdso.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/m68k-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/m68k-helpers.c: New file. + + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_llround-power8, s_llround-power6x, + s_llround-power5+, s_llround-ppc64, and s_llroundf-ppc64. + (CFLAGS-s_llround-power8.c, CFLAGS-s_llround-power6x.c, + CFLAGS-s_llround-power5+.c): New rule. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power5+.c: + New file. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power6x.c: + Likewise. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power8.c: + Likewise. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-ppc64.c: + Likewise. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llroundf-ppc64.c: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llroundf.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_lround.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lround.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/Makefile + [$(subdir) == math] (CFLAGS-s_llround.c): New rule. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove s_llround-* objects. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power5+.S: Remove + file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power6x.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power8.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-ppc64.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf-ppc64.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_lround.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_llround.c: New file. + * sysdeps/powerpc/powerpc64/fpu/s_llroundf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_lround.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_lroundf.c: Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_llroundf.S: Likewise. + * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Likewise. + * sysdeps/powerpc/powerpc64/power6x/fpu/s_llroundf.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_llroundf.S: Likewise. + + * sysdeps/powerpc/fpu/s_lrintf.S: Remove file. + * sysdeps/powerpc/powerpc64/fpu/s_lrintf.c: Move to ... + * sysdeps/powerpc/fpu/s_lrintf.c: ... here. + * sysdeps/powerpc/powerpc32/fpu/Makefile + [$(subdir) == math] (CFLAGS-s_lrint.c): New rule. + * sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Add power4 + optimization. + * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: New file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile + (CFLAGS-s_llrintf-power6.c, CFLAGS-s_llrintf-ppc32.c, + CFLAGS-s_llrint-power6.c, CFLAGS-s_llrint-ppc32.c, + CFLAGS-s_lrint-ppc32.c): New rule. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-power6.S: + Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: Likewise. + * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Likewise. + * sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-power6.c: + New file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint-ppc32.c: + Likewise. + + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_llrint-power8, s_llrint-power6x, and + s_llrint-ppc64. + (CFLAGS-s_llrint-power8.c, CFLAGS-s_llrint-power6x.c): New rule. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-power6x.c: New + file. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-power8.c: + Likewise. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-ppc64.c: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_lrint.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lrint.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrintf.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrintf.c: ... here. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lrint.c: New file. + * sysdeps/powerpc/powerpc64/fpu/Makefile: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove s_llrint-* objects. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S: Remove + file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power8.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: New file. + * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_lrint.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_lrintf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Remove file. + * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_lrint.S: Likewise. + * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Likewise. + +2019-06-14 Florian Weimer + + * sysdeps/unix/sysv/linux/bits/statx.h: Use string literal in + argument to __glibc_has_include to inhibit macro expansion. + +2019-06-14 Florian Weimer + + * misc/sys/cdefs.h (__glibc_has_include): Do not use a + function-like macro, so that __has_include can inhibit expansion + of its argument. + +2019-06-13 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/in.h (IPV6_ROUTER_ALERT_ISOLATE): + New macro. + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data: + Allow memset in libc.so. + +2019-06-13 Szabolcs Nagy + + * sysdeps/aarch64/dl-dtprocnum.h: New file. + * sysdeps/aarch64/dl-machine.h (DT_AARCH64): Define. + (elf_machine_runtime_setup): Handle DT_AARCH64_VARIANT_PCS. + (elf_machine_lazy_rel): Check STO_AARCH64_VARIANT_PCS and bind such + symbols at load time. + * sysdeps/aarch64/linkmap.h (struct link_map_machine): Add variant_pcs. + +2019-06-13 Szabolcs Nagy + + * elf/elf.h (STO_AARCH64_VARIANT_PCS): Define. + (DT_AARCH64_VARIANT_PCS): Define. + +2019-06-12 Adhemerval Zanella + + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile + (sysdeps_routines, libm-sysdep_routines): Remove s_finite* + objects. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite-power7.S: + Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef.c: Likewise. + * sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S: Likewise. + * sysdeps/powerpc/powerpc32/power7/fpu/s_finitef.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_call): + Remove s_finite* objects. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S: Remove file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/s_finitef.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_finite.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_finitef.S: Likewise. + + * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Move to ... + * sysdeps/ieee754/dbl-64/s_finite.c: ... here and format code. + + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile + (sysdeps_routines, libm-sysdep_routines): Remove s_isinf* and s_isinf* + objects. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf-power7.S: + Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff.c: Likewise. + * sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S: Likewise. + * sysdeps/powerpc/powerpc32/power7/fpu/s_isinff.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_call): + Remove s_isinf* and s_isinf* objects. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/s_isinff.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_isinf.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_isinff.S: Likewise. + + * sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: Move to ... + * sysdeps/ieee754/dbl-64/s_isinf.c: ... here and format code. + + * sysdeps/powerpc/fpu/s_isnan.c: Remove file. + * sysdeps/powerpc/fpu/s_isnanf.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile + (sysdeps_routines, libm-sysdep_routines): Remove s_isnan-* and + s_isnanf-* objects. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power5.S: + Remove file + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power6.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power7.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf-power5.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf-power6.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf.c: Likewise. + * sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc32/power5/fpu/s_isnanf.S: Likewise. + * sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S: Likewise. + * sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc32/power7/fpu/s_isnanf.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_calls): + Remove s_isnan-* and s_isnanf-* objects. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnanf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/s_isnanf.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_isnanf.S: Likewise. + + * sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Move to ... + * sysdeps/ieee754/dbl-64/s_isnan.c: ... here and format code. + + * benchtests/Makefile (bench-math): Add isnan, isinf, and isfinite. + (CFLAGS-bench-isnan.c, CFLAGS-bench-isinf.c, + CFLAGS-bench-isfinite.c): New rule. + * benchtests/isnan-input: New file. + * benchtests/isinf-input: New file. + * benchtests/isfinite-input: New file. + + * sysdeps/powerpc/fpu/s_copysign.c: New file. + * sysdeps/powerpc/fpu/s_copysignf.c: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile + (sysdep_routines, libm-sysdep_routines): Remove s_copysign-power6 and + s_copysign-ppc32. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-power6.S: + Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c: + Likewise. + * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Likewise. + * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdeps_calls): + Remove s_copysign-power6 s_copysign-ppc64. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S: + Remove file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_copysignf.S: Likewise. + * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Likewise. + * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: Likewise. + + * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode, + round_to_integer_float, round_mode): Add RINT handling. + (reset_fenv_mode): New symbol. + * sysdeps/powerpc/fpu/s_rint.c (__rint): Use generic implementation. + * sysdeps/powerpc/fpu/s_rintf.c (__rintf): Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise. + +2019-06-12 Florian Weimer + + [BZ #24632] + * libio/libioP.h (_IO_JUMPS_FUNC_UPDATE): New macro. + * libio/freopen.c (freopen): Use it. + +2019-06-12 Florian Weimer + + Linux: Deprecate sysctl. + * include/sysctl.h (__sysctl): Remove declaration. + * scripts/check-installed-headers.sh (sys/sysctl.h): Disable + check. + * sysdeps/unix/sysv/linux/sys/sysctl.h: Add deprecation warning. + (sysctl): Add deprecation attribute. + * sysdeps/unix/sysv/linux/sysctl.c: Include + directly, to avoid the deprecation warning. Do not include + . + (__sysctl): Remove hidden alias. + +2019-06-12 Florian Weimer + + Linux: Use kernel headers for statx definitions if available. + * include/bits/statx-generic.h: New file. + * include/bits/types/struct_statx.h: Likewise. + * include/bits/types/struct_statx_timestamp.h: Likewise. + * io/Makefile (headers): Add bits/statx-generic.h. + * io/bits/statx-generic.h: New file. Partly copied from + io/bits/statx.h. + * io/statx_generic.c: Include to + define original_statx. + * io/bits/types/struct_statx.h: Likewise. + * io/bits/types/struct_statx_timestamp.h: Likewise. + (statx_generic): Use original_statx. + * io/bits/statx.h: Rewrite to include . + * sysdeps/unix/sysv/linux/bits/statx.h: New file. + +2019-06-12 Florian Weimer + + * misc/sys/cdefs.h (__glibc_has_include): Define. + +2019-06-12 Wilco Dijkstra + + * string/memmem.c (__memmem): Rewrite to improve performance. + +2019-06-12 Wilco Dijkstra + + * string/str-two-way.h (two_way_short_needle): Add inline to avoid + warning. + (two_way_long_needle): Block inlining. + * string/strstr.c (strstr2): Add new function. + (strstr3): Likewise. + (STRSTR): Completely rewrite strstr to improve performance. + +2019-06-11 Wilco Dijkstra + + * benchtests/bench-strstr.c (test_hard_needle): New function. + +2019-06-10 Joseph Myers + + * malloc/tst-calloc.c: Include . + (null_test): Ignore -Wunused-result around calls to calloc. + * malloc/tst-mallocfork.c: Include . + (do_test): Ignore -Wunused-result around call to malloc. + +2019-06-07 Florian Weimer + + Linux: Add getdents64 system call. + * include/dirnent.h (getdents): Add comment and change buffer + argument type to void *. + (getdents64): Likewise. Add hidden prototype. + * sysdeps/unix/sysv/linux/bits/Versions (GLIBC_2.30): Export + getdents64. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) == dirent] (tests): + Add tst-getdents64. + * sysdeps/unix/sysv/linux/bits/unistd_ext.h (getdents64): Declare. + * sysdeps/unix/sysv/linux/getdents.c (__getdents): Change buffer + argument type to void *. + * sysdeps/unix/sysv/linux/getdents64.c (__getdents64): Likewise. + Add hidden definition and getdents64 alias. + * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c (__getdents64): + Likewise. + * sysdeps/unix/sysv/linux/tst-getdents64.c: New file. + * manual/filesys.texi (Accessing Directories): Add Low-level + Directory Access node reference. + (Opening a Directory): Cross-reference it. + (Low-level Directory Access): New node. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30): Add + getdents64. + * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/csky/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.30): + Likewise. + +2019-06-06 Paul A. Clarke + + * sysdeps/powerpc/fpu_control.h (_FPU_MASK_RC): New. + (__FPU_MFFS): New. + (__FPU_MFFSL): New. + (_FPU_GET_RC): New. + (_FPU_GETCW): Use __FPU_MFFS(). + * sysdeps/powerpc/fpu/get-rounding-mode.h: New file. + +2019-06-06 Florian Weimer + + * sysdeps/unix/sysv/linux/riscv/flush-icache.c: Do not use + internal GCC preprocessor identifier __has_include__. + +2019-06-05 Paul A. Clarke + + * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Replace code + with call to equivalent function. + +2019-06-04 Florian Weimer + + * iconv/gconv_dl.c (release_handle): Remove file-level definition. + (do_release_shlib): Adjust for __twalk_r. + (__gconv_release_shlib): Call __twalk_r. + +2019-06-04 Andreas Schwab + + [BZ #18830] + * iconv/skeleton.c (FUNCTION_NAME): Use RESET_INPUT_BUFFER only if + no irreversible characters occurred. + * iconv/gconv_simple.c (internal_ucs4_loop) + (internal_ucs4_loop_unaligned, internal_ucs4_loop_single) + (ucs4_internal_loop, ucs4_internal_loop_unaligned) + (ucs4_internal_loop_single, internal_ucs4le_loop) + (internal_ucs4le_loop_unaligned, internal_ucs4le_loop_single) + (ucs4le_internal_loop, ucs4le_internal_loop_unaligned) + (ucs4le_internal_loop_single): Add const to outend. + * sysdeps/s390/multiarch/gconv_simple.c (internal_ucs4le_loop) + (ucs4_internal_loop, ucs4le_internal_loop): Likewise. + * iconv/Makefile (tests): Add tst-iconv7. + * iconv/tst-iconv7.c: New file. + +2019-06-03 Joseph Myers + + * inet/netinet/in.h (INADDR_ALLSNOOPERS_GROUP): New macro. + +2019-06-01 Florian Weimer + + arm: Remove ioperm/iopl/inb/inw/inl/outb/outw/outl support. + * sysdeps/unix/sysv/linux/arm/Makefile + [$(subdir) == misc] (sysdep_headers): Remove sys/io.h. + * sysdeps/unix/sysv/linux/arm/sys/io.h: Remove file. + * sysdeps/unix/sysv/linux/arm/ioperm.c: Rewrite file. + (ioperm, iopl, inb, inw, inl, outb, outw, outl): Turn into + compatibility symbols. + +2019-05-31 Florian Weimer + + * sysdeps/unix/sysv/linux/syscall-names.list: Add oddly named + system calls for the arm architecture: breakpoint, get_tls, + set_tls, usr26, usr32. + +2019-05-30 Gabriel F. T. Gomes + + * sysdeps/powerpc/Makefile + [$(subdir) == misc] (CFLAGS-tst-set_ppr.c): New variable. + * sysdeps/powerpc/powerpc64/power4/memcmp.S [__LITTLE_ENDIAN__]: + Declare '.machine power7' to get support for ldbrx. + * sysdeps/powerpc/powerpc64/power7/strncmp.S: Declare '.machine' + directive based on the directory of the file. + * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strcmp.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strcasecmp.S: Update + '.machine' directive. + (VCLZD_V8_v7, MFVRD_R3_V1, VSUBUDM_V9_V8, VPOPCNTD_V8_V8) + (VADDUQM_V7_V8): Remove. + (__STRCASECMP): Replace macros with actual instructions. + * sysdeps/powerpc/powerpc64/power8/strcasestr.S: Update + '.machine' directive. + (VCLZD_V8_v7): Remove. + (STRCASESTR): Replace VCLZD_V8_v7 with actual instruction. + +2019-05-29 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c: + Remove file. + * sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c: Likewise. + +2019-05-28 Adhemerval Zanella + + * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode): Add + NEARBYINT handling. + * sysdeps/powerpc/fpu/s_nearbyint.c: New file. + * sysdeps/powerpc/fpu/s_nearbyintf.c: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_nearbyint.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_nearbyintf.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_nearbyint.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S: Likewise. + +2019-05-28 mansayk <6688000@gmail.com> + + [BZ #24370] + * localedata/locales/tt_RU (lang_name): Add from CLDR-35.1. + +2019-05-28 mansayk <6688000@gmail.com> + + [BZ #24369] + * localedata/locales/tt_RU (mon): Update from CLDR-35.1, fix errors. + (abmon): Likewise, but remove the trailing dots. + +2019-05-28 Joseph Myers + + * inet/netinet/igmp.h (IGMP_MRDISC_ADV): New macro. + +2019-05-27 Florian Weimer + + * nptl/nptl-init.c: Add comment. + +2019-05-24 Florian Weimer + + * resolv/nss_dns/dns-host.c (getanswer_r): Be more explicit about + struct in_addr/struct in6_addr alignment. + +2019-05-23 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] + (F_SEAL_FUTURE_WRITE): New macro. + +2019-05-23 Alexandra Hájková + + * elf/Makefile (test-container): Add tst-ldconfig-bad-aux-cache. + * elf/tst-ldconfig-bad-aux-cache.c: New file. + * elf/tst-ldconfig_aux-cache.root: New directory. + * elf/tst-ldconfig-bad-aux-cache.root/postclean.req: New file. + * elf/tst-ldconfig-bad-aux-cache.root/etc: New directory. + * elf/tst-ldconfig-bad-aux-cache.root/etc/ld.so.conf: New file. + +2019-05-22 Zack Weinberg + + * sysdeps/powerpc/preconfigure: Error out on powerpc-*-*gnuspe* + host type. + * scripts/build-many-glibcs.py: Remove powerpc-*-linux-gnuspe + and powerpc-*-linux-gnuspe-e500v1 from list of build configurations. + + * sysdeps/powerpc/powerpc32/e500: Recursively delete. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/e500: Recursively delete. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h: + Delete. + + * sysdeps/powerpc/fpu_control.h: Remove SPE variant. + Issue an #error if used with a compiler in SPE-float mode. + * sysdeps/powerpc/powerpc32/__longjmp_common.S + * sysdeps/powerpc/powerpc32/setjmp_common.S + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: + Remove code to preserve SPE register state. + + * sysdeps/unix/sysv/linux/powerpc/elision-lock.c + * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c + * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c: + Remove __SPE__ ifndefs. + +2019-05-21 Wilco Dijkstra + + * benchtests/bench-memcpy-random.c (do_one_test): Use medium iterations. + * benchtests/bench-memcpy-walk.c (test_main): Reduce alignment tests. + * benchtests/bench-memmem.c (do_one_test): Use small iterations. + * benchtests/bench-memmove-walk.c (test_main): Reduce alignment tests. + * benchtests/bench-memset-walk.c (test_main): Reduce alignment tests. + * benchtests/bench-strcasestr.c (do_one_test): Use small iterations. + * benchtests/bench-string.h (INNER_LOOP_ITERS): Increase iterations. + (INNER_LOOP_ITERS_MEDIUM): New define. + (INNER_LOOP_ITERS_SMALL): New define. + * benchtests/bench-strpbrk.c (do_one_test): Use medium iterations. + * benchtests/bench-strsep.c (do_one_test): Use small iterations. + * benchtests/bench-strspn.c (do_one_test): Use medium iterations. + * benchtests/bench-strstr.c (do_one_test): Use small iterations. + * benchtests/bench-strtok.c (do_one_test): Use small iterations. + +2019-05-21 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/powerpc/ipc_priv.h (SEMTIMEDOP_IPC_ARGS): + New define. + * sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h + (SEMTIMEDOP_IPC_ARGS): Likewise. + +2019-05-21 Florian Weimer + + [BZ #24584] + * wcsmbs/wcsmbsload.c (__wcsmbs_clone_conv): Acquire __gconv_lock + before updating __counter field and release it afterwards. Add + overflow check. + * iconv/gconv.h (struct __gconv_step): Mention synchronization + requirement for __counter member. + +2019-05-21 Florian Weimer + + [BZ #24583] + * wcsmbs/wcsmbsload.h (__wcsmbs_close_conv): Declare. + * wcsmbs/wcsmbsload.c (__wcsmbs_close_conv): Define. + * libio/iofclose.c (_IO_new_fclose): Call __wcsmbs_close_conv + instead of __gconv_release_step. + * libio/Makefile (tests): Add tst-wfile-gconv. + (tests-container): Add tst-wfile-ascii. + (tst-wfile-gconv-ENV): Enable mtrace. + (generated): Add tst-wfile-gconv.mtrace, tst-wfile-gconv.check. + (tests-special): Add tst-wfile-gconv-mem.out. + (tst-wfile-gconv.out): Depend on locales. + (tst-wfile-gconv-mem.out): Add mtrace rule. + * libio/tst-wfile-ascii.c: New file. + * libio/tst-wfile-gconv.c: Likewise. + +2019-05-20 Florian Weimer + + [BZ #24588] + libio: Remove codecvt vtable. + * libio/fileops.c ( _IO_new_file_fopen): Do not copy + __libio_codecvt. + * libio/iofgetpos.c (_IO_new_fgetpos): Call + __libio_codecvt_encoding. + * libio/iofgetpos64.c (_IO_new_fgetpos): Likewise. + * libio/iofsetpos.c (_IO_new_fsetpos): Likewise. + * libio/iofsetpos64.c (_IO_new_fsetpos): Likewise. + * libio/iofwide.c (__libio_codecvt): Remove variable. + (_IO_fwide): Do not copy __libio_codecvt. + (__libio_codecvt_out): Rename from do_out and export. + (do_unshift): Remove function. + (__libio_codecvt_in): Rename from do_in and export. + (__libio_codecvt_encoding): Rename from do_encoding and export. + (do_always_noconv): Remove function. + (__libio_codecvt_length): Rename from do_length and export. + (do_max_length): Remove function. + * libio/libio.h (enum __codecvt_result): Remove definition; moved + to libioP.h. + (struct _IO_codecvt): Remove fields __codecvt_destr, + __codecvt_do_out, __codecvt_do_unshift, __codecvt_do_in, + __codecvt_do_encoding, __codecvt_do_always_noconv, + __codecvt_do_length, __codecvt_do_max_length. + * libio/libioP.h (enum __codecvt_result): Define; moved from + libio.h. + (__libio_codecvt_out, __libio_codecvt_in) + (__libio_codecvt_encoding, __libio_codecvt_length): Declare + functions. + * libio/wfileops.c (_IO_wdo_write): Call __libio_codecvt_out. + (_IO_wfile_underflow): Call __libio_codecvt_in. + (_IO_wfile_underflow): Likewise. + (_IO_wfile_underflow_mmap): Likewise. + (_IO_wfile_sync): Call __libio_codecvt_encoding, + __libio_codecvt_length. + (adjust_wide_data): Call __libio_codecvt_encoding, + __libio_codecvt_in. + (do_ftell_wide): Call __libio_codecvt_length, __libio_codecvt_out. + (_IO_wfile_seekoff): Call __libio_codecvt_encoding, + __libio_codecvt_length. + +2019-05-20 Florian Weimer + + * support/support.h (support_sbindir_prefix): Declare. + (support_install_rootsbindir): Update comment. + * support/Makefile (CFLAGS-support_paths.c): Define SBINDIR_PATH. + * support/support_paths.c (support_sbindir_prefix): Define. + +2019-05-20 Mike Crowe + + * support/timespec.c: Add backslash to correct newline in failure + message. + + * support/timespec.h: Correct confusing comment. + +2019-05-20 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/ipc_priv.h (SEMTIMEDOP_IPC_ARGS): New + define. + * sysdpes/unix/sysv/linux/s390/ipc_priv.h: New file. + * sysdeps/unix/sysv/linux/s390/semtimedop.c: Remove file. + * sysdeps/unix/sysv/linux/semtimedop.c (semtimedop): Use + SEMTIMEDOP_IPC_ARGS for calls with __NR_ipc. + + [BZ #24570] + * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Remove __IPC_64 + usage. + +2019-05-20 Joseph Myers + + * elf/elf.h (NT_ARM_PACA_KEYS): New macro. + (NT_ARM_PACG_KEYS): Likewise. + +2019-05-17 Wilco Dijkstra + + * malloc/malloc.c (MAX_TCACHE_COUNT): Increase to UINT16_MAX. + (tcache_put): Remove redundant assert. + (tcache_get): Remove redundant asserts. + (__libc_malloc): Check tcache count is not zero. + * manual/tunables.texi (glibc.malloc.tcache_count): Update maximum. + +2019-05-17 Florian Weimer + + * manual/llio.texi (Open-time Flags): Document O_DIRECTORY. + +2019-05-16 Joseph Myers + + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + (__ASSUME_STATFS64): Only undefine if [__LINUX_KERNEL_VERSION < + 0x050100]. + * sysdeps/unix/sysv/linux/ia64/kernel-features.h (__ASSUME_STATX): + Likewise. + * sysdeps/unix/sysv/linux/sh/kernel-features.h + (__ASSUME_STATX): Likewise. + +2019-05-16 Florian Weimer + + * nis/nss_nis/nis-hosts.c (EXTRA_ARGS, EXTRA_ARGS_DECL): Remove + flags argument. + (LINE_PARSER): Do not map IPv4 addresses. + (internal_nis_gethostent_r): Remove flags argument. Adjust call + to parse_line. + (_nss_nis_gethostent_r): Always pass AF_INET to + internal_nis_gethostent_r. + (internal_gethostbyname2_r): Remove flags argument. Adjust call + to parse_line. + (_nss_nis_gethostbyname2_r): Adjust call to + internal_nis_gethostent_r. + (_nss_nis_gethostbyname_r): Do not attempt IPv6 query. Adjust + call to internal_nis_gethostent_r. + (_nss_nis_gethostbyaddr_r): Do not request IPv4 address mapping + from parse_line. + (_nss_nis_gethostbyname4_r):Adjust call to parse_line. + * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent): + Remove flags argument. Do not map IPv4 addresses. + (internal_nisplus_gethostent_r): Adjust call to + _nss_nisplus_parse_hostent. + (internal_gethostbyname2_r): Remove flags argument. Adjust call + to _nss_nisplus_parse_hostent. + (_nss_nisplus_gethostbyname2_r): Adjust call to + internal_gethostbyname2_r. + (_nss_nisplus_gethostbyname_r): Do not perform IPv6 lookup. + Adjust call to internal_gethostbyname2_r. + (_nss_nisplus_gethostbyaddr_r): Adjust call to + _nss_nisplus_parse_hostent. + (_nss_nisplus_gethostbyname4_r): Adjust call to + internal_gethostbyname2_r. + +2019-05-16 Florian Weimer + + * nss/nss_files/files-hosts.c (EXTRA_ARGS, EXTRA_ARGS_DECL): + Remove flags. + (LINE_PARSER): Remove address mapping. + (EXTRA_ARGS_VALUE): Remove flags argument. + (gethostbyname3_multi): Likewise. Adjust call to internal_getent. + (_nss_files_gethostbyname3_r): Adjust calls to internal_getent and + gethostbyname3_multi. + (_nss_files_gethostbyname_r): Always use AF_INET. Adjust call to + _nss_files_gethostbyname3_r. + (_nss_files_gethostbyname4_r): Adjust call to internal_getent. + +2019-05-16 Florian Weimer + + * support/support_test_compare_blob.c (report_blob): Report + incorrect NULL blobs. + +2019-05-15 Mark Wielaard + + [BZ# 24476] + * dlfcn/dlerror.c (__dlerror_main_freeres): Guard using + __libc_once_get (once) and static_buf == NULL. + (__dlerror): Check we have a valid key, set result to static_buf + otherwise. + +2019-05-15 Andreas Schwab + + [BZ #20568] + * libio/wfileops.c (_IO_wfile_sync): Correct last argument to + __codecvt_do_length. + * libio/Makefile (tests): Add tst-wfile-sync. + ($(objpfx)tst-wfile-sync.out): Depend on $(gen-locales). + * libio/tst-wfile-sync.c: New file. + * libio/tst-wfile-sync.input: New file. + +2019-05-15 Florian Weimer + + nss: Turn __nss_database_lookup into a compatibility symbol. + * nss/nsswitch.h (__nss_database_lookup2): Renamed from + __nss_database_lookup. + * nss/nsswitch.c (__nss_database_lookup2): Likewise. + (nss_load_all_libraries): Call __nss_database_lookup2 instead of + __nss_database_lookup. + (__nss_next): Move to … + * nss/compat-lookup.c (nss_next): … here. Change it to fail + unconditionally. + (__nss_database_lookup): New function. + * nss/Versions (GLIBC_2.0): Update comment. + (GLIBC_PRIVATE): Export __nss_database_lookup2. + * grp/initgroups.c (internal_getgrouplist): Call + __nss_database_lookup2 instead of __nss_database_lookup. + * nscd/aicache.c (addhstaiX): Likewise. + * nscd/initgrcache.c (addinitgroupsX): Likewise. + * nscd/netgroupcache.c (addgetnetgrentX): Likewise. + * nss/XXX-lookup.c (DB_LOOKUP_FCT): Likewise. + * nss/nss_compat/compat-grp.c (init_nss_interface): Likewise. + * nss/nss_compat/compat-initgroups.c (init_nss_interface): + Likewise. + * nss/nss_compat/compat-pwd.c (init_nss_interface): Likewise. + * nss/nss_compat/compat-spwd.c (init_nss_interface): Likewise. + * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise. + +2019-05-15 Alexandra Hájková + + * support/support.h (support_install_rootsbindir): New variable. + * support/support_paths.c: Likewise. + * support/Makefile (CFLAGS-support_paths.c): Add -DROOTSBINDIR_PATH. + +2019-05-15 Florian Weimer + + * iconv/gconv.h (__gconv_transliterate): Move declaration … + * iconv/gconv_int.h (__gconv_transliterate): … here. + * iconv/loop.c: Include instead of . + * iconv/skeleton.c: Likewise. + +2019-05-14 Florian Weimer + + Linux: Add the tgkill function. + * bits/signal_ext.h: New file. + * manual/signal.texi (Signaling Another Process): Document tgkill. + * signal/Makefile (headers): Add bits/signal_ext.h. + * signal/signal.h: Include . + * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-tgkill. + (tst-tgkill): Link with libpthread. + * sysdeps/unix/sysv/linux/Versions (GLIBC_2.30): Export tgkill. + * sysdeps/unix/sysv/linux/bits/signal_ext.h: New file. + * sysdeps/unix/sysv/linux/bits/tst-tgkill.c: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30): Add + tgkill. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + +2019-05-14 Carlos O'Donell + + * manual/search.texi (Tree Search Function): Adjust twalk_r + documentation. + +2019-05-14 Adhemerval Zanella + + [BZ #24544] + * elf/tst-pldd.c (do_test): Use support_bindir_prefix instead of + pre-defined value. + + * support/Makefile (CFLAGS-support_paths.c): Add -DBINDIR_PATH. + * support/support.h (support_bindir_prefix): New variable. + * support/support_paths.c [BINDIR_PATH] (support_bindir_prefix): + + * config.make.in (bindir): New variable. + + * sysdeps/nptl/lowlevellock.h (__lll_trylock): New macro. + (lll_trylock): Call __lll_trylock. + * sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S: Remove file. + * sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c: Likewise. + * sysdeps/unix/sysv/linux/i386/lowlevellock.S: Likewise. + * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. + * sysdeps/unix/sysv/linux/x86/lowlevellock.h: New file. + * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Include + lowlevellock-futex.h. + + * nptl/nptl-init.c (__pthread_initialize_minimal_internal): Remove + initialization for LLL_LOCK_INITIALIZER different than 0. + * nptl/old_pthread_cond_broadcast.c (__pthread_cond_broadcast_2_0): + Assume LLL_LOCK_INITIALIZER being 0. + * nptl/old_pthread_cond_signal.c (__pthread_cond_signal_2_0): Likewise. + * nptl/old_pthread_cond_timedwait.c (__pthread_cond_timedwait_2_0): + Likewise. + * nptl/old_pthread_cond_wait.c (__pthread_cond_wait_2_0): Likewise. + * sysdeps/nptl/libc-lockP.h (__libc_lock_define_initialized): Likewise. + + * nptl/lowlevellock.c (__lll_lock_wait, __lll_lock_wait_private): + Optimize futex call and add systemtap probe. + + * nptl/pthreadP.h (CANCEL_ASYNC, CANCEL_RESET, LIBC_CANCEL_ASYNC, + LIBC_CANCEL_RESET, __libc_enable_asynccancel, + __libc_disable_asynccancel, __librt_enable_asynccancel, + __libc_disable_asynccancel, __librt_enable_asynccancel, + __librt_disable_asynccancel): Move to ... + * sysdeps/unix/sysv/linux/sysdep-cancel.h: ... here. + (SINGLE_THREAD_P, RTLD_SINGLE_THREAD_P): Move to ... + * sysdeps/unix/sysv/linux/single-thread.h: ... here. + * sysdeps/generic/single-thread.h: New file. + * sysdeps/unix/sysdep.h: Include single-thread.h. + * sysdeps/unix/sysv/linux/futex-internal.h: Include sysdep-cancel.h. + * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. + +2019-05-08 Mike FABIAN + + [BZ #24535] + * localedata/unicode-gen/Makefile (UNICODE_VERSION): Set to 12.1.0. + * localedata/unicode-gen/DerivedCoreProperties.txt: Update to + Unicode 12.1.0. + * localedata/unicode-gen/EastAsianWidth.txt: Likewise. + * localedata/unicode-gen/PropList.txt: Likewise. + * localedata/unicode-gen/UnicodeData.txt: Likewise. + * localedata/charmaps/UTF-8: Regenerate. + * localedata/locales/i18n_ctype: Likewise. + * localedata/locales/tr_TR: Likewise. + * localedata/locales/translit_circle: Likewise. + * localedata/locales/translit_cjk_compat: Likewise. + * localedata/locales/translit_combining: Likewise. + * localedata/locales/translit_compat: Likewise. + * localedata/locales/translit_font: Likewise. + * localedata/locales/translit_fraction: Likewise. + +2019-05-10 Wilco Dijkstra + + [BZ #24531] + * malloc/malloc.c (MAX_TCACHE_COUNT): New define. + (do_set_tcache_count): Only update if count is small enough. + * manual/tunables.texi (glibc.malloc.tcache_count): Document max value. + +2019-05-10 Florian Weimer + + * nptl/sem_close.c (struct walk_closure): Define. + (walker): Adjust for __twalk_r. + (sem_close): Call __twalk_r. + +2019-05-09 Adhemerval Zanella + + * support/timespec.c (test_timespec_before_impl, + test_timespec_equal_or_after_impl): print timespec member as intmax_t + insted of long int. + +2019-05-09 Mike Crowe + + * nptl/tst-abstime.c: Use libsupport. + + * nptl/tst-rwlock6.c: Use libsupport. This also happens to fix a + small bug where only tv.tv_usec was checked which could cause an + erroneous pass if pthread_rwlock_timedrdlock incorrectly took more + than a second. + + * nptl/tst-rwlock7.c, nptl/tst-rwlock9.c, nptl/tst-rwlock14.c: Use + libsupport. + + * nptl/tst-sem5.c (do_test): Use xclock_gettime, timespec_add and + TEST_TIMESPEC_NOW_OR_AFTER from libsupport. + + * nptl/tst-cond11.c: Use libsupport. + + * support/timespec.h: New file. Provide timespec helper functions + along with macros in the style of those in check.h. + * support/timespec.c: New file. Implement check functions declared + in support/timespec.h. + * support/timespec-add.c: New file from gnulib containing + timespec_add implementation that handles overflow. + * support/timespec-sub.c: New file from gnulib containing + timespec_sub implementation that handles overflow. + * support/README: Mention timespec.h. + +2019-05-09 Szabolcs Nagy + + [BZ #24537] + * nptl/Makefile: Move tst-eintr1 to xtests. + +2019-05-09 Adhemerval Zanella + + * sysdeps/powerpc/fpu/trunc_to_integer.h (set_fenv_mode): Add + TRUNC handling. + (round_mode): Add definition for TRUNC. + * sysdeps/powerpc/fpu/s_trunc.c: New file. + * sysdeps/powerpc/fpu/s_truncf.c: New file. + * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-power5+.S: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-ppc32.S: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-power5+.S: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-ppc32.S: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-power5+.c: New + file. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-ppc32.c: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-power5+.c: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-ppc32.c: + Likewise. + * sysdep/powerpc/powerpc32/power5+/fpu/s_trunc.S: Remove file. + * sysdep/powerpc/powerpc32/power5+/fpu/s_truncf.S: Likewise. + * sysdep/powerpc/powerpc64/be/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_trunc-power5+, s_trunc-ppc64, + s_truncf-power5+, and s_truncf-ppc64. + (CFLAGS-s_trunc-power5+.c, CFLAGS-s_truncf-power5+.c): New rule. + * sysdep/powerpc/powercp64/be/fpu/multiarch/s_trunc-power5+.c: New + file. + * sysdep/powerpc/powercp64/be/fpu/multiarch/s_trunc-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_trunc.c: ... here. + * sysdep/powerpc/powercp64/be/fpu/multiarch/s_truncf-power5+.c: New + file. + * sysdep/powerpc/powercp64/be/fpu/multiarch/s_truncf-ppc64.c: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_truncf.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove s_trunc-power5+, s_trunc-ppc64, + s_truncf-power5+, and s_truncf-ppc64. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_trunc-power5+.S: Remove + file. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_trunc-ppc64.S: Likewise. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_truncf-power5+.S: + Likewise. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_truncf-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise. + * sysdep/powerpc/powerpc64/power5+/fpu/s_trunc.S: Likewise. + * sysdep/powerpc/powerpc64/power5+/fpu/s_truncf.S: Likewise. + + * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode): Add + ROUND handling. + (round_mode): Add definition for ROUND. + (round_to_integer_float): Likewise. + * sysdeps/powerpc/fpu/s_round.c: New file. + * sysdeps/powerpc/fpu/s_roundf.c: New file. + * sysdeps/powerpc/powerpc32/fpu/s_round.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-power5+.S: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-ppc32.S: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-power5+.S: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-ppc32.S: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-power5+.c: New + file. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-ppc32.c: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-power5+.c: + Likewise. + * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-ppc32.c: + Likewise. + * sysdep/powerpc/powerpc32/power5+/fpu/s_round.S: Remove file. + * sysdep/powerpc/powerpc32/power5+/fpu/s_roundf.S: Likewise. + * sysdep/powerpc/powerpc64/be/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_round-power5+, s_round-ppc64, + s_roundf-power5+, and s_roundf-ppc64. + (CFLAGS-s_round-power5+.c, CFLAGS-s_roundf-power5+.c): New rule. + * sysdep/powerpc/powercp64/be/fpu/multiarch/s_round-power5+.c: New + file. + * sysdep/powerpc/powercp64/be/fpu/multiarch/s_round-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_round.c: ... here. + * sysdep/powerpc/powercp64/be/fpu/multiarch/s_roundf-power5+.c: New + file. + * sysdep/powerpc/powercp64/be/fpu/multiarch/s_roundf-ppc64.c: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_roundf.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove s_round-power5+, s_round-ppc64, + s_roundf-power5+, and s_roundf-ppc64. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_round-power5+.S: Remove + file. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_round-ppc64.S: Likewise. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_roundf-power5+.S: + Likewise. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_roundf-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise. + * sysdep/powerpc/powerpc64/power5+/fpu/s_round.S: Likewise. + * sysdep/powerpc/powerpc64/power5+/fpu/s_roundf.S: Likewise. + + * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode): + Add FLOOR option. + (round_mode): Add definition for FLOOR. + * sysdeps/powerpc/fpu/s_floor.c: New file. + * sysdeps/powerpc/fpu/s_floorf.c: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-power5+.S: + Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-ppc32.S: + Likewise + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-power5+.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-power5+.c: + New file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-power5+.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_floor.S: Remove file. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_floorf.S: Remove file. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_floor-power5+, s_floor-ppc64, + s_floorf-power5+, and s_floorf-ppc64. + (CFLAGS-s_floor-power5+.c, CFLAGS-s_floorf-power5+.c): New rule. + * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floor-power5+.c: New + file. + * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floor-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_floor.c: ... here. + * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floorf-power5+.c: New + file. + * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floorf-ppc64.c: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_floorf.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove s_floor-power5+, s_floor-ppc64, + s_floorf-power5+, and s_floorf-ppc64. + * sysdep/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S: Remove + file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S: Remove + file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: Likewise. + +2019-05-08 Mike Crowe + + * support/xclock_gettime.c (xclock_gettime): New file. Provide + clock_gettime wrapper for use in tests that fails the test rather + than returning failure. + + * support/xtime.h: New file to declare xclock_gettime. + + * support/Makefile: Add xclock_gettime.c. + + * support/README: Mention xtime.h. + +2019-05-08 Florian Weimer + + malloc/tst-mallocfork2: Use process-shared barriers. + * malloc/tst-mallocfork2.c: Switch to . + (signal_count, sigusr1_sender_pid): Remove. + (iterations): Define constant. + (shared): New variable. + (sigusr1_received): Update comment. + (sigusr1_handler): Do not send SIGSTOP to the sender process. + (signal_sender): Optional use barriers to avoid sending signals + during irrelevant times. + (do_it): Initialize variable shared. Use xfork for error + checking. Launch multiple SIGUSR1-sending subprocesses. Limit + the iteration count, independent of signal delivery. Check for + deadlocks in fork. Introduce barriers for reducing signal + traffic. Do not send SIGCONT to the SIGUSR1-sending processes; + replaced by the barriers. Count signals during fork/free/malloc + and report them. + * malloc/Makefile (tst-mallocfork): Link with libpthread. + +2019-05-07 Joseph Myers + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 5.1. + (clock_adjtime64) New syscall. + (clock_getres_time64) Likewise. + (clock_gettime64) Likewise. + (clock_nanosleep_time64) Likewise. + (clock_settime64) Likewise. + (futex_time64) Likewise. + (io_pgetevents_time64) Likewise. + (io_uring_enter) Likewise. + (io_uring_register) Likewise. + (io_uring_setup) Likewise. + (mq_timedreceive_time64) Likewise. + (mq_timedsend_time64) Likewise. + (pidfd_send_signal) Likewise. + (ppoll_time64) Likewise. + (pselect6_time64) Likewise. + (recvmmsg_time64) Likewise. + (rt_sigtimedwait_time64) Likewise. + (sched_rr_get_interval_time64) Likewise. + (semtimedop_time64) Likewise. + (timer_gettime64) Likewise. + (timer_settime64) Likewise. + (timerfd_gettime64) Likewise. + (timerfd_settime64) Likewise. + (utimensat_time64) Likewise. + + * scripts/build-many-glibcs.py (Context.checkout): Default GCC + version to 9 branch. + +2019-05-03 Anton Youdkevitch + + * sysdeps/aarch64/multiarch/ifunc-impl-list.c: Added + __memmove_thunderx2 to the list of implementations + * sysdeps/aarch64/multiarch/memmove.c: Likewise + * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: + (__memmove_thunderx2): Rewritten using SIMD ld/st + (__memcpy_thunderx2): Fixed handling overlapping cases. + Used ldp/stp instead of ldr/str if possible. Made loops + tails branchless. + +2019-05-03 Florian Weimer + + * misc/tst-tsearch.c (walk_tree): Add more error checking. + +2019-05-02 Adhemerval Zanella + + [BZ #24506] + * elf/tst-pldd.c (in_str_list): New function. + (do_test): Add default names for ld and libc as one option. + +2019-05-02 Florian Weimer + + misc: Add twalk_r function. + * include/search.h (__twalk_r): Declare. + * manual/examples/twalk.c: New file. + * manual/search.texi (Tree Search Function): Document twalk_r. + * misc/Versions (2.30): Export twalk_r. + (GLIBC_PRIVATE): Export __twalk_r. + * misc/search.h [__USE_GNU] (twalk_r): Declare. + * misc/tsearch.c (trecurse_r, __twalk_r): New functions. + (twalk_r): Add weak alias. + * misc/tst-tsearch.c (struct walk_trace_element): Define. + (walk_trace): New variable. + (struct twalk_with_twalk_r_closure): Define. + (twalk_with_twalk_r_action): New function. + (twalk_with_twalk_r): Likewise. + (walk_action): Call walk_trace_add. + (walk_tree_with): Rename from walk_tree. Add walk argument. + (walk_tree): New function. + * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.30): Add twalk_r. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/csky/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.30): + Likewise. + +2019-04-30 Paul Eggert + + Make mktime etc. compatible with __time64_t + Keep these functions compatible with Gnulib while adding + __time64_t support. The basic idea is to move private API + declarations from include/time.h to time/mktime-internal.h, since + the former file cannot easily be shared with Gnulib whereas the + latter can. + Also, do some other minor cleanup while in the neighborhood. + * include/time.h: Include stdbool.h, time/mktime-internal.h. + (__mktime_internal): Move this prototype to time/mktime-internal.h, + since Gnulib needs it. + (__localtime64_r, __gmtime64_r) [__TIMESIZE == 64]: + Move these macros to time/mktime-internal.h, since Gnulib needs them. + (__mktime64, __timegm64) [__TIMESIZE != 64]: New prototypes. + (in_time_t_range): New static function. + * posix/bits/types.h (__time64_t): Move to time/mktime-internal.h, + so that glibc users are not tempted to use __time64_t. + * time/mktime-internal.h: Rewrite so that it does both glibc + and Gnulib work. Include time.h if not _LIBC. + (mktime_offset_t) [!_LIBC]: Define for gnulib. + (__time64_t): New type or macro, moved here from + posix/bits/types.h. + (__gmtime64_r, __localtime64_r, __mktime64, __timegm64) + [!_LIBC || __TIMESIZE == 64): New macros, mostly moved here + from include/time.h. + (__gmtime_r, __localtime_r, __mktime_internal) [!_LIBC]: + New macros, taken from GNulib. + (__mktime_internal): New prototype, moved here from include/time.h. + * time/mktime.c (mktime_min, mktime_max, convert_time) + (ranged_convert, __mktime_internal, __mktime64): + * time/timegm.c (__timegm64): + Use __time64_t, not time_t. + * time/mktime.c: Stop worrying about whether time_t is floating-point. + (__mktime64) [! (_LIBC && __TIMESIZE != 64)]: + Rename from mktime. + (mktime) [_LIBC && __TIMESIZE != 64]: New function. + * time/timegm.c [!_LIBC]: Include libc-config.h, not config.h, + for libc_hidden_def. + Include errno.h. + (__timegm64) [! (_LIBC && __TIMESIZE != 64)]: + Rename from timegm. + (timegm) [_LIBC && __TIMESIZE != 64]: New function. + +2019-04-30 Maciej W. Rozycki + + [BZ #19444] + * sysdeps/ieee754/soft-fp/s_ddivl.c (__ddivl): Ignore errors + from `-Wmaybe-uninitialized'. + * sysdeps/ieee754/soft-fp/s_fdivl.c (__fdivl): Likewise. + +2019-04-29 Adhemerval Zanella + + * sysdeps/powerpc/fpu/fenv_libc.h (__fesetround_inline_nocheck): New + function. + * sysdeps/powerpc/fpu/round_to_integer.h: New file. + * sysdeps/powerpc/fpu/s_ceil.c: Likewise. + * sysdeps/powerpc/fpu/s_ceilf.c: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile + (CFLAGS-s_ceil-power5+.c, CFLAGS-s_ceilf-power5+.c): New rule. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-power5+.S: + Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-power5+.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-power5+.c: + New file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-power5+.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceil.S: Remove file. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceilf.S: Likewise. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile: New file. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil-power5+.c: + Likewise. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil-ppc64.c: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil.c: ... here. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf-power5+.c: New + file. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf-ppc64.c: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Move to ... + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf.c: ... + * here. + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove s_ceil-power5+, s_ceil-ppc64, + s_ceilf-power5+, and s_ceilf-ppc64. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S: Remove + file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: Likewise. + + * sysdeps/powerpc/power4/fpu/Makefile: Remove file. + * sysdeps/powerpc/power4/fpu/mpa-arch.h: Likewise. + * sysdeps/powerpc/power4/fpu/mpa.c: Likewise. + +2019-04-29 Yann Droneaud + + * sysdeps/pthread/semaphore.h (sem_init): Add __nonnull attribute. + (sem_destroy, sem_open, sem_close, sem_unlink): Likewise. + (sem_wait, sem_timedwait, sem_trywait, sem_post): Likewise. + (sem_getvalue): Likewise. + +2019-04-26 Florian Weimer + + elf: Link sotruss-lib.so with BIND_NOW for --enable-bind-now. + * elf/Makefile (LDFLAGS-sotruss-lib.so): Set. + +2019-04-26 Florian Weimer + + Makeconfig: Move -Wl,-rpath-link options before library references. + * Makeconfig (+link-pie, +link): Add $(link-libc-rpath-link). + (link-libc): Remove $(link-libc-rpath-link). + +2019-04-25 Florian Weimer + + * Makeconfig (+link-pie-before-libc): Remove $(CC). + (+link-pie, +link-pie-tests, +link-pie-printers-tests): Add $(CC). + (+link-static-before-libc): Remove $(CC). + (+link-static, +link-static-tests): Add $(CC). + (+link-before-libc): Remove $(CC). + (+link, +link-pie, +link-pie-printers): Add $(CC). + +2019-04-26 Florian Weimer + + * Makeconfig (+link-pie-before-libc): Remove $(CC). + (+link-pie, +link-pie-tests, +link-pie-printers-tests): Add $(CC). + (+link-static-before-libc): Remove $(CC). + (+link-static, +link-static-tests): Add $(CC). + (+link-before-libc): Remove $(CC). + (+link, +link-pie, +link-pie-printers): Add $(CC). + +2019-04-25 David Abdurachmanov + + [BZ#24484] + * sysdeps/riscv/ldsodefs.h (DL_RO_DYN_SECTION): Remove. + +2019-04-25 Florian Weimer + + benchtests: Enable BIND_NOW if configured with --enable-bind-now. + * benchtests/Makefile [$(bind-now)] (link-bench-bind-now): Set. + (bench-link-targets): New variable. + ($(binaries-bench) …): Use it. Set LDFLAGS accordingly. + +2019-04-25 Florian Weimer + + Also enable BIND_NOW for programs if --enable-bind-now. + * Makeconfig [$(bind-now)] (link-extra-flags): Add -Wl,-z,now. + (+link-pie): Use $(link-extra-flags). + (+link-static): Likewise. + [! $(build-pie-default)] (+link): Likewise. + * manual/install.texi (Configuring and compiling): Update + --enable-bind-now description. + * INSTALL: Regenerated. + +2019-04-24 Wilco Dijkstra + + * benchtests/Makefile (BENCH_DURATION): Set to 1 second. + * benchtests/bench-malloc-thread.c (BENCH_DURATION): Set to 10 seconds. + +2019-04-24 Mike Frysinger + + [BZ #18465] + * malloc/Makefile (others): Add memusagestat. + ($(objpfx)memusagestat): Delete rule. + (LDLIBS-memusagestat): New variable. + +2019-04-24 Florian Weimer + + * locale/Makefile (tests-special): Guard setting by + $(run-built-tests) == yes, otherwise tst-locale-locpath attempts + to run while cross-compiling. + +2019-04-23 Adhemerval Zanella + + [BZ #18035] + * elf/Makefile (tests-container): Add tst-pldd. + * elf/pldd-xx.c: Use _Static_assert in of pldd_assert. + (E(find_maps)): Avoid use alloca, use default read file operations + instead of explicit LFS names, and fix infinite loop. + * elf/pldd.c: Explicit set _FILE_OFFSET_BITS, cleanup headers. + (get_process_info): Use _Static_assert instead of assert, use default + directory operations instead of explicit LFS names, and free some + leadek pointers. + * elf/tst-pldd.c: New file. + +2019-04-23 H.J. Lu + + * malloc/arena.c (do_set_mallopt_check): Removed. + +2019-04-23 Florian Weimer + + locale: Add LOCPATH diagnostics to the locale program. + * locale/programs/locale.c (setlocale_failed): New variable. + (try_setlocale): New function. + (quote_string): Likewise. + (setlocale_diagnostics): Likewise. + (main): Call try_setlocale instead of setlocale. Call + setlocale_diagnostics. + * locale/Makefile (tests-special): Add tst-locale-locpath.out. + (tst-locale-locpath.out): New target. + * locale/tst-locale-locpath.sh: New file. + +2019-04-21 Adhemerval Zanella + + * NEWS: Move memory allocation changes of BZ#23741 from 2.29 + to 2.30 notes. + +2019-04-18 Adhemerval Zanella + + [BZ #23741] + * malloc/hooks.c (malloc_check, realloc_check): Use + __builtin_add_overflow on overflow check and adapt to + checked_request2size change. + * malloc/malloc.c (__libc_malloc, __libc_realloc, _mid_memalign, + __libc_pvalloc, __libc_calloc, _int_memalign): Limit maximum + allocation size to PTRDIFF_MAX. + (REQUEST_OUT_OF_RANGE): Remove macro. + (checked_request2size): Change to inline function and limit maximum + requested size to PTRDIFF_MAX. + (__libc_malloc, __libc_realloc, _int_malloc, _int_memalign): Limit + maximum allocation size to PTRDIFF_MAX. + (_mid_memalign): Use _int_memalign call for overflow check. + (__libc_pvalloc): Use __builtin_add_overflow on overflow check. + (__libc_calloc): Use __builtin_mul_overflow for overflow check and + limit maximum requested size to PTRDIFF_MAX. + * malloc/malloc.h (malloc, calloc, realloc, reallocarray, memalign, + valloc, pvalloc): Add __attribute_alloc_size__. + * stdlib/stdlib.h (malloc, realloc, reallocarray, valloc): Likewise. + * malloc/tst-malloc-too-large.c (do_test): Add check for allocation + larger than PTRDIFF_MAX. + * malloc/tst-memalign.c (do_test): Disable -Walloc-size-larger-than= + around tests of malloc with negative sizes. + * malloc/tst-posix_memalign.c (do_test): Likewise. + * malloc/tst-pvalloc.c (do_test): Likewise. + * malloc/tst-valloc.c (do_test): Likewise. + * malloc/tst-reallocarray.c (do_test): Replace call to reallocarray + with resulting size allocation larger than PTRDIFF_MAX with + reallocarray_nowarn. + (reallocarray_nowarn): New function. + * NEWS: Mention the malloc function semantic change. + +2019-04-17 Adhemerval Zanella + + * sysdeps/powerpc/fpu/s_fma.c: Fix format. + * sysdeps/powerpc/fpu/s_fmaf.c: Likewise. + + * sysdeps/powerpc/fpu/s_fma.S: Remove file. + * sysdeps/powerpc/fpu/s_fmaf.S: Likewise. + * sysdeps/powerpc/fpu/s_fma.c: New file. + * sysdeps/powerpc/fpu/s_fmaf.c: Likewise. + + * sysdeps/powerpc/fpu/s_fabs.S: Remove file. + * sysdeps/powerpc/fpu/s_fabsf.S: Likewise. + + * sysdeps/unix/sysv/linux/mips/getcontext.S (__getcontext): Remove + the magic flag store. + * sysdeps/unix/sysv/linux/mips/makecontext.S (__makecontext): + Likewise. + * sysdeps/unix/sysv/linux/mips/swapcontext.S (__swapcontext): + Likewise. + * sysdeps/unix/sysv/linux/mips/setcontext.S (__setcontext): + Remove rt_sigreturn call. + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: + Remove rt_sigreturn call. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewie. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. + + * support/Makefile (libsupport-routines): Add support_subprocess, + xposix_spawn, xposix_spawn_file_actions_addclose, and + xposix_spawn_file_actions_adddup2. + (tst-support_capture_subprocess-ARGS): New rule. + * support/capture_subprocess.h (support_capture_subprogram): New + prototype. + * support/support_capture_subprocess.c (support_capture_subprocess): + Refactor to use support_subprocess and support_capture_poll. + (support_capture_subprogram): New function. + * support/tst-support_capture_subprocess.c (write_mode_to_str, + str_to_write_mode, test_common, parse_int, handle_restart, + do_subprocess, do_subprogram, do_multiple_tests): New functions. + (do_test): Add support_capture_subprogram tests. + * support/subprocess.h: New file. + * support/support_subprocess.c: Likewise. + * support/xposix_spawn.c: Likewise. + * support/xposix_spawn_file_actions_addclose.c: Likewise. + * support/xposix_spawn_file_actions_adddup2.c: Likewise. + * support/xspawn.h: Likewise. + +2019-04-17 Mike Gerow + + * stdlib/tst-secure-getenv.c (choose_gid): Remove 64 supplemental + groups limit. + +2019-04-11 Florian Weimer + + * resolv/nss_dns/dns-network.c (getanswer_r): Do not replace root + domain with empty string. + * resolv/nss_dns/dns-host.c (getanswer_r): Likewise. + +2019-04-11 Florian Weimer + + * include/alloc_buffer.h (alloc_buffer_alloc_bytes): Update + comment. + (alloc_buffer_next): Change return type to non-const. Update + comment. + +2019-04-10 TAMUKI Shoichi + + * manual/time.texi (Formatting Calendar Time): Add missing percent + sign to conversion specifier. + +2019-04-09 Carlos O'Donell + Kwok Cheung Yeung + + [BZ #16573] + * malloc/mtrace.c: Define prototypes for all hooks. + (set_default_hooks): New function. + (set_trace_hooks): Likewise. + (save_default_hooks): Likewise. + (tr_freehook): Use new s*_hooks functions. + (tr_mallochook): Likewise. + (tr_reallochook): Likewise. + (tr_memalignhook): Likewise. + (mtrace): Likewise. + (muntrace): Likewise. + +2019-04-09 Wilco Dijkstra + + * benchtests/bench-stpcpy.c (SIMPLE_STPCPY): Remove function. + (generic_stpcpy): New function. + * benchtests/bench-stpncpy.c (SIMPLE_STPNCPY): Remove function. + (generic_stpncpy): New function. + * benchtests/bench-strcat.c (SIMPLE_STRCAT): Remove function. + (generic_strcat): New function. + * benchtests/bench-strcpy.c (SIMPLE_STRCPY): Remove function. + (generic_strcpy): New function. + * benchtests/bench-strncat.c (SIMPLE_STRNCAT): Remove function. + (STUPID_STRNCAT): Remove function. + (generic_strncat): New function. + * benchtests/bench-strncpy.c (SIMPLE_STRNCPY): Remove function. + (STUPID_STRNCPY): Remove function. + (generic_strncpy): New function. + * benchtests/bench-strnlen.c (SIMPLE_STRNLEN): Remove function. + (generic_strnlen): New function. + (memchr_strnlen): New function. + * benchtests/bench-strlen.c (generic_strlen): Define for WIDE. + (memchr_strlen): Likewise. + +2019-04-09 Wilco Dijkstra + + * benchtests/bench-strstr.c (input): Add realistic input text. + (stupid_strstr): Remove function. + (basic_strstr): Add function. + (twoway_strstr): Add function. + (do_one_test): Add result checking. + (do_test): Use new input text. Remove accidental early matches. + (test_main): Improve range of tests, reduce unaligned cases. + +2019-04-09 Wilco Dijkstra + + * benchtests/bench-memmem.c (simple_memmem): Remove function. + (basic_memmem): Add function. + (twoway_memmem): Add function. + +2019-04-09 Wilco Dijkstra + + * benchtests/bench-malloc-simple.c: Remove TIMING_INIT. + * benchtests/bench-malloc-thread.c: Likewise. + * benchtests/bench-skeleton.c: Likewise. + * benchtests/bench-strtod.c: Likewise. + * benchtests/bench-timing.h: Likewise. + +2019-04-08 Florian Weimer + + * resolv/resolv.h (RES_INSECURE1, RES_INSECURE2): Remove + definitions. + * resolv/res_send.c (send_dg): Always perform RES_INSECURE1 and + RES_INSECURE2 security checks. + * resolv/res_debug.c (p_option): Remove RES_INSECURE1 and + RES_INSECURE2 handling. + +2019-04-08 Florian Weimer + + resolv: Remove support for RES_USE_INET6 and the inet6 option. + * nscd/aicache.c (addhstaiX): Do not disable RES_USE_INET6. + * nscd/nscd_gehst_r.c (__nscd_gethostbyname_r): Always use + GETHOSTBYNAME. + * resolv/Makefile (tests): Remove tst-res_use_inet6. + (tests-internal): Update justification for tst-resolv-res_init, + tst-resolv-res_init-thread. + (tst-res_use_inet6): Remove target. + (CFLAGS-tst-res_use_inet6.c): Do not set variable. + * resolv/res_debug.c (p_option): Remove "inet6" support. + * resolv/res_init.c (res_setoptions): Likewise. + * resolv/res_use_inet6.h: Remove file. + * resolv/resolv-internal.h (DEPRECATED_RES_USE_INET6): Remove + definition. + (res_use_inet6): Always return false. + * resolv/resolv.h (RES_USE_INET6): Remove definition. + * resolv/resolv_context.h: Adjust file comment. + (struct resolv_context): Update comment on __next field. + (__resolv_context_put): Update comment. + * resolv/tst-res_use_inet6.c: Remove file. + * resolv/tst-resolv-res_init-skeleton.c (print_resp): Remove + "inet6" support. + (test_cases): Adjust test case. + * resolv/tst-resolv-threads.c (byname_inet6) Remove function. + (thread_byname2_af_inet6): Use old byname_inet6 code. + (thread_byname_inet6, thread_byname2_af_inet6): Remove functions. + (gai): Remove do_inet6 argument. + (thread_gai_inet, thread_gai_inet6, thread_gai_unspec): Adjust. + (thread_gai_inet_inet6, thread_gai_inet6_inet6) + (thread_gai_unspec_inet6): Remove functions. + (do_test): Adjust thread_funcs. + * sysdeps/posix/getaddrinfo.c (gethosts): Do not restore + RES_USE_INET6 flag. + (gaih_inet): Do not disable RES_USE_INET6 flag. + +2019-04-05 Anton Youdkevitch + + * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: Cleanup branching + and remove redundant code. + +2019-04-04 Adhemerval Zanella + + * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcsrchr.c): + New rule. + * sysdeps/powerpc/power6/wcsrchr.c: Remove file. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power6.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power7.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power6.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power7.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c: Likewise. + * sysdeps/powerpc/powerpc64/power6/wcsrchr.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile + [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcsrchr-power6 and + wcsrchr-power7. + (CFLAGS-wcsrchr-power7.c, CFLAGS-wcsrchr-power6.c): Remove rule. + * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: + Remove wcsrchr optimizations. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. + + * wcsmbs/wcsrchr.c (WCSRCHR): Use loop_unroll.h to parametrize + the loop unroll. + + * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcschr.c): + New rule. + * sysdeps/powerpc/power6/wcschr.c: Remove file. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power6.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power7.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcschr-power6.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcschr-power7.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcschr-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcschr.c: Likewise. + * sysdeps/powerpc/powerpc64/power6/wcschr.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile + [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcschr-power6 and + wcschr-power7. + (CFLAGS-wcschr-power7.c, CFLAGS-wcschr-power6.c): Remove rule. + * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: + Remove wcschr optimizations. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. + + * wcsmbs/wcschr.c (WCSCHR): Use loop_unroll.h to parametrize + the loop unroll. + + * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcscpy.c): + New rule. + * sysdeps/powerpc/power6/wcscpy.c: Remove file. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-power6.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-power7.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcscpy-power6.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcscpy-power7.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcscpy-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcscpy.c: Likewise. + * sysdeps/powerpc/powerpc64/power6/wcscpy.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile + [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcscpy-power6 and + wcscpy-power7. + (CFLAGS-wcscpy-power7.c, CFLAGS-wcscpy-power6.c): Remove rule. + * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: + Remove wcscpy optimizations. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. + + * include/loop_unroll.h: New file. + * wcsmbs/wcscpy (__wcscpy): Add option to use loop unrolling + besides generic implementation. + +2019-04-03 DJ Delorie + + * time/tst-strftime3.c (tm_to_printed): Disable warning about + snprintf truncating output. + +2019-04-02 DJ Delorie + + * time/tst-strftime3.c: Add new Japanese era tests. Fix printf + warning. + +2019-04-02 TAMUKI Shoichi + + [BZ #22964] + * localedata/locales/ja_JP (LC_TIME): Add entry for the new Japanese + era. + * time/tst-strftime2.c (dates): Add 2019-04-30 and 2019-05-01. + (mkreftable): Add rules for the new Japanese era and the new dates. + +2019-04-02 TAMUKI Shoichi + Rafał Lużyński + + * time/tst-strftime2.c (date_t): Explicitly define the type. + (dates): Use natural month and year numbers to express a date. + (is_before): New function to compare dates. + (mkreftable): Minor improvements to simplify maintenance. + (do_test): Reflect the changes in dates array. + + [BZ #24293] + * time/Makefile (LOCALES): Add zh_TW.UTF-8, cmn_TW.UTF-8, + hak_TW.UTF-8, nan_TW.UTF-8, and lzh_TW.UTF-8. + * time/tst-strftime2.c (locales): Likewise. + (dates): Add 1910-04-01, 1911-12-31, 1912-01-01, 1913-04-01, + 2010-04-01, and 2011-04-01. + (mkreftable): Add rules for the new locales and the new dates. + +2019-04-01 Carlos O'Donell + + * localedata/locales/ja_JP: Add comments to era entries. + +2019-04-01 DJ Delorie + + [BZ #24394] + * time/strptime_l.c (%Ey): Fix fencepost error. + * time/tst-strftime3.c: New. + * time/Makefile (tests): Add tst-strftime3. + +2019-04-01 Uroš Bizjak + + * sysdeps/alpha/divqu.S (__divqu): Move save of $f0 and excb after + conditional branch to DIVBYZERO. Fix unwind info. + * sysdeps/alpha/remqu.S (__remqu): Move saves of $f0, $f1, $f2 and + excb after conditional branch to $powerof2. Add missing unop + instructions and .align directives and reorder instructions to + match __divqu. + +2019-04-01 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/kernel-features.h (__NR_shmat): + Do not redefine. + * sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_osf_shmat): + Do not redefine. + +2019-03-30 Maciej W. Rozycki + + * sysdeps/unix/sysv/linux/riscv/configure.ac: Quote + $libc_cv_riscv_float_abi in `test' invocation. + * sysdeps/unix/sysv/linux/riscv/configure: Regenerate. + +2019-03-29 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_register): Replace inline + asm with builtin. + * sysdeps/powerpc/powerpc64/le/fpu/sfp-machine.h (FP_INIT_ROUNDMODE): + Likewise. + * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (_GET_DI_FPSCR): Likewise. + (_GET_SI_FPSCR): Likewise. + (_SET_SI_FPSCR): Likewise. + +2019-03-26 Adhemerval Zanella + + * math/math.h (fpclassify, isfinite, isnormal, isnan): Use builtin for + clang 2.8. + (signbit): Use builtin for clang 3.3. + (isinf): Use builtin for clang 3.7. + +2019-03-25 Adhemerval Zanella + + * sysdeps/powerpc/fpu/s_float_bitwise.h: Remove file. + +2019-03-25 Andreas K. Hüttel + + * nss/tst-nss-files-alias-leak.c (do_test): add missing opening + quote in printf. + +2019-03-25 Mike Crowe + + * nptl/tst-rwlock14.c (do_test): Replace duplicate calls to + pthread_rwlock_timedrdlock with calls to + pthread_rwlock_timedwrlock to ensure that the latter is tested + too. Use new function name in diagnostic messages too. + + * nptl/tst-sem5.c: Remove unused headers. Add . + (do_test) Use libsupport test macros rather than hand-coded + conditionals and error messages. Ensure that sem_init returns zero + rather than not -1. Use rather than + test-skeleton.c. + + * nptl/tst-sem13.c: Add . (do_test) Use libsupport + test macros rather than hand-coded conditionals and error messages. + Use rather than test-skeleton.c. + +2019-03-25 Joseph Myers + + * sysdeps/gnu/netinet/udp.h (UDP_GRO): New macro. + + * elf/elf.h (NT_ARM_PAC_MASK): New macro. + (NT_MIPS_MSA): Likewise. + +2019-03-22 Adhemerval Zanella + + * benchtests/Makefile (USE_CLOCK_GETTIME) Remove. + * benchtests/README: Update description. + * benchtests/bench-timing.h: Default to hp-timing. + * sysdeps/generic/hp-timing.h (HP_TIMING_DIFF, HP_TIMING_ACCUM_NT, + HP_TIMING_PRINT): Remove. + (HP_TIMING_NOW): Add generic implementation. + (hp_timing_t): Change to uint64_t. + + * benchtests/bench-timing.h: Replace HP_TIMING_AVAIL with + HP_TIMING_INLINE. + * nptl/descr.h: Likewise. + * elf/rtld.c (RLTD_TIMING_DECLARE, RTLD_TIMING_NOW, RTLD_TIMING_DIFF, + RTLD_TIMING_ACCUM_NT, RTLD_TIMING_SET): Define. + (dl_start_final_info, _dl_start_final, dl_main, print_statistics): + Abstract hp-timing usage with RTLD_* macros. + * sysdeps/alpha/hp-timing.h (HP_TIMING_INLINE): Define iff IS_IN(rtld). + (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL): Remove. + * sysdeps/generic/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL, + HP_TIMING_NONAVAIL): Likewise. + * sysdeps/ia64/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL): + Likewise. + * sysdeps/powerpc/powerpc32/power4/hp-timing.h (HP_TIMING_AVAIL, + HP_SMALL_TIMING_AVAIL): Likewise. + * sysdeps/powerpc/powerpc64/hp-timing.h (HP_TIMING_AVAIL, + HP_SMALL_TIMING_AVAIL): Likewise. + * sysdeps/sparc/sparc32/sparcv9/hp-timing.h (HP_TIMING_AVAIL, + HP_SMALL_TIMING_AVAIL): Likewise. + * sysdeps/sparc/sparc64/hp-timing.h (HP_TIMING_AVAIL, + HP_SMALL_TIMING_AVAIL): Likewise. + * sysdeps/x86/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL): + Likewise. + * sysdeps/generic/hp-timing-common.h: Update comment with + HP_TIMING_AVAIL removal. + + * include/random-bits.h: New file. + * resolv/res_mkquery.c [HP_TIMING_AVAIL] (RANDOM_BITS, + (__res_context_mkquery): Remove usage hp-timing usage and replace with + random_bits. + * resolv/res_send.c [HP_TIMING_AVAIL] (nameserver_offset): Likewise. + * sysdeps/posix/tempname.c [HP_TIMING_AVAIL] (__gen_tempname): + Likewise. + + * include/libc-internal.h (__get_clockfreq): Remove prototype. + * rt/Makefile (clock-routines): Remove get_clockfreq. + * rt/get_clockfreq.c: Remove file. + * sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c: Move code to ... + * sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c: ... here. + + * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: Remove file. + * sysdeps/unix/sysv/linux/ia64/sysconf.c: Likewise. + * sysdeps/unix/sysv/linux/sysconf.c (has_cpuclock): Remove function. + (__sysconf): Assume kernel support for _SC_MONOTONIC_CLOCK, + _SC_CPUTIME, and _SC_THREAD_CPUTIME. + + * nptl/Makefile (libpthread-routines): Remove pthread_clock_gettime and + pthread_clock_settime. + * nptl/pthreadP.h (__find_thread_by_id): Remove prototype. + * elf/dl-support.c [!HP_TIMING_NOAVAIL] (_dl_cpuclock_offset): Remove. + (_dl_non_dynamic_init): Remove _dl_cpuclock_offset setting. + * elf/rtld.c (_dl_start_final): Likewise. + * nptl/allocatestack.c (__find_thread_by_id): Remove function. + * sysdeps/generic/ldsodefs.h [!HP_TIMING_NOAVAIL] (_dl_cpuclock_offset): + Remove. + * sysdeps/mach/hurd/dl-sysdep.c [!HP_TIMING_NOAVAIL] + (_dl_cpuclock_offset): Remove. + * nptl/descr.h (struct pthread): Rename cpuclock_offset to + cpuclock_offset_ununsed. + * nptl/nptl-init.c (__pthread_initialize_minimal_internal): Remove + cpuclock_offset set. + * nptl/pthread_create.c (START_THREAD_DEFN): Likewise. + * sysdeps/nptl/fork.c (__libc_fork): Likewise. + * nptl/pthread_clock_gettime.c: Remove file. + * nptl/pthread_clock_settime.c: Likewise. + * sysdeps/unix/clock_gettime.c (hp_timing_gettime): Remove function. + [HP_TIMING_AVAIL] (realtime_gettime): Remove CLOCK_THREAD_CPUTIME_ID + and CLOCK_PROCESS_CPUTIME_ID support. + * sysdeps/unix/clock_settime.c (hp_timing_gettime): Likewise. + [HP_TIMING_AVAIL] (realtime_gettime): Likewise. + * sysdeps/posix/clock_getres.c (hp_timing_getres): Likewise. + [HP_TIMING_AVAIL] (__clock_getres): Likewise. + * sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P, INVALID_CLOCK_P): + Likewise. + (__clock_nanosleep): Remove CPUCLOCK_P and INVALID_CLOCK_P usage. + +2019-03-22 Stefan Liebler + + * sysdeps/s390/Makefile (sysdep_routines): Add memmem-arch13. + * sysdeps/s390/ifunc-memmem.h (HAVE_MEMMEM_ARCH13, MEMMEM_ARCH13, + MEMMEM_Z13_ONLY_USED_AS_FALLBACK, HAVE_MEMMEM_IFUNC_AND_ARCH13_SUPPORT): + New defines. + * sysdeps/s390/memmem-arch13.S: New file. + * sysdeps/s390/memmem-vx.c: Omit GI symbol for z13 memmem ifunc variant + if it is only used as fallback. + * sysdeps/s390/memmem.c (memmem): Add arch13 variant in ifunc selector. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add ifunc variant for arch13 memmem. + +2019-03-22 Stefan Liebler + + * sysdeps/s390/Makefile (sysdep_routines): Add strstr-arch13. + * sysdeps/s390/ifunc-strstr.h (HAVE_STRSTR_ARCH13, STRSTR_ARCH13, + STRSTR_Z13_ONLY_USED_AS_FALLBACK, HAVE_STRSTR_IFUNC_AND_ARCH13_SUPPORT): + New defines. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add ifunc variant for arch13 strstr. + * sysdeps/s390/strstr-arch13.S: New file. + * sysdeps/s390/strstr-vx.c: Omit GI symbol for z13 strstr ifunc variant + if it is only used as fallback. + * sysdeps/s390/strstr.c (strstr): Add arch13 variant in ifunc selector. + +2019-03-22 Stefan Liebler + + * sysdeps/s390/ifunc-memcpy.h (HAVE_MEMMOVE_ARCH13, MEMMOVE_ARCH13 + HAVE_MEMMOVE_IFUNC_AND_ARCH13_SUPPORT): New defines. + * sysdeps/s390/memcpy-z900.S: Add arch13 memmove implementation. + * sysdeps/s390/memmove.c (memmove): Add arch13 variant in + ifunc selector. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add ifunc variant for arch13 memmove. + * sysdeps/s390/multiarch/ifunc-resolve.h (S390_STFLE_BITS_ARCH13_MIE3, + S390_IS_ARCH13_MIE3): New defines. + +2019-03-22 Stefan Liebler + + * config.h.in (HAVE_S390_MIN_ARCH13_ZARCH_ASM_SUPPORT, + HAVE_S390_ARCH13_ASM_SUPPORT): New undefine. + * sysdeps/s390/configure.ac: Add checks for arch13 support. + * sysdeps/s390/configure: Regenerated. + +2019-03-22 Stefan Liebler + + * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): + Add vxe2, vxp, dflt, sort flags. + * sysdeps/s390/dl-procinfo.h: Add HWCAP_S390_VXRS_EXT2, + HWCAP_S390_VXRS_PDE, HWCAP_S390_SORT, HWCAP_S390_DFLT + capabilities. + (HWCAP_IMPORTANT): Add HWCAP_S390_VXRS_EXT2. + * sysdeps/unix/sysv/linux/s390/bits/hwcap.h + (HWCAP_S390_VXRS_EXT2, HWCAP_S390_VXRS_PDE, HWCAP_S390_SORT, + HWCAP_S390_DFLT): Define. + +2019-03-21 Gabriel F. T. Gomes + + [BZ #24372] + * iconv/iconvconfig.c (write_output): Add parentheses to get rid + of compiler warning. + * locale/programs/ld-collate.c (collate_output): Likewise. + +2019-03-21 DJ Delorie + + [BZ #24372] + * iconv/iconvconfig.c (write_output): Replace floating point math + with integer math to avoid imprecise results. + * locale/programs/ld-collate.c (collate_output): Likewise. + +2019-03-21 Stefan Liebler + + * sysdeps/s390/dl-procinfo.h (HWCAP_IMPORTANT): + Add HWCAP_S390_VX and HWCAP_S390_VXE. + +2019-03-20 mansayk <6688000@gmail.com> + + [BZ #24296] + * localedata/locales/tt_RU (day): Update from CLDR-34, fix errors. + (abday): Likewise, but remove the trailing dots. + +2019-03-19 Joseph Myers + + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SB): New + macro. + (HWCAP_PACA): Likewise. + (HWCAP_PACG): Likewise. + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT): + Increase to 32. + (_dl_aarch64_cap_flags): Add new entries for new HWCAPs. + +2019-03-16 Samuel Thibault + + * hurd/hurd/signal.h (_hurd_critical_section_lock): Document how EINTR + should be handled. + +2019-03-15 Joseph Myers + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 5.0. + (old_getpagesize): New syscall. + +2019-03-15 Felix Yan + + [BZ #24293] + * localedata/locales/zh_TW (era): Add, support Minguo calendar. + * localedata/locales/cmn_TW (era): Likewise. + * localedata/locales/hak_TW (era): Likewise. + * localedata/locales/lzh_TW (era): Likewise. + * localedata/locales/nan_TW (era): Likewise. + +2019-03-14 Adam Maris + + * malloc/malloc.c (_int_malloc): Check for large bin list + corruption when inserting unsorted chunk. + +2019-03-14 Florian Weimer + + Remove obsolete, never-implemented XSI STREAMS declarations. + * manual/terminal.texi (Allocation): Remove portability note and + adjust example. + * sysdeps/posix/sysconf.c (__sysconf): Always return -1 for + _SC_STREAMS. + * sysdeps/unix/sysv/linux/syscalls.list (getpmsg, putpmsg): Remove. + * sysdeps/unix/inet/Subdirs (streams): Remove. + * conform/Makefile (conformtest-headers-XPG42): Remove stropts.h. + (conformtest-headers-UNIX98): Likewise. + (conformtest-headers-XOPEN2K): Likewise. + (conformtest-headers-POSIX2008): Likewise. + * posix/compat-streams.c: New file. + * posix/Makefile (routines): Add it. + * posix/Versions (GLIBC_2.1): Add fattach, fdetach, getmsg, + getpmsg, isastream, putmsg, putpmsg. + (GLIBC_2.30): New section. + * bits/stropts.h: Remove file. + * bits/xtitypes.h: Likewise. + * conform/data/stropts.h-data: Likewise. + * include/stropts.h: Likewise. + * include/sys/stropts.h: Likewise. + * include/xtitypes.h: Likewise. + * streams/Makefile: Likewise. + * streams/fattach.c: Likewise. + * streams/fdetach.c: Likewise. + * streams/getmsg.c: Likewise. + * streams/getpmsg.c: Likewise. + * streams/isastream.c: Likewise. + * streams/putmsg.c: Likewise. + * streams/putpmsg.c: Likewise. + * streams/stropts.h: Likewise. + * streams/sys/stropts.h: Likewise. + * sysdeps/ia64/bits/xtitypes.h: Likewise. + * sysdeps/s390/bits/xtitypes.h: Likewise. + * sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise. + * sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/getmsg.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/putmsg.c: Likewise. + * sysdeps/unix/sysv/linux/mips/getmsg.c: Likewise. + * sysdeps/unix/sysv/linux/mips/putmsg.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/getmsg.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/putmsg.c: Likewise. + * sysdeps/x86/bits/xtitypes.h: Likewise. + +2019-03-14 Florian Weimer + + * nss/tst-nss-files-alias-truncated.c (do_test): Load + libnss_files. + * nss/Makefile (tst-nss-files-alias-truncated): Link with -ldl, + but not with libnss_files. + (tst-nss-files-alias-truncated.out): Depend on libnss_files. + +2019-03-14 Zack Weinberg + + * scripts/check-obsolete-constructs.py (HeaderChecker.check): + Specify encoding="utf-8" when opening headers to check. + +2019-03-13 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + version to 5.0. + (Context.checkout_tar): Handle variable major version for Linux + kernel. + +2019-03-13 Florian Weimer + + [BZ #24047] + * sysdeps/mach/hurd/res_enable_icmp.c: New file. + +2019-03-13 Zack Weinberg + + * sysdeps/generic/inttypes.h, sysdeps/generic/stdint.h: + Move to stdlib. + * include/inttypes.h: Adjust to match. + * include/stdint.h: New wrapper. + +2019-03-13 Zack Weinberg + + * scripts/check-obsolete-constructs.py: New test script. + * scripts/check-installed-headers.sh: Remove tests for + obsolete typedefs, superseded by check-obsolete-constructs.py. + * Rules: Run scripts/check-obsolete-constructs.py over $(headers) + as a special test. Update commentary. + * posix/bits/types.h (__SQUAD_TYPE, __S64_TYPE): Define as __int64_t. + (__UQUAD_TYPE, __U64_TYPE): Define as __uint64_t. + Update commentary. + * posix/sys/types.h (__u_intN_t): Remove. + (u_int8_t): Typedef using __uint8_t. + (u_int16_t): Typedef using __uint16_t. + (u_int32_t): Typedef using __uint32_t. + (u_int64_t): Typedef using __uint64_t. + +2019-03-13 Stefan Liebler + + * elf/dl-sysdep.c (_dl_show_auxv): Remove condition and always + call _dl_procinfo. + * sysdeps/unix/sysv/linux/s390/dl-procinfo.h (_dl_procinfo): + Ignore types other than AT_HWCAP. + * sysdeps/sparc/dl-procinfo.h (_dl_procinfo): Likewise. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_dl_procinfo): + Likewise. + * sysdeps/powerpc/dl-procinfo.h (_dl_procinfo): Adjust comment + in the case of falling back to generic output mechanism. + * sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_dl_procinfo): + Likewise. + +2019-03-12 Florian Weimer + + * elf/elf.h (DF_1_KMOD, DF_1_WEAKFILTER, DF_1_NOCOMMON): Define. + +2019-03-12 Florian Weimer + + [BZ #24047] + resolv: Enable full ICMP errors for UDP DNS sockets + * resolv/res_enable_icmp.c: New file. + * resolv/Makefile (libresolv-routines): Add res_enable_icmp. + * resolv/resolv-internal.h (__res_enable_icmp): Declare. + * resolv/res_send.c (reopen): Call __res_enable_icmp on new + socket. + +2019-03-11 Mao Han + + * elf/elf.h (EF_CSKY_ABIMASK, EF_CSKY_OTHER, EF_CSKY_PROCESSOR) + (EF_CSKY_ABIV1, EF_CSKY_ABIV2, SHT_CSKY_ATTRIBUTES): New defines. + +2019-03-11 Mao Han + + * sysdeps/csky/abiv2/start.S: Mark lr as undefined. + * sysdeps/unix/sysv/linux/csky/abiv2/clone.S: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/setcontext.S: Likewise. + +2019-03-11 Mao Han + + * sysdeps/unix/sysv/linux/csky/sys/procfs.h: Use linux definition + directly. + * sysdeps/unix/sysv/linux/csky/sys/user.h: Remove user_regs + definition. + +2019-03-11 Mao Han + + * sysdeps/unix/sysv/linux/csky/register-dump.h: Adjust offset change. + * sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Remove __mask field + in mcontext_t + +2019-03-08 Mike FABIAN + + [BZ #24307] + * localedata/unicode-gen/Makefile (UNICODE_VERSION): Set to 12.0.0. + * localedata/unicode-gen/DerivedCoreProperties.txt: Update to + Unicode 12.0.0. + * localedata/unicode-gen/EastAsianWidth.txt: Likewise. + * localedata/unicode-gen/PropList.txt: Likewise. + * localedata/unicode-gen/UnicodeData.txt: Likewise. + * localedata/unicode-gen/ctype_compatibility_test_cases.py: U+108D + became "Alphabetic" in Unicode 12.0.0. Adapt test case. + * localedata/charmaps/UTF-8: Regenerate. + * localedata/locales/i18n_ctype: Likewise. + * localedata/locales/tr_TR: Likewise. + * localedata/locales/translit_circle: Likewise. + * localedata/locales/translit_cjk_compat: Likewise. + * localedata/locales/translit_combining: Likewise. + * localedata/locales/translit_compat: Likewise. + * localedata/locales/translit_font: Likewise. + * localedata/locales/translit_fraction: Likewise. + +2019-03-07 Joseph Myers + + * stdio-common/vfscanf-internal.c (ARG): Break lines before rather + than after operators. + * sysdeps/mach/hurd/setitimer.c (timer_thread): Likewise. + (setitimer_locked): Likewise. + * sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise. + * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise. + * sysdeps/mach/pagecopy.h (PAGE_COPY_FWD): Likewise. + * sysdeps/mach/thread_state.h (machine_get_basic_state): Likewise. + * sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c + (PPC_CPU_SUPPORTED): Likewise. + * sysdeps/unix/sysv/linux/alpha/a.out.h (N_TXTOFF): Likewise. + * sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h + (stat_overflow): Likewise. + (statfs_overflow): Likewise. + * sysdeps/unix/sysv/linux/tst-personality.c (do_test): Likewise. + * sysdeps/unix/sysv/linux/tst-ttyname.c (eq_ttyname): Likewise. + (eq_ttyname_r): Likewise. + (run_chroot_tests): Likewise. + +2019-03-07 Florian Weimer + + * scripts/check-wrapper-headers.py (check_headers): Adjust Fortran + header check. + +2019-03-07 Martin Liska + + * math/Makefile: Change location where math-vector-fortran.h is + installed. + * math/finclude/math-vector-fortran.h: Move from bits/math-vector-fortran.h. + * sysdeps/x86/fpu/finclude/math-vector-fortran.h: Move + from sysdeps/x86/fpu/bits/math-vector-fortran.h. + * scripts/check-installed-headers.sh: Skip Fortran header files. + * scripts/check-wrapper-headers.py: Likewise. + +2019-03-05 Adhemerval Zanella + + * nptl/nptl-init.c (__have_futex_clock_realtime, + __have_futex_clock_realtime): Remove definition. + (__pthread_initialize_minimal_internal): Remove FUTEX_CLOCK_REALTIME + check test for !__ASSUME_FUTEX_CLOCK_REALTIME. + * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Assume + __ASSUME_FUTEX_CLOCK_REALTIME support. + * sysdeps/unix/sysv/linux/i386/lowlevellock.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_FUTEX_CLOCK_REALTIME): Remove. + * sysdeps/nptl/lowlevellock-futex.h (lll_futex_timed_wait_bitset): + Adjust comment. + +2019-03-05 Gabriel F. T. Gomes + + * sysdeps/powerpc/powerpc64/power6/wcscpy.c (WCSCPY): Define to + __wcscpy, then use libc_hidden_def and weak_alias to bind it to + __GI___wcscpy and wcscpy. + +2019-03-04 Florian Weimer + + * sysdeps/generic/ldsodefs.h (_dl_sysdep_open_zero_fill): Remove + declaration. + * elf/dl-load.c (_dl_map_object_from_fd): Assume MAP_ANON is + defined. + +2019-03-04 Stefan Liebler + + * sysdeps/s390/s390-64/sysdep.h (ENTRY): Use alignment of 16byte. + * sysdeps/s390/s390-32/sysdep.h: Likewise. + +2019-03-02 TAMUKI Shoichi + + [BZ #24162] + * localedata/locales/ja_JP (LC_TIME): Change the offset for Taisho + gan-nen from 2 to 1. Problem reported by Morimitsu, Junji. + +2019-03-01 Gabriel F. T. Gomes + + * misc/tst-ldbl-error.c (do_one_test): Adapt for reuse by nldbl + tests. + (do_test): Likewise. + * misc/tst-ldbl-warn.c (do_one_test): Likewise. + (do_test_call_varg): Likewise. + (do_test_call_rarg): Likewise. + * sysdeps/ieee754/ldbl-opt/Makefile + [subdir == misc] (tests-internal): Add tst-nldbl-warn, + tst-nldbl-error. + ($(objpfx)tst-nldbl-warn.c): New rule. + ($(objpfx)tst-nldbl-error.c): Likewise. + (CFLAGS-tst-nldbl-warn.c, CFLAGS-tst-nldbl-error.c): + New variables. + +2019-03-01 Gabriel F. T. Gomes + + [BZ #23984] + * include/bits/error-ldbl.h: New file. + * include/error.h: Include stdarg.h. Declare internal functions + __error_internal and __error_at_line_internal. + * misc/Makefile (headers): Add bits/error-ldbl.h. + * misc/bits/error-ldbl.h: New file. + * misc/error.h [__LDBL_COMPAT]: Include bits/error-ldbl.h and + avoid the inclusion of bits/error.h. + * sysdeps/ieee754/ldbl-opt/Versions (libc): Add __nldbl_error, + and __nldbl_error_at_line. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include error.h. + (__nldbl_error, __ndlbl_error_at_line): New functions. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Include error.h. + Redirect error and error_at_line. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + +2019-03-01 Gabriel F. T. Gomes + + [BZ #23984] + * include/bits/err-ldbl.h: New file. + * include/err.h: Add prototypes for the internal functions: + __vwarnx_internal and __vwarn_internal. + * misc/Makefile (headers): Add bits/err-ldbl.h. + * misc/bits/err-ldbl.h: New file. + * misc/err.h: Include bits/err-ldbl.h when __LDBL_COMPAT is + defined, i.e.: when -mlong-double-64 is in use. + * sysdeps/ieee754/ldbl-opt/Versions (libc): Add __nldbl_warn, + __nldbl_vwarn, __nldbl_warnx, __nldbl_vwarnx, __nldbl_err, + __nldbl_verr, __nldbl_errx, and __nldbl_verrx. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include err.h. + (VA_CALL): New macro. + (__nldbl_vwarn, __nldbl_vwarnx, __nldbl_warn, __nldbl_warnx) + (__nldbl_verr, __nldbl_verrx, __nldbl_err, __nldbl_errx): New + functions. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Include err.h and + declare prototypes for the new functions. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + +2019-03-01 Gabriel F. T. Gomes + + * sysdeps/ieee754/ldbl-opt/Makefile + [subdir == argp] (tests-internal): Add tst-nldbl-argp. + [subdir == argp] ($(objpfx)tst-nldbl-argp.c): New rule. + [subdir == argp] (CFLAGS-tst-nldbl-argp.c): New variable. + +2019-03-01 Gabriel F. T. Gomes + + [BZ #23983] + * argp/Makefile (headers): Add bits/argp-ldbl.h. + * argp/argp.h [defined __LDBL_COMPAT]: Include bits/argp-ldbl.h. + * argp/bits/argp-ldbl.h: New file. + * include/argp.h: Include stdarg.h. Add prototypes for internal + functions: __argp_error_internal and __argp_failure_internal. + * include/bits/argp-ldbl.h: New file. + * sysdeps/ieee754/ldbl-opt/Versions (libc): Add + __nldbl_argp_error and __nldbl_argp_failure. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include argp.h. + (__nldbl_argp_error, __nldbl_argp_failure): New functions. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Include argp.h. + Redirect argp_error and argp_failure calls. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + +2019-03-01 Florian Weimer + + [BZ #20419] + * elf/tst-big-note-lib.S: Create a syntactically valid note. + * elf/Makefile (tst-big-note-lib.so): Do not link with startup + code, to avoid creating an ABI tag note. + (modules-names-nobuild): Add tst-big-note-lib. + +2019-03-01 Stefan Liebler + + * sysdeps/s390/wcscpy-vx.S: Add strong aliases to + __wcscpy, __GI___wcscpy and weak alias to wcscpy. + +2019-03-01 Florian Weimer + + [BZ #20271] + * sysdeps/unix/sysv/linux/netlink_assert_response.c + (__netlink_assert_response): Add additional missing newlines. + +2019-02-28 Joseph Myers + + * sysdeps/powerpc/powerpc32/dl-machine.c + (__elf_machine_fixup_plt): Use space before '('. + (__process_machine_rela): Likewise. + * sysdeps/powerpc/powerpc32/register-dump.h (register_dump): + Likewise. + * sysdeps/powerpc/powerpc64/le/fpu/sfp-machine.h (TI_BITS): + Likewise. + * sysdeps/powerpc/powerpc64/register-dump.h (register_dump): + Likewise. + * sysdeps/powerpc/test-arith.c (union_t): Likewise. + (pattern): Likewise. + (delta): Likewise. + (check_result): Likewise. + (check_excepts): Likewise. + (check_op): Likewise. + (fail_xr): Likewise. + * sysdeps/unix/alpha/sysdep.h (syscall_promote): Likewise. + * sysdeps/unix/sysv/linux/alpha/a.out.h (AOUTHSZ): Likewise. + (SCNHSZ): Likewise. + * sysdeps/unix/sysv/linux/hppa/makecontext.c (FRAME_SIZE_BYTES): + Likewise. + (ARGS): Likewise. + (__makecontext): Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): + Likewise. + +2019-02-28 Florian Weimer + + [BZ #23937] + elf: Add test with a local IFUNC resolver. + * elf/ifuncmain9.c: New file. + * elf/ifuncmain9pic.c: Likewise. + * elf/ifuncmain9picstatic.c: Likewise. + * elf/ifuncmain9pie.c: Likewise. + * elf/ifuncmain9static.c: Likewise. + * elf/Makefile [multi-arch] (tests-ifuncstatic): Add + ifuncmain9static, ifuncmain9picstatic. + * elf/Makefile [multi-arch && build-shared] (tests-internal): + Add ifuncmain9, ifuncmain9pic. + * elf/Makefile [multi-arch && build-shared && have-fpie] + (ifunc-pie-tests): Add ifuncmain9pie. + (CFLAGS-ifuncmain9pic.c): Add $(pic-ccflag). + (CFLAGS-ifuncmain9picstatic.c): Likewise. + (CFLAGS-ifuncmain9pie.c): Add $(pie-ccflag). + +2019-02-27 H.J. Lu + + * configure.ac (have-ifunc): New LIBC_CONFIG_VAR. + * configure: Regenerated. + * elf/Makefile: Run IFUNC tests if binutils supports IFUNC. + +2019-02-27 Adhemerval Zanella + + * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy.c: Define ifunc + symbol as __wcspcy instead of wcscpy. + +2019-02-27 Samuel Thibault + + * include/stdio.h (__renameat2): New hidden prototype. + * stdio-common/renameat2.c (__renameat2): Add hidden definition. + * sysdeps/mach/hurd/renameat.c (__renameat): Move implementation to... + * sysdeps/mach/hurd/renameat2.c (__renameat2): ... new function. + * sysdeps/unix/sysv/linux/renameat2.c (__renameat2): Add hidden definition. + +2019-02-27 Joseph Myers + + * hurd/hurdinit.c (_hurd_init): Use braces around empty body of an + if statement. + + * benchtests/bench-strcpy.c (do_test): Use space before '('. + * benchtests/bench-string.h (cmdline_process_function): Likewise. + * benchtests/bench-strlen.c (do_test): Likewise. + (test_main): Likewise. + * catgets/gencat.c (read_old): Likewise. + * elf/cache.c (load_aux_cache): Likewise. + * iconvdata/bug-iconv8.c (do_test): Likewise. + * math/test-tgmath-ret.c (do_test): Likewise. + * nis/nis_call.c (rec_dirsearch): Likewise. + * nis/nis_findserv.c (__nis_findfastest_with_timeout): Likewise. + * nptl/tst-audit-threads.c (do_test): Likewise. + * nptl/tst-cancel4-common.h (set_socket_buffer): Likewise. + * nss/nss_test1.c (init): Likewise. + * nss/test-netdb.c (test_hosts): Likewise. + * posix/execvpe.c (maybe_script_execute): Likewise. + * stdio-common/tst-fmemopen4.c (do_test): Likewise. + * stdio-common/tst-printf.c (do_test): Likewise. + * stdio-common/vfscanf-internal.c (__vfscanf_internal): Likewise. + * stdlib/fmtmsg.c (NKEYWORDS): Likewise. + * stdlib/qsort.c (STACK_SIZE): Likewise. + * stdlib/test-canon.c (do_test): Likewise. + * stdlib/tst-swapcontext1.c (do_test): Likewise. + * string/memcmp.c (OPSIZ): Likewise. + * string/test-strcpy.c (do_test): Likewise. + (do_random_tests): Likewise. + * string/test-strlen.c (do_test): Likewise. + (test_main): Likewise. + * string/test-strrchr.c (do_test): Likewise. + (do_random_tests): Likewise. + * string/tester.c (test_memrchr): Likewise. + (test_memchr): Likewise. + * sysdeps/generic/memcopy.h (OPSIZ): Likewise. + * sysdeps/generic/unwind-dw2.c (execute_stack_op): Likewise. + * sysdeps/generic/unwind-pe.h (read_sleb128): Likewise. + (read_encoded_value_with_base): Likewise. + * sysdeps/hppa/dl-machine.h (elf_machine_runtime_setup): Likewise. + * sysdeps/hppa/fpu/feupdateenv.c (__feupdateenv): Likewise. + * sysdeps/ia64/fpu/sfp-machine.h (TI_BITS): Likewise. + * sysdeps/mach/hurd/spawni.c (__spawni): Likewise. + * sysdeps/posix/spawni.c (maybe_script_execute): Likewise. + * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (query_auxv): + Likewise. + * sysdeps/unix/sysv/linux/aarch64/bits/procfs.h (ELF_NGREG): + Likewise. + * sysdeps/unix/sysv/linux/arm/bits/procfs.h (ELF_NGREG): Likewise. + * sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Likewise. + * sysdeps/unix/sysv/linux/csky/bits/procfs.h (ELF_NGREG): + Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/procfs.h (ELF_NGREG): + Likewise. + * sysdeps/unix/sysv/linux/nios2/bits/procfs.h (ELF_NGREG): + Likewise. + * sysdeps/unix/sysv/linux/spawni.c (maybe_script_execute): + Likewise. + * sysdeps/unix/sysv/linux/x86/bits/procfs.h (ELF_NGREG): Likewise. + * sysdeps/unix/sysv/linux/x86/bits/sigcontext.h + (FP_XSTATE_MAGIC2_SIZE): Likewise. + * sysdeps/x86/fpu/sfp-machine.h (TI_BITS): Likewise. + * time/test_time.c (main): Likewise. + +2019-02-27 Adhemerval Zanella + + * wcsmbs/wcsnlen.c (__wcsnlen): Rewrite using wmemchr. + + * wcsmbs/wcsncpy.c (__wcsncpy): Rewrite using wcsnlen, wmemset, and + wmemcpy. + + * wcsmbs/wcsncat.c (wcsncat): Rewrite using wcslen, wcsnlen, and + wmemcpy. + + * wcsmbs/wcscpy.c (__wcpcpy): Rewrite using wcslen and wmemcpy. + + * include/wchar.h (__wcscpy): New prototype. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-ppc32.c + (__wcscpy): Route internal symbol to generic implementation. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy.c (wcscpy): + Add internal __wcscpy alias. + * sysdeps/powerpc/powerpc64/multiarch/wcscpy.c (wcscpy): Likewise. + * sysdeps/s390/wcscpy.c (wcscpy): Likewise. + * sysdeps/x86_64/multiarch/wcscpy.c (wcscpy): Likewise. + * wcsmbs/wcscpy.c (wcscpy): Add + * sysdeps/x86_64/multiarch/wcscpy-c.c (WCSCPY): Adjust macro to + use generic implementation. + * wcsmbs/wcscat.c (wcscat): Rewrite using wcslen and wcscpy. + + * wcsmbs/wcpncpy.c (__wcpcpy): Rewrite using wcslen, wmemcpy, and + wmemset. + + * sysdeps/m68k/wcpcpy.c: Remove file. + * wcsmbs/wcpcpy.c (__wcpcpy): Rewrite using wcslen and wmemcpy. + +2019-02-26 Joseph Myers + + * sysdeps/arm/sysdep.h (#if condition): Break lines before rather + than after operators. + * sysdeps/mach/hurd/fork.c (__fork): Likewise. + * sysdeps/mach/hurd/getcwd.c + (__hurd_canonicalize_directory_name_internal): Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-consistent.c + (pthread_mutex_consistent): Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-init.c (_pthread_mutex_init): + Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c + (__pthread_mutex_transfer_np): Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-unlock.c + (__pthread_mutex_unlock): Likewise. + * sysdeps/mach/hurd/htl/pt-mutex.h (ROBUST_LOCK): Likewise. + (mtx_owned_p): Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-getrobust.c + (pthread_mutexattr_getrobust): Likewise. + * sysdeps/mach/hurd/i386/init-first.c (init1): Likewise. + * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): + Likewise. + * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. + * sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise. + * sysdeps/mach/hurd/kill.c (__kill): Likewise. + * sysdeps/mach/hurd/mig-reply.c (__mig_get_reply_port): Likewise. + * sysdeps/mach/hurd/ptrace.c (ptrace): Likewise. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/unix/sysv/linux/aarch64/sysdep.h (#if condition): + Likewise. + * sysdeps/unix/sysv/linux/alpha/ioperm.c (process_cpuinfo): + Likewise. + * sysdeps/unix/sysv/linux/bits/timex.h (STA_RONLY): Likewise. + * sysdeps/unix/sysv/linux/csky/sysdep.h (#if condition): Likewise. + * sysdeps/unix/sysv/linux/generic/____longjmp_chk.c + (____longjmp_chk): Likewise. + * sysdeps/unix/sysv/linux/generic/futimesat.c (futimesat): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h + (INTERNAL_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h + (INTERNAL_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c + (__get_clockfreq_via_cpuinfo): Likewise. + + * sysdeps/i386/dl-machine.h (elf_machine_rela): Add fall-through + comments. + * sysdeps/m68k/m680x0/fpu/s_cexp_template.c (s(__cexp)): Likewise. + * sysdeps/m68k/memcopy.h (WORD_COPY_FWD): Likewise. + (WORD_COPY_BWD): Likewise. + * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): + Likewise. + * sysdeps/s390/iso-8859-1_cp037_z900.c (TR_LOOP): Likewise. + * sysdeps/mips/dl-machine.h (elf_machine_reloc): Move fall-through + comment. + * sysdeps/mips/dl-trampoline.c (__dl_runtime_resolve): Likewise. + +2019-02-25 Joseph Myers + + * dirent/dirent.h [!_DIRENT_HAVE_D_NAMLEN + && _DIRENT_HAVE_D_RECLEN] (_D_ALLOC_NAMLEN): Break lines before + rather than after operators. + * elf/cache.c (print_cache): Likewise. + * gshadow/fgetsgent_r.c (__fgetsgent_r): Likewise. + * htl/pt-getattr.c (__pthread_getattr_np): Likewise. + * hurd/hurdinit.c (_hurd_setproc): Likewise. + * hurd/hurdkill.c (_hurd_sig_post): Likewise. + * hurd/hurdlookup.c (__file_name_lookup_under): Likewise. + * hurd/hurdsig.c (_hurd_internal_post_signal): Likewise. + (reauth_proc): Likewise. + * hurd/lookup-at.c (__file_name_lookup_at): Likewise. + (__file_name_split_at): Likewise. + (__directory_name_split_at): Likewise. + * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise. + * hurd/port2fd.c (_hurd_port2fd): Likewise. + * iconv/gconv_dl.c (do_print): Likewise. + * inet/netinet/in.h (struct sockaddr_in): Likewise. + * libio/wstrops.c (_IO_wstr_seekoff): Likewise. + * locale/setlocale.c (new_composite_name): Likewise. + * malloc/memusagestat.c (main): Likewise. + * misc/fstab.c (fstab_convert): Likewise. + * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): + Likewise. + * nss/nss_compat/compat-grp.c (getgrent_next_nss): Likewise. + (getgrent_next_file): Likewise. + (internal_getgrnam_r): Likewise. + (internal_getgrgid_r): Likewise. + * nss/nss_compat/compat-initgroups.c (getgrent_next_nss): + Likewise. + (internal_getgrent_r): Likewise. + * nss/nss_compat/compat-pwd.c (getpwent_next_nss_netgr): Likewise. + (getpwent_next_nss): Likewise. + (getpwent_next_file): Likewise. + (internal_getpwnam_r): Likewise. + (internal_getpwuid_r): Likewise. + * nss/nss_compat/compat-spwd.c (getspent_next_nss_netgr): + Likewise. + (getspent_next_nss): Likewise. + (internal_getspnam_r): Likewise. + * pwd/fgetpwent_r.c (__fgetpwent_r): Likewise. + * shadow/fgetspent_r.c (__fgetspent_r): Likewise. + * string/strchr.c (STRCHR): Likewise. + * string/strchrnul.c (STRCHRNUL): Likewise. + * sysdeps/aarch64/fpu/fpu_control.h (_FPU_FPCR_IEEE): Likewise. + * sysdeps/aarch64/sfp-machine.h (_FP_CHOOSENAN): Likewise. + * sysdeps/csky/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/generic/memcopy.h (PAGE_COPY_FWD_MAYBE): Likewise. + * sysdeps/generic/symbol-hacks.h (__stack_chk_fail_local): + Likewise. + * sysdeps/gnu/netinet/ip_icmp.h (ICMP_INFOTYPE): Likewise. + * sysdeps/gnu/updwtmp.c (TRANSFORM_UTMP_FILE_NAME): Likewise. + * sysdeps/gnu/utmp_file.c (TRANSFORM_UTMP_FILE_NAME): Likewise. + * sysdeps/hppa/jmpbuf-unwind.h (_JMPBUF_UNWINDS): Likewise. + * sysdeps/mach/hurd/bits/stat.h (S_ISPARE): Likewise. + * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Likewise. + (open_file): Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c + (pthread_mutexattr_setprotocol): Likewise. + * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. + * sysdeps/mach/hurd/mmap.c (__mmap): Likewise. + * sysdeps/mach/hurd/ptrace.c (ptrace): Likewise. + * sysdeps/mach/hurd/spawni.c (__spawni): Likewise. + * sysdeps/microblaze/dl-machine.h (elf_machine_type_class): + Likewise. + (elf_machine_rela): Likewise. + * sysdeps/mips/mips32/sfp-machine.h (_FP_CHOOSENAN): Likewise. + * sysdeps/mips/mips64/sfp-machine.h (_FP_CHOOSENAN): Likewise. + * sysdeps/mips/sys/asm.h (multiple #if conditionals): Likewise. + * sysdeps/posix/rename.c (rename): Likewise. + * sysdeps/powerpc/novmx-sigjmp.c (__novmx__sigjmp_save): Likewise. + * sysdeps/powerpc/sigjmp.c (__vmx__sigjmp_save): Likewise. + * sysdeps/s390/fpu/fenv_libc.h (FPC_VALID_MASK): Likewise. + * sysdeps/s390/utf8-utf16-z9.c (gconv_end): Likewise. + * sysdeps/unix/grantpt.c (grantpt): Likewise. + * sysdeps/unix/sysv/linux/a.out.h (N_TXTOFF): Likewise. + * sysdeps/unix/sysv/linux/updwtmp.c (TRANSFORM_UTMP_FILE_NAME): + Likewise. + * sysdeps/unix/sysv/linux/utmp_file.c (TRANSFORM_UTMP_FILE_NAME): + Likewise. + * sysdeps/x86/cpu-features.c (get_common_indices): Likewise. + * time/tzfile.c (__tzfile_compute): Likewise. + +2019-02-22 Joseph Myers + + * benchtests/bench-memmem.c (simple_memmem): Break lines before + rather than after operators. + * benchtests/bench-skeleton.c (TIMESPEC_AFTER): Likewise. + * crypt/md5.c (md5_finish_ctx): Likewise. + * crypt/sha256.c (__sha256_finish_ctx): Likewise. + * crypt/sha512.c (__sha512_finish_ctx): Likewise. + * elf/cache.c (load_aux_cache): Likewise. + * elf/dl-load.c (open_verify): Likewise. + * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise. + * elf/readelflib.c (process_elf_file): Likewise. + * elf/rtld.c (dl_main): Likewise. + * elf/sprof.c (generate_call_graph): Likewise. + * hurd/ctty-input.c (_hurd_ctty_input): Likewise. + * hurd/ctty-output.c (_hurd_ctty_output): Likewise. + * hurd/dtable.c (reauth_dtable): Likewise. + * hurd/getdport.c (__getdport): Likewise. + * hurd/hurd/signal.h (_hurd_interrupted_rpc_timeout): Likewise. + * hurd/hurd/sigpreempt.h (HURD_PREEMPT_SIGNAL_P): Likewise. + * hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise): + Likewise. + * hurd/hurdioctl.c (fioctl): Likewise. + * hurd/hurdselect.c (_hurd_select): Likewise. + * hurd/hurdsig.c (_hurdsig_abort_rpcs): Likewise. + (STOPSIGS): Likewise. + * hurd/hurdstartup.c (_hurd_startup): Likewise. + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Likewise. + * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise. + * hurd/msgportdemux.c (msgport_server): Likewise. + * hurd/setauth.c (_hurd_setauth): Likewise. + * include/features.h (__GLIBC_USE_DEPRECATED_SCANF): Likewise. + * libio/libioP.h [IO_DEBUG] (CHECK_FILE): Likewise. + * locale/programs/ld-ctype.c (set_class_defaults): Likewise. + * localedata/tests-mbwc/tst_swscanf.c (tst_swscanf): Likewise. + * login/tst-utmp.c (do_check): Likewise. + (simulate_login): Likewise. + * mach/lowlevellock.h (lll_lock): Likewise. + (lll_trylock): Likewise. + * math/test-fenv.c (ALL_EXC): Likewise. + * math/test-fenvinline.c (ALL_EXC): Likewise. + * misc/sys/cdefs.h (__attribute_deprecated_msg__): Likewise. + * nis/nis_call.c (__do_niscall3): Likewise. + * nis/nis_callback.c (cb_prog_1): Likewise. + * nis/nis_defaults.c (searchaccess): Likewise. + * nis/nis_findserv.c (__nis_findfastest_with_timeout): Likewise. + * nis/nis_ismember.c (internal_ismember): Likewise. + * nis/nis_local_names.c (nis_local_principal): Likewise. + * nis/nss_nis/nis-rpc.c (_nss_nis_getrpcbyname_r): Likewise. + * nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_getnetgrent_r): + Likewise. + * nis/ypclnt.c (yp_match): Likewise. + (yp_first): Likewise. + (yp_next): Likewise. + (yp_master): Likewise. + (yp_order): Likewise. + * nscd/hstcache.c (cache_addhst): Likewise. + * nscd/initgrcache.c (addinitgroupsX): Likewise. + * nss/nss_compat/compat-pwd.c (copy_pwd_changes): Likewise. + (internal_getpwuid_r): Likewise. + * nss/nss_compat/compat-spwd.c (copy_spwd_changes): Likewise. + * posix/glob.h (__GLOB_FLAGS): Likewise. + * posix/regcomp.c (peek_token): Likewise. + (peek_token_bracket): Likewise. + (parse_expression): Likewise. + * posix/regexec.c (sift_states_iter_mb): Likewise. + (check_node_accept_bytes): Likewise. + * posix/tst-spawn3.c (do_test): Likewise. + * posix/wordexp-test.c (testit): Likewise. + * posix/wordexp.c (parse_tilde): Likewise. + (exec_comm): Likewise. + * posix/wordexp.h (__WRDE_FLAGS): Likewise. + * resource/vtimes.c (TIMEVAL_TO_VTIMES): Likewise. + * setjmp/sigjmp.c (__sigjmp_save): Likewise. + * stdio-common/printf_fp.c (__printf_fp_l): Likewise. + * stdio-common/tst-fileno.c (do_test): Likewise. + * stdio-common/vfprintf-internal.c (vfprintf): Likewise. + * stdlib/strfmon_l.c (__vstrfmon_l_internal): Likewise. + * stdlib/strtod_l.c (round_and_return): Likewise. + (____STRTOF_INTERNAL): Likewise. + * stdlib/tst-strfrom.h (TEST_STRFROM): Likewise. + * string/strcspn.c (STRCSPN): Likewise. + * string/test-memmem.c (simple_memmem): Likewise. + * termios/tcsetattr.c (tcsetattr): Likewise. + * time/alt_digit.c (_nl_parse_alt_digit): Likewise. + * time/asctime.c (asctime_internal): Likewise. + * time/strptime_l.c (__strptime_internal): Likewise. + * time/sys/time.h (timercmp): Likewise. + * time/tzfile.c (__tzfile_compute): Likewise. + +2019-02-21 Patsy Griffin Franklin + + [BZ #21915] + * nss/tst-nss-files-hosts-long.root/etc/host.conf: New file. + +2019-02-21 Gabriel F. T. Gomes + + * argp/argp-help.c (__argp_error_internal): New function, + renamed from __argp_error, but that takes a 'mode_flags' + parameter to control the format of long double parameters. + (__argp_error): Converted into a call __argp_error_internal. + (__argp_failure_internal): New function, renamed from + __argp_failure, but that takes a 'mode_flags' parameter. + (__argp_failure): Converted into a call __argp_failure_internal. + * misc/err.c (__vwarnx_internal): New function, renamed from + vwarnx, but that takes a 'mode_flags' parameter. + (vwarnx): Converted into a call to __vwarnx_internal. + (__vwarn_internal): New function, renamed from vwarn, but that + takes a 'mode_flags' parameter. + (vwarn): Converted into a call to __vwarn_internal. + * misc/error.c (error_tail): Add 'mode_flags' parameter. Update + call to __vfxprintf with 'mode_flags'. + (__error_internal): New function, renamed from error, but that + takes a 'mode_flags' parameter. + (error): Converted into a call to __error_internal. + (__error_at_line_internal): New function, renamed from + error_at_line, but that takes a 'mode_flags' parameter. + (error_at_line): Converted into a call to + __error_at_line_internal. + * include/stdio.h (__vfxprintf): Add mode_flags parameter. + * stdio-common/fxprintf.c (locked_vfxprintf, __vfxprintf): + Likewise. + +2019-02-20 Martin Liska + + * math/Makefile: Install math-vector-fortran.h. + * bits/math-vector-fortran.h: New file. + * sysdeps/x86/fpu/bits/math-vector-fortran.h: New file. + +2019-02-20 Gabriel F. T. Gomes + + * sysdeps/powerpc/powerpc64/le/configure.ac: Remove test. + * sysdeps/powerpc/powerpc64/le/configure: Regenerate. + +2019-02-19 Wolfram Sang + + * nptl/pthread_mutex_trylock.c: Fix comment. + +2019-02-19 Carlos O'Donell + + * nptl/pthread_tryjoin.c: Fix comment. + +2019-02-18 Joseph Myers + + [BZ #24231] + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Add break + after R_SPARC_H34 case. + +2019-02-18 Florian Weimer + + * resolv/compat-gethnamaddr.c (Dprintf): Remove definition. + (getanswer): Do not call Dprintf. + (res_gethostbyname2_context): Likewise. + (res_gethostbyaddr_context): Likewise. + +2019-02-18 Florian Weimer + + * libio/libio.h (_IO_stdin, _IO_stdout, _IO_stderr): Remove + declaration. + * libio/stdio.c (AL, AL2, _IO_stdin, _IO_stdout, _IO_stderr): + Remove definitions. + * libio/stdfiles.c: Update comment. + * libio/oldstdfiles.c (_IO_check_libio): Update comment. Do not + set _IO_stdin, _IO_stdout, _IO_stderr. + * libio/libioP.h (_IO_fake_stdiobuf): Remove unused declaration. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)] (_IO_legacy_file): New + inline function. + (_IO_deallocate_file): New inline function. + * libio/iolibio.h (_IO_vprintf): Remove definition. + * libio/iofclose.c (_IO_new_fclose): Use _IO_deallocate_file. + * libio/oldiofclose.c (_IO_old_fclose): Likewise. + * libio/iofwide.c (_IO_fwide): Use __glibc_unlikely and + _IO_legacy_file. + * libio/oldfileops.c (_IO_old_file_init_internal): Remove + __builtin_expect. Use _IO_legacy_file. + +2019-02-18 Stefan Liebler + + * sysdeps/unix/sysv/linux/tst-clone3.c (do_test): + Initialize ctid with a known value and remove update of ctid + after clone. + (wait_tid): Adjust arguments and call futex_wait with ctid_val + as assumed current value of ctid_ptr. + +2019-02-16 Florian Weimer + + Check that non-sysdeps headers have wrapper headers. + * scripts/check-wrapper-headers.py: New file. + * Makefile (tests-special): Add check-wrapper-headers.out. + (check-wrapper-headers.out): New target. + * Rules (tests-special): Add check-wrapper-headers.out. + (check-wrapper-headers.out): New target. + +2019-02-16 Florian Weimer + + Add missing header wrappers under include/. + * include/ar.h: New file. + * include/bits/mqueue2.h: Likewise. + * include/bits/stdio.h: Likewise. + * include/bits/stdio2.h: Likewise. + * include/fstab.h: Likewise. + * include/fts.h: Likewise. + * include/lastlog.h: Likewise. + * include/netinet/icmp6.h: Likewise. + * include/netinet/igmp.h: Likewise. + * include/netinet/ip6.h: Likewise. + * include/re_comp.h: Likewise. + * include/regexp.h: Likewise. + * include/rpcsvc/bootparam.h: Likewise. + * include/rpcsvc/yp_prot.h: Likewise. + * include/sys/random.h: Likewise. + * include/sys/stropts.h: Likewise. + * include/sys/ttychars.h: Likewise. + * include/sys/vfs.h: Likewise. + * include/wait.h: Likewise. + +2019-02-16 Florian Weimer + + * nptl_db/proc_service.h: Move to ... + * sysdeps/nptl/proc_service.h: ... here. + * nptl_db/thread_db.h: Move to ... + * sysdeps/nptl/thread_db.h: ... here. + * nptl/descr.h: Include . + +2019-02-15 Adhemerval Zanella + + * io/Makefile (tests): Add tst-lockf. + * io/lockf.c (lockf): Use __fcntl and only define for + !__OFF_T_MATCHES_OFF64_T. + * io/lockf64.c (__lockf64): Call __fcntl64 and alias to lockf for + __OFF_T_MATCHES_OFF64_T case. + * io/tst-lockf.c: New file. + * sysdeps/unix/sysv/linux/i386/lockf64.c: Remove file. + * sysdeps/unix/sysv/linux/arm/lockf64.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/lockf64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/lockf64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/lockf64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c: Likewise. + * sysdeps/unix/sysv/linux/sh/lockf64.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c: Likewise. + +2019-02-15 Florian Weimer + + [BZ #24211] + * nptl/pthread_join_common.c (__pthread_timedjoin_ex): Do not read + pd->result after the thread descriptor has been freed. + +2019-02-15 Joseph Myers + + * sunrpc/tst-svc_register.c (rpcbind_address): Remove qualifier + from function return type. + + * setjmp/tst-setjmp.c (jump): Use __attribute__ ((__noreturn__)). + +2019-02-14 Jan Kratochvil + + * scripts/test_printers_common.py: Set TERM to a known harmless + value. + +2019-02-14 Joseph Myers + + * sunrpc/xdr.c (xdr_int): Add fall-through comment. + (xdr_u_int): Likewise. + (xdr_enum): Likewise. + (xdr_bytes): Reword fall-through comment. + (xdr_string): Likewise. + +2019-02-14 Adhemerval Zanella + + [BZ #2421] + * nptl/Makefile (lpthread-routines): Remove lll_timedwait_tid. + (tests): Add tst-join8 tst-join9. + * nptl/lll_timedwait_tid.c: Remove file. + * sysdeps/sparc/sparc32/lll_timedwait_tid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c: Likewise. + * sysdeps/sysv/linux/x86_64/lll_timedwait_tid.c: Likewise. + * nptl/pthread_join_common.c (timedwait_tid): New function. + (__pthread_timedjoin_ex): Act as cancellation entrypoint is block + is set. + * nptl/tst-join5.c (thread_join): New function. + (tf1, tf2, do_test): Use libsupport and add pthread_timedjoin_np + check. + * nptl/tst-join8.c: New file. + * nptl/tst-join9.c: Likewise. + * sysdeps/nptl/lowlevellock-futex.h (lll_futex_wait_cancel, + lll_futex_timed_wait_cancel): Add generic macros. + * sysdeps/nptl/lowlevellock.h (__lll_timedwait_tid, lll_wait_tid): + Remove definitions. + * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. + * sysdeps/sparc/sparc32/lowlevellock.c (__lll_timedwait_tid): + Remove function. + * sysdeps/unix/sysv/linux/i386/lowlevellock.S (__lll_timedwait_tid): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. + * sysdeps/unix/sysv/linux/lowlevellock-futex.h + (lll_futex_timed_wait_cancel): New macro. + +2019-02-14 Wilco Dijkstra + + * benchtests/Makefile: Add malloc-simple benchmark. + * benchtests/bench-malloc-simple.c: New benchmark. + +2019-02-14 Siddhesh Poyarekar + + * benchtests/bench-memmove.c (do_one_test): Remove unused + ORIG_SRC. + (do_test): Adjust. + * benchtests/bench-memmove-large.c (do_one_test): Remove unused + ORIG_SRC. + (do_test): Adjust. + +2019-01-13 Jim Wilson + + [BZ #24040] + * elf/Makefile (CFLAGS-tst-unwind-main.c): Add -DUSE_PTHREADS=0. + * elf/tst-unwind-main.c: If USE_PTHEADS, include pthread.h and error.h + (func): New. + (main): If USE_PTHREADS, call pthread_create to run func. Otherwise + call func directly. + * nptl/Makefile (tests): Add tst-unwind-thread. + (CFLAGS-tst-unwind-thread.c): Define. + * nptl/tst-unwind-thread.c: New file. + * sysdeps/unix/sysv/linux/riscv/clone.S (__thread_start): Mark ra + as undefined. + +2019-02-13 Joseph Myers + + * iconvdata/cns11643.h (ucs4_to_cns11643): Adjust fall-through + comment wording. + * nis/nis_call.c (__do_niscall3): Likewise. + + * catgets/gencat.c (normalize_line): Use braces around empty + 'else' body. + * include/stap-probe.h [!USE_STAP_PROBE && !__ASSEMBLER__] + (STAP_PROBE0): Use do {} while (0) for do-nothing definition. + [!USE_STAP_PROBE && !__ASSEMBLER__] (STAP_PROBE1): Likewise. + [!USE_STAP_PROBE && !__ASSEMBLER__] (STAP_PROBE2): Likewise. + [!USE_STAP_PROBE && !__ASSEMBLER__] (STAP_PROBE3): Likewise. + [!USE_STAP_PROBE && !__ASSEMBLER__] (STAP_PROBE4): Likewise. + * libio/libio.h (_IO_funlockfile): Use ((void) 0) for do-nothing + definition. + + * support/test-container.c (recursive_remove): Use FAIL_EXIT1 if + execlp returns. + +2019-02-12 Wilco Dijkstra + + * benchtests/bench-strcasecmp.c (stupid_strcasecmp): Remove. + * benchtests/bench-strcasestr.c (stupid_strcasestr): Remove. + * benchtests/bench-strchr.c (stupid_strchr): Remove. + * benchtests/bench-strcmp.c (stupid_strcmp): Remove. + * benchtests/bench-strcspn.c (stupid_strcspn): Remove. + * benchtests/bench-strlen.c (builtin_strlen): Remove. + * benchtests/bench-strncasecmp.c (stupid_strncasecmp): Remove. + * benchtests/bench-strncmp.c (stupid_strncmp): Remove. + * benchtests/bench-strpbrk.c (stupid_strpbrk): Remove. + * benchtests/bench-strspn.c (stupid_strspn): Remove. + * benchtests/Makefile: Remove bench-bcopy.c and bench-bzero.c. + * benchtests/bench-bcopy.c: Delete file. + * benchtests/bench-bzero.c: Likewise. + * benchtests/bench-memccpy.c (stupid_memccpy): Remove. + (simple_memccpy): Remove. + (generic_memccpy): Add function. + * benchtests/bench-memcpy.c: (builtin_memcpy): Remove. + * benchtests/bench-memmove.c (simple_bcopy): Remove. + * benchtests/bench-mempcpy.c (simple_mempcpy): Remove. + (generic_mempcpy): Add new function. + * benchtests/bench-memset.c (simple_bzero): Remove. + (builtin_bzero): Remove. + (builtin_memset): Remove. + * benchtests/bench-rawmemchr.c (simple_rawmemchr): Remove. + (generic_rawmemchr): Add new function. + +2019-02-12 Florian Weimer + + * nss/getent.c (ahosts_keys_int): Include IPv6 scope ID in output. + +2019-02-12 Adhemerval Zanella + + [BZ #24122] + * elf/Makefile (tests): Add tst-audit13. + (modules-names): Add tst-audit13mod1. + (tst-audit13.out, LDFLAGS-tst-audit13mod1.so, tst-audit13-ENV): New + rule. + * elf/tst-audit13.c: New file. + * elf/tst-audit13mod1.c: Likewise. + +2019-02-12 Florian Weimer + + [BZ #24122] + * elf/rtld.c (unload_audit_module): New function. + (report_audit_module_load_error): Likewise. + (load_audit_module): Likewise. Extracted from dl_main. Call + _dl_close if the laversion symbol cannot be found. Use early + returns for error handling. Add malloc error check. Check for a + zero return value from la_version. Remove spurious comment about + static TLS initialization. Remove useless casts. + (notify_audit_modules_of_loaded_object): New function. Extracted + from dl_main. + (load_audit_module): Likewise. + (dl_main): Call load_audit_modules. + +2019-02-12 Joseph Myers + + * elf/dl-exception.c (_dl_exception_create_format): Add + fall-through comments. + * elf/ldconfig.c (parse_conf_include): Likewise. + * elf/rtld.c (print_statistics): Likewise. + * locale/programs/charmap.c (parse_charmap): Likewise. + * misc/mntent_r.c (__getmntent_r): Likewise. + * posix/wordexp.c (parse_arith): Likewise. + (parse_backtick): Likewise. + * resolv/ns_ttl.c (ns_parse_ttl): Likewise. + * sysdeps/x86/cpu-features.c (init_cpu_features): Likewise. + * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. + +2019-02-11 Paul A. Clarke + + * sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrtf): + Use float instead of double. + +2019-02-11 TAMUKI Shoichi + + * time/strftime_l.c: Fix a few whitespace arrangement inconsistencies. + +2019-02-08 Joseph Myers + + * sysdeps/powerpc/bits/mathinline.h: Remove. + +2019-02-08 Florian Weimer + + math: Enable sysdeps override, as used on ia64. + * math/bits/math-finite.h: Move to ... + * bits/math-finite.h: ... here. + +2019-02-08 Florian Weimer + + * sysdeps/generic/bits/unistd_ext.h: Move to ... + * bits/unistd_ext.h: here. + +2019-02-08 Patsy Griffin Franklin + + [BZ #21915] + * nss/Makefile (test-container): Add tst-nss-files-hosts-long. + * nss/tst-nss-files-hosts-long.c: New file. + * nss/tst-nss-files-hosts-long.root: New directory. + * nss/tst-nss-files-hosts-long.root/etc: Likewise. + * nss/tst-nss-files-hosts-long.root/etc/hosts: New file. + +2019-02-08 Florian Weimer + + * include/bits/unistd_ext.h: Remove file. + * posix/bits/unistd_ext.h: Move to ... + * sysdeps/generic/bits/unistd_ext.h: ... here. + +2019-02-08 Florian Weimer + + * include/bits/unistd_ext.h: New file. + +2019-02-08 TAMUKI Shoichi + + * time/tst-strftime2.c: Use array_length macros instead of magic + numbers. + +2019-02-08 Florian Weimer + + [BZ #24161] + * sysdeps/nptl/fork.h (__run_fork_handlers): Add multiple_threads + argument. + * nptl/register-atfork.c (__run_fork_handlers): Only perform + locking if the new do_locking argument is true. + * sysdeps/nptl/fork.c (__libc_fork): Pass multiple_threads to + __run_fork_handlers. + +2019-02-08 Florian Weimer + + [BZ #6399] + Linux: Add gettid system call wrapper. + * posix/Makefile (headers): Add bits/unistd_ext.h. + * posix/bits/unistd_ext.h: New file. + * posix/unistd.h: Include it. + * manual/process.texi (Process Identification): Document gettid. + * sysdeps/unix/sysv/linux/Makefile [subdir == misc] (tests): Add + tst-gettid, tst-gettid-kill. + (tst-gettid): Link with $(shared-thread-library). + * sysdeps/unix/sysv/linux/Version (GLIBC_2.30): Export gettid. + * sysdeps/unix/sysv/linux/bits/unistd_ext.h: New file. + * sysdeps/unix/sysv/linux/bits/syscalls.list (gettid): Add. + * sysdeps/unix/sysv/linux/bits/tst-gettid.c: New file. + * sysdeps/unix/sysv/linux/bits/tst-gettid-kill.c: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30): + Add gettid. + * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/csky/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist + (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.30): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.30): + Likewise. + * sysdeps/unix/sysv/linux/tst-setgetname.c (gettid): Remove. + +2019-02-08 Florian Weimer + + * rt/clock-compat.c (COMPAT_REDIRECT): Turn librt forwarders into + compatibility symbols. + +2019-02-07 Stefan Liebler + + [BZ #24180] + * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): + Add compiler barriers and comments. + +2019-02-07 Florian Weimer + + * include/array_length.h (array_length): Do not use a statement + expression and _Static_assert, so that array_length can be used at + file scope and as a constant expression. + +2019-02-07 Florian Weimer + + * support/xdlfcn.h (xdlmopen): Declare. + * support/xdlmopen.c: New file. + * support/Makefile (libsupport-routines): Add xdlmopen. + +2019-02-06 Joseph Myers + + * elf/dl-load.h (_dl_postprocess_loadcmd): Use __always_inline + before return type, without separate inline. + * elf/dl-tunables.c (maybe_enable_malloc_check): Likewise. + * elf/dl-tunables.h (tunable_is_name): Likewise. + * malloc/malloc.c (do_set_trim_threshold): Likewise. + (do_set_top_pad): Likewise. + (do_set_mmap_threshold): Likewise. + (do_set_mmaps_max): Likewise. + (do_set_mallopt_check): Likewise. + (do_set_perturb_byte): Likewise. + (do_set_arena_test): Likewise. + (do_set_arena_max): Likewise. + (do_set_tcache_max): Likewise. + (do_set_tcache_count): Likewise. + (do_set_tcache_unsorted_limit): Likewise. + * nis/nis_subr.c (count_dots): Likewise. + * nptl/allocatestack.c (advise_stack_range): Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c (do_cos): Likewise. + (do_sin): Likewise. + (reduce_sincos): Likewise. + (do_sincos): Likewise. + * sysdeps/unix/sysv/linux/x86/elision-conf.c + (do_set_elision_enable): Likewise. + (TUNABLE_CALLBACK_FNDECL): Likewise. + +2019-02-06 Florian Weimer + + * support/xdlfcn.c (xdlopen, xdlclose): Do not call dlerror. + (xdlsym): Use dlerror to detect a NULL symbol. + +2019-02-06 Florian Weimer + + * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Do not include + . + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. + +2019-02-06 Stefan Liebler + + * libio/tst-bz24153.c (wide): Use wide char format specifier. + +2019-02-06 Stefan Liebler + + * sysdeps/s390/wmemcmp-vx.S: Add strong alias to + __wmemcmp and weak alias to wmemcmp. + +2019-02-06 Stefan Liebler + + [BZ #23403] + * nptl/allocatestack.c (allocate_stack): Align pointer pd for + TLS_TCB_AT_TP tls variant. + * nptl/tst-tls1.c: Migrate to support/test-driver.c. + Add alignment checks. + * support/Makefile (libsupport-routines): Add xposix_memalign and + xpthread_setstack. + * support/support.h: Add xposix_memalign. + * support/xthread.h: Add xpthread_attr_setstack. + * support/xposix_memalign.c: New File. + * support/xpthread_attr_setstack.c: Likewise. + +2019-02-05 Florian Weimer + + [BZ #24164] + arm: Use "nr" constraint for Systemtap probes, to avoid the + compiler using memory operands for constants, due to the "o" + alternative in the default "nor" constraint. + * include/stap-probe.h [USE_STAP_PROBE]: Include + + * sysdeps/generic/stap-probe-machine.h: New file. + * sysdeps/arm/stap-probe-machine.h: Likewise. + +2019-02-04 Joseph Myers + + * malloc/malloc.c (tcache_get): Compare tcache->counts[tc_idx] + with 0, not tcache->entries[tc_idx]. + + * nscd/connections.c (reqinfo): Initialize SHUTDOWN element only + once. + +2019-02-04 Andreas Schwab + + [BZ #16976] + [BZ #17396] + * posix/fnmatch_loop.c (internal_fnmatch, internal_fnwmatch): When + looking up collating elements match against (wide) character + sequence instead of name. Correct alignment adjustment. + * posix/fnmatch.c: Don't include "../locale/elem-hash.h". + (WMEMCMP) [HANDLE_MULTIBYTE]: Define. + * posix/Makefile (tests): Add tst-fnmatch4 and tst-fnmatch5. + (LOCALES): Add cs_CZ.ISO-8859-2. + * posix/tst-fnmatch4.c: New file. + * posix/tst-fnmatch5.c: New file. + * include/wchar.h (__wmemcmp): Declare. + * wcsmbs/wmemcmp.c: Define __wmemcmp and add wmemcmp as weak alias. + * sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise. + * sysdeps/x86_64/multiarch/wmemcmp.c: Likewise. + * sysdeps/s390/wmemcmp.c: Likewise. + +2019-02-04 H.J. Lu + + [BZ #24155] + CVE-2019-7309 + * NEWS: Updated for CVE-2019-7309. + * sysdeps/x86_64/memcmp.S: Use RDX_LP for size. Clear the + upper 32 bits of RDX register for x32. Use unsigned Jcc + instructions, instead of signed. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcmp-2. + * sysdeps/x86_64/x32/tst-size_t-memcmp-2.c: New test. + +2019-02-04 Florian Weimer + + * posix/spawn.h (posix_spawn, posix_spawnp): Add __nonnull attribute. + (posix_spawnattr_init, posix_spawnattr_destroy): Likewise. + (posix_spawnattr_getsigdefault, posix_spawnattr_setsigdefault): + Likewise. + (posix_spawnattr_getsigmask, posix_spawnattr_setsigmask): Likewise. + (posix_spawnattr_getflags, posix_spawnattr_setflags): Likewise. + (posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Likewise. + (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): + Likewise. + (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): + Likewise. + (posix_spawn_file_actions_init, posix_spawn_file_actions_destroy): + Likewise. + (posix_spawn_file_actions_addopen): Likewise. + (posix_spawn_file_actions_addclose): Likewise. + (posix_spawn_file_actions_adddup2): Likewise. + (posix_spawn_file_actions_addchdir_np): Likewise. Add __restrict + qualifiers. + (posix_spawn_file_actions_addfchdir_np): Likewise. + +2019-02-04 David Newall + + elf: Implement --preload option for the dynamic linker. + * elf/rtld.c (preloadarg): New variable. + (handle_preload_list): Pass through “where” argument to + do_preload. + (dl_main): Handle "--preload" and add second call to + handle_preload_list. + * elf/Makefile (tests-special): Add tst-rtld-preload.out. + (tst-rtld-preload-OBJS): Set variable. + (tst-rtld-preload.out): New target. + * elf/tst-rtld-preload.sh: New file. + +2019-02-04 Matthew Malcomson + + * Makefile (testrun.sh): Exit in case of incorrect argument. + +2019-02-04 Florian Weimer + + * time/tzfile.c (__tzfile_read): Reorder suballocations to avoid + alignment gaps. + +2019-02-03 Florian Weimer + + * time/tzfile.c (__tzfile_read): Use struct alloc_buffer and its + implicit overflow checks. + +2019-02-03 Aurelien Jarno + + * stdlib/isomac.c: Include . + +2019-02-03 Florian Weimer + + * include/time.h (__tzfile_default): Use int, not long int, for + the GMT offsets. + * time/tzfile.c (struct ttinfo): Change type of the offset member + to int. + (__tzfile_read): Remove useless cast. + (__tzfile_default): Adjust prototype. + * time/tzset.c (tz_rule): Change type of the offset member to int. + (parse_offset): Change the type of the sign variable to int. + +2019-02-03 Florian Weimer + + [BZ #24153] + * debug/gets_chk.c (__gets_chk): Use stdin instead of _IO_stdin. + * libio/getchar.c (getchar): Likewise. + * libio/getchar_u.c (getchar_unlocked): Likewise. + * libio/getwchar.c (getwchar): Likewise. + * libio/getwchar_u.c (getwchar_unlocked): Likewise. + * libio/iogets.c (_IO_gets): Likewise. + * libio/vscanf.c (_IO_vscanf): Likewise. + * libio/vwscanf.c (__vwscanf): Likewise. + * libio/tst-bz24153.c: New file. + * libio/Makefile (tests): Add it. + +2019-02-02 Florian Weimer + + [BZ #14829] + * manual/resource.texi (Basic Scheduling Functions): Add + portability note. Change process to task throughout the section. + Remove incorrect comment about sched_yield as it affects + tasks/threads, not entire processes. + * sysdeps/unix/sysv/linux/bits/posix_opt.h + (_POSIX_PRIORITY_SCHEDULING): Update comment. + +2019-02-01 Joseph Myers + + * configure.ac (libc_cv_compiler_ok): Require GCC 6.2 or later. + * configure: Regenerated. + * manual/install.texi (Tools for Compilation): Update minimum GCC + version. + * INSTALL: Regenerated. + +2019-02-01 Florian Weimer + + * support/support_test_compare_string.c + (support_test_compare_string): Use "string" in error message. + * support/tst-test_compare_string.c (do_test): Adjust. + +2019-02-01 Florian Weimer + + * support/support_format_address_family.c + (support_format_address_family): Handle AF_LOCAL, AF_UNSPEC. + +2019-02-01 Florian Weimer + + * manual/socket.texi (Internet Address Formats): Clarify the byte + order of struct sockaddr_in, struct sockaddr_in6. Document + sin6_flowinfo and sin6_scope_id. + +2019-02-01 Wilco Dijkstra + + * sysdeps/posix/clock_getres.c (__clock_getres): Cleanup. + * sysdeps/unix/clock_gettime.c (__clock_gettime): Cleanup. + * sysdeps/unix/clock_settime.c (__clock_settime): Cleanup. + * sysdeps/unix/sysv/linux/clock_getres.c (__clock_getres): Cleanup. + * sysdeps/unix/sysv/linux/clock_gettime.c (__clock_gettime): Cleanup. + * sysdeps/unix/sysv/linux/clock_settime.c (__clock_settime): Cleanup. + +2019-02-01 Feng Xue + + * sysdeps/aarch64/memchr.S (__memchr): Rename to MEMCHR. + [!MEMCHR](MEMCHR): Set to __memchr. + * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): + Add memchr_generic and memchr_nosimd. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add memchr ifuncs. + * sysdeps/aarch64/multiarch/memchr.c: New file. + * sysdeps/aarch64/multiarch/memchr_generic.S: Likewise. + * sysdeps/aarch64/multiarch/memchr_nosimd.S: Likewise. + +2019-02-01 Feng Xue + + * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): + Add memset_emag. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add __memset_emag to memset ifunc. + * sysdeps/aarch64/multiarch/memset.c (libc_ifunc): + Add IS_EMAG check for ifunc dispatch. + * sysdeps/aarch64/multiarch/memset_base64.S: New file. + * sysdeps/aarch64/multiarch/memset_emag.S: New file. + +2019-02-01 Feng Xue + + * manual/tunables.texi (Tunable glibc.cpu.name): Add emag. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): + Add emag. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_EMAG): + New macro. + +2019-02-01 Stefan Liebler + + * posix/tst-spawn do_test(): Move waitpid before posix_spawn. + +2019-01-31 Vineet Gupta + + * sysdeps/unix/make-syscalls.sh: Fix comment referencing + syscall-template file. + +2019-01-31 Carlos O'Donell + Torvald Riegel + Rik Prohaska + + [BZ# 23844] + * nptl/Makefile (tests): Add tst-rwlock-tryrdlock-stall, and + tst-rwlock-trywrlock-stall. + * nptl/pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): + Wake waiters if PTHREAD_RWLOCK_FUTEX_USED is set. + * nptl/pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock): + Set __wrphase_fute to 1 only if we started the write phase. + * nptl/tst-rwlock-tryrdlock-stall.c: New file. + * nptl/tst-rwlock-trywrlock-stall.c: New file. + * support/Makefile (libsupport-routines): Add xpthread_rwlock_destroy. + * support/xpthread_rwlock_destroy.c: New file. + * support/xthread.h: Declare xpthread_rwlock_destroy. + +2019-02-01 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default MPFR + version to 4.0.2. + +2019-01-31 Paul Pluzhnikov + + [BZ #24051] + * libio/ioputs.c (_IO_puts): Use stdout instead of _IO_stdout. + * libio/fileops.c (_IO_new_file_underflow): Likewise + * libio/wfileops.c (_IO_wfile_underflow): Likewise + * libio/putchar.c (putchar): Likewise. + * libio/putchar_u.c (putchar_unlocked): Likewise. + * libio/putwchar.c (putchar): Likewise. + * libio/putwchar_u.c (putwchar_unlocked): Likewise. + * libio/tst-bz24051.c: New test. + * libio/Makefile (tests): Add tst-bz24051 + +2019-01-31 Paul Eggert + + CVE-2019-9169 + regex: fix read overrun [BZ #24114] + Problem found by AddressSanitizer, reported by Hongxu Chen in: + https://debbugs.gnu.org/34140 + * posix/regexec.c (proceed_next_node): + Do not read past end of input buffer. + +2019-01-31 Florian Weimer + + [BZ #24059] + * nss/nss_files/files-alias.c (get_next_alias): Handle + continuation line without newline at the end. + * nss/tst-nss-files-alias-truncated.c: New file. + * nss/Makefile [$(build-shared)] (tests): Add + tst-nss-files-alias-truncated. + (tst-nss-files-alias-truncated): Link with libnss_files.so. + * support/namespace.h (struct support_chroot_configuration): Add + aliases member. + (struct support_chroot): Add path_aliases member. + * support/support_chroot.c (support_chroot_create): Handle + aliases. + (support_chroot_free): Free path_aliases. + +2019-01-31 Siddhesh Poyarekar + + * version.h (RELEASE): Set to "development". + (VERSION): Set to "2.29.9000". + * NEWS: Add section for 2.30. + + * version.h (RELEASE): Set to "stable". + (VERSION): Set to "2.29". + * include/features.h (__GLIBC_MINOR__): Set to 2.29. + + * NEWS: Add the list of bugs fixed in 2.29. + * manual/contrib.texi: Update contributors list with some more + names. + * manual/install.texi: Update latest versions of packages + tested. + * INSTALL: Regenerated. + +2019-01-25 Siddhesh Poyarekar + + * po/be.po: Update translations. + * po/bg.po: Likewise. + * po/ca.po: Likewise. + * po/cs.po: Likewise. + * po/da.po: Likewise. + * po/de.po: Likewise. + * po/el.po: Likewise. + * po/eo.po: Likewise. + * po/es.po: Likewise. + * po/fi.po: Likewise. + * po/fr.po: Likewise. + * po/gl.po: Likewise. + * po/hr.po: Likewise. + * po/hu.po: Likewise. + * po/ia.po: Likewise. + * po/id.po: Likewise. + * po/it.po: Likewise. + * po/ja.po: Likewise. + * po/ko.po: Likewise. + * po/lt.po: Likewise. + * po/nb.po: Likewise. + * po/nl.po: Likewise. + * po/pl.po: Likewise. + * po/pt_BR.po: Likewise. + * po/ru.po: Likewise. + * po/rw.po: Likewise. + * po/sk.po: Likewise. + * po/sl.po: Likewise. + * po/sv.po: Likewise. + * po/tr.po: Likewise. + * po/uk.po: Likewise. + * po/vi.po: Likewise. + * po/zh_CN.po: Likewise. + * po/zh_TW.po: Likewise. + +2019-01-24 Uroš Bizjak + + [BZ #24130] + * sysdeps/alpha/remqu.S (__remqu): Add missing restore + of $f3 register on $y_is_neg path. + +2019-01-24 Samuel Thibault + + [BZ #24110] + * hurd/hurdsig.c (_hurd_thread_sigstate): Set SS_DISABLE in + sigaltstack.ss_flags. + +2019-01-24 TAMUKI Shoichi + + [BZ #23758] + * manual/time.texi (strftime): Document "%Ey". + * time/strftime_l.c (__strftime_internal): Set the default width + padding with zero of "%Ey" to 2. + + [BZ #24096] + * manual/time.texi (strftime): Document "%EC" and "%EY". + * time/Makefile (tests): Add tst-strftime2. + (LOCALES): Add ja_JP.UTF-8, lo_LA.UTF-8, and th_TH.UTF-8. + * time/strftime_l.c (__strftime_internal): Add argument yr_spec to + override padding for "%Ey". + If an optional flag ('_' or '-') is specified to "%EY", interpret the + "%Ey" in the subformat as if decorated with that flag. + * time/tst-strftime2.c: New file. + +2019-01-24 Adhemerval Zanella + + * support/xsigstack.c (MAP_NORESERVE, MAP_STACK): Define if they + are not defined. + + [BZ #24122] + * elf/Makefile (tests): Add tst-audit13. + (modules-names): Add tst-audit13mod1. + (tst-audit13.out, LDFLAGS-tst-audit13mod1.so, tst-audit13-ENV): New + rule. + * elf/rtld.c (dl_main): Handle invalid audit module version. + * elf/tst-audit13.c: New file. + * elf/tst-audit13mod1.c: Likewise. + +2019-01-22 Samuel Thibault + + * sysdeps/mach/hurd/faccessat.c (__faccessat_common): Check for errors + returned by __hurd_at_flags. + * hurd/lookup-at.c (__file_name_lookup_at): When at_flags contains + AT_EMPTY_PATH, call __dir_lookup and __hurd_file_name_lookup_retry + directly instead of __hurd_file_name_lookup. + +2019-01-21 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default + binutils version to 2.32 branch. + +2019-01-21 Florian Weimer + + [BZ #20018] + CVE-2016-10739 + resolv: Reject trailing characters in host names + * include/arpa/inet.h (__inet_aton_exact): Declare. + (inet_aton): Remove hidden prototype. No longer used internally. + * nscd/gai.c (__inet_aton): Do not define. + * nscd/gethstbynm3_r.c (__inet_aton): Likewise. + * nss/digits_dots.c (__inet_aton): Likewise. + (__nss_hostname_digits_dots_context): Call __inet_aton_exact. + * resolv/Makefile (tests-internal): Add tst-inet_aton_exact. + (tests): Add tst-resolv-nondecimal, tst-resolv-trailing. + (tst-resolv-nondecimal): Link with libresolv.so and libpthread. + (tst-resolv-trailing): Likewise. + * resolv/Versions (GLIBC_PRIVATE): Export __inet_aton_exact from + libc. + * resolv/inet_addr.c (inet_aton_end): Remame from __inet_aton. + Make static. Add endp parameter. + (__inet_aton_exact): New function. + (__inet_aton_ignore_trailing): New function, aliased to inet_aton. + (__inet_addr): Call inet_aton_end. + * resolv/res_init.c (res_vinit_1): Truncate nameserver for IPv4, + not just IPv6. Call __inet_aton_exact. + * resolv/tst-aton.c: Switch to . + (tests): Make const. Add additional test cases with trailing + characters. + (do_test): Use array_length. + * resolv/tst-inet_aton_exact.c: New file. + * resolv/tst-resolv-trailing.c: Likewise. + * resolv/tst-resolv-nondecimal.c: Likewise. + * sysdeps/posix/getaddrinfo.c (gaih_inet): Call __inet_aton_exact. + +2019-01-21 H.J. Lu + + [BZ# 24097] + CVE-2019-6488 + * sysdeps/x86_64/multiarch/strlen-avx2.S: Use RSI_LP for length. + Clear the upper 32 bits of RSI register. + * sysdeps/x86_64/strlen.S: Use RSI_LP for length. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-strnlen + and tst-size_t-wcsnlen. + * sysdeps/x86_64/x32/tst-size_t-strnlen.c: New file. + * sysdeps/x86_64/x32/tst-size_t-wcsnlen.c: Likewise. + +2019-01-21 H.J. Lu + + [BZ# 24097] + CVE-2019-6488 + * sysdeps/x86_64/multiarch/strcpy-avx2.S: Use RDX_LP for length. + * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Likewise. + * sysdeps/x86_64/multiarch/strcpy-ssse3.S: Likewise. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-strncpy. + * sysdeps/x86_64/x32/tst-size_t-strncpy.c: New file. + +2019-01-21 H.J. Lu + + [BZ# 24097] + CVE-2019-6488 + * sysdeps/x86_64/multiarch/strcmp-avx2.S: Use RDX_LP for length. + * sysdeps/x86_64/multiarch/strcmp-sse42.S: Likewise. + * sysdeps/x86_64/strcmp.S: Likewise. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-strncasecmp, + tst-size_t-strncmp and tst-size_t-wcsncmp. + * sysdeps/x86_64/x32/tst-size_t-strncasecmp.c: New file. + * sysdeps/x86_64/x32/tst-size_t-strncmp.c: Likewise. + * sysdeps/x86_64/x32/tst-size_t-wcsncmp.c: Likewise. + +2019-01-21 H.J. Lu + + [BZ# 24097] + CVE-2019-6488 + * sysdeps/x86_64/multiarch/memset-avx512-no-vzeroupper.S: Use + RDX_LP for length. Clear the upper 32 bits of RDX register. + * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: Likewise. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-wmemset. + * sysdeps/x86_64/x32/tst-size_t-memset.c: New file. + * sysdeps/x86_64/x32/tst-size_t-wmemset.c: Likewise. + +2019-01-21 H.J. Lu + + [BZ# 24097] + CVE-2019-6488 + * sysdeps/x86_64/memrchr.S: Use RDX_LP for length. + * sysdeps/x86_64/multiarch/memrchr-avx2.S: Likewise. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memrchr. + * sysdeps/x86_64/x32/tst-size_t-memrchr.c: New file. + +2019-01-21 H.J. Lu + + [BZ# 24097] + CVE-2019-6488 + * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Use RDX_LP for + length. Clear the upper 32 bits of RDX register. + * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise. + * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S: + Likewise. + * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: + Likewise. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcpy. + tst-size_t-wmemchr. + * sysdeps/x86_64/x32/tst-size_t-memcpy.c: New file. + +2019-01-21 H.J. Lu + + [BZ# 24097] + CVE-2019-6488 + * sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S: Use RDX_LP for + length. Clear the upper 32 bits of RDX register. + * sysdeps/x86_64/multiarch/memcmp-sse4.S: Likewise. + * sysdeps/x86_64/multiarch/memcmp-ssse3.S: Likewise. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcmp and + tst-size_t-wmemcmp. + * sysdeps/x86_64/x32/tst-size_t-memcmp.c: New file. + * sysdeps/x86_64/x32/tst-size_t-wmemcmp.c: Likewise. + +2019-01-21 H.J. Lu + + [BZ# 24097] + CVE-2019-6488 + * sysdeps/x86_64/memchr.S: Use RDX_LP for length. Clear the + upper 32 bits of RDX register. + * sysdeps/x86_64/multiarch/memchr-avx2.S: Likewise. + * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memchr and + tst-size_t-wmemchr. + * sysdeps/x86_64/x32/test-size_t.h: New file. + * sysdeps/x86_64/x32/tst-size_t-memchr.c: Likewise. + * sysdeps/x86_64/x32/tst-size_t-wmemchr.c: Likewise. + +2019-01-18 Florian Weimer + + [BZ #24112] + resolv: Do not send queries for non-host-names in nss_dns. + * resolv/nss_dns/dns-host.c (check_name): New function. + (_nss_dns_gethostbyname2_r): Use it. + (_nss_dns_gethostbyname_r): Likewise. + (_nss_dns_gethostbyname4_r): Likewise. + +2019-01-21 Florian Weimer + + * resolv/inet_addr.c: Reformat to GNU style. + (__inet_addr, __inet_aton): Update comment. + +2019-01-18 Florian Weimer + + malloc: Revert commit 6923f6db1e688dedcf3a6556da76e0bf24a41872 + ("malloc: Use current (C11-style) atomics for fastbin access"). + This commit introduces a substantial performance regression on + POWER and Aarch64. + * malloc/malloc.c (fastbin_push_entry, fastbin_pop_entry): Remove. + (REMOVE_FB): Define. + (_int_malloc): Use it and reindent. + (_int_free): Use CAS loop with + catomic_compare_and_exchange_val_rel. + (malloc_consolidate): Use atomic_exchange_acq. + + +2019-01-18 H.J. Lu + + * signal/Makefile (LDFLAGS-tst-minsigstksz-1): New. Set to + -Wl,-z,now. + (LDFLAGS-tst-minsigstksz-2): Likewise. + (LDFLAGS-tst-minsigstksz-3): Likewise. + (LDFLAGS-tst-minsigstksz-3a): Likewise. + (LDFLAGS-tst-minsigstksz-4): Likewise. + +2019-01-18 TAMUKI Shoichi + + * manual/time.texi (strftime): Fix the wording to "alternative" rather + than "alternate". + +2019-01-16 Paul A. Clarke + + * sysdeps/powerpc/powerpc64/multiarch/strncmp.c: Fix #ifdef. + +2019-01-16 Zack Weinberg + + * support/xsignal.h (xalloc_sigstack, xfree_sigstack) + (xget_sigstack_location): New test support functions. + * support/xsigstack.c: New file, implementing them. + * support/tst-xsigstack.c: New test for them. + * support/Makefile: Update. + + * signal/tst-minsigstksz-1.c + * signal/tst-minsigstksz-2.c + * signal/tst-minsigstksz-3.c + * signal/tst-minsigstksz-3a.c + * signal/tst-minsigstksz-4.c: New tests. + * signal/Makefile: Run them. + +2019-01-16 Siddhesh Poyarekar + + * po/libc.pot: Regenerate. + +2019-01-15 Tulio Magno Quites Machado Filho + + * math/libm-test-fma.inc (fma_test_data): Set + XFAIL_ROUNDING_IBM128_LIBGCC to more tests. + +2019-01-15 Rogerio A. Cardoso + + * sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c: + (do_test): Changed __vector __int128_t to __vector unsigned int. + +2019-01-14 Leonardo Sandoval + + * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add + strcat-avx2, strncat-avx2, strcpy-avx2, strncpy-avx2, + stpcpy-avx2 and stpncpy-avx2. + * sysdeps/x86_64/multiarch/ifunc-impl-list.c: + (__libc_ifunc_impl_list): Add tests for __strcat_avx2, + __strncat_avx2, __strcpy_avx2, __strncpy_avx2, __stpcpy_avx2 + and __stpncpy_avx2. + * sysdeps/x86_64/multiarch/{ifunc-unaligned-ssse3.h => + ifunc-strcpy.h}: rename header for a more generic name. + * sysdeps/x86_64/multiarch/ifunc-strcpy.h: + (IFUNC_SELECTOR): Return OPTIMIZE (avx2) on AVX 2 machines if + AVX unaligned load is fast and vzeroupper is preferred. + * sysdeps/x86_64/multiarch/stpcpy-avx2.S: New file. + * sysdeps/x86_64/multiarch/stpncpy-avx2.S: Likewise. + * sysdeps/x86_64/multiarch/strcat-avx2.S: Likewise. + * sysdeps/x86_64/multiarch/strcpy-avx2.S: Likewise. + * sysdeps/x86_64/multiarch/strncat-avx2.S: Likewise. + * sysdeps/x86_64/multiarch/strncpy-avx2.S: Likewise. + +2019-01-12 Dmitry V. Levin + + * argp/argp-help.c: Fix typo in comment. + * misc/sys/cdefs.h: Likewise. + * posix/regexec.c (sift_states_iter_mb): Likewise. + * socket/sockatmark.c: Likewise. + * socket/sys/socket.h: Likewise. + * sysdeps/ia64/fpu/libm_sincos_large.S: Likewise. + * sysdeps/ia64/fpu/libm_sincosl.S: Likewise. + * sysdeps/ia64/fpu/s_cosl.S: Likewise. + * sysdeps/ieee754/dbl-64/k_rem_pio2.c: Likewise. + * sysdeps/unix/sockatmark.c: Likewise. + * time/strptime_l.c: Likewise. + +2019-01-11 TAMUKI Shoichi + + * time/strftime_l.c (__strftime_internal): Use "L_" macros, also add a + missing space after the cast of "_NL_CURRENT". + +2019-01-11 Rogerio A. Cardoso + + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (vscr_t): Added + ifdef to fix read of VSCR. + * sysdeps/powerpc/powerpc64/Makefile [$subdir == stdlib]: Add + tst-ucontext-ppc64-vscr.c to test list. + * sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c: New test file. + +2019-01-10 Andreas K. Hüttel + + * resolv/tst-resolv-ai_idn-common.c (response): Avoid switch + fall-through. + +2019-01-09 Jim Wilson + + * sysdeps/riscv/rv64/rvd/libm-test-ulps: Update. + +2019-01-09 Wilco Dijkstra + + * manual/tunables.texi (glibc.cpu.name): Add ares tunable. + * sysdeps/aarch64/multiarch/memcpy.c (__libc_memcpy): Use + __memcpy_falkor for ares. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_ARES): + Add new define. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): + Add ares cpu. + +2019-01-07 H.J. Lu + + [BZ #24066] + * soft-fp/extenddftf2.c: Use "_FP_W_TYPE_SIZE < 64" to check if + 4_FP_W_TYPEs are used for IEEE quad precision. + * soft-fp/extendhftf2.c: Likewise. + * soft-fp/extendsftf2.c: Likewise. + * soft-fp/extendxftf2.c: Likewise. + * soft-fp/trunctfdf2.c: Likewise. + * soft-fp/trunctfhf2.c: Likewise. + * soft-fp/trunctfsf2.c: Likewise. + * soft-fp/trunctfxf2.c: Likewise. + * sysdeps/alpha/ots_cvttx.c: Likewise. + * sysdeps/alpha/ots_cvtxt.c: Likewise. + * sysdeps/ieee754/soft-fp/s_daddl.c: Likewise. + * sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise. + * sysdeps/ieee754/soft-fp/s_dmull.c: Likewise. + * sysdeps/ieee754/soft-fp/s_dsubl.c: Likewise. + * sysdeps/ieee754/soft-fp/s_faddl.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fmull.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fsubl.c: Likewise. + * sysdeps/sparc/sparc32/q_dtoq.c: Likewise. + * sysdeps/sparc/sparc32/q_qtod.c: Likewise. + * sysdeps/sparc/sparc32/q_qtos.c: Likewise. + * sysdeps/sparc/sparc32/q_stoq.c: Likewise. + * sysdeps/sparc/sparc64/qp_dtoq.c: Likewise. + * sysdeps/sparc/sparc64/qp_qtod.c: Likewise. + * sysdeps/sparc/sparc64/qp_qtos.c: Likewise. + * sysdeps/sparc/sparc64/qp_stoq.c: Likewise. + +2019-01-07 Aurelien Jarno + + [BZ #24024] + * Makeconfig: Build libm with -fno-math-errno but build the remaining + code with -fmath-errno. + * string/Makefile [$(build-shared)] (tests): Add test-strerror-errno. + [$(build-shared)] (LDLIBS-test-strerror-errno): New variable. + * string/test-strerror-errno.c: New file. + +2019-01-07 Aurelien Jarno + + [BZ #24046] + * localedata/locales/en_US (date_fmt): Add, set to + "%a %d %b %Y %r %Z". + +2019-01-07 Florian Weimer + + [BZ #24063] + * manual/arith.texi (Math Error Reporting): Use @code{errno} + instead of @var{errno}. + (Parsing of Integers): Likewise. + (Parsing of Floats): Likewise. + * manual/filesys.texi (Working with Directory Trees): Likewise. + (Temporary Files): Likewise. + * manual/job.texi (Terminal Access Functions): Likewise. + * manual/llio.texi (Synchronizing I/O): Likewise. + * manual/math.texi (SVID Random): Likewise. + * manual/message.texi (The catgets Functions): Likewise. + (Translation with gettext): Likewise. + (Locating gettext catalog): Likewise. + (Charset conversion in gettext): Likewise. + * manual/nss.texi (NSS Module Function Internals): Likewise. + * manual/search.texi (Hash Search Function): Likewise. + * manual/setjmp.texi (System V contexts): Likewise. + * manual/time.texi (Sleeping): Likewise. + * manual/users.texi (Lookup User): Likewise. + (Lookup Group): Likewise. + +2019-01-05 Adhemerval Zanella + + * posix/tst-spawn.c (do_test): Extend spargv to new required size and + fix typo. + +2019-01-04 Martin Jansa + + [BZ #19444] + * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Use + __builtin_unreachable for default case in switch. + (__ieee754_yn): Likewise. + * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. + (__ieee754_ynl): Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. + (__ieee754_ynl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise. + (__ieee754_ynl): Likewise. + +2019-01-04 Szabolcs Nagy + + * manual/maint.texi: Use @{ and @}. + +2019-01-04 Florian Weimer + + * sysdeps/unix/sysv/linux/tst-ttyname.c (adjust_file_limit): New + function. + (do_in_chroot_1): Call it. + (run_chroot_tests): + Improve error reporting in case it is not possible to create a + collision for the PTY name required by the test. + +2019-01-03 Adhemerval Zanella + + * nptl/pthread_join_common.c (__pthread_timedjoin_ex): Use + lll_wait_tid with timeout. + * nptl/sem_wait.c (__old_sem_wait): Use lll_futex_wait_cancel. + * sysdeps/nptl/aio_misc.h (AIO_MISC_WAIT): Use + futex_reltimed_wait_cancelable for cancelabla mode. + * sysdeps/nptl/gai_misc.h (GAI_MISC_WAIT): Likewise. + * sysdeps/posix/open64.c (__libc_open64): Do not call cancelation + macros. + * sysdeps/posix/sigwait.c (__sigwait): Likewise. + * sysdeps/posix/waitid.c (__sigwait): Likewise. + * sysdeps/unix/sysdep.h (__SYSCALL_CANCEL_CALL, + SYSCALL_CANCEL_NCS): New macro. + * sysdeps/nptl/lowlevellock.h (lll_wait_tid): Add timeout argument. + (lll_timedwait_tid): Remove macro. + * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_wait_tid): + Likewise. + (lll_timedwait_tid): Likewise. + * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_wait_tid): + Likewise. + (lll_timedwait_tid): Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_wait_tid): + Likewise. + (lll_timedwait_tid): Likewise. + * sysdeps/unix/sysv/linux/clock_nanosleep.c (__clock_nanosleep): + Use INTERNAL_SYSCALL_CANCEL. + * sysdeps/unix/sysv/linux/futex-internal.h + (futex_reltimed_wait_cancelable): Use LIBC_CANCEL_{ASYNC,RESET} + instead of __pthread_{enable,disable}_asynccancel. + * sysdeps/unix/sysv/linux/lowlevellock-futex.h + (lll_futex_wait_cancel): New macro. + + * sysdeps/i386/nptl/tls.h (THREAD_ATOMIC_CMPXCHG_VAL, + THREAD_ATOMIC_AND, THREAD_ATOMIC_BIT_SET): Remove macros. + + * sysdeps/x86_64/nptl/tls.h (THREAD_ATOMIC_CMPXCHG_VAL, + THREAD_ATOMIC_AND, THREAD_ATOMIC_BIT_SET): Remove macros. + + * debug/tst-backtrace5.c (handle_signal): Avoid cancellable wrappers + in backtrace analysis. + * nptl/tst-cancel4.c (tf_write): Handle cancelled syscall with + side-effects. + (tf_send): Likewise. + + * io/creat.c (LIBC_CANCEL_HANDLED): Remove macro. + * io/ppoll.c (LIBC_CANCEL_HANDLED): Likewise. + * misc/pselect.c (LIBC_CANCEL_HANDLED): Likewise. + * nptl/pthreadP.h (LIBC_CANCEL_HANDLED): Likewise. + * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Likewise. + * sysdeps/mach/hurd/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Likewise. + * sysdeps/posix/pause.c (LIBC_CANCEL_HANDLED): Likewise. + * sysdeps/posix/sigpause.c (LIBC_CANCEL_HANDLED): Likewise. + * sysdeps/unix/sysv/linux/creat.c (LIBC_CANCEL_HANDLED): Likewise. + * sysdeps/unix/sysv/linux/creat64.c (LIBC_CANCEL_HANDLED): Likewise. + * sysdeps/unix/sysv/linux/sigwait.c (LIBC_CANCEL_HANDLED): Likewise. + * sysdeps/unix/sysv/linux/sigwaitinfo.c (LIBC_CANCEL_HANDLED): + Likewise. + * nptl/Makefile [$(run-built-tests) = yes] (tests-special): Remove + tst-cancel-wrappers.sh. + (generated): Remove tst-cancel-wrappers.out. + (tst-cancel-wrappers.out): Remove rule. + * nptl/tst-cancel-wrappers.sh: Remove file. + +2019-01-03 Szabolcs Nagy + + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h: Add comment. + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT): + Update. + +2019-01-03 Adhemerval Zanella + + [BZ #23640] + * posix/tst-spawn.c (do_prepare, handle_restart, do_test): Add + posix_spawn_file_actions_adddup2 test to check O_CLOCEXEC reset. + * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Add + close-on-exec reset for adddup2 file action. + * sysdeps/posix/spawni.c (__spawni_child): Likewise. + +2019-01-03 Zack Weinberg + + * include/features.h (__GLIBC_USE_DEPRECATED_SCANF): New __GLIBC_USE + parameter. Only use deprecated scanf when __USE_GNU is defined + and __STDC_VERSION__ is less than 199901L or __cplusplus is less + than 201103L, whichever is relevant for the language being compiled. + + * libio/stdio.h, libio/bits/stdio-ldbl.h: Decide whether to redirect + scanf, fscanf, sscanf, vscanf, vfscanf, and vsscanf to their + __isoc99_ variants based only on __GLIBC_USE (DEPRECATED_SCANF). + * wcsmbs/wchar.h: wcsmbs/bits/wchar-ldbl.h: Likewise for + wscanf, fwscanf, swscanf, vwscanf, vfwscanf, and vswscanf. + + * libio/iovsscanf.c + * libio/fwscanf.c + * libio/iovswscanf.c + * libio/swscanf.c + * libio/vscanf.c + * libio/vwscanf.c + * libio/wscanf.c + * stdio-common/fscanf.c + * stdio-common/scanf.c + * stdio-common/vfscanf.c + * stdio-common/vfwscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c + * sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-scanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c + * sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c: + Override __GLIBC_USE_DEPRECATED_SCANF to 1. + + * stdio-common/sscanf.c: Likewise. Remove ldbl_hidden_def for __sscanf. + * stdio-common/isoc99_sscanf.c: Add libc_hidden_def for __isoc99_sscanf. + * include/stdio.h: Provide libc_hidden_proto for __isoc99_sscanf, + not sscanf. + [!__GLIBC_USE (DEPRECATED_SCANF)]: Define sscanf as __isoc99_scanf + with a preprocessor macro. + + * stdio-common/bug21.c, stdio-common/scanf14.c: + Use %ms instead of %as, %mS instead of %aS, %m[] instead of %a[]; + remove DIAG_IGNORE_NEEDS_COMMENT for -Wformat. + * stdio-common/scanf16.c: Likewise. Add __attribute__ ((format (scanf))) + to xscanf, xfscanf, xsscanf. + + * stdio-common/scanf14a.c: New copy of scanf14.c which still uses + %as, %aS, %a[]. Remove DIAG_IGNORE_NEEDS_COMMENT for -Wformat. + * stdio-common/scanf16a.c: New copy of scanf16.c which still uses + %as, %aS, %a[]. Add __attribute__ ((format (scanf))) to xscanf, + xfscanf, xsscanf. + * stdio-common/scanf15.c, stdio-common/scanf17.c: No need to + override feature selection macros or provide definitions of u_char etc. + * stdio-common/Makefile (tests): Add scanf14a and scanf16a. + (CFLAGS-scanf15.c, CFLAGS-scanf17.c): Remove. + (CFLAGS-scanf14a.c, CFLAGS-scanf16a.c): New. Compile these files + with -std=gnu89. + +2019-01-03 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/termios-misc.h. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Remove file. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/bits/termios-misc.h: New file. + * sysdeps/unix/sysv/linux/bits/termios.h: Include termios-misc.h. + + * sysdeps/unix/sysv/linux/powerpc/bits/termios-misc.h: New file. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h [__USE_MISC] + (struct sgtty, struct tchars, struct ltchars, TIOCPKT_DATA, + TIOCPKT_FLUSHREAD, TIOCPKT_FLUSHWRITE, TIOCPKT_STOP, TIOCPKT_START, + TIOCPKT_NOSTOP, TIOCPKT_DOSTOP, _VINTR, _VQUIT, _VERASE, _VKILL, + _VEOF, _VMIN, _VEOL, _VTIME, _VEOL2, _VSWTC): Move to + termios-misc.h. + * sysdeps/unix/sysv/linux/powerpc/Makefile [$subdir == misc] + (sysdep_headers): Add termios-misc.h. + + * sysdeps/unix/sysv/linux/bits/termios.h (_IOT_termios): Remove. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + termios-tcflow.h. + * sysdeps/unix/sysv/linux/bits/termios-tcflow.h: New file. + * sysdeps/unix/sysv/linux/mips/bits/termios-tcflow.h: Likewise. + * sysdeps/unix/sysv/linux/bits/termios.h (TCSANOW, TCSADRAIN, + TCSAFLUSH): Move to termios-tcflow.h. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + termios-c_lflag.h. + * sysdeps/unix/sysv/linux/bits/termios-c_lflag.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/termios-c_lflag.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios-c_lflag.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_lflag.h: Likewise. + * sysdeps/unix/sysv/linux/bits/termios.h (ISIG, ISCANON, ECHO, ECHOE, + ECHOK, ECHONL, NOFLSH, TOSTOP, IEXTEN): Move to termios-c_lflag.h. + [__USE_MISC || (__USE_XOPEN && !__USE_XOPEN2K)] (XCASE): Likewise. + [__USE_MISC] (ECHOCTL, ECHOPRT, ECHOKE, FLUSHO, PENDIN, EXTPROC): + Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + termios-c_cflag.h. + * sysdeps/unix/sysv/linux/bits/termios-c_cflag.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/termios-c_cflag.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cflag.h: Likewise. + * sysdeps/unix/sysv/linux/bits/termios.h (CSIZE, CS5, CS6, CS7, CS8, + CSTOPB, CREAD, PARENB, PARODD, HUPCL, CLOCAL): Move to + termios-c_cflag.h. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + + [BZ #23783] + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + termios-baud.h. + * sysdeps/unix/sysv/linux/bits/termios-baud.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios-baud.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h (B57600, B115200, + B230400, B460800, B500000, B576000, B921600, B1000000, B1152000, + B1500000, B2000000, B2500000, B3000000, B3500000, B4000000, + __MAX_BAUD): Move to termios-baud.h. + [__USE_MISC] (CBAUD, CBAUDEX): Likewise. + * sysdeps/unix/sysv/linux/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + + * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add + termios-c_oflag.h. + * sysdeps/unix/sysv/linux/bits/termios-c_oflag.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h: Likewise. + * sysdeps/unix/sysv/linux/bits/termios.h (OPOST, OLCUC, ONLCR, OCRNL, + ONOCR, ONLRET, OFILL, OFDEL, VTDLY, VT0, VT1): Move to + termios-c_oflag.h. + [__USE_MISC || __USE_XOPEN] (NLDLY, NL0, NL1, CRDLY, CR0, CR1, CR2, + CR3, TABDLY, TAB0, TAB1, TAB2, TAB3, BSDLY, BS0, BS1, FFDLY, FF0, + FFR1): Likewise. + [USE_MISC] (XTABS): Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h Likewise. + + * sysdeps/unix/sysv/linux/Makefile (sysdeps_headers): Add + termios-c_iflag.h. + * sysdeps/unix/sysv/linux/bits/termios-c_iflag.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h: Likewise. + * sysdeps/unix/sysv/linux/bits/termios.h (IGNBRK, BRKINT, IGNPAR, PARMRK, + INPCK, ISTRIP, INLCR, IGNCR, ICRNL, IXON, IXOFF, IXANY, IUCLC, IMAXBEL, + IUTF8): Move to termios-c_iflag.h. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + + * sysdeps/unix/sysv/linux/Makefile (sysdeps_headers): Add + termios-cc.h. + * sysdeps/unix/sysv/linux/bits/termios-c_cc.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/termios-c_cc.h: New file. + * sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h: Likewise. + * sysdeps/unix/sysv/linux/bits/termios.h (VINTR, VQUIT, VERASE, + VKILL, VEOF, VTIME, VMIN, VSWTC, VSTART, VSTOP, VSUSP, VEOL, + VREPRINT, VDISCARD, VWERASE, VLNEXT, VEOLF2): Move to termios-cc.h. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + + * sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h: New file. + * sysdeps/unix/sysv/linux/bits/termios-struct.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios-struct.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios-struct.h: Likewise. + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + termios-struct.h. + * sysdeps/unix/sysv/linux/bits/termios.h (struct termios): Move to + termios-struct.h. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h (struct termios): + Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h (struct termios): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (struct termios): + Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h (struct termios): + Likewise. + * sysdeps/unix/sysv/linux/kernel_termios.h (_HAVE_C_ISPEED, + _HAVE_C_OSPEED): Define. + * sysdeps/unix/sysv/linux/mips/kernel_termios.h (_HAVE_C_ISPEED, + _HAVE_C_OSPEED): Likewise. + * sysdeps/unix/sysv/linux/sparc/kernel_termios.h (_HAVE_C_ISPEED, + _HAVE_C_OSPEED): Likewise. + * sysdeps/unix/sysv/linux/speed.c [_HAVE_STRUCT_TERMIOS_C_OSPEED] + (cfsetospeed): Check for define value instead of existence. + [_HAVE_STRUCT_TERMIOS_C_ISPEED] (cfsetispeed): Likewise. + * sysdeps/unix/sysv/linux/tcgetattr.c [_HAVE_STRUCT_TERMIOS_C_ISPEED + && _HAVE_C_ISPEED] (__tcgetattr): Likewise. + * sysdeps/unix/sysv/linux/tcsetattr.c [_HAVE_STRUCT_TERMIOS_C_ISPEED + && _HAVE_C_ISPEED] (__tcsetattr): Likewise. + + [BZ #17783] + * sysdeps/unix/sysv/linux/bits/termios.h [__USE_MISC] (TIOCSER_TEMT): + Define. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h [__USE_MISC] + (TIOCSER_TEMT): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h [__USE_MISC] + (TEOCSER_TEMT): Likewise. + +2019-01-02 PanderMusubi + + [BZ #24011] + * localedata/locales/bs_BA (LC_TELEPHONE): Fix a typo in comment. + +2019-01-02 Joseph Myers + + * sysdeps/powerpc/nofpu/libm-test-ulps: Update. + +2019-01-02 Samuel Thibault + + * sysdeps/htl/pt-barrierattr-setpshared.c + (pthread_barrierattr_setpshared): Add stub warning. + * sysdeps/htl/pt-condattr-setpshared.c + (pthread_condattr_setpshared): Likewise. + * sysdeps/htl/pt-mutexattr-setpshared.c + (pthread_mutexattr_setpshared): Likewise. + * sysdeps/htl/pt-rwlockattr-setpshared.c + (pthread_rwlockattr_setpshared): Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-setpshared.c + (pthread_mutexattr_setpshared): Likewise. + +2019-01-02 Joseph Myers + + * sysdeps/unix/sysv/linux/tst-mman-consts.py (main): Expect + constants to match with Linux 4.20. + + * sysdeps/mips/mips32/libm-test-ulps: Update. + * sysdeps/mips/mips64/libm-test-ulps: Likewise. + +2019-01-02 Aurelien Jarno + + [BZ #24034] + * sysdeps/unix/sysv/linux/arm/atomic-machine.h + (__arm_assisted_compare_and_exchange_val_32_acq): Use uint32_t rather + than __typeof (...) for the a_ptr variable. + +2019-01-02 Gabriel F. T. Gomes + + * debug/sprintf_chk.c (___sprintf_chk): Use PRINTF_CHK. + * debug/vsprintf_chk.c (___vsprintf_chk): Likewise. + * libio/Makefile (tests): Add tst-sprintf-ub and + tst-sprintf-chk-ub. + (CFLAGS-tst-sprintf-ub.c): New variable. + (CFLAGS-tst-sprintf-chk-ub.c): Likewise. + * libio/iovsprintf.c (__vsprintf_internal): Only erase the + destination buffer and check for overflows in fortified mode. + * libio/libioP.h (PRINTF_CHK): New macro. + * libio/tst-sprintf-chk-ub.c: New file. + * libio/tst-sprintf-ub.c: Likewise. + +2019-01-02 Florian Weimer + + [BZ #24018] + * intl/dcigettext.c (DCIGETTEXT): Do not return NULL on asprintf + failure. + +2019-01-02 Florian Weimer + + * nptl/tst-audit-threads.c: Switch to . + +2019-01-01 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/in.h (IPV6_MULTICAST_ALL): New + macro. + + * sysdeps/unix/sysv/linux/netpacket/packet.h + (PACKET_IGNORE_OUTGOING): New macro. + + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SSBS): New + macro. + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 4.20. + (riscv_flush_icache): New syscall. + + * manual/texinfo.tex: Update to version 2018-12-28.17 with + trailing whitespace removed. + * scripts/config.guess: Update to version 2019-01-01. + * scripts/config.sub: Update to version 2019-01-01. + * scripts/move-if-change: Update from gnulib. + + * NEWS: Update copyright dates. + * catgets/gencat.c (print_version): Likewise. + * csu/version.c (banner): Likewise. + * debug/catchsegv.sh: Likewise. + * debug/pcprofiledump.c (print_version): Likewise. + * debug/xtrace.sh (do_version): Likewise. + * elf/ldconfig.c (print_version): Likewise. + * elf/ldd.bash.in: Likewise. + * elf/pldd.c (print_version): Likewise. + * elf/sotruss.sh: Likewise. + * elf/sprof.c (print_version): Likewise. + * iconv/iconv_prog.c (print_version): Likewise. + * iconv/iconvconfig.c (print_version): Likewise. + * locale/programs/locale.c (print_version): Likewise. + * locale/programs/localedef.c (print_version): Likewise. + * login/programs/pt_chown.c (print_version): Likewise. + * malloc/memusage.sh (do_version): Likewise. + * malloc/memusagestat.c (print_version): Likewise. + * malloc/mtrace.pl: Likewise. + * manual/libc.texinfo: Likewise. + * nptl/version.c (banner): Likewise. + * nscd/nscd.c (print_version): Likewise. + * nss/getent.c (print_version): Likewise. + * nss/makedb.c (print_version): Likewise. + * posix/getconf.c (main): Likewise. + * scripts/test-installation.pl: Likewise. + * sysdeps/unix/sysv/linux/lddlibc4.c (main): Likewise. + + * All files with FSF copyright notices: Update copyright dates + using scripts/update-copyrights. + * locale/programs/charmap-kw.h: Regenerated. + * locale/programs/locfile-kw.h: Likewise. + +2018-12-31 Joseph Myers + + * timezone/zdump.c: Update from tzcode 2018i. + * timezone/zic.c: Likewise. + +2018-12-31 Paul Eggert + + regex: improve Gnulib port to AIX + From the glibc point of view, this removes duplicate macro + definitions and is obviously safe. + From the Gnulib point of view, this pacifies xlc 12.01 on AIX 7.1. + * posix/regex_internal.h: + (__attribute__, __attribute_warn_unused_result__): + Remove; already defined elsewhere. + +2018-12-31 Florian Weimer + + [BZ #24027] + * malloc/malloc.c (_int_realloc): Always call memcpy for the + copying operation. (ncopies had the wrong type, resulting in an + integer wraparound and too few elements being copied.) + +2018-12-31 H.J. Lu + + [BZ #24022] + * sysdeps/unix/sysv/linux/riscv/flush-icache.c: Check if + exists with __has_include__ before including it. + +2018-12-31 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + version to 4.20. + +2018-12-28 Justus Winter <4winter@informatik.uni-hamburg.de> + + * hurd/lookup-retry: Include . + (__hurd_file_name_lookup_retry): Keep a ref on last result in `lastdir'. + Release it on return. Handle "pid" magical lookup retry. + +2018-12-28 Rafał Lużyński + + [BZ #10496] + * localedata/locales/aa_DJ (t_fmt): Set to "%l:%M:%S %p". + (t_fmt_ampm): Likewise. + * localedata/locales/aa_ER (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/aa_ER@saaho (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/aa_ET (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/am_ET (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/byn_ER (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/om_ET (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/sid_ET (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/so_DJ (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/so_ET (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/so_SO (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/ti_ER (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/ti_ET (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/tig_ER (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/wal_ET (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + + * localedata/locales/anp_IN (t_fmt): Set to "%I:%M:%S %p %Z". + * localedata/locales/ar_IN (t_fmt): Likewise. + * localedata/locales/bhb_IN (t_fmt): Likewise. + * localedata/locales/bho_IN (t_fmt): Likewise. + * localedata/locales/bi_VU (t_fmt): Likewise. + * localedata/locales/bn_BD (t_fmt): Likewise. + * localedata/locales/bn_IN (t_fmt): Likewise. + * localedata/locales/brx_IN (t_fmt): Likewise. + * localedata/locales/doi_IN (t_fmt): Likewise. + * localedata/locales/en_HK (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + * localedata/locales/en_IN (t_fmt): Likewise. + * localedata/locales/en_PH (t_fmt): Likewise. + * localedata/locales/gu_IN (t_fmt): Likewise. + * localedata/locales/hi_IN (t_fmt): Likewise. + * localedata/locales/hif_FJ (t_fmt): Likewise. + * localedata/locales/hne_IN (t_fmt): Likewise. + * localedata/locales/kn_IN (t_fmt): Likewise. + * localedata/locales/kok_IN (t_fmt): Likewise. + * localedata/locales/ks_IN (t_fmt): Likewise. + * localedata/locales/ks_IN@devanagari (t_fmt): Likewise. + * localedata/locales/mag_IN (t_fmt): Likewise. + * localedata/locales/mai_IN (t_fmt): Likewise. + * localedata/locales/mjw_IN (t_fmt): Likewise. + * localedata/locales/ml_IN (t_fmt): Likewise. + * localedata/locales/mni_IN (t_fmt): Likewise. + * localedata/locales/mr_IN (t_fmt): Likewise. + * localedata/locales/ms_MY (t_fmt): Likewise. + * localedata/locales/pa_IN (t_fmt): Likewise. + * localedata/locales/raj_IN (t_fmt): Likewise. + * localedata/locales/sa_IN (t_fmt): Likewise. + * localedata/locales/sat_IN (t_fmt): Likewise. + * localedata/locales/sd_IN (t_fmt): Likewise. + * localedata/locales/sd_IN@devanagari (t_fmt): Likewise. + * localedata/locales/tcy_IN (t_fmt): Likewise. + * localedata/locales/the_NP (t_fmt): Likewise. + * localedata/locales/to_TO (t_fmt): Likewise. + * localedata/locales/ur_IN (t_fmt): Likewise. + + * localedata/locales/hif_FJ (d_t_fmt): Set to + "%A %d %b %Y %I:%M:%S %p". + (date_fmt): Add, set to "%A %d %b %Y %I:%M:%S %p %Z". + + * localedata/locales/ar_AE (t_fmt): Set to "%Z %I:%M:%S %p". + * localedata/locales/ar_BH (t_fmt): Likewise. + * localedata/locales/ar_DZ (t_fmt): Likewise. + * localedata/locales/ar_EG (t_fmt): Likewise. + * localedata/locales/ar_IQ (t_fmt): Likewise. + * localedata/locales/ar_JO (t_fmt): Likewise. + * localedata/locales/ar_KW (t_fmt): Likewise. + * localedata/locales/ar_LB (t_fmt): Likewise. + * localedata/locales/ar_LY (t_fmt): Likewise. + * localedata/locales/ar_OM (t_fmt): Likewise. + * localedata/locales/ar_QA (t_fmt): Likewise. + * localedata/locales/ar_SD (t_fmt): Likewise. + * localedata/locales/ar_SS (t_fmt): Likewise. + * localedata/locales/ar_SY (t_fmt): Likewise. + * localedata/locales/ar_TN (t_fmt): Likewise. + * localedata/locales/ar_YE (t_fmt): Likewise. + + * localedata/locales/gez_ER (t_fmt): Set to "%l:%M:%S%p". + (t_fmt_ampm): Likewise. + * localedata/locales/gez_ET (t_fmt): Likewise. + (t_fmt_ampm): Likewise. + + * localedata/locales/ta_IN (t_fmt): Set to "%p %I:%M:%S %Z". + (t_fmt_ampm): Likewise. + (d_t_fmt): Set to "%A %d %B %Y %p %I:%M:%S %Z". + + * localedata/locales/zh_HK (t_fmt): + Set to "%p %I%M%S %Z". + + * localedata/locales/ar_MA (t_fmt_ampm): Set to "" (empty string) + because this locale does not use the 12-hour clock. + (t_fmt): Set to "%Z %H:%M:%S". + (d_t_fmt): Set to "%d %b, %Y %Z %H:%M:%S". + + * localedata/locales/mt_MT (t_fmt_ampm): Set to "" (empty string) + because this locale does not use the 12-hour clock. + (t_fmt): Set to "%H:%M:%S %Z". + (d_t_fmt): Set to "%A, %d ta %b, %Y %H:%M:%S %Z". + + * localedata/locales/so_KE (t_fmt_ampm): Set to "" (empty string) + because this locale does not use the 12-hour clock. + (t_fmt): Set to "%T". + (d_t_fmt): Set to "%A, %B %e, %Y %X %Z". + (date_fmt): Set to "%A, %B %e, %X %Z %Y". + + * localedata/locales/ta_LK (t_fmt_ampm): Set to "" (empty string) + because this locale does not use the 12-hour clock. + (t_fmt): Set to "%H:%M:%S %Z". + (d_t_fmt): Set to "%A %d %B %Y %H:%M:%S %Z". + + * localedata/locales/bg_BG (t_fmt_ampm): Set to "" (empty string) + because this locale does not use the 12-hour clock. + * localedata/locales/cs_CZ (t_fmt_ampm): Likewise. + * localedata/locales/sk_SK (t_fmt_ampm): Likewise. + +2018-12-28 Rafał Lużyński + + [BZ #10496] + [BZ #23724] + * localedata/locales/sq_AL (t_fmt): Set to "%I:%M:%S.%p %Z". + (t_fmt_ampm): Likewise. + (d_t_fmt): Set to "%a %-d %b %Y %I:%M:%S.%p". + (date_fmt): Add, set to "%a %-d %b %Y %I:%M:%S.%p %Z". + (d_fmt): Set to "%-d.%-m.%y". + +2018-12-28 Adhemerval Zanella + + * malloc/alloc_buffer_alloc_array.c (__libc_alloc_buffer_alloc_array): + Use __builtin_mul_overflow in place of check_mul_overflow_size_t. + * malloc/dynarray_emplace_enlarge.c (__libc_dynarray_emplace_enlarge): + Likewise. + * malloc/dynarray_resize.c (__libc_dynarray_resize): Likewise. + * malloc/reallocarray.c (__libc_reallocarray): Likewise. + * malloc/malloc-internal.h (check_mul_overflow_size_t): Remove + function. + * support/blob_repeat.c (check_mul_overflow_size_t, + (minimum_stride_size, support_blob_repeat_allocate): Likewise. + +2018-12-28 Aurelien Jarno + + * sysdeps/alpha/fpu/libm-test-ulps: Regenerated. + +2018-12-27 Paul Eggert + + regex: simplify Gnulib port + This simplifies the code, by removing stuff intended for porting + to Gnulib but no longer needed there. + * posix/regcomp.c [!_LIBC]: No need to put #ifdef _LIBC around + uses of libc_hidden_def, weak_alias. + * posix/regcomp.c, posix/regexec.c: Use __restrict rather than + _Restrict_ except for public-facing headers. + * posix/regex_internal.h (attribute_hidden) [!_LIBC]: + Remove; already defined elsewhere. + * posix/regex.c, posix/regex_internal.h: + Use __GNUC_PREREQ instead of rolling our own. + * posix/regex_internal.h (__GNUC_PREREQ): Remove duplicate defn. + +2018-12-27 Wilco Dijkstra + + * benchtests/bench-strlen.c (generic_strlen): New function. + (memchr_strlen): New function. + +2018-12-26 H.J. Lu + + * sysdeps/x86_64/fpu/s_sincosf.S: Removed. + * sysdeps/x86_64/fpu/multiarch/s_sincosf-sse2.S: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_sincosf-sse2.c: New file. + +2018-12-26 H.J. Lu + + * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated. + +2018-12-26 H.J. Lu + + * sysdeps/ieee754/flt-32/s_sincosf.h: Include . + (sincos_t, sincosf_poly, sinf_poly): Moved to ... + * sysdeps/ieee754/flt-32/sincosf_poly.h: Here. New file. + * sysdeps/x86/fpu/s_sincosf_data.c: New file. + * sysdeps/x86/fpu/sincosf_poly.h: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: Just include + . + +2018-12-21 Joseph Myers + + [BZ #24023] + * sysdeps/unix/sysv/linux/nios2/localplt.data: Allow __floatundidf + PLT reference in libc.so. + * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data: Allow + _Q_lltoq and _Q_qtod PLT references in libc.so. + +2018-12-21 Wilco Dijkstra + + * benchtests/bench-memchr.c: Cleanup defines. + * benchtests/bench-memcmp.c: Likewise. + * benchtests/bench-memset.c: Likewise. + * benchtests/bench-memset-large.c: Likewise. + * benchtests/bench-memset-walk.c: Likewise. + * benchtests/bench-stpcpy.c: Likewise. + * benchtests/bench-stpncpy.c: Likewise. + * benchtests/bench-strcat.c: Likewise. + * benchtests/bench-strchr.c: Likewise. + * benchtests/bench-strcmp.c: Likewise. + * benchtests/bench-strcpy.c: Likewise. + * benchtests/bench-strcspn.c: Likewise. + * benchtests/bench-string.h: Likewise. + * benchtests/bench-strlen.c: Likewise. + * benchtests/bench-strncat.c: Likewise. + * benchtests/bench-strncmp.c: Likewise. + * benchtests/bench-strncpy.c: Likewise. + * benchtests/bench-strnlen.c: Likewise. + * benchtests/bench-strpbrk.c: Likewise. + * benchtests/bench-strrchr.c: Likewise. + * benchtests/bench-strspn.c: Likewise. + +2018-12-21 Joseph Myers + + * stdlib/longlong.h: Update from GCC. + + [BZ #23993] + * configure.ac (libc_cv_compiler_ok): Require GCC 5 or later. + * configure: Regenerated. + * manual/install.texi (Tools for Compilation): Update minimum GCC + version. + * INSTALL: Regenerated. + +2018-12-21 Istvan Kurucsai + + * malloc/malloc.c (munmap_chunk): Verify chunk alignment. + +2018-12-20 Istvan Kurucsai + + * malloc/malloc.c (mremap_chunk): Additional checks. + +2018-12-21 Mao Han + + * config.h.in (CSKYABI, CSKY_HARD_FLOAT): New Define. + * scripts/build-many-glibcs.py: Add C-SKY targets. + * sysdeps/csky/Implies: New file. + * sysdeps/csky/Makefile: Likewise. + * sysdeps/csky/abiv2/__longjmp.S: Likewise. + * sysdeps/csky/abiv2/csky-mcount.S: Likewise. + * sysdeps/csky/abiv2/dl-trampoline.S: Likewise. + * sysdeps/csky/abiv2/memcmp.S: Likewise. + * sysdeps/csky/abiv2/memcpy.S: Likewise. + * sysdeps/csky/abiv2/memmove.S: Likewise. + * sysdeps/csky/abiv2/memset.S: Likewise. + * sysdeps/csky/abiv2/setjmp.S: Likewise. + * sysdeps/csky/abiv2/start.S: Likewise. + * sysdeps/csky/abiv2/strcmp.S: Likewise. + * sysdeps/csky/abiv2/strcpy.S: Likewise. + * sysdeps/csky/abiv2/strlen.S: Likewise. + * sysdeps/csky/abiv2/tls-macros.h: Likewise. + * sysdeps/csky/abort-instr.h: Likewise. + * sysdeps/csky/atomic-machine.h: Likewise. + * sysdeps/csky/bits/endian.h: Likewise. + * sysdeps/csky/bits/fenv.h: Likewise. + * sysdeps/csky/bits/link.h: Likewise. + * sysdeps/csky/bits/setjmp.h: Likewise. + * sysdeps/csky/bsd-_setjmp.S: Likewise. + * sysdeps/csky/bsd-setjmp.S: Likewise. + * sysdeps/csky/configure: Likewise. + * sysdeps/csky/configure.ac: Likewise. + * sysdeps/csky/dl-machine.h: Likewise. + * sysdeps/csky/dl-procinfo.c: Likewise. + * sysdeps/csky/dl-procinfo.h: Likewise. + * sysdeps/csky/dl-sysdep.h: Likewise. + * sysdeps/csky/dl-tls.h: Likewise. + * sysdeps/csky/fpu/fclrexcpt.c: Likewise. + * sysdeps/csky/fpu/fedisblxcpt.c: Likewise. + * sysdeps/csky/fpu/feenablxcpt.c: Likewise. + * sysdeps/csky/fpu/fegetenv.c: Likewise. + * sysdeps/csky/fpu/fegetexcept.c: Likewise. + * sysdeps/csky/fpu/fegetmode.c: Likewise. + * sysdeps/csky/fpu/fegetround.c: Likewise. + * sysdeps/csky/fpu/feholdexcpt.c: Likewise. + * sysdeps/csky/fpu/fenv_libc.h: Likewise. + * sysdeps/csky/fpu/fenv_private.h: Likewise. + * sysdeps/csky/fpu/fesetenv.c: Likewise. + * sysdeps/csky/fpu/fesetexcept.c: Likewise. + * sysdeps/csky/fpu/fesetmode.c: Likewise. + * sysdeps/csky/fpu/fesetround.c: Likewise. + * sysdeps/csky/fpu/feupdateenv.c: Likewise. + * sysdeps/csky/fpu/fgetexcptflg.c: Likewise. + * sysdeps/csky/fpu/fix-fp-int-convert-overflow.h: Likewise. + * sysdeps/csky/fpu/fraiseexcpt.c: Likewise. + * sysdeps/csky/fpu/fsetexcptflg.c: Likewise. + * sysdeps/csky/fpu/ftestexcept.c: Likewise. + * sysdeps/csky/fpu/libm-test-ulps: Likewise. + * sysdeps/csky/fpu/libm-test-ulps-name: Likewise. + * sysdeps/csky/fpu_control.h: Likewise. + * sysdeps/csky/gccframe.h: Likewise. + * sysdeps/csky/jmpbuf-unwind.h: Likewise. + * sysdeps/csky/ldsodefs.h: Likewise. + * sysdeps/csky/libc-tls.c: Likewise. + * sysdeps/csky/linkmap.h: Likewise. + * sysdeps/csky/machine-gmon.h: Likewise. + * sysdeps/csky/memusage.h: Likewise. + * sysdeps/csky/nofpu/Implies: Likewise. + * sysdeps/csky/nofpu/libm-test-ulps: Likewise. + * sysdeps/csky/nofpu/libm-test-ulps-name: Likewise. + * sysdeps/csky/nptl/Makefile: Likewise. + * sysdeps/csky/nptl/bits/pthreadtypes-arch.h: Likewise. + * sysdeps/csky/nptl/bits/semaphore.h: Likewise. + * sysdeps/csky/nptl/pthread-offsets.h: Likewise. + * sysdeps/csky/nptl/pthreaddef.h: Likewise. + * sysdeps/csky/nptl/tcb-offsets.sym: Likewise. + * sysdeps/csky/nptl/tls.h: Likewise. + * sysdeps/csky/preconfigure: Likewise. + * sysdeps/csky/sfp-machine.h: Likewise. + * sysdeps/csky/sotruss-lib.c: Likewise. + * sysdeps/csky/stackinfo.h: Likewise. + * sysdeps/csky/sysdep.h: Likewise. + * sysdeps/csky/tininess.h: Likewise. + * sysdeps/csky/tst-audit.h: Likewise. + * sysdeps/unix/sysv/linux/csky/Implies: Likewise. + * sysdeps/unix/sysv/linux/csky/Makefile: Likewise. + * sysdeps/unix/sysv/linux/csky/Versions: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/____longjmp_chk.S: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/clone.S: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/swapcontext.S: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/syscall.S: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym: Likewise. + * sysdeps/unix/sysv/linux/csky/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/csky/bits/shmlba.h: Likewise. + * sysdeps/unix/sysv/linux/csky/c++-types.data: Likewise. + * sysdeps/unix/sysv/linux/csky/configure: Likewise. + * sysdeps/unix/sysv/linux/csky/configure.ac: Likewise. + * sysdeps/unix/sysv/linux/csky/ipc_priv.h: Likewise. + * sysdeps/unix/sysv/linux/csky/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/csky/kernel-features.h: Likewise. + * sysdeps/unix/sysv/linux/csky/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/ldconfig.h: Likewise. + * sysdeps/unix/sysv/linux/csky/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/csky/localplt.data: Likewise. + * sysdeps/unix/sysv/linux/csky/makecontext.c: Likewise. + * sysdeps/unix/sysv/linux/csky/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/csky/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/csky/register-dump.h: Likewise. + * sysdeps/unix/sysv/linux/csky/shlib-versions: Likewise. + * sysdeps/unix/sysv/linux/csky/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/csky/sys/cachectl.h: Likewise. + * sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Likewise. + * sysdeps/unix/sysv/linux/csky/sys/user.h: Likewise. + * sysdeps/unix/sysv/linux/csky/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/csky/sysdep.h: Likewise. + +2018-12-18 Albert ARIBAUD + + * include/time.h (__difftime64): Add. + * time/difftime.c (subtract): convert to 64-bit time. + * time/difftime.c (__difftime64): Add. + * time/difftime.c (__difftime): Wrap around __difftime64. + +2018-12-20 H.J. Lu + + * manual/examples/add.c: Remove redundant "if not". + * manual/examples/argp-ex1.c: Likewise. + * manual/examples/argp-ex2.c: Likewise. + * manual/examples/argp-ex3.c: Likewise. + * manual/examples/argp-ex4.c: Likewise. + * manual/examples/atexit.c: Likewise. + * manual/examples/db.c: Likewise. + * manual/examples/dir.c: Likewise. + * manual/examples/dir2.c: Likewise. + * manual/examples/execinfo.c: Likewise. + * manual/examples/filecli.c: Likewise. + * manual/examples/filesrv.c: Likewise. + * manual/examples/fmtmsgexpl.c: Likewise. + * manual/examples/genpass.c: Likewise. + * manual/examples/inetcli.c: Likewise. + * manual/examples/inetsrv.c: Likewise. + * manual/examples/isockad.c: Likewise. + * manual/examples/longopt.c: Likewise. + * manual/examples/memopen.c: Likewise. + * manual/examples/memstrm.c: Likewise. + * manual/examples/mkdirent.c: Likewise. + * manual/examples/mkfsock.c: Likewise. + * manual/examples/mkisock.c: Likewise. + * manual/examples/mygetpass.c: Likewise. + * manual/examples/pipe.c: Likewise. + * manual/examples/popen.c: Likewise. + * manual/examples/rprintf.c: Likewise. + * manual/examples/search.c: Likewise. + * manual/examples/select.c: Likewise. + * manual/examples/setjmp.c: Likewise. + * manual/examples/sigh1.c: Likewise. + * manual/examples/sigusr.c: Likewise. + * manual/examples/stpcpy.c: Likewise. + * manual/examples/strdupa.c: Likewise. + * manual/examples/strftim.c: Likewise. + * manual/examples/subopt.c: Likewise. + * manual/examples/swapcontext.c: Likewise. + * manual/examples/termios.c: Likewise. + * manual/examples/testopt.c: Likewise. + * manual/examples/testpass.c: Likewise. + * manual/examples/timeval_subtract.c: Likewise. + +2018-12-19 Joseph Myers + + * sysdeps/x86/fpu/math_private.h: New file. + * sysdeps/x86/fpu/bits/mathinline.h: Remove. + + * sysdeps/x86/fpu/bits/mathinline.h (sinh): Remove inline + definition. + (cosh): Likewise. + (tanh): Likewise. + +2018-12-19 Tulio Magno Quites Machado Filho + + * elf/dl-sysdep.c (auxvars): Add AT_L1I_CACHESIZE, + AT_L1I_CACHEGEOMETRY, AT_L1D_CACHESIZE, AT_L1D_CACHEGEOMETRY, + AT_L2_CACHESIZE, AT_L2_CACHEGEOMETRY, AT_L3_CACHESIZE and + AT_L3_CACHEGEOMETRY. Fix indentation when printing the other + fields. + (_dl_show_auxv): Give a special treatment to + AT_L1I_CACHEGEOMETRY, AT_L1D_CACHEGEOMETRY, AT_L2_CACHEGEOMETRY + and AT_L3_CACHEGEOMETRY. + * sysdeps/powerpc/dl-procinfo.h (cache_geometry): New function. + (_dl_procinfo): Fix indentation when printing AT_HWCAP and + AT_HWCAP2. Add support for AT_L1I_CACHEGEOMETRY, + AT_L1D_CACHEGEOMETRY, AT_L2_CACHEGEOMETRY and AT_L3_CACHEGEOMETRY. + +2018-12-19 Andreas Schwab + + * nscd/connections.c (check_use): Don't abort on invalid len. + +2018-12-18 Samuel Thibault + + * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Test against 64bit `cmd' + values in the 64bit value cases. + +2018-12-18 Albert ARIBAUD + + * include/time.h + (__ctime64_r): Add. + * time/ctime_r.c + (__ctime64_r): Add. + [__TIMESIZE != 64] (__ctime_r): Turn into a wrapper. + + * include/time.h + (__ctime64): Add. + * time/gmtime.c + (__ctime64): Add. + [__TIMESIZE != 64] (ctime): Turn into a wrapper. + + * include/time.h + (__gmtime64_r): Add. + * time/gmtime.c + (__gmtime64_r): Add. + [__TIMESIZE != 64] (__gmtime): Turn into a wrapper. + + * include/time.h + (__gmtime64): Add. + * time/gmtime.c + (__gmtime64): Add. + [__TIMESIZE != 64] (__gmtime): Turn into a wrapper. + + * include/time.h + (__localtime64_r): Add. + * time/localtime.c + (__localtime64_r): Add. + [__TIMESIZE != 64] (__localtime_r): Turn into a wrapper. + +2018-12-18 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Use Linux generic + kernel_sigction definition. + + * sysdeps/unix/sysv/linux/ia64/kernel_sigaction.h: Remove file. + + * sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h: Remove file. + + * sysdeps/unix/sysv/linux/alpha/Makefile: Update comment about + __syscall_rt_sigaction. + * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h + (kernel_sigaction): Use Linux generic defintion. + (STUB): Define. + (__syscall_rt_sigreturn, __syscall_sigreturn): Add prototype. + * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S + (__syscall_rt_sigaction): Remove implementation. + (__syscall_sigreturn, __syscall_rt_sigreturn): Define as global and + hidden. + * sysdeps/unix/sysv/linux/alpha/sigaction.c: Remove file. + * sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL, + INTERNAL_SYSCALL): Remove definitions. + * sysdeps/unix/sysv/linux/sigaction.c: Define STUB to accept both the + action and signal set size. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (STUB): Redefine. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (STUB): Likewise. + +2018-12-18 Adhemerval Zanella + James Clarke + + [BZ #23967] + * sysdeps/unix/sysv/linux/kernel_sigaction.h (HAS_SA_RESTORER): + Define if SA_RESTORER is defined. + (kernel_sigaction): Define sa_restorer if HAS_SA_RESTORER is defined. + (SET_SA_RESTORER, RESET_SA_RESTORER): Define iff the macro are not + already defined. + * sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h (SA_RESTORER, + kernel_sigaction, SET_SA_RESTORER, RESET_SA_RESTORER): Remove + definitions. + (HAS_SA_RESTORER): Define. + * sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h (SA_RESTORER, + SET_SA_RESTORER, RESET_SA_RESTORER): Remove definition. + (HAS_SA_RESTORER): Define. + * sysdeps/unix/sysv/linux/nios2/kernel_sigaction.h: Include generic + kernel_sigaction after define SET_SA_RESTORER and RESET_SA_RESTORER. + * sysdeps/unix/sysv/linux/powerpc/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. + +2018-12-18 Joseph Myers + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_ST_INO_64_BIT): Remove macro definition. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + (__ASSUME_ST_INO_64_BIT): Do not undefine and define. + * sysdeps/unix/sysv/linux/sh/kernel-features.h + (__ASSUME_ST_INO_64_BIT): Likewise. + * sysdeps/unix/sysv/linux/fxstat64.c: Do not include + . + (___fxstat64) [_HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT]: + Remove conditional code. + * sysdeps/unix/sysv/linux/lxstat64.c: Do not include + . + (___lxstat64) [_HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT]: + Remove conditional code. + * sysdeps/unix/sysv/linux/xstat64.c: Do not include + . + (___xstat64) [_HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT]: + Remove conditional code. + * sysdeps/unix/sysv/linux/xstatconv.c: Do not include + . + (__xstat32_conv) [_HAVE_STAT64___ST_INO]: Remove conditional code. + [!_HAVE_STAT64___ST_INO]: Make code unconditional. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/ifunc-resolve.h + (s390_vx_libc_ifunc, s390_vx_libc_ifunc_redirected, + s390_vx_libc_ifunc2, s390_vx_libc_ifunc_init, + s390_vx_libc_ifunc2_redirected, s390_libc_ifunc): + Delete macro definition. + (s390_libc_ifunc_init): Rename to + s390_libc_ifunc_expr_stfle_init. + * sysdeps/s390/bzero: Use + s390_libc_ifunc_expr_stfle_init instead of + s390_libc_ifunc_init. + * sysdeps/s390/memcmp.c: Likewise. + * sysdeps/s390/memcpy.c: Likewise. + * sysdeps/s390/mempcpy.c: Likewise. + * sysdeps/s390/memset.c: Likewise. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/gconv_simple.c (ICONV_VX_IFUNC): + Define macro dependent on HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wmemcmp variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wmemcmp variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wmemcmp. + * sysdeps/s390/multiarch/wmemcmp-c.c: Move to ... + * sysdeps/s390/wmemcmp-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wmemcmp-vx.S: Move to ... + * sysdeps/s390/wmemcmp-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wmemcmp.c: Move to ... + * sysdeps/s390/wmemcmp.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wmemcmp.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wmemset variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wmemset variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wmemset. + * sysdeps/s390/multiarch/wmemset-c.c: Move to ... + * sysdeps/s390/wmemset-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wmemset-vx.S: Move to ... + * sysdeps/s390/wmemset-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wmemset.c: Move to ... + * sysdeps/s390/wmemset.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wmemset.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wmemchr variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wmemchr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wmemchr. + * sysdeps/s390/multiarch/wmemchr-c.c: Move to ... + * sysdeps/s390/wmemchr-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wmemchr-vx.S: Move to ... + * sysdeps/s390/wmemchr-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wmemchr.c: Move to ... + * sysdeps/s390/wmemchr.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wmemchr.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcscspn variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcscspn variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcscspn. + * sysdeps/s390/multiarch/wcscspn-c.c: Move to ... + * sysdeps/s390/wcscspn-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcscspn-vx.S: Move to ... + * sysdeps/s390/wcscspn-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcscspn.c: Move to ... + * sysdeps/s390/wcscspn.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcscspn.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcspbrk variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcspbrk variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcspbrk. + * sysdeps/s390/multiarch/wcspbrk-c.c: Move to ... + * sysdeps/s390/wcspbrk-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcspbrk-vx.S: Move to ... + * sysdeps/s390/wcspbrk-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcspbrk.c: Move to ... + * sysdeps/s390/wcspbrk.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcspbrk.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcsspn variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcsspn variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcsspn. + * sysdeps/s390/multiarch/wcsspn-c.c: Move to ... + * sysdeps/s390/wcsspn-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsspn-vx.S: Move to ... + * sysdeps/s390/wcsspn-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsspn.c: Move to ... + * sysdeps/s390/wcsspn.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcsspn.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcsrchr variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcsrchr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcsrchr. + * sysdeps/s390/multiarch/wcsrchr-c.c: Move to ... + * sysdeps/s390/wcsrchr-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsrchr-vx.S: Move to ... + * sysdeps/s390/wcsrchr-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsrchr.c: Move to ... + * sysdeps/s390/wcsrchr.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcsrchr.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcschrnul variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcschrnul variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcschrnul. + * sysdeps/s390/multiarch/wcschrnul-c.c: Move to ... + * sysdeps/s390/wcschrnul-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcschrnul-vx.S: Move to ... + * sysdeps/s390/wcschrnul-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcschrnul.c: Move to ... + * sysdeps/s390/wcschrnul.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcschrnul.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcschr variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcschr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcschr. + * sysdeps/s390/multiarch/wcschr-c.c: Move to ... + * sysdeps/s390/wcschr-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcschr-vx.S: Move to ... + * sysdeps/s390/wcschr-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcschr.c: Move to ... + * sysdeps/s390/wcschr.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcschr.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcsncmp variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcsncmp variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcsncmp. + * sysdeps/s390/multiarch/wcsncmp-c.c: Move to ... + * sysdeps/s390/wcsncmp-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsncmp-vx.S: Move to ... + * sysdeps/s390/wcsncmp-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsncmp.c: Move to ... + * sysdeps/s390/wcsncmp.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcsncmp.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcscmp variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcscmp variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcscmp. + * sysdeps/s390/multiarch/wcscmp-c.c: Move to ... + * sysdeps/s390/wcscmp-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcscmp-vx.S: Move to ... + * sysdeps/s390/wcscmp-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcscmp.c: Move to ... + * sysdeps/s390/wcscmp.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcscmp.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcsncat variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcsncat variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcsncat. + * sysdeps/s390/multiarch/wcsncat-c.c: Move to ... + * sysdeps/s390/wcsncat-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsncat-vx.S: Move to ... + * sysdeps/s390/wcsncat-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsncat.c: Move to ... + * sysdeps/s390/wcsncat.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcsncat.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcscat variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcscat variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcscat. + * sysdeps/s390/multiarch/wcscat-c.c: Move to ... + * sysdeps/s390/wcscat-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcscat-vx.S: Move to ... + * sysdeps/s390/wcscat-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcscat.c: Move to ... + * sysdeps/s390/wcscat.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcscat.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcpncpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcpncpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcpncpy. + * sysdeps/s390/multiarch/wcpncpy-c.c: Move to ... + * sysdeps/s390/wcpncpy-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcpncpy-vx.S: Move to ... + * sysdeps/s390/wcpncpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcpncpy.c: Move to ... + * sysdeps/s390/wcpncpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcpncpy.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcsncpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcsncpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcsncpy. + * sysdeps/s390/multiarch/wcsncpy-c.c: Move to ... + * sysdeps/s390/wcsncpy-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsncpy-vx.S: Move to ... + * sysdeps/s390/wcsncpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsncpy.c: Move to ... + * sysdeps/s390/wcsncpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcsncpy.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcpcpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcpcpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcpcpy. + * sysdeps/s390/multiarch/wcpcpy-c.c: Move to ... + * sysdeps/s390/wcpcpy-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcpcpy-vx.S: Move to ... + * sysdeps/s390/wcpcpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcpcpy.c: Move to ... + * sysdeps/s390/wcpcpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcpcpy.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcscpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcscpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcscpy. + * sysdeps/s390/multiarch/wcscpy-c.c: Move to ... + * sysdeps/s390/wcscpy-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcscpy-vx.S: Move to ... + * sysdeps/s390/wcscpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcscpy.c: Move to ... + * sysdeps/s390/wcscpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcscpy.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcsnlen variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcsnlen variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcsnlen. + * sysdeps/s390/multiarch/wcsnlen-c.c: Move to ... + * sysdeps/s390/wcsnlen-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsnlen-vx.S: Move to ... + * sysdeps/s390/wcsnlen-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcsnlen.c: Move to ... + * sysdeps/s390/wcsnlen.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcsnlen.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove wcslen variants. + * sysdeps/s390/Makefile (sysdep_routines): Add wcslen variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for wcslen. + * sysdeps/s390/multiarch/wcslen-c.c: Move to ... + * sysdeps/s390/wcslen-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcslen-vx.S: Move to ... + * sysdeps/s390/wcslen-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/wcslen.c: Move to ... + * sysdeps/s390/wcslen.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-wcslen.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove memrchr variants. + * sysdeps/s390/Makefile (sysdep_routines): Add memrchr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for memrchr. + * sysdeps/s390/multiarch/memrchr-c.c: Move to ... + * sysdeps/s390/memrchr-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/memrchr-vx.S: Move to ... + * sysdeps/s390/memrchr-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/memrchr.c: Move to ... + * sysdeps/s390/memrchr.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-memrchr.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove memccpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add memccpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for memccpy. + * sysdeps/s390/multiarch/memccpy-c.c: Move to ... + * sysdeps/s390/memccpy-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/memccpy-vx.S: Move to ... + * sysdeps/s390/memccpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/memccpy.c: Move to ... + * sysdeps/s390/memccpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-memccpy.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove rawmemchr variants. + * sysdeps/s390/Makefile (sysdep_routines): Add rawmemchr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for rawmemchr. + * sysdeps/s390/multiarch/rawmemchr-c.c: Move to ... + * sysdeps/s390/rawmemchr-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/rawmemchr-vx.S: Move to ... + * sysdeps/s390/rawmemchr-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/rawmemchr.c: Move to ... + * sysdeps/s390/rawmemchr.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-rawmemchr.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove memchr variants. + * sysdeps/s390/Makefile (sysdep_routines): Add memchr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for memchr. + * sysdeps/s390/multiarch/memchr-vx.S: Move to ... + * sysdeps/s390/memchr-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/memchr.c: Move to ... + * sysdeps/s390/memchr.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-memchr.h: New file. + * sysdeps/s390/s390-64/memchr.S: Move to ... + * sysdeps/s390/memchr-z900.S: ... here and adjust to be usable + for 31/64bit and ifunc handling. + * sysdeps/s390/s390-32/multiarch/memchr.c: Delete file. + * sysdeps/s390/s390-64/multiarch/memchr.c: Likewise. + * sysdeps/s390/s390-32/memchr.S: Likewise. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strcspn variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strcspn variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strcspn. + * sysdeps/s390/multiarch/strcspn-c.c: Move to ... + * sysdeps/s390/strcspn-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strcspn-vx.S: Move to ... + * sysdeps/s390/strcspn-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strcspn.c: Move to ... + * sysdeps/s390/strcspn.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strcspn.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strpbrk variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strpbrk variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strpbrk. + * sysdeps/s390/multiarch/strpbrk-c.c: Move to ... + * sysdeps/s390/strpbrk-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strpbrk-vx.S: Move to ... + * sysdeps/s390/strpbrk-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strpbrk.c: Move to ... + * sysdeps/s390/strpbrk.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strpbrk.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strspn variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strspn variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strspn. + * sysdeps/s390/multiarch/strspn-c.c: Move to ... + * sysdeps/s390/strspn-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strspn-vx.S: Move to ... + * sysdeps/s390/strspn-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strspn.c: Move to ... + * sysdeps/s390/strspn.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strspn.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strrchr variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strrchr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strrchr. + * sysdeps/s390/multiarch/strrchr-c.c: Move to ... + * sysdeps/s390/strrchr-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strrchr-vx.S: Move to ... + * sysdeps/s390/strrchr-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strrchr.c: Move to ... + * sysdeps/s390/strrchr.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strrchr.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strchrnul variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strchrnul variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strchrnul. + * sysdeps/s390/multiarch/strchrnul-c.c: Move to ... + * sysdeps/s390/strchrnul-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strchrnul-vx.S: Move to ... + * sysdeps/s390/strchrnul-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strchrnul.c: Move to ... + * sysdeps/s390/strchrnul.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strchrnul.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strchr variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strchr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strchr. + * sysdeps/s390/multiarch/strchr-c.c: Move to ... + * sysdeps/s390/strchr-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strchr-vx.S: Move to ... + * sysdeps/s390/strchr-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strchr.c: Move to ... + * sysdeps/s390/strchr.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strchr.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strncmp variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strncmp variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strncmp. + * sysdeps/s390/multiarch/strncmp-c.c: Move to ... + * sysdeps/s390/strncmp-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strncmp-vx.S: Move to ... + * sysdeps/s390/strncmp-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strncmp.c: Move to ... + * sysdeps/s390/strncmp.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strncmp.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strcmp variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strcmp variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strcmp. + * sysdeps/s390/multiarch/strcmp-vx.S: Move to ... + * sysdeps/s390/strcmp-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strcmp.c: Move to ... + * sysdeps/s390/strcmp.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strcmp.h: New file. + * sysdeps/s390/s390-64/strcmp.S: Move to ... + * sysdeps/s390/strcmp-z900.S: ... here and adjust to be usable + for 31/64bit and ifunc handling. + * sysdeps/s390/s390-32/multiarch/strcmp.c: Delete file. + * sysdeps/s390/s390-64/multiarch/strcmp.c: Likewise. + * sysdeps/s390/s390-32/strcmp.S: Likewise. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strncat variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strncat variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strncat. + * sysdeps/s390/multiarch/strncat-c.c: Move to ... + * sysdeps/s390/strncat-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strncat-vx.S: Move to ... + * sysdeps/s390/strncat-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strncat.c: Move to ... + * sysdeps/s390/strncat.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strncat.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strcat variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strcat variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strcat. + * sysdeps/s390/multiarch/strcat-c.c: Move to ... + * sysdeps/s390/strcat-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strcat-vx.S: Move to ... + * sysdeps/s390/strcat-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strcat.c: Move to ... + * sysdeps/s390/strcat.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strcat.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove stpncpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add stpncpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for stpncpy. + * sysdeps/s390/multiarch/stpncpy-c.c: Move to ... + * sysdeps/s390/stpncpy-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/stpncpy-vx.S: Move to ... + * sysdeps/s390/stpncpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/stpncpy.c: Move to ... + * sysdeps/s390/stpncpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-stpncpy.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strncpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strncpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strncpy. + * sysdeps/s390/multiarch/strncpy-vx.S: Move to ... + * sysdeps/s390/strncpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strncpy.c: Move to ... + * sysdeps/s390/strncpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strncpy.h: New file. + * sysdeps/s390/s390-64/strncpy.S: Move to ... + * sysdeps/s390/s390-64/strncpy-z900.S: ... here + and adjust ifunc handling. + * sysdeps/s390/s390-32/strncpy.S: Move to ... + * sysdeps/s390/s390-32/strncpy-z900.S: ... here + and adjust ifunc handling. + * sysdeps/s390/s390-32/multiarch/strncpy.c: Delete file. + * sysdeps/s390/s390-64/multiarch/strncpy.c: Likewise. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove stpcpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add stpcpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for stpcpy. + * sysdeps/s390/multiarch/stpcpy-c.c: Move to ... + * sysdeps/s390/stpcpy-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/stpcpy-vx.S: Move to ... + * sysdeps/s390/stpcpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/stpcpy.c: Move to ... + * sysdeps/s390/stpcpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-stpcpy.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strcpy variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strcpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strcpy. + * sysdeps/s390/multiarch/strcpy-vx.S: Move to ... + * sysdeps/s390/strcpy-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strcpy.c: Move to ... + * sysdeps/s390/strcpy.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strcpy.h: New file. + * sysdeps/s390/s390-64/strcpy.S: Move to ... + * sysdeps/s390/strcpy-z900.S: ... here and adjust to be usable + for 31/64bit and ifunc handling. + * sysdeps/s390/s390-32/multiarch/strcpy.c: Delete file. + * sysdeps/s390/s390-64/multiarch/strcpy.c: Likewise. + * sysdeps/s390/s390-32/strcpy.S: Likewise. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strnlen variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strnlen variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strnlen. + * sysdeps/s390/multiarch/strnlen-c.c: Move to ... + * sysdeps/s390/strnlen-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strnlen-vx.S: Move to ... + * sysdeps/s390/strnlen-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strnlen.c: Move to ... + * sysdeps/s390/strnlen.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strnlen.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/Makefile + (sysdep_routines): Remove strlen variants. + * sysdeps/s390/Makefile (sysdep_routines): Add strlen variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Refactor ifunc handling for strlen. + * sysdeps/s390/multiarch/strlen-c.c: Move to ... + * sysdeps/s390/strlen-c.c: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strlen-vx.S: Move to ... + * sysdeps/s390/strlen-vx.S: ... here and adjust ifunc handling. + * sysdeps/s390/multiarch/strlen.c: Move to ... + * sysdeps/s390/strlen.c: ... here and adjust ifunc handling. + * sysdeps/s390/ifunc-strlen.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/Makefile (sysdep_routines): Add memmem variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add ifunc variants for memmem. + * sysdeps/s390/ifunc-memmem.h: New file. + * sysdeps/s390/memmem.c: Likewise. + * sysdeps/s390/memmem-c.c: Likewise. + * sysdeps/s390/memmem-vx.c: Likewise. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/Makefile (sysdep_routines): Add strstr variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add ifunc variants for strstr. + * sysdeps/s390/ifunc-strstr.h: New file. + * sysdeps/s390/strstr.c: Likewise. + * sysdeps/s390/strstr-c.c: Likewise. + * sysdeps/s390/strstr-vx.c: Likewise. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/Makefile (sysdep_routines): Add memmove-c. + * sysdeps/s390/ifunc-memcpy.h (HAVE_MEMMOVE_IFUNC, + HAVE_MEMMOVE_IFUNC_AND_VX_SUPPORT, MEMMOVE_DEFAULT, + HAVE_MEMMOVE_C, MEMMOVE_C, HAVE_MEMMOVE_Z13, MEMMOVE_Z13): + New defines. + * sysdeps/s390/memcpy-z900.S: Add z13 memmove implementation. + * sysdeps/s390/memmove-c.c: New file. + * sysdeps/s390/memmove.c: Likewise. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add ifunc variants for memmove. + +2018-12-18 Stefan Liebler + + * config.h.in (HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT): New undefine. + * sysdeps/s390/configure.ac: Add check for z13 support. + * sysdeps/s390/configure: Regenerated. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/memcopy.h: New file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/s390-32/bcopy.S: Remove. + * sysdeps/s390/s390-64/bcopy.S: Likewise. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/ifunc-memcpy.h: New File. + * sysdeps/s390/memcpy.S: Move to ... + * sysdeps/s390/memcpy-z900.S ... here. + Move implementations from memcpy-s390x.s to here. + * sysdeps/s390/multiarch/memcpy-s390x.S: Delete File. + * sysdeps/s390/multiarch/Makefile (sysdep_routines): + Remove memcpy/mempcpy variants. + * sysdeps/s390/Makefile (sysdep_routines): + Add memcpy/mempcpy variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Adjust ifunc variants for + memcpy and mempcpy. + * sysdeps/s390/multiarch/memcpy.c: Move ifunc resolver + to ... + * sysdeps/s390/memcpy.c: ... here. + Adjust ifunc variants for memcpy. + * sysdeps/s390/multiarch/mempcpy.c: Move to ... + * sysdeps/s390/mempcpy.c: ... here. + Adjust ifunc variants for mempcpy. + * sysdeps/s390/mempcpy.S: Delete file. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/s390-64/memcpy.S: Move to ... + * sysdeps/s390/memcpy.S: ... here. + Adjust to be usable for 31/64bit. + * sysdeps/s390/s390-32/memcpy.S: Delete File. + * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add memcpy. + * sysdeps/s390/s390-32/multiarch/Makefile: Delete file. + * sysdeps/s390/s390-64/multiarch/Makefile: Likewise. + * sysdeps/s390/s390-64/multiarch/memcpy-s390x.S: Move to ... + * sysdeps/s390/multiarch/memcpy-s390x.S: ... here. + Adjust to be usable for 31/64bit. + * sysdeps/s390/s390-32/multiarch/memcpy-s390.S: Delete File. + * sysdeps/s390/s390-64/multiarch/memcpy.c: Move to ... + * sysdeps/s390/multiarch/memcpy.c: ... here. + * sysdeps/s390/s390-32/multiarch/memcpy.c: Delete File. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/ifunc-memcmp.h: New File. + * sysdeps/s390/memcmp.S: Move to ... + * sysdeps/s390/memcmp-z900.S ... here. + Move implementations from memcmp-s390x.s to here. + * sysdeps/s390/multiarch/memcmp-s390x.S: Delete File. + * sysdeps/s390/multiarch/Makefile (sysdep_routines): + Remove memcmp variants. + * sysdeps/s390/Makefile (sysdep_routines): + Add memcmp variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Adjust ifunc variants for + memcmp. + * sysdeps/s390/multiarch/memcmp.c: Move ifunc resolver + to ... + * sysdeps/s390/memcmp.c: ... here. + Adjust ifunc variants for memcmp. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/s390-64/memcmp.S: Move to ... + * sysdeps/s390/memcmp.S: ... here. + Adjust to be usable for 31/64bit. + * sysdeps/s390/s390-32/memcmp.S: Delete File. + * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add memcmp. + * sysdeps/s390/s390-32/multiarch/Makefile (sysdep_routines): + Remove memcmp. + * sysdeps/s390/s390-64/multiarch/Makefile: Likewise. + * sysdeps/s390/s390-64/multiarch/memcmp-s390x.S: Move to ... + * sysdeps/s390/multiarch/memcmp-s390x.S: ... here. + Adjust to be usable for 31/64bit. + * sysdeps/s390/s390-32/multiarch/memcmp-s390.S: Delete File. + * sysdeps/s390/s390-64/multiarch/memcmp.c: Move to ... + * sysdeps/s390/multiarch/memcmp.c: ... here. + * sysdeps/s390/s390-32/multiarch/memcmp.c: Delete File. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/s390-32/bzero.S: Delete file. + * sysdeps/s390/s390-64/bzero.S: Likewise. + * sysdeps/s390/Makefile (sysdep_routines): Add bzero. + * sysdeps/s390/bzero.c: New file. + * sysdeps/s390/memset-z900.S: Add bzero entry points. + * sysdeps/s390/ifunc-memset.h: Add bzero function macros. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add bzero ifunc variants. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/ifunc-memset.h: New File. + * sysdeps/s390/memset.S: Move to ... + * sysdeps/s390/memset-z900.S ... here. + Move implementations from memset-s390x.s to here. + * sysdeps/s390/multiarch/memset-s390x.S: Delete File. + * sysdeps/s390/multiarch/Makefile (sysdep_routines): + Remove memset variants. + * sysdeps/s390/Makefile (sysdep_routines): + Add memset variants. + * sysdeps/s390/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Adjust ifunc variants for + memset. + * sysdeps/s390/multiarch/memset.c: Move ifunc resolver + to ... + * sysdeps/s390/memset.c: ... here. + Adjust ifunc variants for memset. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/s390-64/memset.S: Move to ... + * sysdeps/s390/memset.S: ... here. + Adjust to be usable for 31/64bit. + * sysdeps/s390/s390-32/memset.S: Delete File. + * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add memset. + * sysdeps/s390/s390-32/multiarch/Makefile (sysdep_routines): + Remove memset. + * sysdeps/s390/s390-64/multiarch/Makefile: Likewise. + * sysdeps/s390/s390-64/multiarch/memset-s390x.S: Move to ... + * sysdeps/s390/multiarch/memset-s390x.S: ... here. + Adjust to be usable for 31/64bit. + * sysdeps/s390/s390-32/multiarch/memset-s390.S: Delete File. + * sysdeps/s390/s390-64/multiarch/memset.c: Move to ... + * sysdeps/s390/multiarch/memset.c: ... here. + * sysdeps/s390/s390-32/multiarch/memset.c: Delete File. + +2018-12-18 Stefan Liebler + + * sysdeps/s390/multiarch/ifunc-resolve.h + (s390_libc_ifunc_init, s390_libc_ifunc, + s390_vx_libc_ifunc2_redirected): Use hwcap instead of dl_hwcap. + +2018-12-18 Stefan Liebler + + * config.h.in (HAVE_S390_MIN_Z10_ZARCH_ASM_SUPPORT): New undefine. + * sysdeps/s390/configure.ac: Add check for z10 support. + * sysdeps/s390/configure: Regenerated. + +2018-12-18 H.J. Lu + + * sysdeps/i386/atomic-machine.h: Merged with ... + * sysdeps/x86_64/atomic-machine.h: To ... + * sysdeps/x86/atomic-machine.h: This. New file. + +2018-12-18 Florian Weimer + + Rewrite locale/gen-translit.pl in Python. + * locale/Makefile (generated): Add C-translit.h. + (before-compile): Add $(objpfx)C-translit.h. + (C-translit.h): Move to $(objpfx). Create target directory. + Build using Python script. + * locale/gen-translit.py: New file. + * locale/gen-translit.pl: Remove file. + * locale/C-translit.h.in: Change comment character to '#' for + easier parsing without a C preprocessor. + * locale/C-translit.h: Remove generated file. + * manual/install.texi (Tools for Compilation): Do not mention + C-translit.h. + * scripts/build-many-glibcs.py (Context.fix_glibc_timestamps): + Remove locale/C-translit.h. + * scripts/update-copyrights: Likewise. + * INSTALL: Regenerate. + +2018-12-18 Florian Weimer + + [BZ #23995] + * localedata/locales/bi_VU: Remove executable bit from file. + +2018-12-17 Albert ARIBAUD + + * include/time.h + (__localtime64): Add. + * manual/maint.texi: Document Y2038 symbol handling. + * time/localtime.c + (__localtime64): Add. + [__TIMESIZE != 64] (__localtime): Turn into a wrapper. + +2018-12-17 Joseph Myers + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (ASM_CLOBBERS_6_COMMON): + Do not clobber r12. + + * scripts/glibcextract.py (compare_macro_consts): Take parameters + to allow extra macros from first or second sources. + * sysdeps/unix/sysv/linux/tst-mman-consts.py: New file. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (tests-special): Add $(objpfx)tst-mman-consts.out. + ($(objpfx)tst-mman-consts.out): New makefile target. + +2018-12-17 Mao Han + + * sysdeps/unix/sysv/linux/Makefile: Add statx_cp.c. + * sysdeps/unix/sysv/linux/fxstat64.c: Add conditionals for kernel + without stat64 system call support. + * sysdeps/unix/sysv/linux/fxstatat64.c: Likewise. + * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c: Likewise. + * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c: Likewise. + * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/statx_cp.c: New file. + * sysdeps/unix/sysv/linux/statx_cp.c: Likewise. + * sysdeps/unix/sysv/linux/statx_cp.h: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/statx_cp.c: Likewise. + +2018-12-15 Paul Eggert + + regex: fix storage-exhaustion error + [BZ #18040] + * posix/regexec.c (get_subexp): + Do not continue if storage is exhausted. + +2018-12-15 Assaf Gordon + + regex: fix heap-use-after-free error + [BZ #18040] + Problem reported by Saito Takaaki in + https://debbugs.gnu.org/32592 + Call stack get_subexp->get_subexp_sub->clean_state_log_if_needed may + call extend_buffers which reallocates the re_string_t internal buffer. + Local variable 'buf' was not updated in such case, resulting in + use-after-free. + * posix/regexec.c (get_subexp): Update 'buf' after call to + get_subexp_sub. + +2018-12-15 Florian Weimer + + * support/blob_repeat.c (check_mul_overflow_size_t): New function. + (minimum_stride_size): Use it. + (support_blob_repeat_allocate): Likewise. + +2018-12-14 Joseph Myers + + * sysdeps/x86/fpu/bits/mathinline.h (asinh): Remove inline + definition. + (acosh): Likewise. + (atanh): Likewise. + +2018-12-14 Florian Weimer + + * manual/process.texi (Process Creation Concepts): Remove + documentation of process (ID) lifetime. List more process + creation functions. Reference Process Identification section. + (Process Identification): Add information about process ID + lifetime. Describe Linux thread/task IDs. + * manual/signal.texi (Signaling Another Process): Mention that the + signal is always sent to the process. + +2018-12-14 Gabriel F. T. Gomes + + * misc/Makefile (tests): Remove tst-efgcvt. Add tst-dbl-efgcvt + and tst-ldbl-efgcvt. + * misc/tst-efgcvt.c: Renamed to misc/tst-efgcvt-template.c. + * misc/tst-efgcvt-template.c: Renamed from misc/tst-efgcvt.c. + (struct testcase, efcvt_func, efcvt_r_func, ecvt_tests) + (fcvt_tests, output_error, output_r_error, do_test): Use the + macros defined in tst-dbl-efgcvt.c and tst-ldbl-efgcvt.c to: + select the type of floating-point variables and arguments; to + produce extra tests for double and conversion specifiers for + printf; and to set the names of called functions. + * misc/tst-dbl-efgcvt.c: New file that defines the macros used + in tst-efgcvt-template.c. + * misc/tst-ldbl-efgcvt.c: Likewise. + +2018-12-14 Stefan Liebler + + * nss/Makefile (tst-nss-test3.out): New rule. + +2018-12-13 Joseph Myers + + * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Do not + clobber sp. + +2018-12-13 fanjinke + + * sysdeps/x86/cpu-features.c (init_cpu_features): Check for + "HygonGenuine". + +2018-12-13 Andreas Schwab + + [BZ #23861] + * nptl/pthread_rwlock_common.c: Reindent. Fix typos. + (__pthread_rwlock_rdlock_full): Update expected value for + __readers while waiting on PTHREAD_RWLOCK_RWAITING. + * nptl/tst-rwlock-pwn.c: New file. + * nptl/Makefile (tests): Add tst-rwlock-pwn. + +2018-12-12 Joseph Myers + + * sysdeps/x86/fpu/bits/mathinline.h (hypot): Remove inline + definition. + +2018-12-12 Leonardo Sandoval + + * benchtests/scripts/compare_bench.py (do_compare): write to + stderr in casestat is not present. + * benchtests/scripts/compare_bench.py (plot_graphs): write to + stderr in case timings field is not present. Also string showing + the output filename goes into the stderr. + +2018-12-12 Leonardo Sandoval + + * benchtests/scripts/compare_bench.py (do_compare): Catch KeyError + and ZeroDivisorError exceptions. + * benchtests/scripts/compare_bench.py (compare_runs): Use stats + argument to loop through user provided statistics. + * benchtests/scripts/compare_bench.py (main): Include the --stats + argument. + +2018-12-12 Leonardo Sandoval + + * benchtests/scripts/compare_bench.py (compare_runs): Continue + instead of return. + +2018-12-12 Florian Weimer + + * sysdeps/posix/timespec_get.c: Add missing “any later version” + clause to copyright header. + +2018-12-12 Tulio Magno Quites Machado Filho + + [BZ #23614] + * sysdeps/powerpc/powerpc64/addmul_1.S (FUNC): Add CFI offset for + registers saved in the stack frame. + * sysdeps/powerpc/powerpc64/lshift.S (__mpn_lshift): Likewise. + * sysdeps/powerpc/powerpc64/mul_1.S (__mpn_mul_1): Likewise. + +2018-12-11 Gabriel F. T. Gomes + + * include/bits/monetary-ldbl.h: New file. + * include/bits/printf-ldbl.h: Likewise. + * include/bits/stdio-ldbl.h: Likewise. + * include/bits/stdlib-ldbl.h: Likewise. + * include/bits/syslog-ldbl.h: Likewise. + * include/bits/wchar-ldbl.h: Likewise. + +2018-12-11 Gabriel F. T. Gomes + + * libio/libio.h: Remove redirection for _IO_vfprintf. + +2018-12-11 Andreas Schwab + + * Makerules: Remove all references to abilist-pattern. + (update-all-abi): Simplify find expression. + +2018-12-11 Szabolcs Nagy + + [BZ #23961] + * math/auto-libm-test-in: Add new test case. + * math/auto-libm-test-out-pow: Regenerated. + * sysdeps/ieee754/flt-32/e_powf.c (__powf): Fix overflow check. + +2018-12-10 DJ Delorie + + [BZ #23948] + * support/test-container.c: Move postclean step to before we + change namespaces. + +2018-12-10 Joseph Myers + + * scripts/gen-as-const.py (main): Handle --python option. + * scripts/gen-py-const.awk: Remove. + * Makerules (py-const-script): Use gen-as-const.py. + ($(py-const)): Likewise. + * nptl/nptl-printers.py (MutexPrinter.read_status_no_robust): Mask + with 0xffffffff together with ~(PTHREAD_MUTEX_PRIO_CEILING_MASK). + (MutexAttributesPrinter.read_values): Mask with 0xffffffff + together with ~PTHREAD_MUTEXATTR_FLAG_BITS and + ~PTHREAD_MUTEX_NO_ELISION_NP. + * manual/README.pretty-printers: Update reference to + gen-py-const.awk. + + * scripts/glibcextract.py: New file. + * scripts/gen-as-const.py: Do not import os.path, re, subprocess + or tempfile. Import glibcexctract. + (compute_c_consts): Remove. Moved to glibcextract.py. + (gen_test): Update reference to compute_c_consts. + (main): Likewise. + * sysdeps/unix/sysv/linux/tst-signal-numbers.py: New file. + * sysdeps/unix/sysv/linux/tst-signal-numbers.sh: Remove. + * sysdeps/unix/sysv/linux/Makefile + ($(objpfx)tst-signal-numbers.out): Use tst-signal-numbers.py. + Redirect stderr as well as stdout. + +2018-12-10 Rafael Ávila de Espíndola + + [BZ #19767] + * sysdeps/unix/sysv/linux/mips/init-first.c: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/mips/libc-vdso.h: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Define + ALWAYS_USE_VSYSCALL. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Define + ALWAYS_USE_VSYSCALL. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Define + ALWAYS_USE_VSYSCALL. + +2018-12-10 Florian Weimer + + [BZ #23972] + * sysdeps/unix/sysv/linux/getdents64.c (handle_overflow): Check + offset instead of count for clarity. Fix typo in comment. + (__old_getdents64): Keep track of previous offset. Use it to call + handle_overflow. + * sysdeps/unix/sysv/linux/tst-readdir64-compat.c (do_test): Check + that d_off is never zero. + +2018-12-10 Andreas Schwab + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/*-le.abilist: Move to + sysdeps/unix/sysv/linux/powerpc/powerpc64/le/*.abilist. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/*.abilist: Move to + sysdeps/unix/sysv/linux/powerpc/powerpc64/be/*.abilist. + * sysdeps/powerpc/Makefile (abilist-pattern): Don't define. + +2018-12-10 Joseph Myers + + * timezone/private.h: Update from tzcode 2018g. + * timezone/tzfile.h: Likewise. + * timezone/tzselect.ksh: Likewise. + * timezone/zdump.c: Likewise. + * timezone/zic.c: Likewise. + +2018-12-08 Paul Pluzhnikov + + [BZ #23490] + * sysdeps/unix/sysv/linux/x86/tst-cet-property-2.c + (do_test): Adjust buffer size and fix format. + +2018-12-07 DJ Delorie + + [BZ #23907] + * malloc/tst-tcfree3.c: New. + * malloc/Makefile: Add it. + +2018-12-07 H.J. Lu + + * include/sched.h (__getcpu): Don't use __typeof__ (getcpu). + +2018-12-07 Gabriel F. T. Gomes + + * libio/libioP.h (SCANF_LDBL_USES_FLOAT128): New macro to be + used as a mask for the mode argument of __vfscanf_internal and + __vfwscanf_internal. + * stdio-common/vfscanf-internal.c + [defined COMPILE_WSCANF && __HAVE_FLOAT128_UNLIKE_LDBL] + (__strtof128_internal): Define to __wcstof128_internal. + [__HAVE_FLOAT128_UNLIKE_LDBL] (__vfscanf_internal): Call + __strtof128_internal or __wcstof128_internal when the format of + long double is the same as _Float128. + +2018-12-05 Samuel Thibault + + * include/unistd.h (__confstr): Add prototype and hidden prototype. + * posix/confstr.c (confstr): Rename to __confstr. + (__confstr): Add hidden def. + (confstr): Add weak alias for __confstr. + * sysdeps/mach/hurd/spawni.c (__spawni): Call __confstr instead of + confstr. + +2018-12-07 H.J. Lu + + * NEWS: Mention getcpu. + * include/sched.h (__getcpu): New libc_hidden_proto. + * manual/resource.texi: Document getcpu. + * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add getcpu. + * sysdeps/unix/sysv/linux/Versions (GLIBC_2.29): Add getcpu. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add getcpu. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/bits/sched.h (getcpu): New prototype. + * sysdeps/unix/sysv/linux/getcpu.c: New file. + * sysdeps/unix/sysv/linux/tst-skeleton-affinity.c (test_size): + Also check getcpu. + +2018-12-07 Samuel Thibault + + * sysdeps/mach/hurd/spawni.c (child_lookup_under, child_fchdir): New + functions. + (__spawni): Handle spawn_do_fchdir by calling child_fchdir. + +2018-12-07 Florian Weimer + + [BZ #17405] + * posix/Makefile (routines): Add spawn_faction_addfchdir. + * posix/Versions (GLIBC_2.29): Export + posix_spawn_file_actions_addfchdir_np. + * posix/spawn.h (posix_spawn_file_actions_addfchdir_np): Declare. + * posix/spawn_faction_destroy.c + (__posix_spawn_file_actions_destroy): Handle spawn_do_fchdir. + * posix/spawn_int.h (struct __spawn_action): Add spawn_do_fchdir + and the field action.fchdir_action. + * posix/tst-spawn-chdir.c (add_chdir): New function. + (do_test): Add do_fchdir loop. Call add_chdir. + * sysdeps/posix/spawni.c (__spawni_child): Handle spawn_do_fchdir. + * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise. + * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.29): Add + posix_spawn_file_actions_addfchdir_np. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.29): + Likewise. + +2018-12-06 Joseph Myers + + * manual/texinfo.tex: Update to version 2018-09-21.20 with + trailing whitespace removed. + * scripts/config.guess: Update to version 2018-11-28. + * scripts/config.sub: Update to version 2018-11-28. + * scripts/install-sh: Update to version 2018-03-11.20. + * scripts/mkinstalldirs: Update to version 2018-03-07.03. + * scripts/move-if-change: Update to version 2018-03-07 03:47. + +2018-12-07 Florian Weimer + + [BZ #23927] + CVE-2018-19591 + * inet/tst-if_index-long.c: New file. + * inet/Makefile (tests): Add tst-if_index-long. + +2018-12-07 Florian Weimer + + * support/check.h (support_record_failure_is_failed): Declare. + * support/descriptors.h: New file. + * support/support_descriptors.c: Likewise. + * support/tst-support_descriptors.c: Likewise. + * support/support_record_failure.c + (support_record_failure_is_failed): New function. + * support/Makefile (libsupport-routines): Add support_descriptors. + (tests): Add tst-support_descriptors. + +2018-12-05 Zack Weinberg + Gabriel F. T. Gomes + + * stdio-common/vfprintf-internal.c + (__vfprintf_internal, __vfwprintf_internal): Don't use __ldbl_is_dbl. + * sysdeps/generic/math_ldbl_opt.h: Remove __ldbl_is_dbl. + * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Remove __ldbl_is_dbl + and __no_long_double. + * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c: Remove file. + * sysdeps/ieee754/ldbl-opt/Makefile (routines): Remove math_ldbl_opt. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Remove + libc_hidden_proto and libc_hidden_def from all __nldbl_*printf* + and __nldbl_*syslog* functions. + (__nldbl_cleanup, set_no_long_double, clear_no_long_double): Remove. + (__nldbl___asprintf, __nldbl_dprintf, __nldbl_fprintf) + (__nldbl_fwprintf, __nldbl_printf, __nldbl_sprintf) + (__nldbl_vfprintf, __nldbl___vsprintf, __nldbl_obstack_vprintf) + (__ndlbl_obstack_printf, __nldbl_snprintf, __nldbl_swprintf) + (__nldbl_vasprintf, __nldbl_vdprintf, __nldbl_vfwprintf) + (__nldbl_vprintf, __nldbl_vsnprintf, __ndlbl_vswprintf) + (__nldbl_vwprintf, __nldbl_wprintf): + Directly call the appropriate __v*printf_internal routine, passing + PRINTF_LDBL_IS_DBL. Do not mess with __no_long_double. Normalize + variable names. + (__nldbl___fprintf_chk, __nldbl___fwprintf_chk) + (__nldbl___printf_chk, __nldbl___snprintf_chk) + (__nldbl___sprintf_chk, __nldbl___swprintf_chk) + (__nldbl___vfprintf_chk, __nldbl___vfwprintf_chk) + (__nldbl___vprintf_chk, __nldbl___vsnprintf_chk) + (__nldbl___vsprintf_chk, __nldbl___vswprintf_chk) + (__nldbl___vwprintf_chk, __nldbl___wprintf_chk) + (__nldbl___vasprintf_chk, __nldbl___asprintf_chk) + (__nldbl___vdprintf_chk, __nldbl___dprintf_chk) + (__nldbl___obstack_vprintf_chk, __nldbl___obstack_printf_chk): + Likewise, and also pass PRINTF_FORTIFY when appropriate. + (__nldbl_syslog, __nldbl_vsyslog): + Directly call __vsyslog_internal, passing PRINTF_LDBL_IS_DBL. + (__nldbl_syslog_chk): Likewise, and also pass PRINTF_FORTIFY when + appropriate. + (__nldbl_vsyslog_chk): Likewise, and also pass PRINTF_FORTIFY when + appropriate. + +2018-12-05 Zack Weinberg + Gabriel F. T. Gomes + + [BZ #11319] + * libio/iovsprintf.c (_IO_str_chk_overflow, libio_vtable): + Moved here from debug/vsprintf_chk.c. + (__vsprintf_internal): Add 'maxlen' argument. Change the setup + and completion logic for the strfile to match exactly what + __vsprintf_chk used to do, except, when maxlen is -1, pass -1 to + _IO_str_init_static_internal instead of maxlen-1. + (__vsprintf): Pass -1 as maxlen to __vsprintf_internal. + * stdio-common/sprintf.c (__sprintf): Pass -1 as maxlen to + __vsprintf_internal. + + * debug/vsprintf_chk.c (__vsprintf_chk) + * debug/sprintf_chk.c (__sprintf_chk): + Directly call __vsprintf_internal, passing PRINTF_FORTIFY if + 'flags' argument is positive, and slen as maxlen. No need to lock + the FILE and/or construct a temporary FILE. Minimize and normalize + header inclusions and variable names. Do not libc_hidden_def anything. + + * debug/asprintf_chk.c (__asprintf_chk) + * debug/dprintf_chk.c (__dprintf_chk) + * debug/fprintf_chk.c (__fprintf_chk) + * debug/fwprintf_chk.c (__fwprintf_chk) + * debug/printf_chk.c (__printf_chk) + * debug/snprintf_chk.c (__snprintf_chk) + * debug/swprintf_chk.c (__swprintf_chk) + * debug/vasprintf_chk.c (__vasprintf_chk) + * debug/vdprintf_chk.c (__vdprintf_chk) + * debug/vfprintf_chk.c (__vfprintf_chk) + * debug/vfwprintf_chk.c (__vfwprintf_chk) + * debug/vprintf_chk.c (__vprintf_chk) + * debug/vsnprintf_chk.c (__vsnprintf_chk) + * debug/vswprintf_chk.c (__vswprintf_chk) + * debug/vwprintf_chk.c (__vwprintf_chk) + * debug/wprintf_chk.c (__wprintf_chk): + Directly call the corresponding vxxprintf_internal function, passing + PRINTF_FORTIFY if 'flag' argument is positive. No need to lock + the FILE and/or construct a temporary FILE. Minimize and normalize + header inclusions and variable names. Do not libc_hidden_def anything. + + * debug/obprintf_chk.c (__obstack_printf_chk): Directly call + __obstack_vprintf_internal. + (__obstack_vprintf_chk): Convert into a wrapper that calls + __obstack_vprintf_internal (these two functions already had the + same code) and move to new file... + * debug/vobprintf_chk.c (__obstack_vprintf_chk): ... here. New + file. + * debug/obprintf.c (__obstack_vprintf_internal): Remove the checking of + the flags argument and the setting of _IO_FLAGS2_FORTIFY. + * debug/Makefile (routines): Add vobprintf_chk. + + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c + (__nldbl___vsprintf): Pass -1 as maxlen to __vsprintf_internal. + (__nldbl___vfprintf_chk, __nldbl___vsnprintf_chk) + (__nldbl___vsprintf_chk, __nldbl___vswprintf_chk) + (__nldbl___vasprintf_chk, __nldbl___vdprintf_chk) + (__nldbl___obstack_vfprintf_chk): + Directly call the corresponding vxxprintf_internal function, + passing PRINTF_FORTIFY if 'flag' argument is positive. If necessary, + duplicate comparison of slen with 0 or maxlen from the corresponding + non-__nldbl function. + + * include/stdio.h (__vsnprintf_chk, __vfprintf_chk, __vasprintf_chk) + (__vdprintf_chk, __obstack_vfprintf_chk): Remove libc_hidden_proto. + * include/wchar.h (__vfwprintf_chk, __vswprintf_chk): + Remove libc_hidden_proto. + + * stdio-common/vfprintf-internal.c + (__vfprintf_internal, __vfwprintf_internal): + Do not check _IO_FLAGS2_FORTIFY. + * libio/libio.h (_IO_FLAGS2_FORTIFY): Remove. + * libio/libioP.h: Update prototype of __vsprintf_internal and add + a comment explaining why it has the maxlen argument. + (_IO_acquire_lock_clear_flags2_fct): Remove. + (_IO_acquire_lock_clear_flags2): Remove. + (_IO_release_lock): Remove conditional statement which will + now never execute. + (_IO_acquire_lock): Remove variable which is now unused. + * sysdeps/generic/stdio-lock.h (_IO_acquire_lock_clear_flags2): Remove. + * sysdeps/nptl/stdio-lock.h (_IO_acquire_lock_clear_flags2): Remove. + + * stdio-common/Makefile (tests): Add tst-bz11319 and + tst-bz11319-fortify2. + (CFLAGS-tst-bz11319-fortify2.c): New macro. + * stdio-common/tst-bz11319-fortify2.c: New file. + * stdio-common/tst-bz11319.c: Likewise. + +2018-12-05 Zack Weinberg + Gabriel F. T. Gomes + + * misc/syslog.c: Include libioP.h, not iolibio.h. + (__vsyslog_internal): New function with the former body of + __vsyslog_chk; takes mode_flags argument same as + __v*printf_internal. Call __vfprintf_internal directly. + + (__vsyslog_chk): Now a wrapper around __vsyslog_internal. + Remove libc_hidden_def. + (__syslog, __syslog_chk): Use __vsyslog_internal. + (__vsyslog): Move to just below __syslog. Use __vsyslog_internal. + + * include/sys/syslog.h: Add multiple inclusion guard. + Add prototype for __vsyslog_internal. + Remove declaration and libc_hidden_proto for __vsyslog_chk. + + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___vsyslog_chk): + Use __vsyslog_internal. + +2018-12-05 Zack Weinberg + Gabriel F. T. Gomes + + * libio/libioP.h (__vfprintf_internal, __vfwprintf_internal) + (__vasprintf_internal, __vdprintf_internal, __obstack_vprintf_internal) + (__vsprintf_internal, __vsnprintf_internal, __vswprintf_internal): + New functions. + (PRINTF_LDBL_IS_DBL, PRINTF_FORTIFY): New constants. + (_IO_vasprintf, _IO_vdprintf, _IO_vsnprintf): Remove prototypes. + + * stdio-common/vfprintf-internal.c: Rename from vfprintf.c. + Include wctype.h here if COMPILE_WPRINTF is defined. + Define __vfprintf_internal or __vfwprintf_internal, depending + on COMPILE_WPRINTF. + Temporarily, on entry to this function, update mode_flags + according to the environmental settings corresponding to + PRINTF_LDBL_IS_DBL and PRINTF_FORTIFY. + Throughout, check mode_flags instead of __ldbl_is_dbl and + _IO_FLAGS2_FORTIFY on the destination FILE. + * stdio-common/vfwprintf-internal.c: Rename from vfwprintf.c. + Include vfprintf-internal.c. Don't include wctype.h. + * stdio-common/vfprintf.c: New file. Just define __vfprintf + as a wrapper around __vfprintf_internal, with aliases _IO_vfprintf + and vfprintf. + * stdio-common/vfwprintf.c: New file. Just define __vfwprintf + as a wrapper around __vfwprintf_internal, with aliases _IO_vfwprintf + and vfwprintf. + * stdio-common/Makefile: Add vfprintf-internal and vfwprintf-internal. + + * libio/iovdprintf.c (_IO_vdprintf): Rename to __vdprintf_internal + and add mode_flags argument; use __vfprintf_internal. + (__vdprintf): New function. Alias vdprintf to this. + * libio/iovsprintf.c (_IO_vsprintf, __vsprintf): Similarly. + * libio/vasprintf.c (_IO_vasprintf, __vasprintf): Similarly. + * libio/obprintf.c (_IO_obstack_vprintf, __obstack_vprintf): Similarly. + (__obstack_printf): Use __obstack_printf_internal. + * libio/vsnprintf.c (_IO_vsnprintf, ___vsnprintf): Similarly, with + public aliases __vsnprintf and vsnprintf. + Remove use of ldbl_hidden_def, since __vsnprintf is no longer + called internally. + * libio/vswprintf (_IO_vswprintf, __vswprintf): Similarly, with + public aliases _IO_vsprintf and vsprintf. + * libio/swprintf.c (__swprintf): Use __vswprintf_internal. + * stdio-common/asprintf.c (__asprintf): Use __vasprintf_internal. + * stdio-common/dprintf.c (__dprintf): Use __vdprintf_internal. + * stdio-common/snprintf.c (__snprintf): Use __vsprintf_internal. + * stdio-common/sprintf.c (__sprintf): Use __vsprintf_internal. + + * debug/obprintf_chk.c, debug/vasprintf_chk.c, debug/vdprintf_chk.c + * debug/vsnprintf_chk.c, debug/vsprintf_chk.c, hurd/vpprintf.c + * stdio-common/fprintf.c, stdio-common/fxprintf.c + * stdio-common/printf.c: Use __vfprintf_internal. + + * debug/fwprintf_chk.c, debug/vfwprintf_chk.c, debug/vswprintf_chk.c + * debug/vwprintf_chk.c, debug/wprintf_chk.c, libio/fwprintf.c + * libio/vwprintf.c, libio/wprintf.c: Use __vfwprintf_internal. + + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Use __vsprintf_internal, + __obstack_vprintf_internal, __vasprintf_internal, __vdprintf_internal, + __vsnprintf_internal, __vswprintf_internal, __vfprintf_internal, and + __vfwprintf_internal. + + * libio/libio.h: Remove libc_hidden_proto and declaration for + _IO_vfprintf. + Remove declaration of _IO_vfwprintf. + * libio/iolibio.h: Remove libc_hidden_proto and declaration for + _IO_vsprintf. + Remove declarations of _IO_vswprintf, _IO_obstack_printf, and + _IO_obstack_printf. + * include/stdio.h: Add prototype for __vasprintf. + (__vsnprintf): Remove declaration, because there are no more + internal calls. + * include/wchar.h (__vfwprintf, __vswprintf): Remove + declaration, because there are no more internal calls. + + * argp/argp-fmtstream.c (__argp_fmtstream_printf): Use + __vsnprintf_internal, instead of _IO_vsnprintf. + * argp/argp-help.c (__argp_error, __argp_failure): Use + __vasprintf_internal, instead of _IO_vasprintf. + * argp/argp-namefrob.h (__vsnprintf): Do not undefined then + redefine, because there are no more internal calls. + +2018-12-05 Zack Weinberg + Gabriel F. T. Gomes + + * stdio-common/vfscanf-internal.c: Don't look at __ldbl_is_dbl. + * sysdeps/ieee754/ldbl-opt/ndlbl-compat.c: + Include libio/strfile.h instead of libioP.h. + (__nldbl_IO_vfscanf, __ndlbl___vfscanf, __nldbl_sscanf) + (__nldbl___vsscanf, __nldbl_vscanf, __nldbl_fscanf) + (__nldbl_scanf, __nldbl_vfwscanf, __nldbl_swscanf) + (__nldbl_vswscanf, __nldbl_vwscanf, __nldbl_fwscanf) + (__nldbl_wscanf): Call __vfscanf_internal / __vfwscanf_internal + directly, passing SCANF_LDBL_IS_DBL. Set up a strfile if + necessary. Do not set __no_long_double. Normalize variable names. + (__nldbl___isoc99_vfscanf, __nldbl___isoc99_sscanf) + (__nldbl___isoc99_vsscanf, __nldbl___isoc99_vscanf) + (__nldbl___isoc99_fscanf, __nldbl___isoc99_scanf) + (__nldbl___isoc99_vfwscanf, __nldbl___isoc99_swscanf) + (__nldbl___isoc99_vswscanf, __nldbl___isoc99_vwscanf) + (__nldbl___isoc99_fwscanf, __nldbl___isoc99_wscanf): + Call __vfscanf_internal / __vfwscanf_internal directly, passing + SCANF_LDBL_IS_DBL | SCANF_ISOC99_A. Set up a strfile if necessary. + Do not set __no_long_double. Normalize variable names. + +2018-12-05 Zack Weinberg + Gabriel F. T. Gomes + + * stdio-common/isoc99_scanf.c + * stdio-common/isoc99_fscanf.c + * stdio-common/isoc99_sscanf.c + * stdio-common/isoc99_vscanf.c + * stdio-common/isoc99_vfscanf.c + * stdio-common/isoc99_vsscanf.c + * wcsmbs/isoc99_wscanf.c + * wcsmbs/isoc99_fwscanf.c + * wcsmbs/isoc99_swscanf.c + * wcsmbs/isoc99_vwscanf.c + * wcsmbs/isoc99_vfwscanf.c + * wcsmbs/isoc99_vswscanf.c: + Pass SCANF_ISOC99_A to __vfscanf_internal and/or __vfwscanf_internal. + Do not set _IO_FLAGS2_SCANF_STD on the FILE passed to that function. + No need to lock and unlock the FILE passed to that function. + + * stdio-common/vfscanf-internal.c + (__vfscanf_internal, __vfwscanf_internal): + Don't look at _IO_FLAGS2_SCANF_STD. + * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct) + (_IO_release_lock): Don't clear _IO_FLAGS2_SCANF_STD. + * libio/libio.h (_IO_FLAGS2_SCANF_STD): Delete. + +2018-12-05 Zack Weinberg + Gabriel F. T. Gomes + + * libio/libioP.h (SCANF_LDBL_IS_DBL, SCANF_ISOC99_A): New constants. + (__vfscanf_internal, __vfwscanf_internal): New function prototypes. + * libio/libio.h: Remove libc_hidden_proto for _IO_vfscanf. + * libio/strfile.h: Add multiple inclusion guard. + (_IO_strfile_read, _IO_strfile_readw): New inline functions. + + * sysdeps/generic/math_ldbl_opt.h: Include shlib-compat.h, for + consistency with the other version of this file. + (ldbl_compat_symbol): New macro. + * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h (ldbl_compat_symbol): + New macro. + + * stdio-common/vfscanf-internal.c: Rename from vfscanf.c. + Define __vfscanf_internal or __vfwscanf_internal, depending on + COMPILE_WSCANF; don't define any other public symbols. + Remove errval and code to set errp. + Temporarily check __ldbl_is_dbl and _IO_FLAGS2_SCANF_STD as well + as the mode_flags argument. + (encode_error, conv_error, input_error): Don't set errval. + * stdio-common/vfwscanf-internal.c: Rename from vfwscanf.c. + Include vfscanf-internal.c. + * stdio-common/vfscanf.c: New file defining the public entry + point vfscanf, which calls __vfscanf_internal. + * stdio-common/vfwscanf.c: New file defining the public entry + point vfwscanf, which calls __vfwscanf_internal. + + * stdio-common/iovfscanf.c: New file. + * stdio-common/iovfwscanf.c: Likewise. + + * stdio-common/Makefile (routines): Add vfscanf-internal, + vfwscanf-internal, iovfscanf, iovfwscanf. + * stdio-common/Versions: Mention GLIBC_2.29, so that + it can be used in SHLIB_COMPAT expressions. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl__IO_vfscanf): + Wrap definition and compat_symbol line in #if SHLIB_COMPAT. + Call __vfscanf_internal, instead of _IO_vfscanf. + (__nldbl___vfscanf): Call __vfscanf_internal, instead of + _IO_vfscanf. + (__nldbl_vfwscanf): Call __vfwscanf_internal, instead of + _IO_vfwscanf. + + * libio/iovsscanf.c: Clean up includes, when possible. Use + _IO_strfile_read or _IO_strfile_readw, when needed. Call + __vfscanf_internal or __vfwscanf_internal directly. + * libio/iovswscanf.c: Likewise. + * libio/swscanf.c: Likewise. + * libio/vscanf.c: Likewise. + * libio/vwscanf.c: Likewise. + * libio/wscanf.c: Likewise. + * stdio-common/isoc99_fscanf.c: Likewise. + * stdio-common/isoc99_scanf.c: Likewise. + * stdio-common/isoc99_sscanf.c: Likewise. + * stdio-common/isoc99_vfscanf.c: Likewise. + * stdio-common/isoc99_vscanf.c: Likewise. + * stdio-common/isoc99_vsscanf.c: Likewise. + * stdio-common/scanf.c: Likewise. + * stdio-common/sscanf.c: Likewise. + * wcsmbs/isoc99_fwscanf.c: Likewise. + * wcsmbs/isoc99_swscanf.c: Likewise. + * wcsmbs/isoc99_vfwscanf.c: Likewise. + * wcsmbs/isoc99_vswscanf.c: Likewise. + * wcsmbs/isoc99_vwscanf.c: Likewise. + * wcsmbs/isoc99_wscanf.c: Likewise. + +2018-12-05 Albert ARIBAUD + + * include/time.h + (__tz_compute): Replace time_t with __time64_t. + (__tz_convert): Replace time_t* with __time64_t. + (__offtime): Replace time_t* with __time64_t. + * time/gmtime.c + (__gmtime_r): Adjust call to __tz_convert. + (gmtime): Likewise. + * time/localtime.c + (__localtime_r): Likewise. + (localtime): Likewise. + * time/offtime.c: Replace time_t with __time64_t. + * time/tzset.c: Likewise. + +2018-12-04 Joseph Myers + + * Makefile ($(objpfx)testroot.pristine/install.stamp): Do not run + dynamic linker unless [$(run-built-tests) = yes]. + +2018-12-03 DJ Delorie + + * support/test-container.c (check_for_unshare_hints): New. + (main): Call it if unshare fails. Add support for "su" scriptlet + command. + +2018-12-03 Joseph Myers + + * scripts/gen-as-const.py (compute_c_consts): Take an argument + 'START' to indicate that start text should be output. + (gen_test): Likewise. + (main): Generate 'START' for first symbol or '--' line, or at end + of input if not previously generated. + +2018-12-03 Rafael Ávila de Espíndola + + [BZ #19767] + * sysdeps/unix/sysv/linux/arm/init-first.c: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/arm/libc-vdso.h: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/arm/sysdep.h: Define + ALWAYS_USE_VSYSCALL. + +2018-12-03 Adhemerval Zanella + + [BZ #23913] + * sysdeps/posix/spawni.c (maybe_script_execute): Increment size of + new_argv by one. + +2018-12-03 Carlos O'Donell + + [BZ #23923] + * locale/programs/localedef.c: Declare boolean hard_links default true. + (options): Add --no-hard-links option. + (parse_opt): Add OPT_NO_HARD_LINKS case and set hard_links to false. + * locale/programs/localedef.h: Declare prototype for hard_links. + * locale/programs/locfile.c (write_locale_data): Don't use hard + links if hard_links is false. + +2018-12-03 H.J. Lu + + * sysdeps/x86/cacheinfo.c (intel_check_word): Updated for + cpu_features_basic. + (__cache_sysconf): Likewise. + (init_cacheinfo): Likewise. + * sysdeps/x86/cpu-features.c (get_extended_indeces): Also + populate COMMON_CPUID_INDEX_80000007 and + COMMON_CPUID_INDEX_80000008. + (get_common_indices): Also populate COMMON_CPUID_INDEX_D_ECX_1. + Use CPU_FEATURES_CPU_P (cpu_features, XSAVEC) to check if + XSAVEC is available. Set the bit_arch_XXX_Usable bits. + (init_cpu_features): Use _Static_assert on + index_arch_Fast_Unaligned_Load. + __get_cpuid_registers and __get_arch_feature. Updated for + cpu_features_basic. Set stepping in cpu_features. + * sysdeps/x86/cpu-features.h: (FEATURE_INDEX_1): Changed to enum. + (FEATURE_INDEX_2): New. + (FEATURE_INDEX_MAX): Changed to enum. + (COMMON_CPUID_INDEX_D_ECX_1): New. + (COMMON_CPUID_INDEX_80000007): Likewise. + (COMMON_CPUID_INDEX_80000008): Likewise. + (cpuid_registers): Likewise. + (cpu_features_basic): Likewise. + (CPU_FEATURE_USABLE): Likewise. + (bit_arch_XXX_Usable): Likewise. + (cpu_features): Use cpuid_registers and cpu_features_basic. + (bit_arch_XXX): Reweritten. + (bit_cpu_XXX): Likewise. + (index_cpu_XXX): Likewise. + (reg_XXX): Likewise. + * sysdeps/x86/tst-get-cpu-features.c: Include and + . + (CHECK_CPU_FEATURE): New. + (CHECK_CPU_FEATURE_USABLE): Likewise. + (cpu_kinds): Likewise. + (do_test): Print vendor, family, model and stepping. Check + HAS_CPU_FEATURE and CPU_FEATURE_USABLE. + (TEST_FUNCTION): Removed. + Include instead of + "../../test-skeleton.c". + * sysdeps/x86_64/multiarch/sched_cpucount.c (__sched_cpucount): + Check POPCNT instead of POPCOUNT. + * sysdeps/x86_64/multiarch/test-multiarch.c (do_test): Likewise. + +2018-12-03 Samuel Thibault + + * scripts/gen-as-const.py (main): Avoid emitting empty line when + there is no element in `consts'. + +2018-12-01 Florian Weimer + + * support/support_capture_subprocess.c + (support_capture_subprocess): Check that pipe descriptors have + expected values. Close original pipe descriptors in subprocess. + +2018-12-01 Samuel Thibault + + [BZ #23032] + * sysdeps/htl/pt-barrier-init.c (pthread_barrier_init): Fix comparing + attr with __pthread_default_barrierattr. + * sysdeps/htl/pt-cond-init.c (__pthread_cond_init): Fix comparing + attr with __pthread_default_condattr. + * sysdeps/htl/pt-mutex-init.c (_pthread_mutex_init): Fix comparing + attr with __pthread_default_mutexattr. + * sysdeps/htl/pt-rwlock-init.c (_pthread_rwlock_init): Fix comparing + attr with __pthread_default_rwlockattr. + +2018-12-01 Kemi Wang + + * manual/tunables.texi (POSIX Thread Tunables): New node. + * nptl/Makefile (libpthread-routines): Add pthread_mutex_conf. + * nptl/nptl-init.c: Include pthread_mutex_conf.h + (__pthread_initialize_minimal_internal) [HAVE_TUNABLES]: Call + __pthread_tunables_init. + * nptl/pthreadP.h (MAX_ADAPTIVE_COUNT): Remove. + (max_adaptive_count): Define. + * nptl/pthread_mutex_conf.c: New file. + * nptl/pthread_mutex_conf.h: New file. + * sysdeps/generic/adaptive_spin_count.h: New file. + * sysdeps/nptl/dl-tunables.list: New file. + * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Use + max_adaptive_count () not MAX_ADAPTIVE_COUNT. + * nptl/pthread_mutex_timedlock.c (__pthrad_mutex_timedlock): + Likewise. + +2018-12-01 Paul Pluzhnikov + + [BZ #20544] + * stdlib/cxa_atexit.c (__internal_atexit): assert func != NULL. + * stdlib/on_exit.c (__on_exit): Likewise. + * stdlib/Makefile (tests): Add tst-bz20544. + * stdlib/tst-bz20544.c: New test. + +2018-11-30 Rafael Ávila de Espíndola + + [BZ #19767] + * sysdeps/unix/sysv/linux/i386/init-first.c: Don't check SHARED. + * sysdeps/unix/sysv/linux/i386/sysdep.h (ALWAYS_USE_VSYSCALL): + New. + +2018-11-30 Florian Weimer + + * scripts/abilist.awk: Print "0x0" for size 0. Handle "g"/"D". + Extend error logging. + * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.2.6): Adjust _end + symbol. + +2018-11-30 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Use + __sigismember instead of sigismember. + * sysdeps/posix/system.c [SIGCANCEL] (cancel_handler_args, + cancel_handler): New definitions. + (do_system): Use posix_spawn instead of fork and execl and remove + reentracy code. + * sysdeps/generic/not-errno.h (__kill_noerrno): New prototype. + * sysdeps/unix/sysv/linux/not-errno.h (__kill_noerrno): Likewise. + * sysdeps/unix/sysv/linux/ia64/system.c: Remove file. + * sysdeps/unix/sysv/linux/s390/system.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/system.c: Likewise. + * sysdeps/unix/sysv/linux/system.c: Likewise. + + [BZ #22834] + [BZ #17490] + * NEWS: Add new semantic for atfork with popen and system. + * libio/iopopen.c (_IO_new_proc_open): use posix_spawn instead of + fork and execl. + +2018-11-30 Tulio Magno Quites Machado Filho + + [BZ #23690] + * elf/dl-runtime.c (_dl_profile_fixup): Guarantee memory + modification order when accessing reloc_result->addr. + * include/link.h (reloc_result): Add field init. + * nptl/Makefile (tests): Add tst-audit-threads. + (modules-names): Add tst-audit-threads-mod1 and + tst-audit-threads-mod2. + Add rules to build tst-audit-threads. + * nptl/tst-audit-threads-mod1.c: New file. + * nptl/tst-audit-threads-mod2.c: Likewise. + * nptl/tst-audit-threads.c: Likewise. + * nptl/tst-audit-threads.h: Likewise. + +2018-11-30 Joseph Myers + + * scripts/gen-as-const.py: New file. + * scripts/gen-as-const.awk: Remove. + * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Use + gen-as-const.py. + ($(objpfx)test-as-const-%.c): Likewise. + +2018-11-29 H.J. Lu + + * elf/dl-exception.c: Include <_itoa.h>. + +2018-11-30 Samuel Thibault + + * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Directly return value + returned by __f_setlk. + +2018-11-29 H.J. Lu + Adhemerval Zanella + + * elf/Makefile (tests-internal): Add tst-create_format1. + * elf/dl-exception.c (_dl_exception_create_format): Support + %x, %lx and %zx. + * elf/tst-create_format1.c: New file. + +2018-11-29 Charles-Antoine Couret + + * argp/argp-fmtstream.c (__argp_fmtstream_update): Use [_LIBC] + conditional on calls to _IO_fwide and putwc_unlocked. (Merge from + gnulib.) + * argp/argp-help.c (__argp_failure): Likewise. + +2018-11-29 Mao Han + + * elf/elf.h (EM_CSKY, R_CKCORE_NONE, R_CKCORE_ADDR32) + (R_CKCORE_PCRELIMM8BY4, R_CKCORE_PCRELIMM11BY2, R_CKCORE_PCREL32) + (R_CKCORE_PCRELJSR_IMM11BY2, R_CKCORE_RELATIVE, R_CKCORE_COPY) + (R_CKCORE_GLOB_DAT, R_CKCORE_JUMP_SLOT, R_CKCORE_GOTOFF) + (R_CKCORE_GOTPC, R_CKCORE_GOT32, R_CKCORE_PLT32, R_CKCORE_ADDRGOT) + (R_CKCORE_ADDRPLT, R_CKCORE_PCREL_IMM26BY2, R_CKCORE_PCREL_IMM16BY2) + (R_CKCORE_PCREL_IMM16BY4, R_CKCORE_PCREL_IMM10BY2) + (R_CKCORE_PCREL_IMM10BY4, R_CKCORE_ADDR_HI16, R_CKCORE_ADDR_LO16) + (R_CKCORE_GOTPC_HI16, R_CKCORE_GOTPC_LO16, R_CKCORE_GOTOFF_HI16) + (R_CKCORE_GOTOFF_LO16, R_CKCORE_GOT12, R_CKCORE_GOT_HI16) + (R_CKCORE_GOT_LO16, R_CKCORE_PLT12, R_CKCORE_PLT_HI16) + (R_CKCORE_PLT_LO16, R_CKCORE_ADDRGOT_HI16, R_CKCORE_ADDRGOT_LO16) + (R_CKCORE_ADDRPLT_HI16, R_CKCORE_ADDRPLT_LO16) + (R_CKCORE_PCREL_JSR_IMM26BY2, R_CKCORE_TOFFSET_LO16) + (R_CKCORE_DOFFSET_LO16, R_CKCORE_PCREL_IMM18BY2) + (R_CKCORE_DOFFSET_IMM18, R_CKCORE_DOFFSET_IMM18BY2) + (R_CKCORE_DOFFSET_IMM18BY4, R_CKCORE_GOT_IMM18BY4) + (R_CKCORE_PLT_IMM18BY4, R_CKCORE_PCREL_IMM7BY4, R_CKCORE_TLS_LE32) + (R_CKCORE_TLS_IE32, R_CKCORE_TLS_GD32, R_CKCORE_TLS_LDM32) + (R_CKCORE_TLS_LDO32, R_CKCORE_TLS_DTPMOD32, R_CKCORE_TLS_DTPOFF32) + (R_CKCORE_TLS_TPOFF32): New defines. + +2018-11-29 Florian Weimer + + * posix/Makefile (before-compile): Remove testcases.h and + ptestcases.h. + (generated): Add testcases.h and ptestcases.h. + (testcases.h, ptestcases.h): Move to $(objpfx). + (runtests.o): Add dependency on testcases.h. + (runptests.o): Add dependency on ptestcases.h. + * posix/testcases.h, posix/ptestcases.h: Remove files. + * scripts/build-many-glibcs.py (Context.fix_glibc_timestamps): Do + not touch posix/testcases.h and posix/ptestcases.h. + +2018-11-28 Florian Weimer + + support: Add signal support to support_capture_subprocess_check. + * support/capture_subprocess.h (support_capture_subprocess_check): + Adjust comment and rename parameter. + * support/support_capture_subprocess_check.c + (print_actual_status): New function. + (support_capture_subprocess_check): Support negative + status_or_signal. Call print_actual_status. + * support/tst-support_capture_subprocess.c (do_test): Call + support_capture_subprocess_check. + * libio/tst-vtables-common.c (termination_status) + (init_termination_status): Remove. + (check_for_termination): Adjust support_capture_subprocess_check + call. + (do_test): Remove call to init_termination_status. + +2018-11-28 Joseph Myers + + * scripts/build-many-glibcs.py (Glibc.build_glibc): Use original + source directory instead of a copy. + (CommandList.create_copy_dir): Remove. + +2018-11-28 Stefan Liebler + + * sysdeps/s390/fpu/libm-test-ulps: Regenerated. + +2018-11-28 Florian Weimer + + * support/support.h (support_quote_string): Do not use str + parameter name. + +2018-11-27 Joseph Myers + + * sysdeps/mach/hurd/Makefile ($(common-objpfx)stamp-errnos): Use + $(hurd-objpfx)bits/errno.h-tmp, not $(hurd)/bits/errno.h-tmp. + +2018-11-27 Florian Weimer + + * support/support.h (support_quote_string): Declare. + * support/support_quote_string.c: New file. + * support/tst-support_quote_string.c: Likewise. + * support/Makefile (libsupport-routines): Add + support_quote_string. + (tests): Add tst-support_quote_string. + +2018-11-27 Florian Weimer + + [BZ #23927] + CVE-2018-19591 + * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Avoid + descriptor leak in case of ENODEV error. + +2018-11-27 Rafael Ávila de Espíndola + + [BZ #19767] + * sysdeps/unix/sysv/linux/aarch64/init-first.c: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/aarch64/libc-vdso.h: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Define ALWAYS_USE_VSYSCALL. + +2018-11-26 Carlos O'Donell + + * scripts/abilist.awk: Handle .tdata. Error for unknown combinations. + Error for unknown lines. + +2018-11-26 Joseph Myers + + * scripts/build-many-glibcs.py (Context.fix_glibc_timestamps): + Touch additional files. + +2018-11-26 Florian Weimer + + [BZ #23907] + * malloc/malloc.c (_int_free): Validate tc_idx before checking for + double-frees. + +2018-11-26 Rafael Ávila de Espíndola + + [BZ #19767] + * sysdeps/unix/sysv/linux/powerpc/init-first.c: Remove #ifdef SHARED. + * sysdeps/unix/sysv/linux/powerpc/libc-vdso.h: Remove #ifdef + SHARED. Include sysdep.h. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Define + ALWAYS_USE_VSYSCALL. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Define + ALWAYS_USE_VSYSCALL. + +2018-11-23 Rafael Ávila de Espíndola + + [BZ #19767] + * nptl/Makefile (tests-static): Add tst-cond11-static. + (tests): Likewise. + * nptl/tst-cond11-static.c: New File. + * sysdeps/unix/sysv/linux/Makefile (tests-static): Add + tst-affinity-static. + (tests): Likewise. + * sysdeps/unix/sysv/linux/sysdep-vdso.h: Check USE_VSYSCALL + instead of SHARED. + * sysdeps/unix/sysv/linux/sysdep.h (ALWAYS_USE_VSYSCALL): New. + (USE_VSYSCALL): Likewise. + * sysdeps/unix/sysv/linux/tst-affinity-static.c: New file. + * sysdeps/unix/sysv/linux/x86/libc-vdso.h: Check USE_VSYSCALL + instead of SHARED. + * sysdeps/unix/sysv/linux/x86_64/init-first.c: Don't check + SHARED. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (ALWAYS_USE_VSYSCALL): + New. + +2018-11-23 Joseph Myers + + [BZ #23915] + * sysdeps/unix/sysv/linux/arm/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_COPY_FILE_RANGE): + Undefine. + +2018-11-23 H.J. Lu + + * sysdeps/x86/Makefile (tests): Add tst-cet-legacy-1a. + (tst-cet-legacy-1a-ARGS): New. + ($(objpfx)tst-cet-legacy-1a): New target. + * sysdeps/x86/tst-cet-legacy-1a.c: New file. + +2018-11-22 Joseph Myers + + * conform/conformtest.py (CompileSubTest.__init__): Set + self.run_early to False. + (ExecuteSubTest.__init__): Likewise. + (HeaderTests.run): Try running all non-optional, non-XFAILed + compilation tests in a single execution of the compiler. + + * conform/conformtest.py (CompileSubTest): New class. + (ExecuteSubTest): Likewise. + (ElementTest.run): Rename to gen_subtests. Append tests to + self.subtests instead of running them. + (ConstantTest.run): Likewise. + (SymbolTest.run): Likewise. + (TypeTest.run): Likewise. + (TagTest.run): Likewise. + (FunctionTest.run): Likewise. + (VariableTest.run): Likewise. + (MacroFunctionTest.run): Likewise. + (MacroStrTest.run): Likewise. + (HeaderTests.handle_test_line): Generate subtests for tests. + (HeaderTests.run): Run subtests for tests. + +2018-11-21 Szabolcs Nagy + + * math/Versions (GLIBC_2.29): Add pow. + * math/w_pow_compat.c (__pow_compat): Change to versioned compat + symbol. + * math/w_pow.c: New file. + * sysdeps/i386/fpu/w_pow.c: New file. + * sysdeps/ia64/fpu/e_pow.S: Add versioned symbols. + * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Rename to __pow + and add necessary aliases. + * sysdeps/ieee754/dbl-64/w_pow.c: New file. + * sysdeps/m68k/m680x0/fpu/w_pow.c: New file. + * sysdeps/mach/hurd/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Update. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update. + * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c (__ieee754_pow): Rename to + __pow. + * sysdeps/x86_64/fpu/multiarch/e_pow-fma4.c (__ieee754_pow): Likewise. + * sysdeps/x86_64/fpu/multiarch/e_pow.c (__ieee754_pow): Likewise. + * sysdeps/x86_64/fpu/multiarch/w_pow.c: New file. + +2018-11-21 Szabolcs Nagy + + * math/Versions (GLIBC_2.29): Add log2. + * math/w_log2_compat.c (__log2_compat): Change to versioned compat + symbol. + * math/w_log2.c: New file. + * sysdeps/i386/fpu/w_log2.c: New file. + * sysdeps/ia64/fpu/e_log2.S: Add versioned symbols. + * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Rename to __log2 + and add necessary aliases. + * sysdeps/ieee754/dbl-64/w_log2.c: New file. + * sysdeps/m68k/m680x0/fpu/w_log2.c: New file. + * sysdeps/mach/hurd/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Update. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update. + +2018-11-21 Szabolcs Nagy + + * math/Versions (GLIBC_2.29): Add log. + * math/w_log_compat.c (__log_compat): Change to versioned compat + symbol. + * math/w_log.c: New file. + * sysdeps/i386/fpu/w_log.c: New file. + * sysdeps/ia64/fpu/e_log.S: Update. + * sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Rename to __log + and add necessary aliases. + * sysdeps/ieee754/dbl-64/w_log.c: New file. + * sysdeps/m68k/m680x0/fpu/w_log.c: New file. + * sysdeps/mach/hurd/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Update. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update. + * sysdeps/x86_64/fpu/multiarch/e_log-avx.c (__ieee754_log): Rename to + __log. + * sysdeps/x86_64/fpu/multiarch/e_log-fma.c (__ieee754_log): Likewise. + * sysdeps/x86_64/fpu/multiarch/e_log-fma4.c (__ieee754_log): Likewise. + * sysdeps/x86_64/fpu/multiarch/e_log.c (__ieee754_log): Likewise. + * sysdeps/x86_64/fpu/multiarch/w_log.c: New file. + +2018-11-21 Szabolcs Nagy + + * math/Versions (GLIBC_2.29): Add exp and exp2. + * math/w_exp2_compat.c (__exp2_compat): Change to versioned compat + symbol, handle NO_LONG_DOUBLE and LONG_DOUBLE_COMPAT explicitly. + * math/w_exp_compat.c (__exp_compat): Likewise. + * math/w_exp.c: New file. + * math/w_exp2.c: New file. + * sysdeps/i386/fpu/w_exp.c: New file. + * sysdeps/i386/fpu/w_exp2.c: New file. + * sysdeps/ia64/fpu/e_exp.S: Add versioned symbols. + * sysdeps/ia64/fpu/e_exp2.S: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Rename to __exp + and add necessary aliases. + * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Rename to __exp2 + and add necessary aliases. + * sysdeps/ieee754/dbl-64/w_exp.c: New file. + * sysdeps/ieee754/dbl-64/w_exp2.c: New file. + * sysdeps/m68k/m680x0/fpu/w_exp.c: New file. + * sysdeps/m68k/m680x0/fpu/w_exp2.c: New file. + * sysdeps/mach/hurd/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Update. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update. + * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__exp1): Remove. + (__ieee754_exp): Rename to __exp. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__exp1): Remove. + (__ieee754_exp): Rename to __exp. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__exp1): Remove. + (__ieee754_exp): Rename to __exp. + * sysdeps/x86_64/fpu/multiarch/e_exp.c (__ieee754_exp): Rename to + __exp. + * sysdeps/x86_64/fpu/multiarch/w_exp.c: New file. + +2018-11-20 DJ Delorie + + * malloc/malloc.c (tcache_entry): Add key field. + (tcache_put): Set it. + (tcache_get): Likewise. + (_int_free): Check for double free in tcache. + * malloc/tst-tcfree1.c: New. + * malloc/tst-tcfree2.c: New. + * malloc/Makefile: Run the new tests. + * manual/probes.texi: Document memory_tcache_double_free probe. + + * dlfcn/dlerror.c (check_free): Prevent double frees. + +2018-11-20 Wilco Dijkstra + + * sysdeps/aarch64/memset.S (MEMSET): Improve non-zero memset loop. + +2018-11-20 Joseph Myers + + * conform/conformtest.py (ElementTest.run): Use unique identifiers + in tests. Use names for format arguments. + (ConstantTest.run): Likewise. + (SymbolTest.run): Likewise. + (TypeTest.run): Likewise. + (TagTest.run): Likewise. + (FunctionTest.run): Likewise. + (VariableTest.run): Likewise. + (MacroFunctionTest.run): Likewise. + (MacroStrTest.run): Likewise. + (HeaderTests.__init__): Set self.num_tests. + (HeaderTests.handle_test_line): Set test.num. Increment + self.num_tests. + +2018-11-19 Samuel Thibault + + * sysdeps/mach/hurd/f_setlk.c: Include . + (__f_setlk): When whence is SEEK_CUR, use __lseek64 to convert it to + SEEK_SET. + +2018-11-19 Mao Han + + * scripts/config.guess: Update to version 2018-08-29. + * scripts/config.sub: Update to version 2018-08-29. + +2018-11-19 Florian Weimer + + support: Print timestamps in timeout handler. + * support/support_test_main.c (print_timestamp): New function. + (signal_handler): Use it to print the termination time and the + time of the last write to standard output. + +2018-11-16 Zack Weinberg + Gabriel F. T. Gomes + + * include/monetary.h (STRFMON_LDBL_IS_DBL): New constant. + (__vstrfmon_l): Rename to __vstrfmon_l_internal and add flags + argument. + * stdlib/strfmon_l.c (__vstrfmon_l): Rename to __vstrfmon_l_internal + and add flags argument. Check flags instead of __ldbl_is_dbl when + deciding whether to set is_long_double. + (__strfmon_l): Call __vstrfmon_l_internal instead of __vstrfmon_l, + passing zero for flags argument. + * stdlib/strfmon.c (strfmon): Same change as made to __strfmon_l. + + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c + (__nldbl___vstrfmon, __nldbl___vstrfmon_l) + (__nldbl_strfmon, __nldbl___strfmon_l): Call __vstrfmon_l_internal + directly, passing STRFMON_LDBL_IS_DBL for flags argument. Normalize + variable names. Remove libc_hidden_def/libc_hidden_proto from + __nldbl___vstrfmon and __nldbl___vstrfmon_l, because they are no + longer called from within the library. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Don't use NLDBL_DECL + for __nldbl___vstrfmon_l, declare it explicitly. + + * manual/locale.texi: Update a reference to vstrfmon_l in comments. + +2018-11-15 Samuel Thibault + + * sysdeps/mach/hurd/bits/fcntl.h (F_GETLK64, F_SETLK64, F_SETLKW64): New + macros + [__USE_FILE_OFFSET64] (F_GETLK, F_SETLK, F_SETLKW): Define to F_GETLK64, + F_SETLK64, F_SETLKW64, respectively. + * sysdeps/mach/hurd/f_setlk.c: New file. + * sysdeps/mach/hurd/f_setlk.h: New file. + * sysdeps/mach/hurd/Makefile [$(subdir) = io] (sysdeps_routines): Add + f_setlk. + * sysdeps/mach/hurd/fcntl.c: Include "f_setlk.h".h". + (__libc_fcntl): Move non-flock operations to... + * sysdeps/mach/hurd/vfcntl.c (__libc_vfcntl): ... New file. + * sysdeps/mach/hurd/fcntl.c (fcntl64): Add missing alias. + +2018-11-15 Paul Eggert + + mktime: DEBUG_MKTIME cleanup + The DEBUG_MKTIME code no longer works in glibc or in Gnulib. + And it’s no longer needed now that glibc and Gnulib both have + their own testing mechanisms for mktime. + * time/mktime.c (DEBUG_MKTIME): Remove. All uses removed. + + mktime: fix non-EOVERFLOW errno handling + [BZ#23789] + mktime was not properly reporting failures when the underlying + localtime_r fails with errno != EOVERFLOW; it incorrectly treated + them like EOVERFLOW failures, and set errno to EOVERFLOW. + The problem could happen on non-glibc platforms, with Gnulib. + * time/mktime.c (guess_time_tm): Remove, replacing with ... + (tm_diff): ... this simpler function, which does not change errno. + All callers changed to deal with errno themselves. + (ranged_convert, __mktime_internal): Return failure immediately if + the underlying function reports any failure other than EOVERFLOW. + (__mktime_internal): Set errno to EOVERFLOW if the spring-forward + gap code fails. + + mktime: fix bug with Y2038 DST transition + [BZ#23789] + * time/mktime.c (ranged_convert): On 32-bit platforms, don’t + mishandle a DST transition that jumps over the Y2038 boundary. + No such DST transitions are known so this is only a theoretical + bug, but we might as well do things right. + + mktime: make more room for overflow + [BZ#23789] + * time/mktime.c (long_int): Now 4⨯ int, not just 3⨯. + This is so that we can add tm_diff results to a previous guess, + which will be useful in a later patch. + + mktime: simplify offset guess + [BZ#23789] + * time/mktime.c (__mktime_internal): Omit excess precision. + + mktime: new test for mktime failure + [BZ#23789] + Based on a test suggested by Albert Aribaud in: + https://www.sourceware.org/ml/libc-alpha/2018-10/msg00662.html + * time/Makefile (tests): Add bug-mktime4. + * time/bug-mktime4.c: New file. + + mktime: fix EOVERFLOW bug + [BZ#23789] + * time/mktime.c [!_LIBC && !DEBUG_MKTIME]: + Include libc-config.h, not config.h, for __set_errno. + (guess_time_tm, __mktime_internal): Set errno to EOVERFLOW on overflow. + +2018-11-14 Samuel Thibault + + * sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): Use + __attribute_copy__ to copy attributes from name. Drop static qualifier + to avoid warnings about leaf attribute not having effect on static + functions. + +2018-11-13 Florian Weimer + + * malloc/malloc.c (fastbin_push_entry): New function. + (fastbin_pop_entry): Likewise. Replaces REMOVE_FB. + (REMOVE_FB): Remove macro. + (_int_malloc): Use fastbin_pop_entry and reindent. + (_int_free): Use fastbin_push_entry. + (malloc_consolidate): Use atomic_exchange_acquire. + +2018-11-13 Joseph Myers + + * sysdeps/mips/__longjmp.c (__longjmp): Define alias manually with + alias attribute, not with strong_alias. + + * include/libc-symbols.h [SHARED && !NO_HIDDEN && !__ASSEMBLER__] + (__hidden_ver2): New macro. Use old definition of __hidden_ver1 + with additional parameter thread. + [SHARED && !NO_HIDDEN && !__ASSEMBLER__] (__hidden_ver1): Define + in terms of __hidden_ver2. + (hidden_tls_def): New macro. + (libc_hidden_tls_def): Likewise. + (rtld_hidden_tls_def): Likewise. + (libm_hidden_tls_def): Likewise. + (libmvec_hidden_tls_def): Likewise. + (libresolv_hidden_tls_def): Likewise. + (librt_hidden_tls_def): Likewise. + (libdl_hidden_tls_def): Likewise. + (libnss_files_hidden_tls_def): Likewise. + (libnsl_hidden_tls_def): Likewise. + (libnss_nisplus_hidden_tls_def): Likewise. + (libutil_hidden_tls_def): Likewise. + (libutil_hidden_tls_def): Likweise. + * sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions_thread): Use + libc_hidden_tls_def. + (__sim_disabled_exceptions_thread): Likewise. + (__sim_round_mode_thread): Likewise. + + * sysdeps/sparc/sparc-ifunc.h [SHARED] + (sparc_ifunc_redirected_hidden_def): Use __attribute_copy__ to + copy attributes from name. + +2018-11-12 Joseph Myers + + * sysdeps/arm/arm-ifunc.h [SHARED] (arm_libc_ifunc_hidden_def): + Use __attribute_copy__ to copy attributes from name. + + * sysdeps/i386/i686/fpu/multiarch/e_expf.c [SHARED]: Use __THROW + with __hidden_ver1 call. + * sysdeps/i386/i686/fpu/multiarch/e_log2f.c [SHARED]: Likewise. + * sysdeps/i386/i686/fpu/multiarch/e_logf.c [SHARED]: Likewise. + * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include . + (__cosf): Do not declare here. + * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include . + (__sincosf): Do not declare here. + * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include . + (__sinf): Do not declare here. + + * sysdeps/ia64/fpu/sfp-machine.h (__LITTLE_ENDIAN): Remove. + (__BIG_ENDIAN): Likewise. + (__BYTE_ORDER): Likewise. + (strong_alias): Likewise. + (_strong_alias): Likewise. + +2018-11-12 Florian Weimer + + * malloc/malloc.c (unlink_chunk): Turn the unlink macro into this + function. Move after the definition of in_smallbin_range. Do not + use __builtin_expect for paths that lead to a noreturn function. + Drop remaining __builtin_expect (p->fd_nextsize != NULL, 0) + because it is unclear whether this is in fact an unlikely + condition. + (_int_malloc, _int_free): Adjust. + (malloc_consolidate, _int_realloc): Adjust. Remove bck, fwd + variables. + * malloc/arena.c (heap_trim): Likewise. + +2018-11-10 Samuel Thibault + + * sysdeps/mach/hurd/spawni.c (__spawni): Add ccwdir port. Test and use + it, free it if needed. + (reauthenticate): Test and use ccwdir. + (child_init_port): In non-resetids case, test and use ccwdir. + (child_chdir): New nested function to set ccwdir. + * hurd/hurd/userlink.h (_hurd_userlink_move): New function. + * hurd/hurd/port.h (_hurd_port_move): New function. + * sysdeps/mach/hurd/spawni.c (NEW_ULINK_TABLE): New macro. + (EXPAND_DTABLE): Use NEW_ULINK_TABLE macro for ulink_dtable. + * hurd/Versions (_hurd_port_move): Export function. + * sysdeps/mach/hurd/i386/libc.abilist (_hurd_port_move): Expect + symbol. + * sysdeps/mach/hurd/spawni.c (__spawni): Use orig_dtablesize instead + of dtablesize for allocating dtable_cloexec. + +2018-11-09 Martin Sebor + + * include/libc-symbols.h (__attribute_copy__): Define macro unless + it's already defined. + (_strong_alias): Use __attribute_copy__. + (_weak_alias, __hidden_ver1, __hidden_nolink2): Same. + * misc/sys/cdefs.h (__attribute_copy__): New macro. + * sysdeps/x86_64/multiarch/memchr.c (memchr): Use __attribute_copy__. + * sysdeps/x86_64/multiarch/memcmp.c (memcmp): Same. + * sysdeps/x86_64/multiarch/mempcpy.c (mempcpy): Same. + * sysdeps/x86_64/multiarch/memset.c (memset): Same. + * sysdeps/x86_64/multiarch/stpcpy.c (stpcpy): Same. + * sysdeps/x86_64/multiarch/strcat.c (strcat): Same. + * sysdeps/x86_64/multiarch/strchr.c (strchr): Same. + * sysdeps/x86_64/multiarch/strcmp.c (strcmp): Same. + * sysdeps/x86_64/multiarch/strcpy.c (strcpy): Same. + * sysdeps/x86_64/multiarch/strcspn.c (strcspn): Same. + * sysdeps/x86_64/multiarch/strlen.c (strlen): Same. + * sysdeps/x86_64/multiarch/strncmp.c (strncmp): Same. + * sysdeps/x86_64/multiarch/strncpy.c (strncpy): Same. + * sysdeps/x86_64/multiarch/strnlen.c (strnlen): Same. + * sysdeps/x86_64/multiarch/strpbrk.c (strpbrk): Same. + * sysdeps/x86_64/multiarch/strrchr.c (strrchr): Same. + * sysdeps/x86_64/multiarch/strspn.c (strspn): Same. + +2018-11-09 Gabriel F. T. Gomes + + * misc/tst-efgcvt.c: Include support/check.h and + support/test-driver.c. Do not include test-skeleton.c. + (error_count): Remove. + (output_error): Replace increments to error_count with calls to + support_record_failure. + (output_r_error): Likewise. + (special): Likewise. + (do_test): Unconditionally return zero. + (TEST_FUNCTION): Remove. + +2018-11-09 Joseph Myers + + * conform/Makefile ($(conformtest-header-tests)): Create $(@D), + not $(@D)/scratch. + ($(linknamespace-header-tests)): Likewise. + + * conform/conformtest.py: New file. + * conform/conformtest.pl: Remove. + * conform/GlibcConform.pm: Likewise. + * conform/glibcconform.py (KEYWORDS_C90): New constant. + (KEYWORDS_C99): Likewise. + (KEYWORDS): Likewise. + * conform/Makefile ($(conformtest-header-tests)): Use + conformtest.py instead of conformtest.pl. Do not pass --tmpdir + option. Use --header instead of --headers. + * conform/data/arpa/inet.h-data: Remove trailing semicolons on + function entries. + * conform/data/spawn.h-data: Likewise. + * conform/data/fcntl.h-data (openat): Add space after function + name. + * conform/data/wchar.h-data (wcscasecmp): Likewise. + (wcscasecmp_l): Likewise. + * conform/data/termios.h-data (c_cc): Add space after element + name. + +2018-11-08 Gabriel F. T. Gomes + + * argp/tst-ldbl-argp.c (do_one_test): Use TEST_COMPARE_STRING, + instead of manually comparing and reporting mismatching strings. + * misc/tst-ldbl-error.c (do_one_test): Likewise. + * misc/tst-ldbl-warn.c (do_one_test): Likewise. + +2018-11-08 Joseph Myers + + * sysdeps/unix/sysv/linux/kernel-features.h: Remove comment about + __ASSUME_SOCKETCALL. + * sysdeps/unix/sysv/linux/i386/kernel-features.h + (__ASSUME_SOCKETCALL): Remove. + * sysdeps/unix/sysv/linux/m68k/kernel-features.h + (__ASSUME_SOCKETCALL): Likewise. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + (__ASSUME_SOCKETCALL): Likewise. + * sysdeps/unix/sysv/linux/powerpc/kernel-features.h + (__ASSUME_SOCKETCALL): Likewise. + * sysdeps/unix/sysv/linux/s390/kernel-features.h + (__ASSUME_SOCKETCALL): Likewise. + * sysdeps/unix/sysv/linux/sh/kernel-features.h + (__ASSUME_SOCKETCALL): Likewise. + * sysdeps/unix/sysv/linux/sparc/kernel-features.h + (__ASSUME_SOCKETCALL): Likewise. + +2018-11-08 H.J. Lu + + [BZ #23509] + * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Skip + note parsing if a NT_GNU_PROPERTY_TYPE_0 note has been processed. + Update the l_cet field when processing NT_GNU_PROPERTY_TYPE_0 note. + Check multiple NT_GNU_PROPERTY_TYPE_0 notes. + * sysdeps/x86/link_map.h (l_cet): Expand to 3 bits, Add + lc_unknown. + +2018-11-08 Alexandra Hájková + + [BZ #17630] + * resolv/tst-resolv-network.c: Add test for getnetbyname. + +2018-11-07 Joseph Myers + + [BZ #23867] + * sysdeps/unix/sysv/linux/arm/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_MLOCK2): Undefine. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_MLOCK2): Undefine. + +2018-11-07 Adhemerval Zanella + + * support/support_test_compare_string.c + (support_test_compare_string): Fix printf format. + +2018-11-07 Florian Weimer + + Implement TEST_COMPARE_STRING. + * support/check.h (TEST_COMPARE_STRING): Define. + (support_test_compare_string): Declare. + * support/Makefile (libsupport-routines): Add + support_test_compare_string. + (tests): Add tst-test_compare_string. + * support/support_test_compare_string.c: New file. + * support/tst-test_compare_string.c: Likewise. + +2018-11-07 Andreas Schwab + + [BZ #23864] + * sysdeps/unix/sysv/linux/riscv/kernel-features.h + (__ASSUME_SET_ROBUST_LIST) [__LINUX_KERNEL_VERSION < 0x041400]: + Undef. + +2018-11-06 Joseph Myers + + [BZ #23862] + * sysdeps/unix/sysv/linux/sh/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_EXECVEAT): Undefine. + [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_MLOCK2): Likewise. + [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_COPY_FILE_RANGE): + Likewise. + +2018-11-06 Florian Weimer + + [BZ #17405] + * posix/Makefile (routines): Add spawn_faction_addchdir. + (tests): Add tst-spawn-chdir. + * posix/Versions (GLIBC_2.29): Add + posix_spawn_file_actions_addchdir_np. + * posix/spawn_faction_addchdir.c: New file. + * posix/spawn_faction_destroy.c + (__posix_spawn_file_actions_destroy): Handle spawn_do_chdir. + * posix/spawn.h (posix_spawn_file_actions_addchdir_np): Declare. + * posix/spawn_int.h (struct __spawn_action): Add spawn_do_chdir, + chdir_action. + * posix/tst-spawn-chdir.c: New file. + * sysdeps/posix/spawni.c (__spawni_child): Handle spawn_do_chdir. + * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise. + * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.29): Add + posix_spawn_file_actions_addchdir_np. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist + (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.29): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.29): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.29): + Likewise. + +2018-11-06 Gabriel F. T. Gomes + + * misc/Makefile (tests): Add tst-ldbl-error. + * misc/tst-ldbl-error.c: New file. + +2018-11-06 Gabriel F. T. Gomes + + * misc/Makefile (tests): Add tst-ldbl-warn. + * misc/tst-ldbl-warn.c: New file. + +2018-11-06 Gabriel F. T. Gomes + + * argp/Makefile (tests): Add tst-ldbl-argp. + * argp/tst-ldbl-argp.c: New file. + +2018-11-05 Arjun Shankar + + * iconv/gconv_conf.c (__gconv_read_conf): Remove NULL check for + __gconv_path_elem and call __gconv_get_path unconditionally. + +2018-11-05 Andreas Schwab + + [BZ #22927] + * resolv/gai_misc.c (__gai_enqueue_request): Don't crash if + creating the first helper thread failed. + +2018-11-03 Samuel Thibault + + * sysdeps/mach/hurd/msync.c: New file. + +2018-11-02 Florian Weimer + + * support/shell-container.c (copy_func): Call + support_copy_file_range instead of copy_file_range to support + cross-device copies. + +2018-11-02 Florian Weimer + + * support/test-container.c: Include for + ALIGN_UP. + +2018-11-01 Zong Li + + * soft-fp/op-8.h (_FP_FRAC_SET_8, _FP_FRAC_ADD_8, _FP_FRAC_SUB_8) + (_FP_FRAC_CLZ_8, _FP_MINFRAC_8, _FP_FRAC_NEGP_8, _FP_FRAC_ZEROP_8) + (_FP_FRAC_HIGHBIT_DW_8, _FP_FRAC_COPY_4_8, _FP_FRAC_COPY_8_4) + (__FP_FRAC_SET_8): Add implementation for RV32 use. + + * soft-fp/op-4.h (_FP_FRAC_SUB_3, _FP_FRAC_SUB_4): Use temporary + variable to avoid overlap arguments. + +2018-11-01 Joseph Myers + + * posix/bug-regex22.c (main): Use puts with distinct error + messages for unexpected success of re_compile_pattern, not printf + with NULL argument to %s. + + * stdio-common/bug22.c: Include . + (do_test): Disable -Wformat-overflow= warnings around fprintf + calls outputting more than INT_MAX characters. + * stdio-common/tst-printf.c: Disable -Wformat-overflow= warnings + around printf call with NULL %s argument. + + [BZ #23848] + * sysdeps/unix/sysv/linux/sparc/kernel-features.h [!__arch64__ && + __LINUX_KERNEL_VERSION < 0x040400] (__ASSUME_SENDMSG_SYSCALL): + Undefine. + [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] + (__ASSUME_RECVMSG_SYSCALL): Likewise. + [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] + (__ASSUME_SENDTO_SYSCALL): Likewise. + [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] + (__ASSUME_ACCEPT_SYSCALL): Undefine under this condition, not just + [!__arch64__]. + [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] + (__ASSUME_CONNECT_SYSCALL): Likewise. + [!__arch64__ && __LINUX_KERNEL_VERSION < 0x040400] + (__ASSUME_RECVFROM_SYSCALL): Likewise. + [__LINUX_KERNEL_VERSION >= 0x040400] (__ASSUME_BIND_SYSCALL): + Define. + [__LINUX_KERNEL_VERSION >= 0x040400] (__ASSUME_LISTEN_SYSCALL): + Likewise. + [__LINUX_KERNEL_VERSION >= 0x040400] + (__ASSUME_SETSOCKOPT_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (bind): + Remove. + (listen): Likewise. + (setsockopt): Likewise. + +2018-11-01 Fredrik Noring + + * sysdeps/mips/sys/tas.h (_test_and_set): Handle the R5900 CPU + with the ISA override. + +2018-10-31 Rafael Ávila de Espíndola + + * sysdeps/unix/sysv/linux/sysdep-vdso.h: Simplify an #if #else + #endif. + +2018-10-31 Samuel Thibault + + * manual/errno.texi (EIEIO): Document how translators should + translate the error message. + * sysdeps/mach/hurd/errnos.awk: Avoid printing errnos.d. Avoid + printing trailing whitespaces refused by git. + * sysdeps/gnu/errlist.c (EIEIO): Regenerate. + * sysdeps/mach/hurd/bits/errno.h: Regenerate. + * hurd/Makefile (user-interfaces): Add pci. + +2018-10-30 Joseph Myers + + * conform/linknamespace.py: New file. + * conform/linknamespace.pl: Remove file. + * conform/Makefile ($(linknamespace-header-tests)): Use + linknamespace.py instead of linknamespace.pl. Do not use --tmpdir + option. + +2018-10-30 Florian Weimer + + * stdlib/test-bz22786.c (do_test): Additional free calls to avoid + memory leaks. + +2018-10-30 Florian Weimer + + * support/blob_repeat.c (allocate_big): Call mkstemp directly. + +2018-10-30 Florian Weimer + + * stdlib/tst-strtod-overflow.c (do_test): Switch to + support_blob_repeat. + +2018-10-30 Florian Weimer + + Avoid spurious test failures in stdlib/test-bz22786. + * support/Makefile (libsupport-routines): Add blob_repeat. + (tests): Add tst-support_blob_repeat. + * support/blob_repeat.h: New file. + * support/blob_repeat.c: Likewise. + * support/tst-support_blob_repeat.c: Likewise. + * stdlib/test-bz22786.c (do_test): Replace malloc and memset with + support_blob_repeat_allocate. + +2018-10-30 Andreas Schwab + + [BZ #23125] + * sysdeps/riscv/start.S (ENTRY_POINT): Mark ra as undefined. + Don't use tail call. + * elf/tst-unwind-main.c: New file. + * elf/Makefile (tests): Add tst-unwind-main. + (CFLAGS-tst-unwind-main.c): Define. + +2018-10-29 Sergi Almacellas Abellana + + [BZ #23791] + * localedata/locales/ca_ES (LC_MONETARY): set p_cs_precedes and + n_cs_precedes to 0. + * localedata/locales/ca_ES (LC_MONETARY): set grouping to 3;3 + +2018-10-29 Joseph Myers + + * conform/glibcconform.py: Do not import shutil. + (list_exported_functions): Use tempfile.TemporaryDirectory instead + of mkdtemp. + + * configure.ac (PYTHON_PROG): Use AC_CHECK_PROG_VER. Set + critic_missing for versions before 3.4. + * configure: Regenerated. + * manual/install.texi (Tools for Compilation): Document + requirement for Python to build glibc. + * INSTALL: Regenerated. + * Rules [PYTHON]: Make code unconditional. + * benchtests/Makefile [PYTHON]: Likewise. + * conform/Makefile [PYTHON]: Likewise. + * manual/Makefile [PYTHON]: Likewise. + * math/Makefile [PYTHON]: Likewise. + +2018-10-28 Samuel Thibault + + * hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): Set to 60000. + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): When the server does not + answer to interrupt_operation, return EIEIO instead of EINTR. + * sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Make + _hurd_intr_rpc_msg_about_to global point to start of controlled + assembly snippet. Make it check canceled flag. + * hurd/hurdsig.c (_hurdsig_abort_rpcs): Only mutate thread if it passed + the _hurd_intr_rpc_msg_about_to point. + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Remove comment on mutation + issue, remove cancel flag check. + +2018-10-26 Joseph Myers + + * scripts/build-many-glibcs.py: Remove compatibility for missing + os.cpu_count and re.fullmatch. + +2018-10-26 Szabolcs Nagy + + [BZ #23822] + * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Use WEAK_LIBM_ENTRY. + * sysdeps/ia64/fpu/e_log2f.S (log2f): Likewise. + * sysdeps/ia64/fpu/e_exp2f.S (powf): Likewise. + +2018-10-25 Joseph Myers + + * sysdeps/unix/sysv/linux/sys/inotify.h (IN_MASK_CREATE): New + macro. + +2018-10-25 Florian Weimer + + [BZ #23562] + [BZ #23821] + XFAIL siginfo_t si_band conform test on sparc64. + * sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h + (__SI_BAND_TYPE): Only override long int default type on sparc64. + * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile + (conformtest-xfail-conds): Add sparc64-linux. + * conform/data/signal.h-data (siginfo_t): XFAIL si_band test on + sparc64. + * conform/data/sys/wait.h-data (siginfo_t): Likewise. + +2018-10-25 Joseph Myers + + * elf/elf.h (NT_MIPS_DSP): New macro. + (NT_MIPS_FP_MODE): Likewise. + +2018-10-25 Zong Li + + * elf/Makefile (LDFLAGS-tst-execstack-mod.so): Change variable + name by adding the file extension (.so). + +2018-10-25 Samuel Thibault + + * sysdeps/mach/hurd/i386/Makefile [$(subdir) = conform] + (test-xfail-ISO11/threads.h/linknamespace, + test-xfail-ISO11/threads.h/conform): Add. + +2018-10-24 Joseph Myers + + * math/gen-libm-test.py: Import os. + (ALL_FLOATS_MANUAL): New constant. + (ALL_FLOATS_SUFFIX): Likewise. + (Ulps.all_functions): New function. + (real_all_ulps): Likewise. + (generate_err_table_sub): Likewise. + (generate_err_table): Likewise. + (main): Handle -s and -m options. + * manual/libm-err-tab.pl: Remove. + * manual/Makefile ($(objpfx)stamp-libm-err): Use gen-libm-test.py + instead of libm-err-tab.pl. + [$(PERL) != no]: Change condition to [$(if $(PYTHON),$(PERL),no) + != no]. + * manual/install.texi (Tools for Compilation): Document + requirement for Python to build manual. + * INSTALL: Regenerated. + +2018-10-24 Albert ARIBAUD + + * bits/time64.h: New file. + * include/time.h: Replace internal_time_t with __time64_t. + * posix/bits/types (__time64_t): Add. + * stdlib/Makefile: Add bits/time64.h to includes. + * time/tzfile.c: Replace internal_time_t with __time64_t. + +2018-10-24 Adhemerval Zanella + + * include/spawn.h (__posix_spawn, posix_spawn_file_actions_addclose, + __posix_spawn_file_actions_adddup2, __posix_spawn_file_actions_destroy, + __posix_spawn_file_actions_init, __posix_spawnattr_init, + __posix_spawnattr_destroy, __posix_spawnattr_setflags, + __posix_spawnattr_setsigdefault, __posix_spawnattr_setsigmask): New + prototype. + * posix/spawn.c (__posix_spawn): Add libc_hidden_def. + * posix/spawn_faction_addclose.c + (__posix_spawn_file_actions_addclose): Add hidden definition. + * posix/spawn_faction_adddup2.c + (__posix_spawn_file_actions_adddup2): Likewise. + * posix/spawn_faction_destroy.c + (__posix_spawn_file_actions_destroy): Likewise. + * posix/spawn_faction_init.c (__posix_spawn_file_actions_init): + Likewise. + * posix/spawnattr_destroy.c (__posix_spawnattr_destroy): Likewise. + * posix/spawnattr_init.c (__posix_spawnattr_init): Likewise. + * posix/spawnattr_setdefault.c (__posix_spawnattr_setsigdefault): + Likewise. + * posix/spawnattr_setflags.c (__posix_spawnattr_setflags): Likewise. + * posix/spawnattr_setsigmask.c (__posix_spawnattr_setsigmask): + Likewise. + +2018-10-24 Andreas Schwab + + [BZ #18093] + * elf/dl-cache.c (_dl_load_cache_lookup): Check for truncated old + format cache. + * elf/cache.c (print_cache): Likewise. + +2018-10-24 Albert ARIBAUD + + * bits/timesize.h: New file. + * stdlib/Makefile (headers): Add bits/timesize.h. + * sysdeps/unix/sysv/linux/bits/msq-pad.h + (__MSQ_PAD_AFTER_TIME): Use __TIMESIZE instead of __WORDSIZE. + * sysdeps/unix/sysv/linux/bits/sem-pad.h + (__SEM_PAD_AFTER_TIME): Likewise. + * sysdeps/unix/sysv/linux/bits/shm-pad.h + (__SHM_PAD_AFTER_TIME): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h + (__MSQ_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h + (__SEM_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h + (__SHM_PAD_BEFORE_TIME, __SHM_PAD_BETWEEN_TIME_AND_SEGSZ): Likewise. + * sysdeps/unix/sysv/linux/mips/bits/msq-pad.h + (__MSQ_PAD_AFTER_TIME, __MSQ_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h + (__MSQ_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h + (__SEM_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h + (__SHM_PAD_BEFORE_TIME, __SHM_PAD_BETWEEN_TIME_AND_SEGSZ): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h + (__MSQ_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h + (__SEM_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h + (__SHM_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/x86/bits/msq-pad.h: Delete file. + * sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/timesize.h: New file. + +2018-10-24 H.J. Lu + + * benchtests/Makefile (CPPFLAGS-nonlib): Add -DUSE_RDTSCP if + USE_RDTSCP is defined. + * sysdeps/x86/hp-timing.h (HP_TIMING_NOW): Use RDTSCP if + USE_RDTSCP is defined. + +2018-10-23 Adhemerval Zanella + + * misc/tst-preadvwritev2-common.c (IOV_MAX): Define if not + defined. + + [BZ #23709] + * sysdeps/x86/cpu-features.c (init_cpu_features): Set TSX bits + independently of other flags. + +2018-10-23 Florian Weimer + + * time/tst-mktime2.c (N_STRINGS): Remove. + (set_timezone): New function. + (spring_forward_gap): Call it. Use FAIL_EXIT1. + (mktime_test1): Report localtime failure and check errno value. + Use TEST_COMPARE. + (irix_6_4_bug, bigtime_test): Use TEST_COMPARE. + (do_test): Remove alarm call. Use set_timezone and array_length. + +2018-10-23 Andreas Schwab + + * sysdeps/unix/sysv/linux/riscv/setcontext.S (__setcontext) + (__start_context): Use END instead of PSEUDO_END. + +2018-10-22 Joseph Myers + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 4.19. + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + version to 4.19. + + [BZ #23793] + * wcsmbs/c32rtomb.c: New file. + * wcsmbs/mbrtoc32.c: Likewise. + * wcsmbs/tst-c32-state.c: Likewise. + * wcsmbs/mbrtowc.c (mbrtoc32): Do not define as alias. + * wcsmbs/wcrtomb.c (c32rtomb): Likewise. + * wcsmbs/Makefile (routines): Add mbrtoc32 and c32rtomb. + (tests): Add tst-c32-state. + [$(run-built-tests) = yes] ($(objpfx)tst-c32-state.out): Depend on + $(gen-locales). + +2018-10-21 H.J. Lu + + * sysdeps/x86/hp-timing.h: Don't include . + (HP_TIMING_NOW): Replace _rdtsc with __builtin_ia32_rdtsc. + +2018-10-19 Joseph Myers + + [BZ #23794] + * wcsmbs/c16rtomb.c (c16rtomb): Save first character of surrogate + pair and return 0 in that case, and use saved character to + interpret following character. + * wcsmbs/tst-c16-surrogate.c: New file. + * wcsmbs/Makefile (tests): Add tst-c16-surrogate.c. + [$(run-built-tests) = yes] ($(objpfx)tst-c16-surrogate.out): + Depend on $(gen-locales) + +2018-10-19 Ilya Yu. Malakhov + + [BZ #23562] + * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h + (struct siginfo_t): Use correct type for si_band. + +2018-10-19 Florian Weimer + + [BZ #23689] + * resource/bits/types/struct_rusage.h (struct rusage): Update + comment on struct. Remove extraneous field comment. + +2018-10-18 David S. Miller + + * sysdeps/unix/sysv/linux/sparc/init-first.c: New file. + * sysdeps/unix/sysv/linux/sparc/libc-vdso.h: New file. + * sysdeps/unix/sysv/linux/sparc/Makefile: Add dl-vdso to + sysdep_routines in subdir elf. + * sysdeps/unix/sysv/linux/sparc/Versions: Add GLIBC_PRIVATE + version for __vdso_clock_gettime. + * sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_VSYSCALL_CALL): + Define. + (HAVE_CLOCK_GETTIME_VSYSCALL): Define. + (HAVE_GETTIMEOFDAY_VSYSCALL): Define. + + * sysdeps/sparc/fpu/libm-test-ulps: Regenerated. + +2018-10-17 H.J. Lu + + * sysdeps/i386/init-arch.h: Removed. + * sysdeps/i386/i586/init-arch.h: Likewise. + * sysdeps/i386/i686/init-arch.h: Likewise. + * sysdeps/i386/i686/hp-timing.h: Likewise. + * sysdeps/x86_64/hp-timing.h: Likewise. + * sysdeps/i386/isa.h: New file. + * sysdeps/i386/i586/isa.h: Likewise. + * sysdeps/i386/i686/isa.h: Likewise. + * sysdeps/x86_64/isa.h: Likewise. + * sysdeps/x86/hp-timing.h: New file. + * sysdeps/x86/init-arch.h: Include . + +2018-10-17 Joseph Myers + + * math/libm-test-pow.inc (pow_test_data): Do not allow + divide-by-zero exception for pow(+/- 0, -Inf). + +2018-10-17 Zack Weinberg + + * manual/job.texi (Job Control is Optional): Remove node, as + job control has not been optional in quite some time. + (Job Control): Mention briefly that systems older than + POSIX.1-2001 might not support job control. + * manual/conf.texi (_POSIX_JOB_CONTROL): Will always be + defined on systems conforming to POSIX.1-2001. + +2018-10-17 Arjun Shankar + + [BZ #22062] + * iconv/gconv_conf.c (__gconv_get_path): Remove locking and fix + indentation. + * (__gconv_read_conf): Mark function static. + * (once): New static variable. + * (__gconv_load_conf): New function. + * iconv/gconv_int.h (__gconv_load_conf): Likewise. + * iconv/gconv_db.c (once): Remove static variable. + * (__gconv_compare_alias): Use __gconv_load_conf instead of + __gconv_read_conf. + * (__gconv_find_transform): Likewise. + * iconv/tst-iconv-mt.c: New test. + * iconv/Makefile: Add tst-iconv_mt. + +2018-10-17 Joseph Myers + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/shm-pad.h. + * sysdeps/unix/sysv/linux/bits/shm.h: Include . + (shmatt_t): Define as __syscall_ulong_t. + (__SHM_PAD_TIME): New macro, depending on [__SHM_PAD_BEFORE_TIME] + and [__SHM_PAD_AFTER_TIME]. + (struct shmid_ds): Define time fields using __SHM_PAD_TIME. + Define shm_segsz and associated padding based on + [__SHM_SEGSZ_AFTER_TIME] and [__SHM_PAD_BETWEEN_TIME_AND_SEGSZ]. + Use __syscall_ulong_t instead of unsigned long int. + [__USE_MISC] (struct shminfo): Use __syscall_ulong_t instead of + unsigned long int. + [__USE_MISC] (struct shm_info): Likewise. + * sysdeps/unix/sysv/linux/bits/shm-pad.h: New file. + * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/shm-pad.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Remove. + * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/shm.h: Likewise. + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/shmlba.h. + * sysdeps/unix/sysv/linux/bits/shm.h: Include . + (SHMLBA): Remove macro. + (__getpagesize): Remove function declaration. + * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Include + . + (SHMLBA): Remove macro. + * sysdeps/unix/sysv/linux/mips/bits/shm.h: Include + . + (SHMLBA): Remove macro. + * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Include + . + (SHMLBA): Remove macro. + (__getpagesize): Remove function declaration. + * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Include + . + (SHMLBA): Remove macro. + (__getshmlba): Remove function declaration. + * sysdeps/unix/sysv/linux/x86/bits/shm.h: Include . + (SHMLBA): Remove macro. + (__getpagesize): Remove function declaration. + * sysdeps/unix/sysv/linux/arm/bits/shm.h: Remove file. + * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/sh/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/bits/shmlba.h: New file. + * sysdeps/unix/sysv/linux/arm/bits/shmlba.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/shmlba.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/shmlba.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/shmlba.h: Likewise. + * sysdeps/unix/sysv/linux/sh/bits/shmlba.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/shmlba.h: Likewise. + +2018-10-17 Stefan Liebler + + [BZ #23275] + * nptl/tst-mutex10.c: New File. + * nptl/Makefile (tests): Add tst-mutex10. + (tst-mutex10-ENV): New variable. + * sysdeps/unix/sysv/linux/s390/force-elision.h: (FORCE_ELISION): + Ensure that elision path is used if elision is available. + * sysdeps/unix/sysv/linux/powerpc/force-elision.h (FORCE_ELISION): + Likewise. + * sysdeps/unix/sysv/linux/x86/force-elision.h: (FORCE_ELISION): + Likewise. + * nptl/pthreadP.h (PTHREAD_MUTEX_TYPE, PTHREAD_MUTEX_TYPE_ELISION) + (PTHREAD_MUTEX_PSHARED): Use atomic_load_relaxed. + * nptl/pthread_mutex_consistent.c (pthread_mutex_consistent): Likewise. + * nptl/pthread_mutex_getprioceiling.c (pthread_mutex_getprioceiling): + Likewise. + * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full) + (__pthread_mutex_cond_lock_adjust): Likewise. + * nptl/pthread_mutex_setprioceiling.c (pthread_mutex_setprioceiling): + Likewise. + * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Likewise. + * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise. + * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Likewise. + * sysdeps/nptl/bits/thread-shared-types.h (struct __pthread_mutex_s): + Add comments. + * nptl/pthread_mutex_destroy.c (__pthread_mutex_destroy): + Use atomic_load_relaxed and atomic_store_relaxed. + * nptl/pthread_mutex_init.c (__pthread_mutex_init): + Use atomic_store_relaxed. + +2018-10-17 Andreas Schwab + + * benchtests/bench-strtod.c (TIMEOUT): Don't define. + * crypt/badsalttest.c (TIMEOUT): Likewise. + * crypt/sha256c-test.c (TIMEOUT): Likewise. + * dirent/tst-fdopendir.c (TIMEOUT): Likewise. + * io/test-lfs.c (TIMEOUT): Likewise. + * libio/tst-atime.c (TIMEOUT): Likewise. + * localedata/tst-leaks.c (TIMEOUT): Likewise. + * nptl/tst-cancel19.c (TIMEOUT): Likewise. + * nptl/tst-cancel22.c (TIMEOUT): Likewise. + * nptl/tst-cancel25.c (TIMEOUT): Likewise. + * nptl/tst-cancel7.c (TIMEOUT): Likewise. + * nptl/tst-cond-except.c (TIMEOUT): Likewise. + * nptl/tst-cond11.c (TIMEOUT): Likewise. + * nptl/tst-cond14.c (TIMEOUT): Likewise. + * nptl/tst-cond15.c (TIMEOUT): Likewise. + * nptl/tst-cond24.c (TIMEOUT): Likewise. + * nptl/tst-cond25.c (TIMEOUT): Likewise. + * nptl/tst-kill2.c (TIMEOUT): Likewise. + * nptl/tst-kill3.c (TIMEOUT): Likewise. + * nptl/tst-mutex4.c (TIMEOUT): Likewise. + * nptl/tst-mutex5.c (TIMEOUT): Likewise. + * nptl/tst-mutex9.c (TIMEOUT): Likewise. + * nptl/tst-once2.c (TIMEOUT): Likewise. + * nptl/tst-once3.c (TIMEOUT): Likewise. + * nptl/tst-once4.c (TIMEOUT): Likewise. + * nptl/tst-robust8.c (TIMEOUT): Likewise. + * nptl/tst-robust9.c (TIMEOUT): Likewise. + * nptl/tst-rwlock16.c (TIMEOUT): Likewise. + * nptl/tst-sem14.c (TIMEOUT): Likewise. + * nptl/tst-sem6.c (TIMEOUT): Likewise. + * nptl/tst-signal3.c (TIMEOUT): Likewise. + * nptl/tst-spin4.c (TIMEOUT): Likewise. + * nptl/tst-tls3.c (TIMEOUT): Likewise. + * nptl/tst-tls4.c (TIMEOUT): Likewise. + * posix/tst-chmod.c (TIMEOUT): Likewise. + * posix/tst-getaddrinfo4.c (TIMEOUT): Likewise. + * posix/tst-getaddrinfo5.c (TIMEOUT): Likewise. + * posix/tst-preadwrite-common.c (TIMEOUT): Likewise. + * posix/tst-regex2.c (TIMEOUT): Likewise. + * posix/tst-waitid.c (TIMEOUT): Likewise. + * rt/tst-aio.c (TIMEOUT): Likewise. + * rt/tst-aio10.c (TIMEOUT): Likewise. + * rt/tst-aio4.c (TIMEOUT): Likewise. + * rt/tst-aio5.c (TIMEOUT): Likewise. + * rt/tst-aio6.c (TIMEOUT): Likewise. + * rt/tst-aio64.c (TIMEOUT): Likewise. + * rt/tst-aio7.c (TIMEOUT): Likewise. + * rt/tst-aio9.c (TIMEOUT): Likewise. + * rt/tst-clock.c (TIMEOUT): Likewise. + * rt/tst-cpuclock1.c (TIMEOUT): Likewise. + * rt/tst-cpuclock2.c (TIMEOUT): Likewise. + * rt/tst-mqueue2.c (TIMEOUT): Likewise. + * rt/tst-mqueue4.c (TIMEOUT): Likewise. + * rt/tst-mqueue5.c (TIMEOUT): Likewise. + * rt/tst-timer4.c (TIMEOUT): Likewise. + * stdio-common/tst-fseek.c (TIMEOUT): Likewise. + * stdio-common/tst-rndseek.c (TIMEOUT): Likewise. + * stdlib/tst-empty-env.c (TIMEOUT): Likewise. + * sysdeps/wordsize-64/tst-writev.c (TIMEOUT): Likewise. + * time/tst-ftime.c (TIMEOUT): Likewise. + * timezone/tst-tzset.c (TIMEOUT): Likewise. + +2018-10-16 Anton Youdkevitch + + * sysdeps/aarch64/multiarch/memcpy_thunderx.S: Remove thunderx2 code. + * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: New implementation + for thunderX2. + +2018-10-15 Joseph Myers + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/sem-pad.h. + * sysdeps/unix/sysv/linux/bits/sem.h: Include + instead of . + (__SEM_PAD_TIME): New macro, depending on [__SEM_PAD_BEFORE_TIME] + and [__SEM_PAD_AFTER_TIME]. + (struct semid_ds): Define time fields using __SEM_PAD_TIME. Use + __syscall_ulong_t instead of unsigned long int. + * sysdeps/unix/sysv/linux/bits/sem-pad.h: New file. + * sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/sem-pad.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/sem-pad.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/sem.h: Remove. + * sysdeps/unix/sysv/linux/mips/bits/sem.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/sem.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/sem.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/sem.h: Likewise. + +2018-10-14 Paul Eggert + + regex: simplify by using intprops.h + [BZ#23744] + * posix/regex_internal.h [_LIBC]: Include intprops.h. + (TYPE_SIGNED, INT_ADD_WRAPV) [_LIBC]: Remove. + intprops.h defines them. + + regex: __builtin_expect → __glibc_unlikely + [BZ#23744] + This refactoring was prompted by a problem when the regex code is + used as part of Gnulib and when the builder’s compiler does not grok + __builtin_expect. Problem reported for Gawk by Nelson H.F. Beebe in: + https://lists.gnu.org/r/bug-gnulib/2018-09/msg00137.html + Although this refactoring does not fix the problem directly, + we might as well have Gawk use the now-preferred glibc style for when + __builtin_expect is unavailable. + * posix/regex_internal.h (BE): Remove. + All uses replaced by __glibc_unlikely or __glibc_likely. + +2018-10-11 Joseph Myers + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/msq-pad.h. + * sysdeps/unix/sysv/linux/bits/msq.h: Include + instead of . + (msgqnum_t): Define as __syscall_ulong_t. + (msglen_t): Likewise. + (__MSQ_PAD_TIME): New macro, depending on [__MSQ_PAD_BEFORE_TIME] + and [__MSQ_PAD_AFTER_TIME]. + (struct msqid_ds): Define time fields using __MSQ_PAD_TIME. Use + __syscall_ulong_t instead of unsigned long int. + * sysdeps/unix/sysv/linux/bits/msq-pad.h: New file. + * sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/msq-pad.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/msq-pad.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/msq.h: Remove. + * sysdeps/unix/sysv/linux/mips/bits/msq.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/msq.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/msq.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/msq.h: Likewise. + +2018-10-10 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/shm.h: Include . + (struct shmid_ds): Condition padding after time fields on + [__WORDSIZE == 32]. + * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Remove file. + * sysdeps/unix/sysv/linux/generic/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise. + + * sysdeps/unix/sysv/linux/bits/sem.h: Include . + (struct semid_ds): Condition padding after time fields on + [__WORDSIZE == 32]. + * sysdeps/unix/sysv/linux/alpha/bits/sem.h: Remove file. + * sysdeps/unix/sysv/linux/generic/bits/sem.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/sem.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/sem.h: Likewise. + + * sysdeps/unix/sysv/linux/bits/msq.h: Include . + (struct msqid_ds): Condition padding after time fields on + [__WORDSIZE == 32]. + * sysdeps/unix/sysv/linux/alpha/bits/msq.h: Remove file. + * sysdeps/unix/sysv/linux/generic/bits/msq.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/msq.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/msq.h: Likewise. + +2018-10-09 Szabolcs Nagy + + * nss/tst-nss-files-hosts-multi.c (TIMEOUT): Define. + +2018-10-09 Szabolcs Nagy + + * libio/tst-readline.c (TIMEOUT): Define. + +2018-10-08 Paul Eggert + + mktime fix for Gnulib + coreutils + [BZ#23745] + This fix affects only Gnulib. Problem discovered when + mktime.c was used as part of Gnulib in bleeding-edge Coreutils. + * time/mktime.c: + (my_tzset) [!_LIBC && !NEED_MKTIME_WORKING && !NEED_MKTIME_WINDOWS]: + Do not define since it is not used. Defining an unused static + function prompts a warning from GCC when Coreutils is configured + with --enable-gcc-warnings. + +2018-10-08 Leonardo Sandoval + + * benchtests/scripts/compare_bench.py (main): set float type on + threshold argument. + +2018-10-08 Rafał Lużyński + + [BZ #23740] + * localedata/locales/kl_GL (mon): Update, the relative case. + (alt_mon): Add, fill with month names in the nominative case. + (d_t_fmt): Set to "%a %b %d %Y %T %Z". + (d_fmt): Set to "%b %d %Y". + +2018-10-04 Joseph Myers + + * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Include + . + (PROT_READ): Don't define here. + (PROT_WRITE): Likewise. + (PROT_EXEC): Likewise. + (PROT_NONE): Likewise. + (PROT_GROWSDOWN): Likewise. + (PROT_GROWSUP): Likewise. + (MAP_SHARED): Likewise. + (MAP_PRIVATE): Likewise. + [__USE_MISC] (MAP_SHARED_VALIDATE): Likewise. + [__USE_MISC] (MAP_FILE): Likewise. + [__USE_MISC] (MAP_ANONYMOUS): Likewise. + [__USE_MISC] (MAP_ANON): Likewise. + [__USE_MISC] (MAP_HUGE_SHIFT): Likewise. + [__USE_MISC] (MAP_HUGE_MASK): Likewise. + (MCL_CURRENT): Likewise. + (MCL_FUTURE): Likewise. + (MCL_ONFAULT): Likewise. + [__USE_MISC] (MADV_NORMAL): Likewise. + [__USE_MISC] (MADV_RANDOM): Likewise. + [__USE_MISC] (MADV_SEQUENTIAL): Likewise. + [__USE_MISC] (MADV_WILLNEED): Likewise. + [__USE_MISC] (MADV_DONTNEED): Likewise. + [__USE_MISC] (MADV_FREE): Likewise. + [__USE_MISC] (MADV_REMOVE): Likewise. + [__USE_MISC] (MADV_DONTFORK): Likewise. + [__USE_MISC] (MADV_DOFORK): Likewise. + [__USE_MISC] (MADV_HWPOISON): Likewise. + [__USE_XOPEN2K] (POSIX_MADV_NORMAL): Likewise. + [__USE_XOPEN2K] (POSIX_MADV_RANDOM): Likewise. + [__USE_XOPEN2K] (POSIX_MADV_SEQUENTIAL): Likewise. + [__USE_XOPEN2K] (POSIX_MADV_WILLNEED): Likewise. + [__USE_XOPEN2K] (POSIX_MADV_DONTNEED): Likewise. + (__MAP_ANONYMOUS): New macro. + [__USE_MISC] (MAP_TYPE): Undefine and redefine after + inclusion. + (MAP_FIXED): Likewise. + (MS_SYNC): Likewise. + (MS_ASYNC): Likewise. + (MS_INVALIDATE): Likewise. + [__USE_MISC] (MADV_MERGEABLE): Likewise. + [__USE_MISC] (MADV_UNMERGEABLE): Likewise. + [__USE_MISC] (MADV_HUGEPAGE): Likewise. + [__USE_MISC] (MADV_NOHUGEPAGE): Likewise. + [__USE_MISC] (MADV_DONTDUMP): Likewise. + [__USE_MISC] (MADV_DODUMP): Likewise. + [__USE_MISC] (MADV_WIPEONFORK): Likewise. + [__USE_MISC] (MADV_KEEPONFORK): Likewise. + + [BZ #23735] + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NO_MATH_REDIRECT): + Define. + * sysdeps/ieee754/ldbl-opt/test-nldbl-redirect.c: New file. + * sysdeps/ieee754/ldbl-opt/Makefile [$(subdir) = math] (tests): + Add test-nldbl-redirect. + [$(subdir) = math] (CFLAGS-test-nldbl-redirect.c): New variable. + [$(subdir) = math] ($(objpfx)test-nldbl-redirect): Depend on + $(objpfx)libnldbl_nonshared.a. + +2018-10-04 Stefan Liebler + + * support/support.h (support_objdir_elf_ldso): New variable. + * support/support_paths.c (support_objdir_elf_ldso): Likewise. + * support/Makefile (CFLAGS-support_paths.c): Add definition + for OBJDIR_ELF_LDSO_PATH. + * support/test-container.c (main): Search for the ld.so + which is also used by the testsuite. + +2018-10-02 Rafał Lużyński + + [BZ #20209] + * localedata/locales/kl_GL: (abday): Fix spelling of Sun (Sunday), + should be "sap" rather than "sab". + (day): Fix spelling of Sunday, should be "sapaat" rather than + "sabaat". + +2018-10-02 Joseph Myers + + * math/libm-test-fma.inc (fma_test_data): Add more tests. + +2018-10-02 Martin Jansa + + [BZ #19444] + * sysdeps/ieee754/soft-fp/s_fdiv.c: Include and use + DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT and + DIAG_POP_NEEDS_COMMENT to disable -Wmaybe-uninitialized. + +2018-10-02 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/fd_to_filename.h: Add missing includes. + +2018-10-02 H.J. Lu + + * sysdeps/unix/sysv/linux/x86/Makefile (CFLAGS-elision-lock.c): + Add -mrtm. + (CFLAGS-elision-unlock.c): Likewise. + (CFLAGS-elision-timed.c): Likewise. + (CFLAGS-elision-trylock.c): Likewise. + * sysdeps/unix/sysv/linux/x86/hle.h: Rewritten. + +2018-10-02 Adhemerval Zanella + + [BZ #21037] + * libio/Makefile (tests): Add tst-memstream4 and tst-wmemstream4. + * libio/freopen.c (freopen): Sync stream before reopen and adjust to + new fd_to_filename interface. + * libio/freopen64.c (freopen64): Likewise. + * libio/tst-memstream.h: New file. + * libio/tst-memstream4.c: Likewise. + * libio/tst-wmemstream4.c: Likewise. + * sysdeps/generic/fd_to_filename.h (fd_to_filename): Change signature. + * sysdeps/unix/sysv/linux/fd_to_filename.h (fd_to_filename): Likewise + and remove internal dynamic allocation. + +2018-10-01 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_GNU] + (MREMAP_MAYMOVE): Do not define here. + [__USE_GNU] (MREMAP_FIXED): Likewise. + * sysdeps/unix/sysv/linux/bits/mman-shared.h [__USE_GNU] + (MREMAP_MAYMOVE): Define here instead. + [__USE_GNU] (MREMAP_FIXED): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_GNU] + (MREMAP_MAYMOVE): Remove. + [__USE_GNU] (MREMAP_FIXED): Likewise. + +2018-09-28 Joseph Myers + + * math/fromfp.h: Do not include . + * math/s_cacosh_template.c: Likewise. + * math/s_casin_template.c: Likewise. + * math/s_casinh_template.c: Likewise. + * math/s_ccos_template.c: Likewise. + * math/s_cproj_template.c: Likewise. + * math/s_fdim_template.c: Likewise. + * math/s_fmaxmag_template.c: Likewise. + * math/s_fminmag_template.c: Likewise. + * math/s_iseqsig_template.c: Likewise. + * math/s_ldexp_template.c: Likewise. + * math/s_nextdown_template.c: Likewise. + * math/w_log1p_template.c: Likewise. + * math/w_scalbln_template.c: Likewise. + * sysdeps/aarch64/fpu/feholdexcpt.c: Likewise. + * sysdeps/aarch64/fpu/fesetround.c: Likewise. + * sysdeps/aarch64/fpu/fgetexcptflg.c: Likewise. + * sysdeps/aarch64/fpu/ftestexcept.c: Likewise. + * sysdeps/aarch64/fpu/s_llrint.c: Likewise. + * sysdeps/aarch64/fpu/s_llrintf.c: Likewise. + * sysdeps/aarch64/fpu/s_lrint.c: Likewise. + * sysdeps/aarch64/fpu/s_lrintf.c: Likewise. + * sysdeps/i386/fpu/s_atanl.c: Likewise. + * sysdeps/i386/fpu/s_f32xaddf64.c: Likewise. + * sysdeps/i386/fpu/s_f32xsubf64.c: Likewise. + * sysdeps/i386/fpu/s_fdim.c: Likewise. + * sysdeps/i386/fpu/s_logbl.c: Likewise. + * sysdeps/i386/fpu/s_rintl.c: Likewise. + * sysdeps/i386/fpu/s_significandl.c: Likewise. + * sysdeps/ia64/fpu/s_matherrf.c: Likewise. + * sysdeps/ia64/fpu/s_matherrl.c: Likewise. + * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_cbrt.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fma.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise. + * sysdeps/ieee754/flt-32/s_cbrtf.c: Likewise. + * sysdeps/ieee754/k_standardf.c: Likewise. + * sysdeps/ieee754/k_standardl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_finitel.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_isinfl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_isnanl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_signbitl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_cbrtl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise. + * sysdeps/ieee754/s_signgam.c: Likewise. + * sysdeps/powerpc/power5+/fpu/s_modf.c: Likewise. + * sysdeps/powerpc/power5+/fpu/s_modff.c: Likewise. + * sysdeps/powerpc/power7/fpu/s_logbf.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_ceil.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_nearbyint.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_round.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_roundeven.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise. + * sysdeps/riscv/rvd/s_finite.c: Likewise. + * sysdeps/riscv/rvd/s_fmax.c: Likewise. + * sysdeps/riscv/rvd/s_fmin.c: Likewise. + * sysdeps/riscv/rvd/s_fpclassify.c: Likewise. + * sysdeps/riscv/rvd/s_isinf.c: Likewise. + * sysdeps/riscv/rvd/s_isnan.c: Likewise. + * sysdeps/riscv/rvd/s_issignaling.c: Likewise. + * sysdeps/riscv/rvf/fegetround.c: Likewise. + * sysdeps/riscv/rvf/feholdexcpt.c: Likewise. + * sysdeps/riscv/rvf/fesetenv.c: Likewise. + * sysdeps/riscv/rvf/fesetround.c: Likewise. + * sysdeps/riscv/rvf/feupdateenv.c: Likewise. + * sysdeps/riscv/rvf/fgetexcptflg.c: Likewise. + * sysdeps/riscv/rvf/ftestexcept.c: Likewise. + * sysdeps/riscv/rvf/s_ceilf.c: Likewise. + * sysdeps/riscv/rvf/s_finitef.c: Likewise. + * sysdeps/riscv/rvf/s_floorf.c: Likewise. + * sysdeps/riscv/rvf/s_fmaxf.c: Likewise. + * sysdeps/riscv/rvf/s_fminf.c: Likewise. + * sysdeps/riscv/rvf/s_fpclassifyf.c: Likewise. + * sysdeps/riscv/rvf/s_isinff.c: Likewise. + * sysdeps/riscv/rvf/s_isnanf.c: Likewise. + * sysdeps/riscv/rvf/s_issignalingf.c: Likewise. + * sysdeps/riscv/rvf/s_nearbyintf.c: Likewise. + * sysdeps/riscv/rvf/s_roundevenf.c: Likewise. + * sysdeps/riscv/rvf/s_roundf.c: Likewise. + * sysdeps/riscv/rvf/s_truncf.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_rint.c: Include instead of + . + * sysdeps/riscv/rvf/s_rintf.c: Likewise. + +2018-09-28 H.J. Lu + + [BZ #23716] + * sysdeps/i386/dl-cet.c: Removed. + * sysdeps/i386/dl-machine.h (_dl_runtime_resolve_shstk): New + prototype. + (_dl_runtime_profile_shstk): Likewise. + (elf_machine_runtime_setup): Use _dl_runtime_profile_shstk or + _dl_runtime_resolve_shstk if SHSTK is enabled by kernel. + +2018-09-28 Adhemerval Zanella + + [BZ #23579] + * misc/tst-preadvwritev2-common.c (do_test_with_invalid_fd, + do_test_with_invalid_iov): New tests. + * misc/tst-preadvwritev2.c, misc/tst-preadvwritev64v2.c (do_test): + Call do_test_with_invalid_fd and do_test_with_invalid_iov. + * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Use fallback code iff + errno is ENOSYS. + * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise. + * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise. + * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise. + +2018-09-27 Joseph Myers + + * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && + __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] + (MATH_REDIRECT_BINARY_ARGS): New macro. + [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) + && !NO_MATH_REDIRECT] (copysign): Redirect using MATH_REDIRECT. + * sysdeps/alpha/fpu/s_copysign.c: Define NO_MATH_REDIRECT before + header inclusion. + * sysdeps/alpha/fpu/s_copysignf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_copysign.c: Likewise. + * sysdeps/ieee754/float128/s_copysignf128.c: Likewise. + * sysdeps/ieee754/flt-32/s_copysignf.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_copysignl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_copysignl.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c: + Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise. + * sysdeps/riscv/rvd/s_copysign.c: Likewise. + * sysdeps/riscv/rvf/s_copysignf.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.c: + Likewise. + * sysdeps/generic/math_private_calls.h + [!__MATH_DECLARING_LONG_DOUBLE || !NO_LONG_DOUBLE] (__copysign): + Do not declare and define as an inline function. + * math/divtc3.c (__divtc3): Use copysign functions instead of + __copysign variants. + * math/multc3.c (__multc3): Likewise. + * sysdeps/generic/math-type-macros.h (M_COPYSIGN): Likewise. + * sysdeps/ieee754/dbl-64/e_atan2.c (signArctan2): Likewise. + * sysdeps/ieee754/dbl-64/e_atanh.c (__ieee754_atanh): Likewise. + * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): + Likewise. + * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise. + (__ieee754_yn): Likewise. + * sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise. + * sysdeps/ieee754/dbl-64/s_atan.c (__signArctan): Likewise. + * sysdeps/ieee754/dbl-64/s_scalbln.c (__scalbln): Likewise. + * sysdeps/ieee754/dbl-64/s_scalbn.c (__scalbn): Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c (do_sin): Likewise. + (__sin): Likewise. + * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint): + Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c (__scalbln): + Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c (__scalbn): + Likewise. + * sysdeps/ieee754/flt-32/e_atanhf.c (__ieee754_atanhf): Likewise. + * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): + Likewise. + * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise. + (__ieee754_ynf): Likewise. + * sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise. + * sysdeps/ieee754/flt-32/s_scalbnf.c (__scalbnf): Likewise. + * sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. + (__ieee754_ynl): Likewise. + * sysdeps/ieee754/ldbl-128/s_scalblnl.c (__scalblnl): Likewise. + * sysdeps/ieee754/ldbl-128/s_scalbnl.c (__scalbnl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise. + (__ieee754_ynl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fmal.c (__fmal): Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c (__scalblnl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c (__scalbnl): Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. + (__ieee754_ynl) + * sysdeps/ieee754/ldbl-96/s_asinhl.c (__asinhl): Likewise. + * sysdeps/ieee754/ldbl-96/s_scalblnl.c (__scalblnl): Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-copysign.c (copysignl): Likewise. + * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise. + * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise. + + * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && + __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (round): Redirect + using MATH_REDIRECT. + * sysdeps/aarch64/fpu/s_round.c: Define NO_MATH_REDIRECT before + header inclusion. + * sysdeps/aarch64/fpu/s_roundf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_round.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Likewise. + * sysdeps/ieee754/float128/s_roundf128.c: Likewise. + * sysdeps/ieee754/flt-32/s_roundf.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_roundl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_roundl.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_round.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_roundf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_round.c: Likewise. + * sysdeps/riscv/rvf/s_roundf.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise. + (round): Redirect to __round. + (__roundl): Call round instead of __round. + * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__round): + Remove macro. + [_ARCH_PWR5X] (__roundf): Likewise. + * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Use round + functions instead of __round variants. + * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): + Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): + Likewise. + * sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_expl.c (lroundl): Redirect to + __lroundl. + (__ieee754_expl): Call roundl instead of __roundl. + +2018-09-27 Andreas Schwab + + [BZ #23717] + * stdlib/tst-setcontext9.c (f1a): Make st2 static. + (do_test): Make st1 static. + +2018-09-26 Andreas Schwab + + [BZ #23707] + * sysdeps/powerpc/powerpc32/dl-start.S: Add unwind information. + * elf/Makefile (tests): Add tst-unwind-ctor. + (modules-names): Add tst-unwind-ctor-lib. + ($(objpfx)tst-unwind-ctor): Depend on + $(objpfx)tst-unwind-ctor-lib.so. + +2018-09-26 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/mman-map-flags-generic.h: New + file. Most contents moved from .... + * sysdeps/unix/sysv/linux/bits/mman.h: ... here. Move contents to + and include . + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (sysdep_headers): Add bits/mman-map-flags-generic.h. + * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Include + . + [__USE_MISC] (MAP_GROWSUP): Only define this macro, not other + macros defined in . + * sysdeps/unix/sysv/linux/x86/bits/mman.h: Include + . + [__USE_MISC] (MAP_32BIT): Only define this macro, not other macros + defined in . + +2018-09-26 Andreas Schwab + + * Makefile ($(common-objpfx)testrun.sh): Remove leading space from + output. + +2018-09-25 Adam J. Richte + Adhemerval Zanella + Fangrui Song + + [BZ #20480] + * config.make.in (have-textrel_ifunc): New define. + * configure.ac: Add check if linker supports textrel relocation with + ifunc. + * elf/Makefile [have-textrel_ifunc == yes] (ifunc-pie-tests): Add + tst-ifunc-textrel. + (CFLAGS-tst-ifunc-textrel.c): New rule. + * elf/dl-reloc.c (_dl_relocate_object): Use all required flags on + DT_TEXTREL segments, not only PROT_READ and PROT_WRITE. + * elf/tst-ifunc-textrel.c: New file. + +2018-09-25 Joseph Myers + + * sysdeps/unix/sysv/linux/sys/procfs.h: Include + . + (prgregset_t): Define using __prgregset_t. + (prfpregset_t): Define using __prfpregset_t. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (sysdep_headers): Add bits/procfs-prregset.h. + * sysdeps/unix/sysv/linux/bits/procfs-prregset.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/procfs-prregset.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Remove file. + + * sysdeps/unix/sysv/linux/sys/procfs.h: Include + and . + (struct elf_prpsinfo): Use __pr_uid_t and __pr_gid_t as types of + pr_uid and pr_gid. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (sysdep_headers): Add bits/procfs-id.h and bits/procfs-extra.h. + * sysdeps/unix/sysv/linux/bits/procfs-extra.h: New file. + * sysdeps/unix/sysv/linux/bits/procfs-id.h: Likewise. + * sysdeps/unix/sysv/linux/arm/bits/procfs-id.h: Likewise. + * sysdeps/unix/sysv/linux/arm/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/procfs-id.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/procfs-extra.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/procfs-id.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/sh/bits/procfs-id.h: Likewise. + * sysdeps/unix/sysv/linux/sh/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/procfs-extra.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/procfs-id.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/procfs-id.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/arm/sys/procfs.h: Remove file. + * sysdeps/unix/sysv/linux/m68k/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/x86/sys/procfs.h: Likewise. + + * sysdeps/unix/sysv/linux/sys/procfs.h: Replace with file based on + AArch64 version. Include . + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (sysdep_headers): Add bits/procfs.h. + * sysdeps/unix/sysv/linux/bits/procfs.h: New file. + * sysdeps/unix/sysv/linux/aarch64/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/microblaze/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/nios2/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/bits/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Remove file. + * sysdeps/unix/sysv/linux/hppa/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/microblaze/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/nios2/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/sys/procfs.h: Likewise. + +2018-09-25 Adhemerval Zanella + + * posix/tst-spawn.c (do_prepare, handle_restart, do_test): + Use libsupport. + +2018-09-25 Arjun Shankar + + * iconv/gconv_int.h (__gconv_path_elem): Remove. + (__gconv_max_path_elem_len): Likewise. + (__gconv_nmodules): Likewise. + (__gconv_get_path): Likewise. + (path_elem): Move to ... + * iconv/gconv_conf.c: ... here. + (__gconv_get_path): Mark function static. + * iconv/gconv_int.h (GCONV_NCHAR_GOAL): Move to ... + * iconv/gconv_open.c: ... here. + +2018-09-24 Andreas Schwab + + * scripts/haveversions.awk: New file. + * Makerules ($(common-objpfx)Versions.def) + ($(common-objpfx)Versions.all, $(common-objpfx)Versions.v.i) + ($(common-objpfx)sysd-versions, $(common-objpfx)versions.stmp): + Move rules ... + * Makeconfig ($(common-objpfx)Versions.def) + ($(common-objpfx)Versions.all, $(common-objpfx)Versions.v.i) + ($(common-objpfx)sysd-versions, $(common-objpfx)versions.stmp): + ... here. + ($(common-objpfx)Versions.mk): New rule. Include it. + * nis/Makefile [!have-GLIBC_2.28]: Don't build any targets. + Emit error if build-obsolete-nsl = yes. + * manual/install.texi (Configuring and compiling): Describe + --enable-obsolete-nsl as unavaiable after version 2.28. + * INSTALL: Regenerate. + +2018-09-21 Adhemerval Zanella + + * NEWS: Add note about new TLE support on powerpc64le. + * sysdeps/powerpc/nptl/tcb-offsets.sym (TM_CAPABLE): Remove. + * sysdeps/powerpc/nptl/tls.h (tcbhead_t): Rename tm_capable to + __ununsed1. + (TLS_INIT_TP, TLS_DEFINE_INIT_TP): Remove tm_capable setup. + (THREAD_GET_TM_CAPABLE, THREAD_SET_TM_CAPABLE): Remove macros. + * sysdeps/powerpc/powerpc32/sysdep.h, + sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION_IMPL, + ABORT_TRANSACTION): Remove macros. + * sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise. + * sysdeps/unix/sysv/linux/powerpc/elision-conf.c (elision_init): Set + __pthread_force_elision iff PPC_FEATURE2_HTM_NOSC is set. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h, + sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h + sysdeps/unix/sysv/linux/powerpc/syscall.S (ABORT_TRANSACTION): Remove + usage. + * sysdeps/unix/sysv/linux/powerpc/not-errno.h: Remove file. + +2018-09-21 Rafał Lużyński + + [BZ #10425] + * localedata/locales/it_IT (d_t_fmt): Use "%a %-d %b %Y, %T". + (date_fmt): Use "%a %-d %b %Y, %T, %Z". + * localedata/locales/it_CH (d_t_fmt): Use "%a %-d %b %Y, %T" + which is the same as in it_IT. + (d_fmt): Use "%d.%m.%Y" which is the same as in de_CH. + (date_fmt): Use "%a %-d %b %Y, %T, %Z" which is the same as in it_IT. + +2018-09-20 Joseph Myers + + * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && + __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (trunc): Redirect + using MATH_REDIRECT. + * sysdeps/aarch64/fpu/s_trunc.c: Define NO_MATH_REDIRECT before + header inclusion. + * sysdeps/aarch64/fpu/s_truncf.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: Likewise. + * sysdeps/ieee754/float128/s_truncf128.c: Likewise. + * sysdeps/ieee754/dbl-64/s_trunc.c: Likewise. + * sysdeps/ieee754/flt-32/s_truncf.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_truncl.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_trunc.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_truncf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise. + * sysdeps/riscv/rvf/s_truncf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_trunc_template.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_truncl.c: Likewise. + (ceil): Redirect to __ceil. + (floor): Redirect to __floor. + (trunc): Redirect to __trunc. + (__truncl): Call trunc instead of __trunc. + * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__trunc): + Remove macro. + [_ARCH_PWR5X] (__truncf): Likewise. + * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Use + trunc functions instead of __trunc variants. + * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): + Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + + * sysdeps/x86/cpu-features.h [__geode__ || __k6__]: Handle like + [__i586__ || __pentium__]. + [__i486__]: Handle explicitly. + (HAS_CPUID): Define to 1 if above macros are undefined. + (HAS_I586): Likewise. + (HAS_I686): Likewise. + +2018-09-20 Florian Weimer + + * misc/tst-gethostid.c: New file. + * misc/Makefile [$(build-shared)] (tests): Add tst-gethostid. + (tst-gethostid): Link with -ldl. + +2018-09-20 Mingli Yu + + * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Check for NULL + value from gethostbyname_r. + +2018-09-19 Carlos O'Donell + + * stdlib/tst-setcontext9.c (f1): Rename to... + (f1a): ... this. + (f1b): New function implementing lower half of f1 in alternate stack. + +2018-09-19 Paul Eggert + + Fix mktime localtime offset confusion + [BZ #23603] + * include/time.h (__mktime_internal): The localtime offset is now + of type long int instead of time_t. This is the longstanding type + in glibc, and it is more than enough to represent difference + between localtime and gmtime even if it is 32 bits and time_t is + 64. Changing it now will let us avoid an unnecessary change when + time_t is widened to 64 bits on 32-bit platforms. + * time/mktime-internal.h (mktime_offset_t): Now long int. + + Merge mktime, timegm from upstream Gnulib + [BZ #23603][BZ #16346] + This fixes some obscure problems with integer overflow. + Although it looks scary, it is almost all a byte-for-byte copy + from Gnulib, and the Gnulib code has been tested reasonably well. + * include/intprops.h: New file, copied from Gnulib. + * include/verify.h, time/mktime-internal.h: + New tiny files, simplified from Gnulib. + * time/mktime.c: Copy from Gnulib. This has the following changes: + Do not include config.h if DEBUG_MKTIME is nonzero. + Include stdbool.h, intprops.h, verify.h. + Include string.h only if needed. + Include stdlib.h on MS-Windows. + Include mktime-internal.h. + (DEBUG_MKTIME): Default to 0, and simplify later uses. + (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS) + (NEED_MKTIME_WORKING): Give default values to pacify -Wundef, + which glibc uses. Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to + simplify later conditionals; default the others to zero. Use + these conditionals to express only the code needed on the current + platform. In uses of these conditionals, explicitly spell out how + _LIBC affects things, so it’s easier to review from a glibc + viewpoint. + (WRAPV): Remove; no longer needed now that we have + systematic overflow checking. + (my_tzset, __tzset) [!_LIBC]: New function and macro, to better + compartmentalize tzset issues. Move system-dependent tzsettish + code here from mktime. + (verify): Remove; now done by verify.h. All uses changed. + (long_int): Use a more-conservative definition, to avoid + integer overflow. + (SHR): Remove, replacing with ... + (shr): New function, which means we needn’t worry about side + effects in args, and conversion analysis is simpler. + (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT, TYPE_SIGNED, TYPE_MINIMUM) + (TYPE_MAXIMUM, TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT) + (time_t_avg, time_t_add_ok): Remove. + (mktime_min, mktime_max): New constants. + (leapyear, isdst_differ): Use bool for booleans. + (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal): + Use long_int, not time_t, for mktime differences. + (long_int_avg): New function, replacing time_t_avg. + INT_ADD_WRAPV replaces time_t_add_ok. + (guess_time_tm): 6th arg is now long_int, not time_t const *. + All uses changed. + (convert_time): New function. + (ranged_convert): Use it. + (__mktime_internal): Last arg now points to mktime_offset_t, not + time_t. All uses changed. This is a no-op on glibc, where + mktime_offset_t is always time_t. Use int, not time_t, for UTC + offset guess. Directly check for integer overflow instead of + using a heuristic that works only 99.9...% of the time. + Access *OFFSET only once, to avoid an unlikely race if the + compiler delays a load and if this cascades into a signed integer + overflow. + (mktime): Move tzsettish code to my_tzset, and move + localtime_offset to within mktime so that it doesn’t + need a separate ifdef. + (main) [DEBUG_MKTIME]: Speed up by using localtime_r + instead of localtime. + * time/timegm.c: Copy from Gnulib. This has the following changes: + Include mktime-internal.h. + [!_LIBC]: Include config.h and time.h. Do not include + timegm.h or time_r.h. Make __mktime_internal a macro, + and include mktime-internal.h to get its declaration. + (timegm): Temporary is now mktime_offset_t, not time_t. + This affects only Gnulib. + +2018-09-19 Wilco Dijkstra + + [BZ #23637] + * string/test-strstr.c (pr23637): New function. + (test_main): Add tests with longer needles. + * string/strcasestr.c (AVAILABLE): Fix readahead distance. + * string/strstr.c (AVAILABLE): Likewise. + +2018-09-19 Szabolcs Nagy + + * sysdeps/ieee754/flt-32/e_powf.c (checkint): Fix documentation. + +2018-09-19 Szabolcs Nagy + + * NEWS: Mention pow improvements. + * math/Makefile (type-double-routines): Add e_pow_log_data. + * sysdeps/generic/math_private.h (__exp1): Remove. + * sysdeps/i386/fpu/e_pow_log_data.c: New file. + * sysdeps/ia64/fpu/e_pow_log_data.c: New file. + * sysdeps/ieee754/dbl-64/Makefile (CFLAGS-e_pow.c): Allow fma + contraction. + * sysdeps/ieee754/dbl-64/e_exp.c (__exp1): Remove. + (exp_inline): Remove. + (__ieee754_exp): Only single double input is handled. + * sysdeps/ieee754/dbl-64/e_pow.c: Rewrite. + * sysdeps/ieee754/dbl-64/e_pow_log_data.c: New file. + * sysdeps/ieee754/dbl-64/math_config.h (issignaling_inline): Define. + (__pow_log_data): Define. + * sysdeps/ieee754/dbl-64/upow.h: Remove. + * sysdeps/ieee754/dbl-64/upow.tbl: Remove. + * sysdeps/m68k/m680x0/fpu/e_pow_log_data.c: New file. + * sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_pow-fma.c): Allow fma + contraction. + (CFLAGS-e_pow-fma4.c): Likewise. + +2018-09-18 Paul Eggert + + Simplify tzfile fstat failure code + [BZ #21716] + * time/tzfile.c (__tzfile_read): Simplify slightly. + + Fix tzfile low-memory assertion failure + [BZ #21716] + * time/tzfile.c (__tzfile_read): Check for memory exhaustion + when registering time zone abbreviations. + +2018-09-18 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/mman.h: New file. + * sysdeps/unix/sysv/linux/aarch64/bits/mman.h: Remove. + * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/microblaze/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/nios2/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise. + + * sysdeps/ieee754/ldbl-128ibm/s_ceill.c (ceil): Redirect to + __ceil. + (__ceill): Call ceil instead of __ceil. + * sysdeps/ieee754/ldbl-128ibm/s_floorl.c (floor): Redirect to + __floor. + (__floorl): Call floor instead of __floor. + +2018-09-17 Joseph Myers + + * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && + __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (ceil): Redirect + using MATH_REDIRECT. + * sysdeps/aarch64/fpu/s_ceil.c: Define NO_MATH_REDIRECT before + header inclusion. + * sysdeps/aarch64/fpu/s_ceilf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_ceil.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Likewise. + * sysdeps/ieee754/float128/s_ceilf128.c: Likewise. + * sysdeps/ieee754/flt-32/s_ceilf.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_ceill.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_ceill.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_ceil.c: Likewise. + * sysdeps/riscv/rvf/s_ceilf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise. + * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__ceil): + Remove macro. + * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Use ceil + functions instead of __ceil variants. + * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_truncl.c (__truncl): Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): + Likewise. + * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise. + * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise. + + [BZ #21286] + * sysdeps/unix/sysv/linux/bits/siginfo-consts.h (SI_DETHREAD): New + constant. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (ILL_BADIADDR): Likewise. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (FPE_FLTUNK): Likewise. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (FPE_CONDTRAP): Likewise. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ACCADI): Likewise. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ADIDERR): Likewise. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ADIPERR): Likewise. + [__USE_XOPEN_EXTENDED] (TRAP_BRANCH): Likewise. + [__USE_XOPEN_EXTENDED] (TRAP_HWBKPT): Likewise. + [__USE_XOPEN_EXTENDED] (TRAP_UNK): Likweise. + * sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h + (ILL_BADIADDR): Remove constant. + (TRAP_BRANCH): Likewise. + (TRAP_HWBKPT): Likewise. + +2018-09-14 Joseph Myers + + [BZ #23656] + * sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prstatus): + Remove [_MIPS_SIM = _ABIN32] conditional case. + (struct elf_prpsinfo): Likewise. + + [BZ #23649] + * sysdeps/unix/sysv/linux/microblaze/sys/procfs.h (struct + elf_prpsinfo): Use unsigned int for pr_uid and pr_gid. + * sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prpsinfo): + Likewise. + * sysdeps/unix/sysv/linux/nios2/sys/procfs.h (struct + elf_prpsinfo): Likewise. + * sysdeps/unix/sysv/linux/riscv/sys/procfs.h (struct + elf_prpsinfo): Likewise. + * sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prpsinfo): + Likewise. + + * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && + __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (rint): Redirect + using MATH_REDIRECT. + * sysdeps/aarch64/fpu/s_rint.c: Define NO_MATH_REDIRECT before + header inclusion. + * sysdeps/aarch64/fpu/s_rintf.c: Likewise. + * sysdeps/alpha/fpu/s_rint.c: Likewise. + * sysdeps/alpha/fpu/s_rintf.c: Likewise. + * sysdeps/i386/fpu/s_rintl.c: Likewise. + * sysdeps/ieee754/dbl-64/s_rint.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Likewise. + * sysdeps/ieee754/float128/s_rintf128.c: Likewise. + * sysdeps/ieee754/flt-32/s_rintf.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_rintl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise. + * sysdeps/m68k/coldfire/fpu/s_rint.c: Likewise. + * sysdeps/m68k/coldfire/fpu/s_rintf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_rint.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_rintf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_rintl.c: Likewise. + * sysdeps/powerpc/fpu/s_rint.c: Likewise. + * sysdeps/powerpc/fpu/s_rintf.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_rint.c: Likewise. + * sysdeps/riscv/rvf/s_rintf.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise. + * sysdeps/x86_64/fpu/math_private.h: Remove file. + * math/e_scalb.c (invalid_fn): Use rint functions instead of + __rint variants. + * math/e_scalbf.c (invalid_fn): Likewise. + * math/e_scalbl.c (invalid_fn): Likewise. + * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): + Likewise. + * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): + Likewise. + * sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise. + * sysdeps/ieee754/k_standardl.c (__kernel_standard_l): Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise. + + * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ && + __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (MATH_REDIRECT): + New macro. + [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) + && !NO_MATH_REDIRECT] (MATH_REDIRECT_LDBL): Likewise. + [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) + && !NO_MATH_REDIRECT] (MATH_REDIRECT_F128): Likewise. + [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) + && !NO_MATH_REDIRECT] (MATH_REDIRECT_UNARY_ARGS): Likewise. + [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) + && !NO_MATH_REDIRECT] (sqrt): Redirect using MATH_REDIRECT. + [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) + && !NO_MATH_REDIRECT] (floor): Likewise. + * sysdeps/aarch64/fpu/s_floor.c: Define NO_MATH_REDIRECT before + header inclusion. + * sysdeps/aarch64/fpu/s_floorf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_floor.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Likewise. + * sysdeps/ieee754/float128/s_floorf128.c: Likewise. + * sysdeps/ieee754/flt-32/s_floorf.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_floorl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_floor_template.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise. + * sysdeps/riscv/rvf/s_floorf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise. + * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__floor): + Remove macro. + [_ARCH_PWR5X] (__floorf): Likewise. + * sysdeps/x86_64/fpu/math_private.h [__SSE4_1__] (__floor): Remove + inline function. + [__SSE4_1__] (__floorf): Likewise. + * math/w_lgamma_main.c (LGFUNC (__lgamma)): Use floor functions + instead of __floor variants. + * math/w_lgamma_r_compat.c (__lgamma_r): Likewise. + * math/w_lgammaf_main.c (LGFUNC (__lgammaf)): Likewise. + * math/w_lgammaf_r_compat.c (__lgammaf_r): Likewise. + * math/w_lgammal_main.c (LGFUNC (__lgammal)): Likewise. + * math/w_lgammal_r_compat.c (__lgammal_r): Likewise. + * math/w_tgamma_compat.c (__tgamma): Likewise. + * math/w_tgamma_template.c (M_DECL_FUNC (__tgamma)): Likewise. + * math/w_tgammaf_compat.c (__tgammaf): Likewise. + * math/w_tgammal_compat.c (__tgammal): Likewise. + * sysdeps/ieee754/dbl-64/e_lgamma_r.c (sin_pi): Likewise. + * sysdeps/ieee754/dbl-64/k_rem_pio2.c (__kernel_rem_pio2): + Likewise. + * sysdeps/ieee754/dbl-64/lgamma_neg.c (__lgamma_neg): Likewise. + * sysdeps/ieee754/flt-32/e_lgammaf_r.c (sin_pif): Likewise. + * sysdeps/ieee754/flt-32/lgamma_negf.c (__lgamma_negf): Likewise. + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): + Likewise. + * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise. + * sysdeps/ieee754/ldbl-128/lgamma_negl.c (__lgamma_negl): + Likewise. + * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c (__ieee754_lgammal_r): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/lgamma_negl.c (__lgamma_negl): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_truncl.c (__truncl): Likewise. + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise. + * sysdeps/ieee754/ldbl-96/lgamma_negl.c (__lgamma_negl): Likewise. + * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise. + * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise. + +2018-09-12 Joseph Myers + + * elf/Makefile (modules-names-tests): New variable. + +2018-09-12 Szabolcs Nagy + + * NEWS: Mention log2 improvements. + * math/Makefile (type-double-routines): Add e_log2_data. + * sysdeps/i386/fpu/e_log2_data.c: New file. + * sysdeps/ia64/fpu/e_log2_data.c: New file. + * sysdeps/ieee754/dbl-64/e_log2.c: Rewrite. + * sysdeps/ieee754/dbl-64/e_log2_data.c: New file. + * sysdeps/ieee754/dbl-64/math_config.h (__log2_data): Add. + * sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c: Remove. + * sysdeps/m68k/m680x0/fpu/e_log2_data.c: New file. + +2018-09-12 Szabolcs Nagy + + * NEWS: Mention log improvement. + * math/Makefile (type-double-routines): Add e_log_data. + * sysdeps/i386/fpu/e_log_data.c: New file. + * sysdeps/ia64/fpu/e_log_data.c: New file. + * sysdeps/ieee754/dbl-64/e_log.c: Rewrite. + * sysdeps/ieee754/dbl-64/e_log_data.c: New file. + * sysdeps/ieee754/dbl-64/math_config.h (__log_data): Add. + * sysdeps/ieee754/dbl-64/ulog.h: Remove. + * sysdeps/ieee754/dbl-64/ulog.tbl: Remove. + * sysdeps/m68k/m680x0/fpu/e_log_data.c: New file. + +2018-09-12 H.J. Lu + Xuepeng Guo + + [BZ #23606] + * sysdeps/i386/start.S: Include + (_start): Use ENTRY/END to insert ENDBR32 at entry when CET is + enabled. Add cfi_undefined (eip). + +2018-09-11 Joseph Myers + + * sysdeps/x86_64/fpu/math_private.h (MOVD): Remove macro. + (MOVQ): Likewise. + (EXTRACT_WORDS64): Likewise. + (INSERT_WORDS64): Likewise. + (GET_FLOAT_WORD): Likewise. + (SET_FLOAT_WORD): Likewise. + + * scripts/build-many-glibcs.py (Context.__init__): Add full_gcc + argument. + (Config.build_gcc): Use --disable-libsanitizer for first GCC + build, but not for second build if --full-gcc. Use + --enable-languages=all for second build if --full-gcc. + (get_parser): Add --full-gcc option. + (main): Update call to Context. + +2018-09-10 Rafał Lużyński + + [BZ #10797] + * localedata/locales/de_CH (mon_thousands_sep): Use "" (Right + Single Quotation Mark). + (thousands_sep): Likewise. + * localedata/locales/it_CH (LC_NUMERIC): Use “copy "de_CH"”. + * localedata/locales/it_IT (thousands_sep): Use ".". + (grouping): Use "3;3". + +2018-09-10 Joseph Myers + + * scripts/build-many-glibcs.py (Context.add_all_configs): Add + x86_64 and i686 configs using --enable-obsolete-rpc + --enable-obsolete-nsl. + +2018-09-06 Stefan Liebler + + * sysdeps/s390/fpu/libm-test-ulps: Regenerated. + +2018-09-06 Stefan Liebler + + * sysdeps/unix/sysv/linux/spawni.c (maybe_script_execute): + Increment size of new_argv by one. + +2018-09-05 Rafał Lużyński + + [BZ #17426] + * localedata/locales/anp_IN (d_fmt): Use "%-d//%-m//%y". + * localedata/locales/ar_IN (d_fmt): Likewise. + * localedata/locales/bhb_IN (d_fmt): Likewise. + * localedata/locales/bho_IN (d_fmt): Likewise. + * localedata/locales/bn_BD (d_fmt): Likewise. + * localedata/locales/bn_IN (d_fmt): Likewise. + * localedata/locales/doi_IN (d_fmt): Likewise. + * localedata/locales/gu_IN (d_fmt): Likewise. + * localedata/locales/hi_IN (d_fmt): Likewise. + * localedata/locales/hne_IN (d_fmt): Likewise. + * localedata/locales/kn_IN (d_fmt): Likewise. + * localedata/locales/mag_IN (d_fmt): Likewise. + * localedata/locales/mai_IN (d_fmt): Likewise. + * localedata/locales/mjw_IN (d_fmt): Likewise. + * localedata/locales/ml_IN (d_fmt): Likewise. + * localedata/locales/mni_IN (d_fmt): Likewise. + * localedata/locales/mr_IN (d_fmt): Likewise. + * localedata/locales/pa_IN (d_fmt): Likewise. + * localedata/locales/raj_IN (d_fmt): Likewise. + * localedata/locales/sat_IN (d_fmt): Likewise. + * localedata/locales/sd_IN (d_fmt): Likewise. + * localedata/locales/sd_IN@devanagari (d_fmt): Likewise. + * localedata/locales/ta_IN (d_fmt): Likewise. + * localedata/locales/ta_LK (d_fmt): Likewise. + * localedata/locales/tcy_IN (d_fmt): Likewise. + * localedata/locales/ur_IN (d_fmt): Likewise. + + * localedata/locales/brx_IN (d_fmt): Use "%-m//%-d//%y". + * localedata/locales/ks_IN (d_fmt): Likewise. + * localedata/locales/ks_IN@devanagari (d_fmt): Likewise. + + * localedata/locales/kok_IN (d_fmt): Use "%-d-%-m-%y". + * localedata/locales/ne_NP (d_fmt): Use "%y//%-m//%-d". + * localedata/locales/sa_IN (d_fmt): Use "%-d-%m-%y". + * localedata/locales/te_IN (d_fmt): Use "%d-%m-%y". + +2018-09-05 Szabolcs Nagy + + * NEWS: Mention exp and exp2 improvements. + * math/Makefile (libm-support): Remove t_exp. + (type-double-routines): Add math_err and e_exp_data. + * sysdeps/aarch64/libm-test-ulps: Update. + * sysdeps/arm/libm-test-ulps: Update. + * sysdeps/i386/fpu/e_exp_data.c: New file. + * sysdeps/i386/fpu/math_err.c: New file. + * sysdeps/i386/fpu/t_exp.c: Remove. + * sysdeps/ia64/fpu/e_exp_data.c: New file. + * sysdeps/ia64/fpu/math_err.c: New file. + * sysdeps/ia64/fpu/t_exp.c: Remove. + * sysdeps/ieee754/dbl-64/e_exp.c: Rewrite. + * sysdeps/ieee754/dbl-64/e_exp2.c: Rewrite. + * sysdeps/ieee754/dbl-64/e_exp_data.c: New file. + * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Update error bound. + * sysdeps/ieee754/dbl-64/eexp.tbl: Remove. + * sysdeps/ieee754/dbl-64/math_config.h: New file. + * sysdeps/ieee754/dbl-64/math_err.c: New file. + * sysdeps/ieee754/dbl-64/t_exp.c: Remove. + * sysdeps/ieee754/dbl-64/t_exp2.h: Remove. + * sysdeps/ieee754/dbl-64/uexp.h: Remove. + * sysdeps/ieee754/dbl-64/uexp.tbl: Remove. + * sysdeps/m68k/m680x0/fpu/e_exp_data.c: New file. + * sysdeps/m68k/m680x0/fpu/math_err.c: New file. + * sysdeps/m68k/m680x0/fpu/t_exp.c: Remove. + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + * sysdeps/x86_64/fpu/libm-test-ulps: Update. + +2018-09-05 Joseph Myers + + * sysdeps/alpha/fpu/math_private.h: Remove. + + * sysdeps/generic/math_private.h + [__HAVE_DISTINCT_FLOAT128 && !__GNUC_PREREQ (7, 0)] (__isinff128): + Move this inline function .... + [__HAVE_DISTINCT_FLOAT128] (fabsf128): And this one .... + * include/math.h [!_ISOMAC]: To here.... + +2018-09-04 Joseph Myers + + * sysdeps/generic/fenv_private.h [FE_ALL_EXCEPT == 0]: Move this + code .... + [!FE_HAVE_ROUNDING_MODES]: And this code .... + * include/fenv.h [!_ISOMAC]: ... to here. + * math/fraiseexcpt.c (__feraiseexcept): Undefine as macro. + (feraiseexcept): Likewise. + * math/fromfp.h: Do not include . + * math/s_cexp_template.c: Likewise. + * math/s_csin_template.c: Likewise. + * math/s_csinh_template.c: Likewise. + * math/s_ctan_template.c: Likewise. + * math/s_ctanh_template.c: Likewise. + * math/s_iseqsig_template.c: Likewise. + * math/w_acos_compat.c: Likewise. + * math/w_acosf_compat.c: Likewise. + * math/w_acosl_compat.c: Likewise. + * math/w_asin_compat.c: Likewise. + * math/w_asinf_compat.c: Likewise. + * math/w_asinl_compat.c: Likewise. + * math/w_j0_compat.c: Likewise. + * math/w_j0f_compat.c: Likewise. + * math/w_j0l_compat.c: Likewise. + * math/w_j1_compat.c: Likewise. + * math/w_j1f_compat.c: Likewise. + * math/w_j1l_compat.c: Likewise. + * math/w_jn_compat.c: Likewise. + * math/w_jnf_compat.c: Likewise. + * math/w_log10_compat.c: Likewise. + * math/w_log10f_compat.c: Likewise. + * math/w_log10l_compat.c: Likewise. + * math/w_log2_compat.c: Likewise. + * math/w_log2f_compat.c: Likewise. + * math/w_log2l_compat.c: Likewise. + * math/w_log_compat.c: Likewise. + * math/w_logf_compat.c: Likewise. + * math/w_logl_compat.c: Likewise. + * sysdeps/ieee754/dbl-64/s_llrint.c: Likewise. + * sysdeps/ieee754/dbl-64/s_llround.c: Likewise. + * sysdeps/ieee754/dbl-64/s_lrint.c: Likewise. + * sysdeps/ieee754/dbl-64/s_lround.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Likewise. + * sysdeps/ieee754/flt-32/s_llrintf.c: Likewise. + * sysdeps/ieee754/flt-32/s_llroundf.c: Likewise. + * sysdeps/ieee754/flt-32/s_lrintf.c: Likewise. + * sysdeps/ieee754/flt-32/s_lroundf.c: Likewise. + * sysdeps/ieee754/k_standardl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_llrintl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_llroundl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_lrintl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_lroundl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_llrintl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_llroundl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_lrintl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_lroundl.c: Likewise. + * math/w_ilogb_template.c: Include instead of + . + * math/w_llogb_template.c: Likewise. + * sysdeps/powerpc/fpu/e_sqrt.c: Likewise. + * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise. + +2018-09-03 Joseph Myers + + * sysdeps/generic/math_private.h: Do not include . + * math/fromfp.h: Include . + * math/math-narrow.h: Likewise. + * math/s_cexp_template.c: Likewise. + * math/s_csin_template.c: Likewise. + * math/s_csinh_template.c: Likewise. + * math/s_ctan_template.c: Likewise. + * math/s_ctanh_template.c: Likewise. + * math/s_iseqsig_template.c: Likewise. + * math/w_acos_compat.c: Likewise. + * math/w_acosf_compat.c: Likewise. + * math/w_acosl_compat.c: Likewise. + * math/w_asin_compat.c: Likewise. + * math/w_asinf_compat.c: Likewise. + * math/w_asinl_compat.c: Likewise. + * math/w_ilogb_template.c: Likewise. + * math/w_j0_compat.c: Likewise. + * math/w_j0f_compat.c: Likewise. + * math/w_j0l_compat.c: Likewise. + * math/w_j1_compat.c: Likewise. + * math/w_j1f_compat.c: Likewise. + * math/w_j1l_compat.c: Likewise. + * math/w_jn_compat.c: Likewise. + * math/w_jnf_compat.c: Likewise. + * math/w_llogb_template.c: Likewise. + * math/w_log10_compat.c: Likewise. + * math/w_log10f_compat.c: Likewise. + * math/w_log10l_compat.c: Likewise. + * math/w_log2_compat.c: Likewise. + * math/w_log2f_compat.c: Likewise. + * math/w_log2l_compat.c: Likewise. + * math/w_log_compat.c: Likewise. + * math/w_logf_compat.c: Likewise. + * math/w_logl_compat.c: Likewise. + * sysdeps/aarch64/fpu/feholdexcpt.c: Likewise. + * sysdeps/aarch64/fpu/fesetround.c: Likewise. + * sysdeps/aarch64/fpu/fgetexcptflg.c: Likewise. + * sysdeps/aarch64/fpu/ftestexcept.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise. + * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise. + * sysdeps/ieee754/dbl-64/e_jn.c: Likewise. + * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. + * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/gamma_product.c: Likewise. + * sysdeps/ieee754/dbl-64/lgamma_neg.c: Likewise. + * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fma.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_llrint.c: Likewise. + * sysdeps/ieee754/dbl-64/s_llround.c: Likewise. + * sysdeps/ieee754/dbl-64/s_lrint.c: Likewise. + * sysdeps/ieee754/dbl-64/s_lround.c: Likewise. + * sysdeps/ieee754/dbl-64/s_nearbyint.c: Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. + * sysdeps/ieee754/dbl-64/s_sincos.c: Likewise. + * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Likewise. + * sysdeps/ieee754/dbl-64/x2y2m1.c: Likewise. + * sysdeps/ieee754/float128/float128_private.h: Likewise. + * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. + * sysdeps/ieee754/flt-32/e_j1f.c: Likewise. + * sysdeps/ieee754/flt-32/e_jnf.c: Likewise. + * sysdeps/ieee754/flt-32/lgamma_negf.c: Likewise. + * sysdeps/ieee754/flt-32/s_llrintf.c: Likewise. + * sysdeps/ieee754/flt-32/s_llroundf.c: Likewise. + * sysdeps/ieee754/flt-32/s_lrintf.c: Likewise. + * sysdeps/ieee754/flt-32/s_lroundf.c: Likewise. + * sysdeps/ieee754/flt-32/s_nearbyintf.c: Likewise. + * sysdeps/ieee754/k_standardl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-128/gamma_productl.c: Likewise. + * sysdeps/ieee754/ldbl-128/lgamma_negl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_llrintl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_llroundl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_lrintl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_lroundl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise. + * sysdeps/ieee754/ldbl-128/x2y2m1l.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/lgamma_negl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-96/gamma_productl.c: Likewise. + * sysdeps/ieee754/ldbl-96/lgamma_negl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_llrintl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_llroundl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_lrintl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_lroundl.c: Likewise. + * sysdeps/ieee754/ldbl-96/x2y2m1l.c: Likewise. + * sysdeps/powerpc/fpu/e_sqrt.c: Likewise. + * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_ceil.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_nearbyint.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_round.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_roundeven.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise. + * sysdeps/riscv/rvd/s_finite.c: Likewise. + * sysdeps/riscv/rvd/s_fmax.c: Likewise. + * sysdeps/riscv/rvd/s_fmin.c: Likewise. + * sysdeps/riscv/rvd/s_fpclassify.c: Likewise. + * sysdeps/riscv/rvd/s_isinf.c: Likewise. + * sysdeps/riscv/rvd/s_isnan.c: Likewise. + * sysdeps/riscv/rvd/s_issignaling.c: Likewise. + * sysdeps/riscv/rvf/fegetround.c: Likewise. + * sysdeps/riscv/rvf/feholdexcpt.c: Likewise. + * sysdeps/riscv/rvf/fesetenv.c: Likewise. + * sysdeps/riscv/rvf/fesetround.c: Likewise. + * sysdeps/riscv/rvf/feupdateenv.c: Likewise. + * sysdeps/riscv/rvf/fgetexcptflg.c: Likewise. + * sysdeps/riscv/rvf/ftestexcept.c: Likewise. + * sysdeps/riscv/rvf/s_ceilf.c: Likewise. + * sysdeps/riscv/rvf/s_finitef.c: Likewise. + * sysdeps/riscv/rvf/s_floorf.c: Likewise. + * sysdeps/riscv/rvf/s_fmaxf.c: Likewise. + * sysdeps/riscv/rvf/s_fminf.c: Likewise. + * sysdeps/riscv/rvf/s_fpclassifyf.c: Likewise. + * sysdeps/riscv/rvf/s_isinff.c: Likewise. + * sysdeps/riscv/rvf/s_isnanf.c: Likewise. + * sysdeps/riscv/rvf/s_issignalingf.c: Likewise. + * sysdeps/riscv/rvf/s_nearbyintf.c: Likewise. + * sysdeps/riscv/rvf/s_roundevenf.c: Likewise. + * sysdeps/riscv/rvf/s_roundf.c: Likewise. + * sysdeps/riscv/rvf/s_truncf.c: Likewise. + +2018-08-31 Paul Pluzhnikov + + [BZ #20271] + * include/stdio.h (__libc_fatal): Mention newline in comment. + * grp/initgroups.c (internal_getgrouplist): Add missing newline. + * nptl/pthread_cond_wait.c (__pthread_cond_wait_common): Likewise. + * nscd/initgrcache.c (addinitgroupsX): Likewise. + * nss/nsswitch.c (__nss_next2): Likewise. + * sysdeps/aarch64/dl-irel.h (elf_irela): Likewise. + * sysdeps/arm/dl-irel.h (elf_irel): Likewise. + * sysdeps/generic/unwind-dw2.c (execute_cfa_program): Likewise. + * sysdeps/i386/dl-irel.h (elf_irel): Likewise. + * sysdeps/powerpc/powerpc32/dl-irel.h (elf_irel): Likewise. + * sysdeps/powerpc/powerpc64/dl-irel.h (elf_irel): Likewise. + * sysdeps/s390/dl-irel.h (elf_irel): Likewise. + * sysdeps/sparc/sparc32/dl-irel.h (elf_irel): Likewise. + * sysdeps/sparc/sparc64/dl-irel.h (elf_irel): Likewise. + * sysdeps/x86_64/dl-irel.h (elf_irel): Likewise. + * sysdeps/nptl/futex-internal.h (futex_wake): Likewise. + * sysdeps/unix/sysv/linux/netlink_assert_response.c + (__netlink_assert_response): Likewise. + +2018-08-31 Joseph Myers + + * conform/glibcconform.py: New file. + * conform/list-header-symbols.py: Likewise. + * conform/list-header-symbols.pl: Remove. + * conform/Makefile (tests-special): Only add linknamespace tests + if [PYTHON]. + ($(linknamespace-symlists-tests)): Use list-header-symbols.py. + +2018-08-31 H.J. Lu + + [BZ #23597] + * support/Makefile (libsupport-routines): Add + support_copy_file_range and xcopy_file_range. + * support/support.h: Include . + (support_copy_file_range): New prototype. + * support/support_copy_file_range.c: New file. Copied and + modified from io/copy_file_range-compat.c. + * support/test-container.c (copy_one_file): Call xcopy_file_rang + instead of copy_file_range. + * support/xcopy_file_range.c: New file. + * support/xunistd.h (xcopy_file_range): New prototype. + +2018-08-30 Carlos O'Donell + + * elf/tst-dlopen-aout.c: Include support/xthread.h. Use + xpthread_create and xpthread_join. + +2018-08-30 Florian Weimer + + * stdlib/stdlib.h (reallocarray): Make available under __USE_MISC. + +2018-08-30 Stefan Liebler + + * stdlib/test-bz22786.c (do_test): Return EXIT_UNSUPPORTED + if malloc fails. + +2018-08-29 Joseph Myers + + * math/gen-libm-test.py (gen_test_args_res): Also treat plus_oflow + and minus_oflow as non-finite. + +2018-08-28 Joseph Myers + + * sysdeps/aarch64/fpu/fenv_private.h: New file. Based on .... + * sysdeps/aarch64/fpu/math_private.h: ... this file. All contents + moved to fenv_private.h except for ... + (TOINT_INTRINSICS): Kept in math_private.h. + (roundtoint): Likewise. + (converttoint): Likewise. + * sysdeps/arm/fenv_private.h: Change multiple-include guard to + [ARM_FENV_PRIVATE_H]. Include next . + * sysdeps/arm/math_private.h: Remove. + * sysdeps/generic/fenv_private.h: New file. Contents moved from + .... + * sysdeps/generic/math_private.h: ... this file. Include + . Do not include or . + Include . Remove functions and macros moved to + fenv_private.h. + * sysdeps/i386/fpu/math_private.h: Remove. + * sysdeps/mips/math_private.h: Move to .... + * sysdeps/mips/fpu/fenv_private.h: ... here. Change + multiple-include guard to [MIPS_FENV_PRIVATE_H]. Remove + [__mips_hard_float] conditional. Include next . + * sysdeps/powerpc/fpu/fenv_private.h: Change multiple-include + guard to [POWERPC_FENV_PRIVATE_H]. Include next . + * sysdeps/powerpc/fpu/math_private.h: Do not include + . + * sysdeps/riscv/rvf/math_private.h: Move to .... + * sysdeps/riscv/rvf/fenv_private.h: ... here. Change + multiple-include guard to [RISCV_FENV_PRIVATE_H]. Include next + . + * sysdeps/sparc/fpu/fenv_private.h: Change multiple-include guard + to [SPARC_FENV_PRIVATE_H]. Include next . + * sysdeps/sparc/fpu/math_private.h: Remove. + * sysdeps/i386/fpu/fenv_private.h: Move to .... + * sysdeps/x86/fpu/fenv_private.h: ... here. Change + multiple-include guard to [X86_FENV_PRIVATE_H]. Include next + . + * sysdeps/x86_64/fpu/math_private.h: Do not include + . + +2018-08-28 Florian Weimer + + [BZ #23578] + * posix/tst-regcomp-truncated.c: New file. + * posix/Makefile (tests): Add it. + (tst-regcomp-truncated.out): Depend on generated locales. + +2018-08-28 Florian Weimer + + * support/test-container.c (main): Treat unshare failure with + EPERM as an unsupported test. + +2018-08-28 Florian Weimer + + [BZ #23520] + nscd: Fix use-after-free in addgetnetgrentX and its callers. + * nscd/netgroupcache.c + (addgetnetgrentX): Add tofreep parameter. Do not free + heap-allocated buffer. + (addinnetgrX): Free buffer allocated bt addgetnetgrentX. + (addgetnetgrentX_ignore): New function. + (addgetnetgrent): Call it. + (readdgetnetgrent): Likewise. + +2018-08-28 Rajalakshmi Srinivasaraghavan + + * string/memmem.c: Use memcmp for first match. + +2018-08-28 Rafał Lużyński + + [BZ #17426] + * localedata/locales/en_IN (d_fmt): Use "%d/%m/%y". + +2018-08-27 DJ Delorie + + * support/Makefile (others): Don't list programs explicitly as a + dependency of "others". + +2018-08-27 Joseph Myers + + * sysdeps/generic/math-tests-trap-force.h: New file. + * sysdeps/generic/math-tests.h: Include . + (EXCEPTION_SET_FORCES_TRAP): Do not define here. + * sysdeps/powerpc/math-tests.h: Remove file. + * sysdeps/powerpc/fpu/math-tests-trap-force.h: New file. + +2018-08-27 Martin Kuchta + Torvald Riegel + + [BZ #23538] + * nptl/pthread_cond_common.c (__condvar_quiesce_and_switch_g1): + Update r to include the set wake-request flag if waiters are + remaining after spinning. + +2018-08-27 Joseph Myers + + * sysdeps/gnu/netinet/udp.h (UDP_SEGMENT): New macro. + +2018-08-25 Paul Eggert + + [BZ #23578] + regex: fix uninitialized memory access + I introduced this bug into gnulib in commit + 8335a4d6c7b4448cd0bcb6d0bebf1d456bcfdb17 dated 2006-04-10; + eventually it was merged into glibc. The bug was found by + project-repo and reported here: + https://lists.gnu.org/r/sed-devel/2018-08/msg00017.html + Diagnosis and draft fix reported by Assaf Gordon here: + https://lists.gnu.org/r/bug-gnulib/2018-08/msg00071.html + https://lists.gnu.org/r/bug-gnulib/2018-08/msg00142.html + * posix/regex_internal.c (build_wcs_upper_buffer): + Fix bug when mbrtowc returns 0. + +2018-08-24 Carlos O'Donell + + * po/be.po: Update translation. + +2018-08-24 DJ Delorie + + * support/Makefile (LDLIBS-links-dso-program): Add -lgcc and + $(libunwind). + +2018-08-24 Paul Pluzhnikov + + [BZ #23400] + * stdlib/test-bz22786.c (do_test): Fix undefined behavior, don't + create temporary files in source tree. + +2018-08-24 Joseph Myers + + * sysdeps/generic/math-tests-trap.h: New file. + * sysdeps/generic/math-tests.h: Include . + (EXCEPTION_ENABLE_SUPPORTED): Do not define here. + * sysdeps/aarch64/math-tests.h: Remove file. + * sysdeps/arm/math-tests.h: Likewise. + * sysdeps/riscv/math-tests.h: Likewise. + * sysdeps/aarch64/math-tests-trap.h: New file. + * sysdeps/arm/math-tests-trap.h: Likewise. + * sysdeps/riscv/math-tests-trap.h: Likewise. + +2018-08-24 Wilco Dijkstra + + * math/Makefile: Remove empty files k_sin(f).c, k_cos(f).c. + Remove unused files e_rem_pio2(f).c, k_rem_pio2f.c. + * sysdeps/i386/fpu/e_rem_pio2.c: Delete file. + * sysdeps/ia64/fpu/e_rem_pio2.c: Likewise. + * sysdeps/ia64/fpu/e_rem_pio2f.c: Likewise. + * sysdeps/ia64/fpu/k_rem_pio2f.c: Likewise. + * sysdeps/ieee754/dbl-64/e_rem_pio2.c: Likewise. + * sysdeps/ieee754/dbl-64/k_cos.c: Likewise. + * sysdeps/ieee754/dbl-64/k_sin.c: Likewise. + * sysdeps/ieee754/flt-32/e_rem_pio2f.c: Likewise. + * sysdeps/ieee754/flt-32/k_cosf.c: Likewise. + * sysdeps/ieee754/flt-32/k_rem_pio2f.c: Likewise. + * sysdeps/ieee754/flt-32/k_sinf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/e_rem_pio2.c: Likewise + * sysdeps/m68k/m680x0/fpu/e_rem_pio2f.c: Likewise + * sysdeps/m68k/m680x0/fpu/k_rem_pio2f.c: Likewise + * sysdeps/powerpc/fpu/e_rem_pio2f.c: Likewise. + * sysdeps/powerpc/fpu/k_rem_pio2f.c: Likewise. + +2018-08-23 Joseph Myers + + * sysdeps/generic/math-tests-exceptions.h: New file. + * sysdeps/generic/math-tests.h: Include . + (EXCEPTION_TESTS_float): Do not define here. + (EXCEPTION_TESTS_double): Likewise. + (EXCEPTION_TESTS_long_double): Likewise. + (EXCEPTION_TESTS_float128): Likewise. + * sysdeps/arm/math-tests.h [__SOFTFP__] (EXCEPTION_TESTS_float): + Likewise. + [__SOFTFP__] (EXCEPTION_TESTS_double): Likewise. + [__SOFTFP__] (EXCEPTION_TESTS_long_double): Likewise. + * sysdeps/arm/nofpu/math-tests-exceptions.h: New file. + * sysdeps/m68k/coldfire/math-tests.h: Remove file. + * sysdeps/mips/math-tests.h: Likewise. + * sysdeps/nios2/math-tests.h: Likewise. + * sysdeps/riscv/math-tests.h [!__riscv_flen] + (EXCEPTION_TESTS_float): Do not define here. + [!__riscv_flen] (EXCEPTION_TESTS_double): Likewise. + [!__riscv_flen] (EXCEPTION_TESTS_long_double): Likewise. + * sysdeps/riscv/nofpu/math-tests-exceptions.h: New file. + +2018-08-23 Wilco Dijkstra + + * NEWS: Move optimized sinf entry to 2.29. + +2018-08-23 Wilco Dijkstra + + * sysdeps/ieee754/flt-32/s_tanf.c (__tanf): Use fast range reduction. + +2018-08-22 DJ Delorie + + * Makefile (testroot.pristine): New rules to initialize the + test-in-container "testroot". + * Makerules (all-testsuite): Add tests-container. + * Rules (tests-expected): Add tests-container. + (binaries-all-tests): Likewise. + (tests-container): New, run these tests in the testroot container. + * support/Makefile (others): Add *-container, support_paths.c, + xmkdirp, and links-dso-program. + * support/links-dso-program-c.c: New. + * support/links-dso-program.cc: New. + * support/test-container.c: New. + * support/shell-container.c: New. + * support/echo-container.c: New. + * support/true-container.c: New. + * support/xmkdirp.c: New. + * support/xsymlink.c: New. + * support/support_paths.c: New. + * support/support.h: Add support paths prototypes. + * support/xunistd.h: Add xmkdirp () and xsymlink (). + + * nss/tst-nss-test3.c: Convert to test-in-container. + * nss/tst-nss-test3.root/: New. + +2018-08-22 Paul Eggert + + regex: port Gnulib code to z/OS POSIX environment + Problem reported by Arnold Robbins in: + https://lists.gnu.org/r/bug-gnulib/2018-08/msg00129.html + * posix/regex_internal.h (__iswalnum, __towlower, __towupper) [!_LIBC]: + Undef. + +2018-08-22 Joseph Myers + + * math/test-double-vlen2.h: Don't include . + (ROUNDING_TESTS_double): Remove. + * math/test-double-vlen4.h: Don't include . + (ROUNDING_TESTS_double): Remove. + * math/test-double-vlen8.h: Don't include . + (ROUNDING_TESTS_double): Remove. + * math/test-float-vlen16.h: Don't include . + (ROUNDING_TESTS_float): Remove. + * math/test-float-vlen4.h: Don't include . + (ROUNDING_TESTS_float): Remove. + * math/test-float-vlen8.h: Don't include . + (ROUNDING_TESTS_float): Remove. + * math/libm-test-driver.c (IF_ROUND_INIT_FE_DOWNWARD): Check + !TEST_MATHVEC here. + (IF_ROUND_INIT_FE_TOWARDZERO): Likewise. + (IF_ROUND_INIT_FE_UPWARD): Likewise. + + * sysdeps/generic/math-tests-rounding.h: New file. + * sysdeps/generic/math-tests.h: Include . + (ROUNDING_TESTS_float): Do not define here. + (ROUNDING_TESTS_double): Likewise. + (ROUNDING_TESTS_long_double): Likewise. + (ROUNDING_TESTS_float128): Likewise. + * math/test-double-vlen2.h: Include . + (ROUNDING_TESTS_double): Undefine before defining. + * math/test-double-vlen4.h: Include . + (ROUNDING_TESTS_double): Undefine before defining. + * math/test-double-vlen8.h: Include . + (ROUNDING_TESTS_double): Undefine before defining. + * math/test-float-vlen16.h: Include . + (ROUNDING_TESTS_float): Undefine before defining. + * math/test-float-vlen4.h: Include . + (ROUNDING_TESTS_float): Undefine before defining. + * math/test-float-vlen8.h: Include . + (ROUNDING_TESTS_float): Undefine before defining. + * sysdeps/arm/nofpu/math-tests-rounding.h: New file. + * sysdeps/arm/math-tests.h [__SOFTFP__] (ROUNDING_TESTS_float): Do + not define here. + [__SOFTFP__] (ROUNDING_TESTS_double): Likewise. + [__SOFTFP__] (ROUNDING_TESTS_long_double): Likewise. + * sysdeps/riscv/nofpu/math-tests-rounding.h: New file. + * sysdeps/riscv/math-tests.h [!__riscv_flen] + (ROUNDING_TESTS_float): Do not define here. + [!__riscv_flen] (ROUNDING_TESTS_double): Likewise. + [!__risv_flen] (ROUNDING_TESTS_long_double): Likewise. + * sysdeps/m68k/coldfire/math-tests.h [!__mcffpu__] + (ROUNDING_TESTS_float): Likewise. + [!__mcffpu__] (ROUNDING_TESTS_double): Likewise. + [!__mcffpu__] (ROUNDING_TESTS_long_double): Likewise. + * sysdeps/mips/math-tests.h [__mips_soft_float] + (ROUNDING_TESTS_float): Likewise. + [__mips_soft_float] (ROUNDING_TESTS_double): Likewise. + [__mips_soft_float] (ROUNDING_TESTS_long_double): Likewise. + * sysdeps/nios2/math-tests.h (ROUNDING_TESTS_float): Likewise. + (ROUNDING_TESTS_double): Likewise. + (ROUNDING_TESTS_long_double): Likewise. + +2018-08-21 Tobias Klauser + + * sysdeps/unix/sysv/linux/bits/socket.h (PF_MAX): Set to 45. + (PF_XDP): New macro. + (AF_XDP): New macro. + (SOL_XDP): New macro. + +2018-08-21 Joseph Myers + + * sysdeps/gnu/netinet/tcp.h (TCP_ZEROCOPY_RECEIVE): New macro. + (TCP_INQ): Likewise. + (TCP_CM_INQ): Likewise. + (TCP_REPAIR_ON): Likewise. + (TCP_REPAIR_OFF): Likewise. + (TCP_REPAIR_OFF_NO_WP): Likewise. + (struct tcp_zerocopy_receive): New type. + +2018-08-21 Florian Weimer + + * support/support.h (support_descriptor_supports_holes): Declare. + * support/Makefile (libsupport-routines): Add + support_descriptor_supports_holes. + * support/support_descriptor_supports_holes.c: New file. + * io/tst-copy_file_range.c: Call support_descriptor_supports_holes + and stop testing if holes are not supported. + * io/test-lfs.c (do_prepare): Likewise. + * sysdeps/unix/sysv/linux/tst-fallocate-common.c (do_prepare): + Likewise. + * timezone/tst-tzset.c (create_tz_file): Likewise. + * misc/tst-preadvwritev-common.c (temp_fd_supports_holes) New + variable. + (do_prepare): Set it. + * misc/tst-preadvwritev64.c (do_test): Use temp_fd_supports_holes. + +2018-08-21 Florian Weimer + + [BZ #17248] + * Makeconfig (+cflags): Do not sort (and deduplicate). + +2018-08-21 Florian Weimer + + * debug/readlink_chk.c (__readlink_chk): Always call __readlink. + * sysdeps/unix/sysv/linux/generic/readlink_chk.c: Remove file. + +2018-08-20 Florian Weimer + + * sysdeps/unix/sysv/linux/generic/readlink_chk.c: Remove + HAVE_INLINED_SYSCALLS conditionals. Use INLINE_SYSCALL_CALL. + +2018-08-20 Joseph Myers + + * sysdeps/unix/sysv/linux/sys/signalfd.h (struct + signalfd_siginfo): Add ssi_addr_lsb, ssi_syscall, ssi_call_addr + and ssi_arch members. + + * elf/elf.c (NT_VMCOREDD): New macro. + (AT_MINSIGSTKSZ): Likewise. + +2018-08-20 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Remove s_sinf-ppc64, s_sinf-power8, + s_cosf-ppc64 and s_cosf-power8. + * sysdeps/powerpc/fpu/s_cosf.c: Remove file. + * sysdeps/powerpc/fpu/s_sinf.c: Likewise. + * sysdeps/powerpc/fpu/k_sinf.c: Likewise. + * sysdeps/powerpc/fpu/k_cosf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf.c: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_cosf.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_sinf.S: Likewise. + +2018-08-17 Florian Weimer + + * sysdeps/s390/fpu/libm-test-ulps: Regenerate. + +2018-08-17 Istvan Kurucsai + + * malloc/malloc.c (_int_malloc): Additional binning code checks. + +2018-08-16 Florian Weimer + + * configure.ac: Add --with-nonshared-cflags option. + * config.make.in (extra-nonshared-cflags): Set variable. + * Makeconfig (CFLAGS-.oS): Use it. + * manual/install.texi (Configuring and compiling): Document + --with-nonshared-cflags. + * configure: Regenerate. + * INSTALL: Likewise. + +2018-08-16 Florian Weimer + + * Makeconfig (ASFLAGS): Always append required assembler flags. + +2018-08-16 Moritz Eckert + + * malloc/malloc.c (_int_free): Check for corrupt prev_size vs size. + (malloc_consolidate): Likewise. + +2018-08-16 Pochang Chen + + * malloc/malloc.c (_int_malloc.c): Verify size of top chunk. + +2018-08-16 Siddhesh Poyarekar + + * benchtests/bench-strlen.c (do_test): Allocate buffers before + every strlen call. + + * benchtests/bench-strlen.c: Print performance numbers in json. + +2018-08-16 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/multiarch/Makefile + (sysdep_routines): Build strcmp-power9 and strncmp-power9 + only for little endian. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c + (strncmp): Move __strncmp_power9 inside ifdef __LITTLE_ENDIAN__. + (STRCMP): Move __strcmp_power9 inside ifdef __LITTLE_ENDIAN__. + * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: + Add check for little endian. + * sysdeps/powerpc/powerpc64/multiarch/strcmp.c + (__strcmp_power9): Add check for little endian. + * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: + Add check for little endian. + * sysdeps/powerpc/powerpc64/multiarch/strncmp.c + (__strncmp_power9): Add check for little endian. + * sysdeps/powerpc/powerpc64/power9/strcmp.S: Removed ifdef + __LITTLE_ENDIAN__ and moved to sysdeps/powerpc/powerpc64/le/power9. + * sysdeps/powerpc/powerpc64/power9/strncmp.S: Likewise. + * sysdeps/powerpc/powerpc64/le/power9/strcmp.S: New file. + * sysdeps/powerpc/powerpc64/le/power9/strncmp.S: Likewise. + +2018-08-15 Siddhesh Poyarekar + + * sysdeps/aarch64/strlen.S (__strlen): Rename to STRLEN. + [!STRLEN](STRLEN): Set to __strlen. + * sysdeps/aarch64/multiarch/strlen.c: New file. + * sysdeps/aarch64/multiarch/strlen_generic.S: Likewise. + * sysdeps/aarch64/multiarch/strlen_asimd.S: Likewise. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add strlen. + * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add + strlen_generic and strlen_asimd. + +2018-08-15 Wilco Dijkstra + + * sysdeps/ieee754/flt-32/e_lgammaf_r.c (sin_pif): Use __sinf/__cosf. + * sysdeps/ieee754/flt-32/k_cosf.c (__kernel_cosf): Remove all code. + * sysdeps/ieee754/flt-32/k_sinf.c (__kernel_sinf): Likewise. + +2018-08-15 Wilco Dijkstra + + * sysdeps/x86_64/fpu/libm-test-ulps: Regenerate to fix spaces. + +2018-08-14 Florian Weimer + + [BZ #23519] + * include/stdio.h (__vfxprintf): Declare. + * stdio-common/fxprintf.c (__vfxprintf): New function. + (__fxprintf): Call it. + * misc/err.c (convert_and_print): Remove function. + (vwarnx, vwarn): Call __fxprintf and __vfxprintf. + * misc/error.c [_LIBC] (error_tail): Call __vfxprintf. + * misc/Makefile (tests): Add tst-warn-wide. + * misc/tst-warn-wide.c: New file. + +2018-08-14 Wilco Dijkstra + Szabolcs Nagy + + * NEWS: Mention sinf, cosf, sincosf. + * sysdeps/aarch64/libm-test-ulps: Update ULP for sinf, cosf, sincosf. + * sysdeps/x86_64/fpu/libm-test-ulps: Update ULP for sinf and cosf. + * sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: Add definitions of + constants rather than including generic sincosf.h. + * sysdeps/x86_64/fpu/s_sincosf_data.c: Remove. + * sysdeps/ieee754/flt-32/s_cosf.c (cosf): Rewrite. + * sysdeps/ieee754/flt-32/s_sincosf.h (reduced_sin): Remove. + (reduced_cos): Remove. + (sinf_poly): New function. + * sysdeps/ieee754/flt-32/s_sinf.c (sinf): Rewrite. + +2018-08-14 Florian Weimer + + [BZ #23521] + [BZ #23522] + * nss/nss_files/files-alias.c (get_next_alias): During :include: + processing, bail out if no room, and close the stream before + returning ERANGE. + * nss/Makefile (tests): Add tst-nss-files-alias-leak. + (tst-nss-files-alias-leak): Link with libdl. + (tst-nss-files-alias-leak.out): Depend on nss_files. + + * nss/tst-nss-files-alias-leak.c: New file. + +2018-08-14 Florian Weimer + + * nscd/nscd_conf.c (nscd_parse_file): Deallocate old storage for + server_user, stat_user. + +2018-08-13 Joseph Myers + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 4.18. + (io_pgetevents): New syscall. + (rseq): Likewise. + + * manual/install.texi (Configuring and compiling): Do not list + tools used for testing pretty printers here. + (Tools for Compilation): List Python, PExpect and GDB here. + Update descriptions of uses of Perl and Python. + * INSTALL: Regenerate. + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + version to 4.18. + +2018-08-13 Florian Weimer + + * misc/error.c (error): Add missing va_end call. + (error_at_line): Likewise. + +2018-08-13 Florian Weimer + + * stdlib/mbstowcs.c (mbstowcs): Remove outdated comment. + +2018-08-11 Siddhesh Poyarekar + + * benchtests/scripts/benchout.schema.json (properties): Add + new properties. + + * benchtests/bench-skeleton.c (main): Add duration and + iterations attributes. + +2018-08-10 Paul Eggert + + regex: Gnulib unibyte RRI uses bytes not chars + Adjust the non-glibc code to agree with what Gawk needs for + rational range interpretation (RRI) for regular expression ranges. + In unibyte locales, Gawk wants ranges to use the underlying byte + rather than the character code point. This change does not affect + glibc proper. + * posix/regcomp.c (parse_byte) [!LIBC && RE_ENABLE_I18N]: + In unibyte locales, use the byte value rather than + running it through btowc. + +2018-08-10 Joseph Myers + + * sysdeps/generic/math-tests-snan.h: New file. + * sysdeps/generic/math-tests.h: Include . + (SNAN_TESTS_float): Do not define here. + (SNAN_TESTS_double): Likewise. + (SNAN_TESTS_long_double): Likewise. + (SNAN_TESTS_float128): Likewise. + * sysdeps/i386/fpu/math-tests-snan.h: New file. + * sysdeps/i386/fpu/math-tests.h: Remove file. + * sysdeps/ia64/math-tests-snan.h: New file. + * sysdeps/ia64/math-tests.h: Remove file. + * sysdeps/x86/math-tests.h: Likewise. + * sysdeps/x86_64/fpu/math-tests-snan.h: New file. + +2018-08-10 Wilco Dijkstra + Szabolcs Nagy + + * math/Makefile: Add s_sincosf_data.c. + * sysdeps/ia64/fpu/s_sincosf_data.c: New file. + * sysdeps/ieee754/flt-32/s_sincosf.h (abstop12): Add new function. + (sincosf_poly): Likewise. + (reduce_small): Likewise. + (reduce_large): Likewise. + * sysdeps/ieee754/flt-32/s_sincosf.c (sincosf): Rewrite. + * sysdeps/ieee754/flt-32/s_sincosf_data.c: New file with sincosf data. + * sysdeps/m68k/m680x0/fpu/s_sincosf_data.c: New file. + * sysdeps/x86_64/fpu/s_sincosf_data.c: New file. + +2018-08-10 Wilco Dijkstra + Szabolcs Nagy + + * sysdeps/aarch64/fpu/math_private.h (roundtoint): Use round. + (converttoint): Use lround. + * sysdeps/ieee754/flt-32/math_config.h (roundtoint): Declare and + document the semantics when TOINT_INTRINSICS is set. + (converttoint): Likewise. + (TOINT_RINT): Remove. + (TOINT_SHIFT): Remove. + * sysdeps/ieee754/flt-32/e_expf.c (__expf): Remove the TOINT_RINT code + path. + +2018-08-10 Florian Weimer + + [BZ #23497] + * sysdeps/unix/sysv/linux/getdents64.c (handle_overflow): New + function. + (__old_getdents64): Use getdents64. Convert entries without + moving them. + * sysdeps/unix/sysv/linux/tst-readdir64-compat.c: New file. + * sysdeps/unix/sysv/linux/Makefile (tests-internal): Add + tst-readdir64-compat. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-32/s390-mcount.S (_mcount): + Fix unwind. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-64/Versions (__fentry__): Add. + * sysdeps/s390/s390-64/s390x-mcount.S: Move the common + code to s390x-mcount.h and #include it. + * sysdeps/s390/s390-64/s390x-mcount.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist + (__fentry__): Add. + +2018-08-10 Ilya Leoshkevich + + * stdlib/Versions: Remove __fentry__. + * sysdeps/i386/Versions: Add __fentry__. + * sysdeps/x86_64/Versions: Add __fentry__. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/Makefile: Register the new tests. + * sysdeps/s390/tst-dl-runtime-mod.S: New file. + * sysdeps/s390/tst-dl-runtime-profile-audit.c: New file. + * sysdeps/s390/tst-dl-runtime-profile-noaudit.c: New file. + * sysdeps/s390/tst-dl-runtime-resolve-audit.c: New file. + * sysdeps/s390/tst-dl-runtime-resolve-noaudit.c: New file. + * sysdeps/s390/tst-dl-runtime.c: New file. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_profile): + Do not clobber R0. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve): + Do not clobber R0. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_profile): + Do not clobber R0. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve): + Do not clobber R0. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_profile): + Use symbolic offsets for stack variables. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve): + Use symbolic offsets for stack variables. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_profile): + Use symbolic offsets for stack variables. + +2018-08-10 Ilya Leoshkevich + + * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve): + Use symbolic offsets for stack variables. + +2018-08-09 Joseph Myers + + * math/gen-libm-test.py: New file. + * math/gen-libm-test.pl: Remove. + * math/Makefile [$(PERL) != no]: Change condition to [PYTHON]. + ($(objpfx)libm-test-ulps.h): Use gen-libm-test.py instead of + gen-libm-test.pl. + ($(libm-test-c-noauto-obj)): Likewise. + ($(libm-test-c-auto-obj)): Likewise. + ($(libm-test-c-narrow-obj)): Likewise. + (regen-ulps): Likewise. + * math/README.libm-test: Update references to gen-libm-test.pl. + * math/libm-test-driver.c (struct test_fj_f_data): Update comment + referencing gen-libm-test.pl. + * math/libm-test-nexttoward.inc (nexttoward_test_data): Likewise. + * math/libm-test-support.c: Likewise. + * math/libm-test-support.h: Likewise. + * sysdeps/generic/libm-test-ulps: Likewise. + +2018-08-08 Siddhesh Poyarekar + + * sysdeps/aarch64/strlen.S [TEST_PAGE_CROSS](MIN_PAGE_SIZE): + Fix value. + +2018-08-08 Joseph Myers + + * math/libm-test-nextdown.inc (do_test): Move comment to .... + * math/libm-test-nexttoward.inc (nexttoward_test_data): ... here. + +2018-08-08 Samuel Thibault + + * htl/Versions (__pthread_getspecific, __pthread_setspecific): Add + symbols. + * sysdeps/htl/pthreadP.h [IS_IN (libpthread)] (__pthread_getspecific, + __pthread_setspecific): Add hidden proto. + * sysdeps/htl/pt-getspecific.c (__pthread_getspecific): Add hidden def. + * sysdeps/htl/pt-setspecific.c (__pthread_setspecific): Add hidden def. + +2018-08-07 Siddhesh Poyarekar + + * benchtests/bench-string.h (buf1_size, buf2_size): New + variables. + (init_sizes): New function. + (test_init): Use it. + (alloc_buf, exit_error): New functions. + (alloc_bufs): Use ALLOC_BUF. + (realloc_bufs): Remove. + * benchtests/bench-memcmp.c (do_test): Adjust. + * benchtests/bench-memset-large.c (do_test): Likewise. + * benchtests/bench-memset-walk.c (do_test): Likewise. + * benchtests/bench-memset.c (do_test): Likewise. + * benchtests/bench-strncmp.c (do_test): Likewise. + +2018-08-06 Andreas Schwab + + * sysdeps/riscv/nptl/tls.h (DB_THREAD_SELF): Use REGISTER instead + of CONST_THREAD_AREA. + +2018-08-06 H.J. Lu + + * sysdeps/x86/cpu-features.h (STATE_SAVE_OFFSET): Removed. + (STATE_SAVE_MASK): Likewise. + Don't check __ASSEMBLER__ to include . + * sysdeps/x86/sysdep.h (STATE_SAVE_OFFSET): New. + (STATE_SAVE_MASK): Likewise. + * sysdeps/x86_64/dl-trampoline.S: Include + instead of . + +2018-08-03 DJ Delorie + + * sysdeps/riscv/rvf/math_private.h (libc_feholdexcept_setround_riscv): + Move libc_fesetround_riscv after libc_feholdexcept_riscv. + + * sysdeps/riscv/rv64/rvd/libm-test-ulps: Update. + +2018-08-03 Joseph Myers + + * math/libm-test-ilogb.inc (ilogb_test_data): Use ',' not ';' + after TEST_* calls. + * math/libm-test-llogb.inc (llogb_test_data): Likewise. + * math/libm-test-logb.inc (logb_test_data): Likewise. + +2018-08-03 Wilco Dijkstra + + * string/strcasestr.c (STRCASESTR): Simplify and speedup first match. + * string/strstr.c (AVAILABLE): Likewise. + +2018-08-03 H.J. Lu + + * sysdeps/i386/i686/multiarch/bzero-ia32.S: Don't include + . + * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core-avx2.S: Likewise. + * sysdeps/x86_64/multiarch/memset-sse2-unaligned-erms.S: Likewise. + +2018-08-03 Carlos O'Donell + + * po/be.po: Update translation. + + * po/be.po: Update translation. + +2018-08-03 H.J. Lu + + * sysdeps/x86/cpu-features-offsets.sym + (rtld_global_ro_offsetof): Removed. + (CPU_FEATURES_SIZE): Likewise. + (CPUID_OFFSET): Likewise. + (CPUID_SIZE): Likewise. + (CPUID_EAX_OFFSET): Likewise. + (CPUID_EBX_OFFSET): Likewise. + (CPUID_ECX_OFFSET): Likewise. + (CPUID_EDX_OFFSET): Likewise. + (FAMILY_OFFSET): Likewise. + (MODEL_OFFSET): Likewise. + (FEATURE_OFFSET): Likewise. + (FEATURE_SIZ): Likewise. + (COMMON_CPUID_INDEX_1): Likewise. + (COMMON_CPUID_INDEX_7): Likewise. + (FEATURE_INDEX_1): Likewise. + (RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET): Updated. + +2018-08-02 Carlos O'Donell + + * localedata/Makefile (INSTALL-SUPPORTED-LOCALES): Remove. + (INSTALL-SUPPORTED-LOCALE-ARCHIVE): Define. + (INSTALL-SUPPORTED-LOCALE-FILES): Define. + (install-locales): Depend on install-locale-archive. + (install-locale-archive): Define. + (install-locale-files): Define. + (build-one-locale): Define macro. + * manual/install.texi (Running make install): Document. + * manual/INSTALL: Regenerate. + +2018-08-02 Siddhesh Poyarekar + + * benchtests/scripts/compare_strings.py: Import traceback. + (parse_file): Pretty-print error. + + * NEWS: Mention the change. + * elf/dl-tunables.list: Rename tune namespace to cpu. + * sysdeps/powerpc/dl-tunables.list: Likewise. + * sysdeps/x86/dl-tunables.list: Likewise. + * sysdeps/aarch64/dl-tunables.list: Rename tune.cpu to + cpu.name. + * elf/dl-hwcaps.c (_dl_important_hwcaps): Adjust. + * elf/dl-hwcaps.h (GET_HWCAP_MASK): Likewise. + * manual/README.tunables: Likewise. + * manual/tunables.texi: Likewise. + * sysdeps/powerpc/cpu-features.c: Likewise. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c + (init_cpu_features): Likewise. + * sysdeps/x86/cpu-features.c: Likewise. + * sysdeps/x86/cpu-features.h: Likewise. + * sysdeps/x86/cpu-tunables.c: Likewise. + * sysdeps/x86_64/Makefile: Likewise. + * sysdeps/x86/dl-cet.c: Likewise. + +2018-08-02 Joseph Myers + + [BZ #23479] + * sysdeps/mips/bits/fenv.h (FE_INEXACT): Define only if + [__mips_hard_float]. + (FE_UNDERFLOW): Likewise. + (FE_OVERFLOW): Likewise. + (FE_DIVBYZERO): Likewise. + (FE_INVALID): Likewise. + (FE_ALL_EXCEPT): Define to 0 if [!__mips_hard_float]. + (FE_TOWARDZERO): Define only if [__mips_hard_float]. + (FE_UPWARD): Likewise. + (FE_DOWNWARD): Likewise. + (__FE_UNDEFINED): Define if [!__mips_hard_float] + (FE_NOMASK_ENV): Define only if [__mips_hard_float]. + * sysdeps/mips/mips64/sfp-machine.h (_FP_DECL_EX): Define only if + [__mips_hard_float]. + (FP_ROUNDMODE): Likewise. + (FP_RND_NEAREST): Likewise. + (FP_RND_ZERO): Likewise. + (FP_RND_PINF): Likewise. + (FP_RND_MINF): Likewise. + (FP_EX_INVALID): Likewise. + (FP_EX_OVERFLOW): Likewise. + (FP_EX_UNDERFLOW): Likewise. + (FP_EX_DIVZERO): Likewise. + (FP_EX_INEXACT): Likewise. + (FP_INIT_ROUNDMODE): Likewise. + * sysdeps/mips/nofpu/fesetenv.c: New file. + * sysdeps/mips/nofpu/feupdateenv.c: Likewise. + +2018-08-01 Joseph Myers + + * math/test-misc.c (do_test) [LDBL_MANT_DIG > DBL_MANT_DIG]: Make + code using FE_UNDERFLOW conditional on [FE_UNDERFLOW], code using + FE_OVERFLOW conditional on [FE_OVERFLOW] and code using FE_UPWARD + conditional on [FE_UPWARD]. + +2018-08-01 Paul Eggert + + regex: fix memory leak in Gnulib + Problem and fix reported by Assaf Gordon in: + https://lists.gnu.org/r/bug-gnulib/2018-07/txtqLKNwBdefE.txt + * posix/regcomp.c (free_charset) [!_LIBC]: Free range_starts and + range_ends members too, as they are defined in 'struct + re_charset_t' even if not _LIBC. This affects only Gnulib. + +2018-08-01 H.J. Lu + + * sysdeps/x86/cpu-features.c (get_common_indeces): Renamed to + ... + (get_common_indices): This. + (init_cpu_features): Updated. + +2018-08-01 Joseph Myers + + * sysdeps/generic/math-tests-snan-payload.h: New file. + * sysdeps/hppa/math-tests-snan-payload.h: Likewise. + * sysdeps/mips/math-tests-snan-payload.h: Likewise. + * sysdeps/riscv/math-tests-snan-payload.h: Likewise. + * sysdeps/generic/math-tests.h: Include + . + (SNAN_TESTS_PRESERVE_PAYLOAD): Do not define macro here. + * sysdeps/hppa/math-tests.h: Remove file. + * sysdeps/mips/math-tests.h [!__mips_nan2008] + (SNAN_TESTS_PRESERVE_PAYLOAD): Do not define macro here. + * sysdeps/riscv/math-tests.h (SNAN_TESTS_PRESERVE_PAYLOAD): + Likewise. + + * sysdeps/generic/math-tests-snan-cast.h: New file. + * sysdeps/powerpc/math-tests-snan-cast.h: Likewise. + * sysdeps/generic/math-tests.h: Include . + (SNAN_TESTS_TYPE_CAST): Do not define macro here. + * sysdeps/powerpc/math-tests.h (SNAN_TESTS_TYPE_CAST): Likewise. + +2018-08-01 Carlos O'Donell + + * version.h (RELEASE): Set to "development". + (VERSION): Set to "2.28.9000". + * NEWS (2.29): New section. + + * version.h (RELEASE): Set to "stable". + (VERSION): Set to "2.28". + * include/features.h (__GLIBC_MINOR__): Set to 2.28. + * NEWS: Add the list of bugs fixed in 2.28. + + * po/ca.po: Update to latest version. + * po/cs.po: Likewise + * po/da.po: Likewise + * po/el.po: Likewise + * po/eo.po: Likewise + * po/es.po: Likewise + * po/fi.po: Likewise + * po/fr.po: Likewise + * po/gl.po: Likewise + * po/hu.po: Likewise + * po/ia.po: Likewise + * po/id.po: Likewise + * po/it.po: Likewise + * po/ja.po: Likewise + * po/ko.po: Likewise + * po/lt.po: Likewise + * po/nb.po: Likewise + * po/nl.po: Likewise + * po/pt_BR.po: Likewise + * po/ru.po: Likewise + * po/rw.po: Likewise + * po/sk.po: Likewise + * po/sl.po: Likewise + * po/tr.po: Likewise + * po/zh_CN.po: Likewise + * po/zh_TW.po: Likewise + +2018-07-31 Samuel Thibault + + * sysdeps/mach/hurd/i386/init-first.c (init1): Move ELF hdr and TLS + initialization... + (init): ... before initializing libpthread. + + * mach/mach.h (__mach_setup_tls, mach_setup_tls): Add prototypes. + * mach/setup-thread.c (__mach_setup_thread): Move TLS setup to... + (__mach_setup_tls): ... new function. + (mach_setup_tls): New alias. + * hurd/hurdsig.c (_hurdsig_init): Call __mach_setup_tls after + __mach_setup_thread. + * sysdeps/mach/hurd/profil.c (update_waiter): Likewise. + * sysdeps/mach/hurd/setitimer.c (setitimer_locked): Likewise. + * mach/Versions [libc] (mach_setup_tls): Add symbol. + * sysdeps/mach/hurd/i386/libc.abilist (mach_setup_tls): Likewise. + +2018-07-31 Carlos O'Donell + + * manual/install.texi: Update versions. + * INSTALL: Regenerate. + + * manual/contrib.texi (Contributors): Update contributions. + +2018-07-31 Carlos O'Donell + + * po/be.po: Update translations. + +2018-07-31 Adhemerval Zanella + + * sysdeps/sh/libm-test-ulps: Update. + +2018-07-30 Carlos O'Donell + + * po/bg.po: Update translations. + * po/de.po: Likewise. + * po/hr.po: Likewise. + * po/pt_BR.po: Likewise. + * po/sv.po: Likewise. + * po/vi.po: Likewise. + +2018-07-30 H.J. Lu + + [BZ #23467] + * sysdeps/unix/sysv/linux/x86/Makefile (tests): Add + tst-cet-property-1 and tst-cet-property-2 if CET is enabled. + (CFLAGS-tst-cet-property-1.o): New. + (ASFLAGS-tst-cet-property-dep-2.o): Likewise. + ($(objpfx)tst-cet-property-2): Likewise. + ($(objpfx)tst-cet-property-2.out): Likewise. + * sysdeps/unix/sysv/linux/x86/tst-cet-property-1.c: New file. + * sysdeps/unix/sysv/linux/x86/tst-cet-property-2.c: Likewise. + * sysdeps/unix/sysv/linux/x86/tst-cet-property-dep-2.S: Likewise. + * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Parse + each property item until GNU_PROPERTY_X86_FEATURE_1_AND is found. + +2018-07-30 H.J. Lu + + [BZ #23458] + * sysdeps/x86/Makefile (tests): Add tst-get-cpu-features-static. + +2018-07-28 Samuel Thibault + + * sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read, + __sbrk): Do not set attribute_hidden. + * sysdeps/mach/hurd/not-errno.h: New file. + * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly. + * sysdeps/mach/hurd/i386/localplt.data: Update accordingly. + +2018-07-27 Carlos O'Donell + + * po/uk.po: Update translations. + * po/cs.po: Likewise. + * po/pl.po: Likewise. + +2018-07-27 H.J. Lu + + * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Don't + parse beyond the note end. + +2018-07-27 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/tst-ofdlocks.c: Return unsupported if + kernel does not support OFD locks. + * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Likewise. + +2018-07-27 Samuel Thibault + + * sysdeps/mach/hurd/Versions (libc): Make __access and + __access_noerrno external so they can override the ld symbols. + (ld): Make __access, __read, __sbrk, __strtoul_internal, __write, + __writev, __open64, __access_noerrno extern so they can be overrided. + * sysdeps/mach/hurd/i386/libc.abilist: Update accordingly. + * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly. + +2018-07-26 Carlos O'Donell + + * po/libc.pot: Regenerate. + +2018-07-26 Joseph Myers + + * sysdeps/powerpc/nofpu/libm-test-ulps: Update. + +2018-07-26 H.J. Lu + + [BZ #23459] + * sysdeps/x86/cpu-features.c (get_extended_indices): New + function. + (init_cpu_features): Call get_extended_indices for both Intel + and AMD CPUs. + * sysdeps/x86/cpu-features.h (COMMON_CPUID_INDEX_80000001): + Remove "for AMD" comment. + +2018-07-26 H.J. Lu + + [BZ # 23456] + * sysdeps/x86/cpu-features.h (index_cpu_LZCNT): Set to + COMMON_CPUID_INDEX_80000001. + +2018-07-26 Stefan Liebler + + * string/tst-xbzero-opt.c (use_test_buffer): New function. + (prepare_test_buffer): Call use_test_buffer as compiler barrier. + +2018-07-26 Florian Weimer + + * htl/lockfile.c (flockfile, funlockfile, ftrylockfile): Use weak + aliases for symbols not in the implementation namespace. + +2018-07-25 Carlos O'Donell + + [BZ #23393] + * localedata/locales/iso14651_t1_common: Deinterlace uppercase and + lowercase in LATIN script. + * localedata/Makefile (test-input): Add en_US.UTF-8. + * localedata/en_US.UTF-8.in: New file. + * posix/tst-fnmatch.input: Add comments and new tests for en_US.UTF-8, + and restore old tests. + * posix/tst-regexloc.c (do_test): Add back range expression test. + +2018-07-25 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/tst-setcontext4.c: New file. + +2018-07-25 Adhemerval Zanella + + * nptl/threads.h: Move to ... + * sysdeps/nptl/threads.h: ... here. + * sysdeps/hurd/stdc-predef.h: New file. + +2018-07-25 H.J. Lu + + * sysdeps/unix/sysv/linux/x86/Makefile (tests): Add + tst-cet-setcontext-1 if CET is enabled. + (CFLAGS-tst-cet-setcontext-1.c): Add -mshstk. + * sysdeps/unix/sysv/linux/x86/tst-cet-setcontext-1.c: New file. + +2018-07-25 Adhemerval Zanella + + * include/threads.h: Move to ... + * sysdeps/nptl/threads.h: ... here. + * sysdeps/htl/threads.h: New file. + * conform/Makefile (linknamespace-libs-ISO11): Use + static-thread-library instead of linking libpthread. + (linknamespace-libs-XPG4): Revert wrong libcrypt.a addition. + +2018-07-25 Florian Weimer + + * nptl/tst-mtx-timedlock.c (do_test): Implement carry from + nanoseconds into seconds. + * nptl/tst-cnd-basic.c (signal_parent): Lock and unlock mutex. + (do_test): Likewise. + * nptl/tst-cnd-timedwait.c (signal_parent): Likewise. + (do_test): Likewise. Avoid nanosecond overflow and spurious + timeouts due to system load. + * nptl/tst-cnd-broadcast.c (waiting_threads): New variable. + (child_wait): Increment it. + (do_test): Wait as long as necessary until all expected threads + have arrived. + +2018-07-25 Vedvyas Shanbhogue + H.J. Lu + + * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Add + __ssp. + * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Include + and "ucontext_i.h" when shadow stack is enabled. + (__push___start_context): New. + * sysdeps/unix/sysv/linux/x86_64/getcontext.S: Include + . + (__getcontext): Record the current shadow stack base. Save the + caller's shadow stack pointer and base. + * sysdeps/unix/sysv/linux/x86_64/makecontext.c: Include + , and . + (__push___start_context): New prototype. + (__makecontext): Call __push___start_context to allocate a new + shadow stack, push __start_context onto the new stack as well + as the new shadow stack. + * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Include + . + (__setcontext): Restore the target shadow stack. + * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Include + . + (__swapcontext): Record the current shadow stack base. Save + the caller's shadow stack pointer and base. Restore the target + shadow stack. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h + (STACK_SIZE_TO_SHADOW_STACK_SIZE_SHIFT): New. + * sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym (oSSP): New. + +2018-07-25 H.J. Lu + + * stdlib/Makefile ((tests): Add tst-setcontext6, tst-setcontext7, + tst-setcontext8 and tst-setcontext9. + * stdlib/tst-setcontext6.c: New file. + * stdlib/tst-setcontext7.c: Likewise. + * stdlib/tst-setcontext8.c: Likewise. + * stdlib/tst-setcontext9.c: Likewise. + +2018-07-25 H.J. Lu + + * stdlib/Makefile ((tests): Add tst-setcontext5. + * stdlib/tst-setcontext5.c: New file. + +2018-07-25 H.J. Lu + + * stdlib/Makefile (tests): Add tst-setcontext4. + * stdlib/tst-setcontext4.c: New file. + +2018-07-25 H.J. Lu + + * stdlib/Makefile (tests): Add tst-swapcontext1. + * stdlib/tst-swapcontext1.c: New test. + +2018-07-25 H.J. Lu + + * sysdeps/x86/Makefile (tests): Add tst-cet-legacy-1, + tst-cet-legacy-2, tst-cet-legacy-2a, tst-cet-legacy-3, + tst-cet-legacy-4, tst-cet-legacy-4a, tst-cet-legacy-4b + and tst-cet-legacy-4c. + (modules-names): Add tst-cet-legacy-mod-1, tst-cet-legacy-mod-2 + and tst-cet-legacy-mod-4. + (CFLAGS-tst-cet-legacy-2.c): New. + (CFLAGS-tst-cet-legacy-mod-1.c): Likewise. + (CFLAGS-tst-cet-legacy-mod-2.c): Likewise. + (CFLAGS-tst-cet-legacy-3.c): Likewise. + (CFLAGS-tst-cet-legacy-4.c): Likewise. + (CFLAGS-tst-cet-legacy-mod-4.c): Likewise. + ($(objpfx)tst-cet-legacy-1): Likewise. + ($(objpfx)tst-cet-legacy-2): Likewise. + ($(objpfx)tst-cet-legacy-2.out): Likewise. + ($(objpfx)tst-cet-legacy-2a): Likewise. + ($(objpfx)tst-cet-legacy-2a.out): Likewise. + ($(objpfx)tst-cet-legacy-4): Likewise. + ($(objpfx)tst-cet-legacy-4.out): Likewise. + ($(objpfx)tst-cet-legacy-4a): Likewise. + ($(objpfx)tst-cet-legacy-4a.out): Likewise. + (tst-cet-legacy-4a-ENV): Likewise. + ($(objpfx)tst-cet-legacy-4b): Likewise. + ($(objpfx)tst-cet-legacy-4b.out): Likewise. + (tst-cet-legacy-4b-ENV): Likewise. + ($(objpfx)tst-cet-legacy-4c): Likewise. + ($(objpfx)tst-cet-legacy-4c.out): Likewise. + (tst-cet-legacy-4c-ENV): Likewise. + * sysdeps/x86/tst-cet-legacy-1.c: New file. + * sysdeps/x86/tst-cet-legacy-2.c: Likewise. + * sysdeps/x86/tst-cet-legacy-2a.c: Likewise. + * sysdeps/x86/tst-cet-legacy-3.c: Likewise. + * sysdeps/x86/tst-cet-legacy-4.c: Likewise. + * sysdeps/x86/tst-cet-legacy-4a.c: Likewise. + * sysdeps/x86/tst-cet-legacy-4b.c: Likewise. + * sysdeps/x86/tst-cet-legacy-4c.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-1.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-2.c: Likewise. + * sysdeps/x86/tst-cet-legacy-mod-4.c: Likewise. + +2018-07-25 H.J. Lu + + * sysdeps/i386/nptl/tcb-offsets.sym (SSP_BASE_OFFSET): New. + * sysdeps/i386/nptl/tls.h (tcbhead_t): Replace __glibc_reserved2 + with ssp_base. + * sysdeps/x86_64/nptl/tcb-offsets.sym (SSP_BASE_OFFSET): New. + * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Replace __glibc_reserved2 + with ssp_base. + +2018-07-25 Andreas Schwab + + [BZ #23442] + * locale/weightwc.h (findidx): Handle the case where usrc is a + prefix of cp but one character too short. + +2018-07-24 Adhemerval Zanella + + * NEWS: Add ISO C threads addition. + +2018-07-24 Florian Weimer + + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040D00] (__ASSUME_MLOCK2) + (__ASSUME_COPY_FILE_RANGE): Undefine. Kernel support was added in + 4.13. + +2018-07-24 H.J. Lu + + * sysdeps/unix/sysv/linux/x86/include/asm/prctl.h: New file. + * sysdeps/unix/sysv/linux/x86/cpu-features.c: Include + and . + (get_cet_status): Call arch_prctl with ARCH_CET_STATUS. + * sysdeps/unix/sysv/linux/x86/dl-cet.h: Include + and . + (dl_cet_allocate_legacy_bitmap): Call arch_prctl with + ARCH_CET_LEGACY_BITMAP. + (dl_cet_disable_cet): Call arch_prctl with ARCH_CET_DISABLE. + (dl_cet_lock_cet): Call arch_prctl with ARCH_CET_LOCK. + * sysdeps/x86/libc-start.c: Include . + +2018-07-24 Florian Weimer + + * sysdeps/unix/sysv/linux/sh/kernel-features.h (__ASSUME_STATX): + Undefine. Suggested by Romain Naour . + +2018-07-24 Rical Jasan + Adhemerval Zanella + Juan Manuel Torres Palma + + [BZ #14092] + * manual/debug.texi: Update adjacent chapter name. + * manual/probes.texi: Likewise. + * manual/threads.texi (ISO C Threads): New section. + (POSIX Threads): Convert to a section. + +2018-07-24 Adhemerval Zanella + Juan Manuel Torres Palma + + [BZ# 14092] + * nptl/Makefile (tests): Add new test files. + * nptl/tst-call-once.c : New file. Tests C11 functions and types. + * nptl/tst-cnd-basic.c: Likewise. + * nptl/tst-cnd-broadcast.c: Likewise. + * nptl/tst-cnd-timedwait.c: Likewise. + * nptl/tst-mtx-basic.c: Likewise. + * nptl/tst-mtx-recursive.c: Likewise. + * nptl/tst-mtx-timedlock.c: Likewise. + * nptl/tst-mtx-trylock.c: Likewise. + * nptl/tst-thrd-basic.c: Likewise. + * nptl/tst-thrd-detach.c: Likewise. + * nptl/tst-thrd-sleep.c: Likewise. + * nptl/tst-tss-basic.c: Likewise. + +2018-07-24 Adhemerval Zanella + + [BZ #14092] + * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.28] + (thrd_current, thrd_equal, thrd_sleep, thrd_yield): Add C11 thread + symbols. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist [[GLIBC_2.28] + (call_once, cnd_broadcast, cnd_destroy, cnd_init, cnd_signal, + cnd_timedwait, cnd_wait, mtx_destroy, mtx_init, mtx_lock, + mtx_timedlock, mtx_trylock, mtx_unlokc, thrd_create, thrd_detach, + thrd_exit, thrd_join, tss_create, tss_delete, tss_get, tss_set): + Likewise. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Likewise. + ikewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist: + Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Likewise. + + [BZ #14092] + * conform/data/threads.h-data (thread_local): New macro. + (TSS_DTOR_ITERATIONS): Likewise. + (tss_t): New type. + (tss_dtor_t): Likewise. + (tss_create): New function. + (tss_get): Likewise. + (tss_set): Likewise. + (tss_delete): Likewise. + * nptl/Makefile (libpthread-routines): Add tss_create, tss_delete, + tss_get, and tss_set objects. + * nptl/Versions (libpthread) [GLIBC_2.28]: Likewise. + * nptl/tss_create.c: New file. + * nptl/tss_delete.c: Likewise. + * nptl/tss_get.c: Likewise. + * nptl/tss_set.c: Likewise. + * sysdeps/nptl/threads.h (thread_local): New define. + (TSS_DTOR_ITERATIONS): Likewise. + (tss_t): New typedef. + (tss_dtor_t): Likewise. + (tss_create): New prototype. + (tss_get): Likewise. + (tss_set): Likewise. + (tss_delete): Likewise. + + [BZ #14092] + * conform/data/threads.h-data (cnd_t): New type. + (cnd_init): New function. + (cnd_signal): Likewise. + (cnd_broadcast): Likewise. + (cnd_wait): Likewise. + (cnd_timedwait): Likewise. + (cnd_destroy): Likewise. + * nptl/Makefile (libpthread-routines): Add cnd_broadcast, + cnd_destroy, cnd_init, cnd_signal, cnd_timedwait, and cnd_wait + object. + * nptl/Versions (libpthread) [GLIBC_2.28]: Likewise. + * nptl/cnd_broadcast.c: New file. + * nptl/cnd_destroy.c: Likewise. + * nptl/cnd_init.c: Likewise. + * nptl/cnd_signal.c: Likewise. + * nptl/cnd_timedwait.c: Likewise. + * nptl/cnd_wait.c: Likewise. + * sysdeps/nptl/threads.h (cnd_t): New type. + (cnd_init): New prototype. + (cnd_signa): Likewise. + (cnd_broadcast): Likewise. + (cnd_wait): Likewise. + (cnd_timedwait): Likewise. + (cnd_destroy): Likewise. + + [BZ #14092] + * conform/data/threads.h-data (ONCE_FLAG_INIT): New macro. + (once_flag): New type. + (call_once): New function. + * nptl/Makefile (libpthread-routines): Add call_once object. + * nptl/Versions (libphread) [GLIBC_2.28]: Add call_once symbol. + * nptl/call_once.c: New file. + * sysdeps/nptl/threads.h (ONCE_FLAG_INIT): New define. + (once_flag): New type. + (call_once): New prototype. + + [BZ #14092] + * conform/data/threads.h-data (mtx_plain): New constant. + (mtx_recursive): Likewise. + (mtx_timed): Likewise. + (mtx_t): New type. + (mtx_init): New function. + (mtx_lock): Likewise. + (mtx_timedlock): Likewise. + (mtx_trylock): Likewise. + (mtx_unlock): Likewise. + (mtx_destroy): Likewise. + * nptl/Makefile (libpthread-routines): Add mtx_destroy, mtx_init, + mtx_lock, mtx_timedlock, mtx_trylock, and mtx_unlock object. + * nptl/Versions (libpthread) [GLIBC_2.28]): Add mtx_init, mtx_lock, + mtx_timedlock, mtx_trylock, mtx_unlock, and mtx_destroy. + * nptl/mtx_destroy.c: New file. + * nptl/mtx_init.c: Likewise. + * nptl/mtx_lock.c: Likewise. + * nptl/mtx_timedlock.c: Likewise. + * nptl/mtx_trylock.c: Likewise. + * nptl/mtx_unlock.c: Likewise. + * sysdeps/nptl/threads.h (mtx_plain): New enumeration. + (mtx_recursive): Likewise. + (mtx_timed): Likewise. + (mtx_t): New type. + (mtx_init): New prototype. + (mtx_lock): Likewise. + (mtx_timedlock): Likewise. + (mtx_trylock): Likewise. + (mtx_unlock): Likewise. + (mtx_destroy): Likewise. + + [BZ #14092] + * conform/Makefile (conformtest-headers-ISO11): Add threads.h. + (linknamespace-libs-ISO11): Add libpthread.a. + * conform/data/threads.h-data: New file: add C11 thrd_* types and + functions. + * include/stdc-predef.h (__STDC_NO_THREADS__): Remove definition. + * nptl/Makefile (headers): Add threads.h. + (libpthread-routines): Add new C11 thread thrd_create, thrd_current, + thrd_detach, thrd_equal, thrd_exit, thrd_join, thrd_sleep, and + thrd_yield. + * nptl/Versions (libpthread) [GLIBC_2.28]): Add new C11 thread + thrd_create, thrd_current, thrd_detach, thrd_equal, thrd_exit, + thrd_join, thrd_sleep, and thrd_yield symbols. + * nptl/descr.h (struct pthread): Add c11 field. + * nptl/pthreadP.h (ATTR_C11_THREAD): New define. + * nptl/pthread_create.c (START_THREAD_DEFN): Call C11 thread start + routine with expected function prototype. + (__pthread_create_2_1): Add C11 threads check based on attribute + value. + * sysdeps/unix/sysdep.h (INTERNAL_SYSCALL_CANCEL): New macro. + * nptl/thrd_create.c: New file. + * nptl/thrd_current.c: Likewise. + * nptl/thrd_detach.c: Likewise. + * nptl/thrd_equal.c: Likewise. + * nptl/thrd_exit.c: Likewise. + * nptl/thrd_join.c: Likewise. + * nptl/thrd_priv.h: Likewise. + * nptl/thrd_sleep.c: Likewise. + * nptl/thrd_yield.c: Likewise. + * include/threads.h: Likewise. + +2018-07-24 H.J. Lu + + * bits/indirect-return.h: New file. + * misc/sys/cdefs.h (__glibc_has_attribute): New. + * sysdeps/x86/bits/indirect-return.h: Likewise. + * stdlib/Makefile (headers): Add bits/indirect-return.h. + * stdlib/ucontext.h: Include . + (swapcontext): Add __INDIRECT_RETURN. + * string/tst-xbzero-opt.c (ALWAYS_INLINE): New. + (prepare_test_buffer): Use it. + +2018-07-24 Andreas Schwab + + [BZ #23448] + * iconvdata/ibm1364.c (MAX_NEEDED_OUTPUT) [FROM_LOOP]: Define. + (MAX_NEEDED_INPUT) [TO_LOOP]: Define. + +2018-07-24 H.J. Lu + + * sysdeps/unix/sysv/linux/i386/vfork.S (SYSCALL_ERROR_HANDLER): + Redefine if shadow stack is enabled. + (SYSCALL_ERROR_LABEL): Likewise. + (__vfork): Pop shadow stack and jump back to to caller directly + when shadow stack is in use. + * sysdeps/unix/sysv/linux/x86_64/vfork.S (SYSCALL_ERROR_HANDLER): + Redefine if shadow stack is enabled. + (SYSCALL_ERROR_LABEL): Likewise. + (__vfork): Pop shadow stack and jump back to to caller directly + when shadow stack is in use. + +2018-07-24 H.J. Lu + + * sysdeps/x86_64/tst-quadmod1.S (func): Add endbr64 if IBT is + enabled. + (foo): Likewise. + * sysdeps/x86_64/tst-quadmod2.S (func) : Likewise. + (foo): Likewise. + +2018-07-20 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default + binutils version to 2.31 branch. + +2018-07-20 Zong Li + + * scripts/build-many-glibcs.py (Context.checkout_tar): Change the + URL of gcc's tarball. + +2018-07-20 Florian Weimer + + [BZ #23396] + * posix/regcomp.c (build_equiv_class): When comparing weights, do + not compare an extra byte after the end of the weights. + +2018-07-20 Samuel Thibault + + * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Set multiple_threads + to 1. + * sysdeps/hurd/include/hurd/port.h [!_ISOMAC]: Do not declare libc + hidden prototypes. + * sysdeps/mach/include/mach-shortcuts-hidden.h [!_ISOMAC]: Likewise. + * sysdeps/mach/include/mach/mach_traps.h [!_ISOMAC]: Likewise. + * scripts/check-execstack.awk: Consider `xfail' variable containing a + list of libraries whose stack executability is expected. + * elf/Makefile ($(objpfx)check-execstack.out): Pass + $(check-execstack-xfail) to check-execstack.awk through `xfail' + variable. + * sysdeps/mach/hurd/i386/Makefile (check-execstack-xfail): Set to ld.so + libc.so libpthread.so. + +2018-07-20 Thomas Schwinge + + * sysdeps/mach/hurd/socket.c (__socket): Handle SOCK_CLOEXEC and + SOCK_NONBLOCK. + * sysdeps/mach/hurd/socketpair.c (__socketpair): Handle SOCK_CLOEXEC + and SOCK_NONBLOCK. + * sysdeps/mach/hurd/pipe2.c: New file, copy from pipe.c. Evolve it to + implement __pipe2. + * sysdeps/mach/hurd/pipe.c (__pipe): Reimplement using __pipe2. + +2018-07-19 Leonardo Sandoval + + * benchtests/scripts/compare_bench.py (__main__): use the argparse + library to improve command line parsing. + (__main__): make schema file as optional parameter (--schema), + defaulting to benchtests/scripts/benchout.schema.json. + (main): move out of the parsing stuff to __main_  and leave it + only as caller of main comparison functions. + +2018-07-19 H.J. Lu + + * NEWS: Add a note for Intel CET status. + * manual/install.texi: Likewise. + * INSTALL: Regenerated. + +2018-07-18 Quentin PAGÈS + + [BZ #23140] + * localedata/locales/oc_FR (mon): Rename to... + (alt_mon): This, then update October (typo fix). + (mon): New content (genitive case, month names preceded by + "de" or "d’"). + + [BZ #23422] + * localedata/locales/oc_FR (abday): Update all items. + (day): Update Wednesday and Saturday (typo fixes). + (abmon): Update all items, except May. + (d_fmt): Update "%d.%m.%Y" -> "%d/%m/%Y". + (LC_IDENTIFICATION): Bump the revision number and date. + Keep the "category" entries in alphabetic order. + (LC_ADDRESS): Remove no longer needed comment. + (LC_COLLATE): Use “copy "ca_ES"”. + (LC_NAME): Set the correct values of "name_fmt", "name_mr", and + "name_mrs". + +2018-07-18 Joseph Myers + + * grp/tst_fgetgrent.c: Include . + (main): Use mkstemp instead of tmpnam. + * io/test-utime.c (main): Likewise. + * posix/annexc.c (macrofile): Change to modifiable array. + (main): Remove macrofile here. + (get_null_defines): Use mkstemp instead of tmpnam. Do not remove + macrofile here. + (check_header): Do not remove macrofile here. + * posix/bug-getopt1.c: Include . + (do_test): Use mkstemp instead of tmpnam. + * posix/bug-getopt2.c: Include . + (do_test): Use mkstemp instead of tmpnam. + * posix/bug-getopt3.c: Include . + (do_test): Use mkstemp instead of tmpnam. + * posix/bug-getopt4.c: Include . + (do_test): Use mkstemp instead of tmpnam. + * posix/bug-getopt5.c: Include . + (do_test): Use mkstemp instead of tmpnam. + * stdio-common/bug7.c: Include and . + (main): Use mkstemp instead of tmpnam. + * stdio-common/tst-fdopen.c: Include . + (main): Use mkstemp instead of tmpnam. + * stdio-common/tst-ungetc.c: Include . + (main): use mkstemp instead of tmpnam. + * stdlib/isomac.c (macrofile): Change to modifiable array. + (main): Remove macrofile here. + (get_null_defines): Use mkstemp instead of tmpnam. Do not remove + macrofile here. + (check_header): Do not remove macrofile here. + +2018-07-18 H.J. Lu + + * manual/tunables.texi: Document glibc.tune.x86_ibt and + glibc.tune.x86_shstk. + +2018-07-18 H.J. Lu + + * NEWS: Mention --enable-cet. + * manual/install.texi: Document --enable-cet. + * INSTALL: Regenerated. + +2018-07-18 H.J. Lu + + * sysdeps/x86_64/multiarch/memcmp-sse4.S (BRANCH_TO_JMPTBL_ENTRY): + Add _CET_NOTRACK before indirect jump to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/i386/i686/multiarch/memset-sse2-rep.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/i386/i686/multiarch/strcat-sse2.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/i386/i686/multiarch/strcpy-sse2.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/i386/i686/multiarch/memcpy-ssse3.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + (BRANCH_TO_JMPTBL_ENTRY_TAIL): Likewise. + +2018-07-18 H.J. Lu + + * sysdeps/i386/i686/multiarch/memcmp-sse4.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/i386/i686/multiarch/memset-sse2.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/i386/i686/memcmp.S (memcmp): Add _CET_NOTRACK before + indirect jump to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/x86_64/multiarch/memcpy-ssse3.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + (MEMCPY): Likewise. + +2018-07-18 H.J. Lu + + * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + (MEMCPY): Likewise. + +2018-07-18 H.J. Lu + + * sysdeps/x86_64/multiarch/strcmp-sse42.S (STRCMP_SSE42): Add + _CET_NOTRACK before indirect jump to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S + (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump + to jump table. + +2018-07-18 H.J. Lu + + * sysdeps/x86_64/strcmp.S (STRCMP): Add _CET_NOTRACK before + indirect jump to jump table. + +2018-07-18 Valery Timiriliyev + + [BZ #22241] + * localedata/Makefile (test-input): Add sah_RU.UTF-8. + (LOCALES): Likewise. + * localedata/SUPPORTED (sah_RU/UTF-8): New entry. + * localedata/locales/sah_RU: New file. + * localedata/sah_RU.UTF-8.in: New file. + +2018-07-17 H.J. Lu + + * sysdeps/i386/add_n.S: Include , instead of + "sysdep.h". + (__mpn_add_n): Save and restore %ebx if IBT is enabed. Add + _CET_ENDBR to indirect jump targets and adjust jump destination + for _CET_ENDBR. + * sysdeps/i386/i686/add_n.S: Include , instead of + "sysdep.h". + (__mpn_add_n): Save and restore %ebx if IBT is enabed. Add + _CET_ENDBR to indirect jump targets and adjust jump destination + for _CET_ENDBR. + * sysdeps/i386/sub_n.S: Include , instead of + "sysdep.h". + (__mpn_sub_n): Save and restore %ebx if IBT is enabed. Add + _CET_ENDBR to indirect jump targets and adjust jump destination + for _CET_ENDBR. + +2018-07-17 H.J. Lu + + * sysdeps/x86_64/multiarch/strcmp-sse42.S (STRCMP_SSE42): Add + _CET_ENDBR. + +2018-07-17 H.J. Lu + + * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_return): Add + _CET_ENDBR. + (_dl_tlsdesc_undefweak): Likewise. + (_dl_tlsdesc_dynamic): Likewise. + (_dl_tlsdesc_resolve_abs_plus_addend): Likewise. + (_dl_tlsdesc_resolve_rel): Likewise. + (_dl_tlsdesc_resolve_rela): Likewise. + (_dl_tlsdesc_resolve_hold): Likewise. + * sysdeps/x86_64/dl-tlsdesc.S (_dl_tlsdesc_return): Likewise. + (_dl_tlsdesc_undefweak): Likewise. + (_dl_tlsdesc_dynamic): Likewise. + (_dl_tlsdesc_resolve_rela): Likewise. + (_dl_tlsdesc_resolve_hold): Likewise. + +2018-07-17 H.J. Lu + + * sysdeps/i386/crti.S (_init): Add _CET_ENDBR. + (_fini): Likewise. + * sysdeps/x86_64/crti.S (_init): Likewise. + (_fini): Likewise. + +2018-07-17 Rafał Lużyński + + [BZ #23140] + * localedata/locales/os_RU (mon): Rename to... + (alt_mon): This. + (mon): Import from CLDR (genitive case). + +2018-07-17 H.J. Lu + + * sysdeps/x86/cpu-features.c: Always include and + cet-tunables.h> when CET is enabled. + +2018-07-16 H.J. Lu + + [BZ #21598] + * configure.ac: Add --enable-cet. + * configure: Regenerated. + * elf/Makefille (all-built-dso): Add a comment. + * elf/dl-load.c (filebuf): Moved before "dynamic-link.h". + Include . + (_dl_map_object_from_fd): Call _dl_process_pt_note on PT_NOTE + segment. + * elf/dl-open.c: Include . + (dl_open_worker): Call _dl_open_check. + * elf/rtld.c: Include . + (dl_main): Call _rtld_process_pt_note on PT_NOTE segment. Call + _rtld_main_check. + * sysdeps/generic/dl-prop.h: New file. + * sysdeps/i386/dl-cet.c: Likewise. + * sysdeps/unix/sysv/linux/x86/cpu-features.c: Likewise. + * sysdeps/unix/sysv/linux/x86/dl-cet.h: Likewise. + * sysdeps/x86/cet-tunables.h: Likewise. + * sysdeps/x86/check-cet.awk: Likewise. + * sysdeps/x86/configure: Likewise. + * sysdeps/x86/configure.ac: Likewise. + * sysdeps/x86/dl-cet.c: Likewise. + * sysdeps/x86/dl-procruntime.c: Likewise. + * sysdeps/x86/dl-prop.h: Likewise. + * sysdeps/x86/libc-start.h: Likewise. + * sysdeps/x86/link_map.h: Likewise. + * sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Add + _CET_ENDBR. + (_dl_runtime_profile): Likewise. + (_dl_runtime_resolve_shstk): New. + (_dl_runtime_profile_shstk): Likewise. + * sysdeps/linux/x86/Makefile (sysdep-dl-routines): Add dl-cet + if CET is enabled. + (CFLAGS-.o): Add -fcf-protection if CET is enabled. + (CFLAGS-.os): Likewise. + (CFLAGS-.op): Likewise. + (CFLAGS-.oS): Likewise. + (asm-CPPFLAGS): Add -fcf-protection -include cet.h if CET + is enabled. + (tests-special): Add $(objpfx)check-cet.out. + (cet-built-dso): New. + (+$(cet-built-dso:=.note)): Likewise. + (common-generated): Add $(cet-built-dso:$(common-objpfx)%=%.note). + ($(objpfx)check-cet.out): New. + (generated): Add check-cet.out. + * sysdeps/x86/cpu-features.c: Include and + . + (TUNABLE_CALLBACK (set_x86_ibt)): New prototype. + (TUNABLE_CALLBACK (set_x86_shstk)): Likewise. + (init_cpu_features): Call get_cet_status to check CET status + and update dl_x86_feature_1 with CET status. Call + TUNABLE_CALLBACK (set_x86_ibt) and TUNABLE_CALLBACK + (set_x86_shstk). Disable and lock CET in libc.a. + * sysdeps/x86/cpu-tunables.c: Include . + (TUNABLE_CALLBACK (set_x86_ibt)): New function. + (TUNABLE_CALLBACK (set_x86_shstk)): Likewise. + * sysdeps/x86/sysdep.h (_CET_NOTRACK): New. + (_CET_ENDBR): Define if not defined. + (ENTRY): Add _CET_ENDBR. + * sysdeps/x86/dl-tunables.list (glibc.tune): Add x86_ibt and + x86_shstk. + * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve): Add + _CET_ENDBR. + (_dl_runtime_profile): Likewise. + +2018-07-16 Rogerio A. Cardoso + + [BZ #21895] + * sysdeps/powerpc/powerpc64/__longjmp-common.S: Remove condition code for + restore r2 on longjmp. + * sysdeps/powerpc/powerpc64/Makefile: Added tst-setjmp-bug21895-static to + test list. + Added rules to build test tst-setjmp-bug21895-static. + Added module setjmp-bug21895 and rules to build a shared object from it. + * sysdeps/powerpc/powerpc64/setjmp-bug21895.c: New test file. + * sysdeps/powerpc/powerpc64/tst-setjmp-bug21895-static.c: New test file. + +2018-07-15 Wilco Dijkstra + + * benchtests/bench-strcasestr.c: Rename __strnlen to strnlen. + * benchtests/bench-strstr.c: Likewise. + * string/memmem.c (FASTSEARCH): Define. + * string/str-two-way.h (two_way_short_needle): Minor cleanups. + Add support for FASTSEARCH. + * string/strcasestr.c (AVAILABLE): Use read-ahead __strnlen. + * string/strstr.c (AVAILABLE): Use read-ahead __strnlen. + (FASTSEARCH): Define. + * string/test-strcasestr.c: Rename __strnlen to strnlen. + * string/test-strstr.c: Likewise. + +2018-07-15 H.J. Lu + + * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: Undef + SHADOW_STACK_POINTER_OFFSET after including . + +2018-07-14 Igor Tsimbalist + H.J. Lu + + * sysdeps/i386/__longjmp.S: Include . + (__longjmp): Restore shadow stack pointer if shadow stack is + enabled, SHADOW_STACK_POINTER_OFFSET is defined and __longjmp + isn't defined for __longjmp_cancel. + * sysdeps/i386/bsd-_setjmp.S: Include . + (_setjmp): Save shadow stack pointer if shadow stack is enabled + and SHADOW_STACK_POINTER_OFFSET is defined. + * sysdeps/i386/bsd-setjmp.S: Include . + (setjmp): Save shadow stack pointer if shadow stack is enabled + and SHADOW_STACK_POINTER_OFFSET is defined. + * sysdeps/i386/setjmp.S: Include . + (__sigsetjmp): Save shadow stack pointer if shadow stack is + enabled and SHADOW_STACK_POINTER_OFFSET is defined. + * sysdeps/unix/sysv/linux/i386/____longjmp_chk.S: Include + . + (____longjmp_chk): Restore shadow stack pointer if shadow stack + is enabled and SHADOW_STACK_POINTER_OFFSET is defined. + * sysdeps/unix/sysv/linux/x86/Makefile (gen-as-const-headers): + Remove jmp_buf-ssp.sym. + * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: Include + . + (____longjmp_chk): Restore shadow stack pointer if shadow stack + is enabled and SHADOW_STACK_POINTER_OFFSET is defined. + * sysdeps/x86/Makefile (gen-as-const-headers): Add + jmp_buf-ssp.sym. + * sysdeps/x86/jmp_buf-ssp.sym: New dummy file. + * sysdeps/x86_64/__longjmp.S: Include . + (__longjmp): Restore shadow stack pointer if shadow stack is + enabled, SHADOW_STACK_POINTER_OFFSET is defined and __longjmp + isn't defined for __longjmp_cancel. + * sysdeps/x86_64/setjmp.S: Include . + (__sigsetjmp): Save shadow stack pointer if shadow stack is + enabled and SHADOW_STACK_POINTER_OFFSET is defined. + +2018-07-14 H.J. Lu + + [BZ #22563] + * nptl/pthread_create.c: Include . + (__pthread_create_2_1): Call tls_setup_tcbhead. + * sysdeps/generic/tls-setup.h: New file. + * sysdeps/x86/nptl/tls-setup.h: Likewise. + * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. + * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): + Likewise. + * sysdeps/i386/nptl/tls.h (tcbhead_t): Rename __glibc_reserved1 + to feature_1. + * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise. + * sysdeps/x86/sysdep.h (X86_FEATURE_1_IBT): New. + (X86_FEATURE_1_SHSTK): Likewise. + (CET_ENABLED): Likewise. + (IBT_ENABLED): Likewise. + (SHSTK_ENABLED): Likewise. + +2018-07-13 Rafał Lużyński + + [BZ #23208] + * localedata/Makefile (test-input): Add dsb_DE.UTF-8. + (LOCALES): Likewise. + * localedata/dsb_DE.UTF-8.in: New file. + * localedata/locales/dsb_DE (LC_COLLATE): Fix syntax error. + +2018-07-12 Florian Weimer + + * nptl/allocatestack.c [_STACK_GROWS_UP] (allocate_stack): Call + __mprotect, not mprotect. + +2018-07-11 Florian Weimer + + * io/Makefile (headers): Add bits/statx.h. + +2018-07-10 Mike FABIAN + + * localedata/charmaps/UTF-8: Use correct Unicode version 11.0.0 in comment. + * localedata/locales/i18n_ctype: Use correct Unicode version in comments + and headers. + * localedata/unicode-gen/utf8_gen.py: Add option to specify Unicode version + * localedata/unicode-gen/Makefile: Use option to specify Unicode version + for utf8_gen.py + +2018-07-10 Florian Weimer + + * io/Makefile (routines): Add statx. + (tests-internal): Add tst-statx. + * io/Versions (GLIBC_2.28): Export statx. + * io/bits/statx.h: New file. + * io/sys/stat.h [__USE_GNU]: Include it. + * io/fcntl.h [__USE_GNU] (AT_STATX_SYNC_TYPE) + (AT_STATX_SYNC_AS_STAT, AT_STATX_FORCE_SYNC, AT_STATX_DONT_SYNC): + Define. + * io/statx.c: New file. + * io/statx_generic.: Likewise. + * io/tst-statx.: Likewise. + * include/bits/statx.h: Likewise. + * sysdeps/unix/sysv/linux/kernel-features.h + [__LINUX_KERNEL_VERSION >= 0x040B00] (__ASSUME_STATX): Define. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040D00] (__ASSUME_STATX): Undefine. + * sysdeps/unix/sysv/linux/ia64/kernel-features.h (__ASSUME_STATX): + Undefine. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040C00] (__ASSUME_STATX): Undefine. + * sysdeps/unix/sysv/linux/statx.c: New file. + * manual/filesys.texi: Note that statx is undocumented. + * sysdeps/**/libc*.abilist: Update. + +2018-07-10 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Add a comment about + a kernel issue which lead to test failure in some cases. + +2018-07-10 Florian Weimer + + [BZ #23036] + * posix/regexec.c (check_node_accept_bytes): When comparing + weights, do not compare an extra byte after the end of the + weights. + +2018-07-10 Florian Weimer + + * libio/readline.c: Fix copyright year. + * libio/tst-readline.c Likewise. + * nss/tst-nss-files-hosts-getent.c: Likewise. + +2018-07-06 Florian Weimer + + [BZ #18991] + * nss/nss_files/files-XXX.c (internal_getent): Use + __libc_readline_unlocked. Seek back to the start of the line if + parsing failes with ERANGE. + (get_contents_ret, get_contents): Remove. + * nss/tst-nss-files-hosts-getent.c: New file. + * nss/Makefile (tests): Add tst-nss-files-hosts-getent. + (tst-nss-files-hosts-getent): Link with -ldl. + +2018-07-06 Florian Weimer + + * include/stdio.h (__libc_readline_unlocked): Declare. + (__ftello64, __fseeko64): Declare aliases. + * libio/readline.c: New file. + * libio/tst-readline.c: Likewise. + (routines): Add readline. + (tests-internal): Add tst-readlime. + * libio/Versions (GLIBC_PRIVATE): Export __fseeko64, __ftello64, + __libc_readline_unlocked. + * libio/fseeko.c (__fseeko): Rename from fseeko. + (fseeko): Add alias. + [__OFF_T_MATCHES_OFF64_T] (fseeko64, __fseeko64): Likewise. + * libio/fseeko64.c (__fseeko64): Rename from fseeko64. + (fseeko64): Add alias. + * libio/ftello.c [__OFF_T_MATCHES_OFF64_T] (__ftello64): Add alias. + * libio/ftello64.c (__ftello64): Rename from ftello64. + (ftello64): Add alias. + +2018-07-06 Szabolcs Nagy + + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h (HWCAP_IMPORTANT): Add + HWCAP_ATOMICS. + +2018-07-06 Szabolcs Nagy + + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (init_cpu_features): + Use dl_hwcap without masking. + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h (HWCAP_IMPORTANT): + Remove HWCAP_CPUID. + +2018-07-06 Florian Weimer + + * conform/conformtest.pl (checknamespace): Escape literal braces + in regular expressions. + +2018-07-06 Amit Pawar + + * sysdeps/x86/cpu-features.c (get_common_indeces): + AVX_Fast_Unaligned_Load is enabled when AVX2 is detected. + * sysdeps/x86/cpu-features.c (init_cpu_features): + AVX_Fast_Unaligned_Load is disabled for Excavator core. + +2018-07-05 Florian Weimer + + * csu/Makefile (CFLAGS-static-reloc.os): Build with stack + protector. + (CFLAGS-elf-init.oS): Likewise. + +2018-07-05 Florian Weimer + Carlos O'Donell + + * debug/Makefile (CFLAGS-stack_chk_fail_local.c): Remove + $(no-stack-protector). stack_chk_fail_local.c can be compiled + with stack protector enabled because there is no risk of infinite + recursion. + +2018-07-05 Maciej W. Rozycki + + [BZ #19818] + [BZ #23307] + * libc-abis (ABSOLUTE): New ABI. + * sysdeps/unix/sysv/linux/mips/libc-abis (ABSOLUTE): New ABI. + * NEWS: Mention the new ABI. + +2018-07-05 Florian Weimer + + [BZ # 17662] + * libio/stdio.h [__USE_GNU] (RENAME_NOREPLACE, RENAME_EXCHANGE) + (RENAME_WHITEOUT): Define. + [__USE_GNU] (renameat2): Declare. + * stdio-common/Makefile (routines): Add renameat2. + (tests): Add tst-renameat2. + * stdio-common/Versions (GLIBC_2_28): Export renameat2. + * stdio-common/renameat2.c: New file. + * stdio-common/tst-renameat2.c: Likewise. + * sysdeps/unix/sysv/linux/renameat2.c: Likewise. + * manual/filesys.texi (Temporary Files): Note that renameat2 is + undocumented. + * sysdeps/unix/sysv/linux/kernel-features.h + [__LINUX_KERNEL_VERSION >= 0x030F00] (__ASSUME_RENAMEAT2): Define. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x031100] (__ASSUME_RENAMEAT2): Undefine. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x031100] (__ASSUME_RENAMEAT2): Undefine. + * sysdeps/unix/sysv/linux/sh/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_RENAMEAT2): Undefine. + * sysdeps/unix/sysv/linux/sparc/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x031000] (__ASSUME_RENAMEAT2): Undefine. + * include/stdio.h (__renameat): Add alias for renameat. + * stdio-common/renameat.c (__renameat): Rename from renameat. + Add hidden definition and alias. + * sysdeps/unix/sysv/linux/renameat.c: Likewise. + * sysdeps/mach/hurd/renameat.c: Likewise. + * sysdeps/**/libc*.abilist: Add renameat2. + +2018-07-04 Adhemerval Zanella + + * posix/bug-regex33.c: Fix build after regex sync. + +2018-07-04 Carlos O'Donell + + [BZ #23164] + * localedata/tst-langinfo-setlocale.c: New file. + * localedata/tst-langinfo-setlocale-static.c: New file. + * localedata/tst-langinfo-newlocale.c: New file. + * localedata/tst-langinfo-newlocale-static.c: New file. + * localedata/Makefile (test-srcs): Remove tst-langinfo. Add + tst-langinfo-setlocale, tst-langinfo-setlocale-static, + tst-langinfo-newlocale, tst-langinfo-newlocale-static. + (tests-static): Remove tst-langinfo-static. Add + tst-langinfo-newlocale-static, tst-langinfo-setlocale-static. + (tests-special): Remove $(objpfx)tst-langinfo.out, + $(objpfx)tst-langinfo-static.out. Add + $(objpfx)tst-langinfo-setlocale.out, + $(objpfx)tst-langinfo-newlocale.out, + $(objpfx)tst-langinfo-setlocale-static.out, + $(objpfx)tst-langinfo-newlocale-static.out. + ($(objpfx)tst-langinfo.out): Remove. + ($(objpfx)tst-langinfo-static.out): Remove. + ($(objpfx)tst-langinfo-newlocale.out): New target. + ($(objpfx)tst-langinfo-newlocale-static.out): New target. + (test-xfail-tst-langinfo-newlocale-static): Add. + ($(objpfx)tst-langinfo-setlocale.out): New target. + ($(objpfx)tst-langinfo-setlocale-static.out): New target. + * localedata/tst-langinfo.c: Call test_locale. + * localedata/tst-langinfo.sh: Add LC_MONETARY CURRENCY_SYMBOL test + data. + +2018-07-04 Florian Weimer + + testrun.sh: Implement --tool=strace, --tool=valgrind + * Makefile (testrun-script): Define variable. + (testrun.sh): Use variable. + * manual/install.texi (Tools for Compilation): make 4.0 or later + is required. + * configure.ac: Check for make 4.0 or later. + * INSTALL: Regenerate. + * configure: Likewise. + +2018-07-04 Adhemerval Zanella + + [BZ #23233] + [BZ #21163] + [BZ #18986] + [BZ #13762] + * posix/Makefile (tests): Add bug-regex37 and bug-regex38. + * posix/PCRE.tests: Remove invalid test. + * posix/bug-regex28.c: Fix expected values for used syntax. + * posix/bug-regex37.c: New file. + * posix/bug-regex38.c: Likewise. + * posix/regcomp.c: Sync with gnulib. + * posix/regex.c: Likewise. + * posix/regex.h: Likewise. + * posix/regex_internal.c: Likewise. + * posix/regex_internal.h: Likewise. + * posix/regexec.c: Likewise. + +2018-06-26 Mike FABIAN + + [BZ #23308] + * unicode-gen/Makefile (UNICODE_VERSION): Set to 11.0.0. + * localedata/unicode-gen/DerivedCoreProperties.txt: Update to Unicode 11.0.0. + * localedata/unicode-gen/EastAsianWidth.txt: likewise. + * localedata/unicode-gen/PropList.txt: likewise. + * localedata/unicode-gen/UnicodeData.txt: likewise. + * localedata/charmaps/UTF-8: Regenerate. + * localedata/locales/i18n_ctype: likewise. + * localedata/locales/tr_TR: likewise. + * localedata/locales/translit_circle: likewise. + * localedata/locales/translit_cjk_compat: likewise. + * localedata/locales/translit_combining: likewise. + * localedata/locales/translit_compat: likewise. + * localedata/locales/translit_font: likewise. + * localedata/locales/translit_fraction: likewise. + +2018-07-03 Florian Weimer + + [BZ #23363] + * stdio-common/tst-printf.c (DEC, INT, UNS, fp_test): Remove. + * stdio-common/tst-printf.sh: Adjust expected output. + * LICENSES: Update. + +2018-07-03 Adhemerval Zanella + + * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl): Remove + symbol. + +2018-07-02 Gabriel F. T. Gomes + + * stdio-common/Makefile (test-srcs): Add tst-printfsz-islongdouble. + (tests-special) Add $(objpfx)tst-printfsz-islongdouble.out. + ($(objpfx)tst-printfsz-islongdouble.out): New build and run rule. + * stdio-common/tst-printfsz-islongdouble.c: New file. + * stdio-common/tst-printfsz-islongdouble.sh: Likewise. + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: + [subdir == stdio-common] (routines): Add ieee128-printf_size. + [subdir == stdio-common] (tests-internal): Add + test-printf-size-ieee128, and test-printf-size-ibm128. + [subdir == stdio-common] (CFLAGS-test-printf-size-ieee128.c) + (CFLAGS-test-printf-size-ibm128.c): New variables. + [subdir == stdio-common] (tests-special): Add + $(objpfx)test-printf-size-ieee128.out and + $(objpfx)test-printf-size-ibm128.out. + [subdir == stdio-common] ($(objpfx)test-printf-size-ieee128.out) + ($(objpfx)test-printf-size-ibm128.out): New build and run rules. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add + __printf_sizeieee128. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf_size.c: + New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-size-ibm128.c: + Likewise. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-size-ieee128.c: + Likewise. + +2018-07-02 Szabolcs Nagy + + * sysdeps/ieee754/flt-32/e_powf.c (__powf): Use uint32_t. + (exp2f_inline): Likewise. + * sysdeps/ieee754/flt-32/math_config.h (__math_oflowf): Likewise. + (__math_uflowf): Likewise. + (__math_may_uflowf): Likewise. + (__math_divzerof): Likewise. + (__math_invalidf): Likewise. + * sysdeps/ieee754/flt-32/math_errf.c (xflowf): Likewise. + (__math_oflowf): Likewise. + (__math_uflowf): Likewise. + (__math_may_uflowf): Likewise. + (__math_divzerof): Likewise. + (__math_invalidf): Likewise. + +2018-06-29 DJ Delorie + Carlos O'Donell + + [BZ #23329] + * include/libc-symbols.h: Comment the freeres framework. + * include/set-hooks.h: Include libc-symbols.h. Fix comment. + * dlfcn/Makefile (libdl-routines): Add dlfreeres. + * dlfcn/Versions (GLIBC_PRIVATE): Add __libdl_freeres. + * dlfcn/dlerror.c: Include libc-symbols.h + (__dlerror_main_freeres): New function. + * dlfcn/dlfreeres.c: New file. + * dlfcn/sdlfreeres.c: New file. + * include/dlfcn.h: Declare __dlerror_main_freeres. + * malloc/set-freeres.c: Declare __libdl_freeres, and + __libpthread_freeres. + (__libc_subfreeres): Call __libdl_freeres, and __libpthread_freeres if + the releavant libraries are loaded. + * malloc/thread-freeres.c: Add comments. + * nptl/Makefile (libpthread-routines): Add nptlfreeres. + * nptl/Version (GLIBC_PRIVATE): Add __libpthread_freeres. + * nptl/allocatestack.c (__nptl_free_stacks): New function. + (__free_stacks): Rename to... + (free_stacks): ...this. Mark static. + (queue_stack): Call free_stacks. + * nptl/libc_pthread_init.c [SHARED] (freeres_libpthread): Delete. + * nptl/nptl-init.c: Delete delcaration of nptl_freeres. + * sysdeps/nptl/pthread-functions.h (pthread_functions): Remove + ptr_freeres element from struct. + (pthread_functions): Remove .ptr_freeres from struct initializer. + [SHARED] (nptl_freeres): Remove. + * nptl/nptlfreeres.c: New file. + * nptl/pthreadP.h + [IS_IN (libpthread) && SHARED ] (__unwind_freeres): Rename to... + [IS_IN (libpthread)] (__nptl_unwind_freeres): ...this. Mark + attribute_hidden. + (__free_stacks): Rename to... + (__nptl_stacks_freeres): ...this. + (__shm_directory_freeres): Declare. + * nptl/unwind-forcedunwind.c (__unwind_freeres): Rename to... + (__nptl_unwind_freeres): ...this. + * resolv/res-close.c: Add comment. + * resolv/resolv_conf.c: Include libc-symbols.h. + * string/strerror_l.c: Include libc-symbols.h. + * sunrpc/rpc_thread.c: Include libc-symbols.h. + * sysdeps/mach/strerror_l.c: Inlcude libc-symbols.h + * sysdeps/unix/sysv/linux/shm-directory.c (freeit): Rename to... + [IS_IN (libpthread)] (__shm_directory_freeres): ...this. + +2018-06-29 Rajalakshmi Srinivasaraghavan + + * stdlib/tst-strfmon_l.c: Add tests for long double. + +2018-06-29 Michael Wolf + + [BZ #23208] + * localedata/SUPPORTED (dsb_DE/UTF-8): New entry. + * localedata/locales/dsb_DE: New file. + +2018-06-29 Rafał Lużyński + + [BZ #23140] + * localedata/locales/hy_AM (mon): Synchronize with CLDR (lowercase, + genitive case). + (alt_mon): New entry, import from CLDR (nominative case). + +2018-06-29 Sylvain Lesage + + [BZ #22996] + * localedata/locales/es_BO (LC_PAPER): Change to “copy "en_US"”. + +2018-06-29 Siddhesh Poyarekar + + * sysdeps/aarch64/multiarch/memcpy_falkor.S (__memcpy_falkor): + Use vector registers. + + * sysdeps/aarch64/multiarch/memmove_falkor.S + (__memcpy_falkor): Use vector registers. + +2018-06-29 Martin Sebor + + * manual/stdio.texi (Customizing Printf): Mention interaction + with GCC built-ins. + +2018-06-29 Maciej W. Rozycki + + [BZ #23307] + * elf/dl-lookup.c (check_match): Do not reject a symbol whose + `st_value' is 0 if `st_shndx' is SHN_ABS. + * elf/tst-absolute-zero.c: New file. + * elf/tst-absolute-zero-lib.c: New file. + * elf/tst-absolute-zero-lib.lds: New file. + * elf/Makefile (tests): Add `tst-absolute-zero'. + (modules-names): Add `tst-absolute-zero-lib'. + (LDLIBS-tst-absolute-zero-lib.so): New variable. + ($(objpfx)tst-absolute-zero-lib.so): New dependency. + ($(objpfx)tst-absolute-zero: New dependency. + +2018-06-29 Zack Weinberg + + * configure.ac: New command-line option --disable-crypt. + Force --disable-nss-crypt when --disable-crypt is given, with a + warning if it was explicitly enabled. + * configure: Regenerate. + * config.make.in: New boolean substitution variable $(build-crypt). + * Makeconfig: Only include 'crypt' in all-subdirs and rpath-dirs + when $(build-crypt). + * manual/install.texi: Document --disable-crypt. + * INSTALL: Regenerate. + + * crypt/Makefile: Remove code conditional on $(crypt-in-libc), + which is never set. + * conform/Makefile: Only include libcrypt.a in + linknamespace-libs-xsi and linknamespace-libs-XPG4 + when $(build-crypt). + * elf/Makefile (CFLAGS-tst-linkall-static.c): Only define + USE_CRYPT to 1 when $(build-crypt). + (tst-linkall-static): Only link libcrypt.a when $(build-crypt). + (localplt-built-dso): Only add libcrypt.so when $(build-crypt). + * elf/tst-linkall-static.c: Only include crypt.h when USE_CRYPT. + +2018-06-29 Zack Weinberg + + * crypt/crypt.h, posix/unistd.h: Update comments and + prototypes for crypt and crypt_r. + + * manual/crypt.texi (Cryptographic Functions): New initial + exposition. + (crypt): Section renamed to 'Passphrase Storage'. Full rewrite. + (Unpredictable Bytes): Improve initial exposition. Clarify error + behavior of getentropy and getrandom. + * manual/examples/genpass.c: Generate a salt using getentropy + instead of the current time. Use hash $5$ (SHA-2-256). + * manual/examples/testpass.c: Demonstrate validation against + hashes generated with three different one-way functions. + + * manual/intro.texi: crypt.texi does not need an overview + anymore. + + * manual/nss.texi, manual/memory.texi, manual/socket.texi + * manual/terminal.texi: Consistently refer to "passphrases" + * instead of "passwords", and to the "user database" instead + * of the "password database". + * manual/users.texi: Similarly. Add notes about how actual + passphrase hashes are now stored in the shadow database. + Remove 20-year-old junk todo note. + +2018-06-29 Zack Weinberg + + * manual/crypt.texi: Use a normal top-level @node declaration. + Move most of the introductory text to the 'crypt' section. + Move the example programs below the @deftypefun for 'crypt_r'. + Move the 'getpass' section... + * manual/terminal.texi: ...here. + +2018-06-29 Zack Weinberg + Florian Weimer + + * posix/unistd.h: Do not declare encrypt. + (_XOPEN_CRYPT): Remove macro definition. + (crypt): Declare only for _USE_MISC. + * stdlib/stdlib.h: Do not declare setkey. + * crypt/crypt.h: Do not declare encrypt, setkey, encrypt_r, setkey_r. + * sunrpc/Makefile: Do not install des_crypt.h nor rpc_des.h. + + * crypt/crypt-entry.c: Make fcrypt a compat symbol. + * crypt/crypt_util.c: Make encrypt, encrypt_r, setkey, setkey_r + into compat symbols. Don't define initial_perm if it's not + going to be used. + * crypt/cert.c: Link explicitly with the expected versions for + setkey and encrypt. If they are not available at all, mark + the test as unsupported. + + * sunrpc/des_crypt.c: Unconditionally block linkage with + cbc_crypt and ecb_crypt for new binaries. + * sunrpc/des_soft.c: Unconditionally block linkage with + des_setparity for new binaries. + + * manual/crypt.texi: Remove the entire "DES Encryption" + section. Also remove the paragraph talking about FIPS 140-2 + from the introduction. + * manual/string.texi (strfry, memfrob): Revise. Recommend use + of libgcrypt for "real" encryption, not DES. + * manual/conf.texi (Constants for Sysconf): Mention that + _XOPEN_CRYPT is no longer impelemented. + + * conform/data/unistd.h-data: Remove crypt function declaration. + +2018-06-29 Florian Weimer + + [BZ #23351] + * malloc/hooks.c: Update comments on restoring of dumped heaps. + (disallow_malloc_check): Remove variable. + (__malloc_check_init): Adjust. + (malloc_set_state): Update comment. + * malloc/malloc.c (__malloc_get_state, __malloc_set_state): Remove + declarations. + +2018-06-29 Rafał Lużyński + + [BZ #23140] + * localedata/locales/ast_ES (mon): Rename to... + (alt_mon): This. + (mon): Import from CLDR (genitive case). + +2018-06-29 Daniel Alvarez + Jakub Sitnicki + + [BZ #21812] + * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs_internal): Retry + on NLM_F_DUMP_INTR. + +2018-06-28 Szabolcs Nagy + + * manual/llio.texi: Remove spurious space. + +2018-06-28 Florian Weimer + + [BZ #23349] + * time/bits/types/struct_timespec.h: Change header inclusion guard to + _STRUCT_TIMESPEC. + +2018-06-28 Rajalakshmi Srinivasaraghavan + + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Add __strfromieee128, + __strtoieee128, __strtoieee128_l,__wcstoieee128 and __wcstoieee128_l. + * sysdeps/ieee754/ldbl-128ibm-compat/strfromf128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/strtof128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/strtof128_l.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/wcstof128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/wcstof128_l.c: New file. + +2018-06-27 Maciej W. Rozycki + + [BZ #23266] + * nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_pwent): + Copy and null-terminate entries that are not terminated, in + addition to empty ones. + +2018-06-27 Florian Weimer + + [BZ #18023] + * include/alloca.h (stackinfo_alloca_round, extend_alloca) + (extend_alloca_account): Remove. + * manual/stdio.texi (Variable Arguments Output): Update comment. + +2018-06-27 Joseph Myers + + * nptl/sockperf.c: Remove file. + +2018-06-27 Florian Weimer + + [BZ #18023] + * elf/dl-deps.c (_dl_map_object_deps): Use struct + scratch_buffer instead of extend_alloca. + +2018-06-27 Florian Weimer + + [BZ #18023] + * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use struct + scratch_buffer instead of extend_alloca. Update comments. + +2018-06-27 Florian Weimer + + [BZ #18023] + * posix/wordexp.c (parse_tilde): Use struct scratch_buffer + instead of extend_alloca. + +2018-06-26 Joseph Myers + + [BZ #13888] + * posix/Makefile (CFLAGS-tst-spawn3.c): New variable. + * posix/tst-spawn3.c (do_test): Put tst-spwan3.pid in OBJPFX, not + /tmp. + * scripts/test-installation.pl: Put temporary files in build + directory, not /tmp. + * stdio-common/Makefile (CFLAGS-bug3.c): New variable. + (CFLAGS-bug4.c): Likewise. + (CFLAGS-bug5.c): Likewise. + (CFLAGS-test-fseek.c): Likewise. + (CFLAGS-test-popen.c): Likewise. + (CFLAGS-test_rdwr.c): Likewise. + * stdio-common/bug3.c (main): Put temporary file in OBJPFX, not + /tmp. + * stdio-common/bug4.c (main): Likewise. + * stdio-common/bug5.c (main): Likewise. + * stdio-common/test-fseek.c (TESTFILE): Likewise. + * stdio-common/test-popen.c (do_test): Likewise. + * stdio-common/test_rdwr.c (main): Likewise. + +2018-06-26 Patsy Franklin + + * nptl/sem_open.c [!__HAVE_64B_ATOMICS] (sem_open): Don't update pad. + (sem_open): Set sem.newsem.pad to zero for valgrind. + +2018-06-26 Adhemerval Zanella + + [BZ #20251] + * NEWS: Mention fcntl64 addition. + * csu/check_fds.c: Replace __fcntl_nocancel by __fcntl64_nocancel. + * login/utmp_file.c: Likewise. + * sysdeps/posix/fdopendir.c: Likewise. + * sysdeps/posix/opendir.c: Likewise. + * sysdeps/unix/pt-fcntl.c: Likewise. + * include/fcntl.h (__libc_fcntl64, __fcntl64, + __fcntl64_nocancel_adjusted): New prototype. + (__fcntl_nocancel_adjusted): Remove prototype. + * io/Makefile (routines): Add fcntl64. + (CFLAGS-fcntl64.c): New rule. + * io/Versions [GLIBC_2.28] (fcntl64): New symbol. + [GLIBC_PRIVATE] (__libc_fcntl): Rename to __libc_fcntl64. + * io/fcntl.h (fcntl64): Add prototype and redirect if + __USE_FILE_OFFSET64 is defined. + * io/fcntl64.c: New file. + * manual/llio.text: Add a note for which commands fcntl acts a + cancellation point. + * nptl/Makefile (CFLAGS-fcntl64.c): New rule. + * sysdeps/mach/hurd/fcntl.c: Alias fcntl to fcntl64 symbols. + * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl, fcntl64): + New symbols. + * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Fix F_GETLK64, + F_OFD_GETLK, F_SETLK64, F_SETLKW64, F_OFD_SETLK, and F_OFD_SETLKW for + non-LFS case. + * sysdeps/unix/sysv/linux/fcntl64.c: New file. + * sysdeps/unix/sysv/linux/fcntl_nocancel.c (__fcntl_nocancel): Rename + to __fcntl64_nocancel. + (__fcntl_nocancel_adjusted): Rename to __fcntl64_nocancel_adjusted. + * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Rename + to __fcntl64_nocancel. + * sysdeps/generic/not-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/tst-ofdlocks.c: New file. + * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-ofdlocks. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.28] + (fcntl64): New symbol. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist [GLIBC_2.28] (fcntl, + fcntl64): Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilis: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + +2018-06-26 Florian Weimer + + Run thread shutdown functions in an explicit order. + * malloc/thread-freeres.c (__libc_thread_subfreeres): Remove hook + definition. + (__libc_thread_freeres): Call thread shutdown functions + explicitly. + * include/rpc/rpc.h (__rpc_thread_destroy): Add hidden attribute. + * include/string.h (__strerror_thread_freeres): Declare. + * malloc/arena.c (__malloc_arena_thread_freeres): Renamed from + arena_thread_freeres. No longer static. Remove thread shutdown + hook registration. + * malloc/malloc-internal.h (__malloc_arena_thread_freeres): + Declare. + * resolv/res-close.c (__res_thread_freeres): Renamed from + res_thread_freeres. No longer static. Remove thread shutdown + hook registration. + * resolv/resolv-internal.h (__res_thread_freeres): Declare. + * resolv/resolv_conf.c (freeres): Remove incorrect section + attribute and use libc_freeres_fn. + * string/strerror_l.c (__strerror_thread_freeres): Renamed from + strerror_thread_freeres. No longer static. Remove thread + shutdown hook registration. + * sysdeps/mach/strerror_l.c (__strerror_thread_freeres): Likewise. + * sunrpc/rpc_thread.c (__rpc_thread_destroy): Remove thread + shutdown hook registration. + * Makerules (shlib.lds): Do not provide section boundary symbols + for __libc_thread_subfreeres. + * manual/memory.texi (Basic Allocation): Update comment. + +2018-06-26 Florian Weimer + + Remove always-defined _RPC_THREAD_SAFE_ macro. + * sunrpc/Makefile (sunrpc-CPPFLAGS, CPPFLAGS, BUILD_CPPFLAGS): + Do not define _RPC_THREAD_SAFE_. + * include/rpc/rpc.h: Remove _RPC_THREAD_SAFE_ preprocessor + conditional. + * sunrpc/clnt_perr.c: Likewise. + * sunrpc/clnt_raw.c: Likewise. + * sunrpc/clnt_simp.c: Likewise. + * sunrpc/key_call.c: Likewise. + * sunrpc/rpc_common.c: Likewise. + * sunrpc/rpc_main.c: Likewise. + * sunrpc/rpc_thread.c: Likewise. + * sunrpc/svc.c: Likewise. + * sunrpc/svc_raw.c: Likewise. + * sunrpc/svc_simple.c: Likewise. + * sumrpc/svcauth_des.c: Likewise. + +2018-06-26 Florian Weimer + + * libio/Makefile (tests-internal): Add tst-vtables, + tst-vtables-interposed. + * libio/tst-vtables.c: New file. + * libio/tst-vtables-common.c: Likewise. + * libio/tst-vtables-interposed.c: Likewise. + +2018-06-26 Florian Weimer + + * support/support_test_main.c (support_test_main): Only call + setvbuf if not disables. + * support/test-driver.c (main): Check TEST_NO_SETVBUF. + * support/test-driver.h (struct test_config): Add no_setvbuf member. + +2018-06-26 Florian Weimer + + [BZ #23313] + * libio/vtables.c (check_stdfiles_vtables): New ELF constructor. + +2018-06-25 Florian Weimer + + [BZ #18023] + * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): + Use struct scratch_buffer instead of extend_alloca. + +2018-06-25 Florian Weimer + + [BZ #18023] + * nss/getent.c (initgroups_keys): Use dynarray instead of + extend_alloca. + +2018-06-25 Florian Weimer + + [BZ #18023] + * nis/nss_nis/nis-initgroups.c (get_uid, _nss_nis_initgroups_dyn): + Use struct scratch_buffer instead of extend_alloca. + +2018-06-25 Florian Weimer + + [BZ #18023] + * nss/nss_compat/compat-initgroups.c (getgrent_next_nss): Fall + back to malloc directly, without stack allocations. + +2018-06-25 Florian Weimer + + [BZ #18023] + * nscd/aicache.c (addhstaiX): Use struct scratch_buffer instead + of extend_alloca. + +2018-06-25 Florian Weimer + + [BZ #18023] + * nscd/grpcache.c (addgrbyX): Use struct scratch_buffer instead + of extend_alloca. + * nscd/hstcache.c (addhstbyX): Likewise. + * nscd/pwdcache.c (addpwbyX): Likewise. + * nscd/servicescache.c (addservbyX): Likewise. + +2018-06-25 Florian Weimer + + [BZ #18023] + * nscd/connections.c (read_cmdline): New function. + (restart): Use it. Update comment. + +2018-06-25 Rafał Lużyński + + [BZ #23140] + * localedata/locales/csb_PL (mon): Rename to... + (alt_mon): This. + (abmon): Rename to... + (ab_alt_mon): This. + (mon): Add with proper genitive forms, copy from Wikipedia. + (abmon): Likewise. + +2018-06-25 Rafał Lużyński + + [BZ #19485] + * localedata/locales/csb_PL (mon): Fix typos: + "łżëkwiôt" -> "łżëkwiat" (April); "lëpinc" -> "lëpińc" (July). + (yesstr): Add, value is "jo". + (nostr): Add, value is "nié". + +2018-06-22 Tulio Magno Quites Machado Filho + + * sysdeps/m68k/m680x0/fpu/s_log1p.c: Set as the generic file for + all log1p and significand functions on m680x0. + * sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_log1p.c instead + of s_significand.c.. + * sysdeps/m68k/m680x0/fpu/s_log1pl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_significandf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_significandl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_significand.c: Move all the code to + s_log1p.c and include it.. + +2018-06-21 Vincent Chen + + * elf/elf.h (R_NDS32_NONE): New define. + (R_NDS32_32_RELA): Likewise. + (R_NDS32_COPY): Likewise. + (R_NDS32_GLOB_DAT): Likewise. + (R_NDS32_JUMP_SLOT): Likewise. + (R_NDS32_RELATIVE): Likewise. + (R_NDS32_TLS_TPOFF): Likewise. + (R_NDS32_TLS_DESC): Likewise. + +2018-06-21 Mark Wielaard + + * elf/elf.h (R_BPF_MAP_FD): Removed. + (R_BPF_64_64, R_BPF_64_32): New. + +2018-06-21 Florian Weimer + + [BZ #23253] + * sysdeps/generic/math_private.h (default_libc_feholdsetround_ctx): + Renamed from libc_feholdsetround_ctx. + (default_libc_feresetround_ctx): Renamed from + libc_feresetround_ctx. + (default_libc_feholdsetround_noex_ctx): Renamed from + libc_feholdsetround_noex_ctx. + (default_libc_feresetround_noex_ctx): Renamed from + libc_feresetround_noex_ctx. + [!HAVE_RM_CTX] (libc_feholdsetround_ctx, libc_feresetround_ctx) + (libc_feholdsetround_noex_ctx, libc_feresetround_noex_ctx): Macros + forwardning to the old implementations under the new names. + * sysdeps/i386/fpu/fenv_private.h [__SSE_MATH__] + (libc_feholdexcept_setround_ctx, libc_fesetenv_ctx) + (libc_feupdateenv_ctx, libc_feholdsetround_ctx) + (libc_feresetround_ctx): Forward to default implements for i386 + and MATH_SET_BOTH_ROUNDING_MODES. + * sysdeps/i386/Makefile [$(subdir) == math] (CFLAGS-e_gamma_r.c): + Add -DMATH_SET_BOTH_ROUNDING_MODES. + +2018-06-20 Joseph Myers + + * string/tst-cmp.c: Include . + (strncmp_max): Disable -Wstringop-overflow= around call to + strncmp. + (strncasecmp_max): Disable -Wstringop-overflow= around call to + strncasecmp. + + * string/bug-strpbrk1.c: Include . + (main): Disable -Wunused-value around call to strpbrk. + * string/bug-strspn1.c: Include . + (main): Disable -Wunused-value around call to strspn. + +2018-06-20 Tulio Magno Quites Machado Filho + Gabriel F. T. Gomes + + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/libm-alias-float128.h: New file. + +2018-06-20 Tulio Magno Quites Machado Filho + + * math/Makefile (libm-calls): Move s_significandF to... + (gen-libm-calls): ... here. + * math/s_significand_template.c: New file. + * math/s_significand.c: Removed. + * math/s_significandf.c: Removed. + * math/s_significandl.c: Removed. + * sysdeps/ieee754/ldbl-opt/s_significand.c: Removed. + * sysdeps/ieee754/ldbl-opt/s_significandl.c: Removed. + + * math/e_exp2_template.c (declare_mgen_finite_alias, + declare_mgen_finite_alias_s, declare_mgen_finite_alias_x): Move to... + * sysdeps/generic/math-type-macros.h (declare_mgen_finite_alias, + declare_mgen_finite_alias_s, declare_mgen_finite_alias_x): ... here. + +2018-06-20 Florian Weimer + + * libio/libioP.h (IO_validate_vtable): Avoid ptrdiff_t overflow. + +2018-06-19 Joseph Myers + + [BZ #23280] + * stdio-common/vfscanf.c (_IO_vfscanf_internal): Pass sign of + floating-point number to strtod functions rather than possibly + negating result of those functions. + * stdio-common/tst-scanf-round.c: New file. + * stdio-common/Makefile (tests): Add tst-scanf-round. + ($(objpfx)tst-scanf-round): Depend on $(libm). + +2018-06-18 Samuel Thibault + + * sysdeps/mach/hurd/localplt.data: Move to... + * sysdeps/mach/hurd/i386/localplt.data: new file. Add + REL + R_386_GLOB_DAT like on Linux i386. + +2018-06-18 Joseph Myers + + * sysdeps/unix/sysv/linux/alpha/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): New macro. + * sysdeps/unix/sysv/linux/arm/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/generic/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/mips/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/s390/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/sh/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/x86/bits/shm.h [__USE_MISC] + (SHM_STAT_ANY): Likewise. + + * sysdeps/unix/sysv/linux/alpha/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): New macro. + * sysdeps/unix/sysv/linux/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/generic/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/mips/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/s390/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/x86/bits/sem.h [__USE_MISC] + (SEM_STAT_ANY): Likewise. + + * sysdeps/unix/sysv/linux/alpha/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): New macro. + * sysdeps/unix/sysv/linux/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/generic/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/mips/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/s390/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + * sysdeps/unix/sysv/linux/x86/bits/msq.h [__USE_MISC] + (MSG_STAT_ANY): Likewise. + + * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] + (MAP_TYPE): Change value to 0x2b. + +2018-06-18 Florian Weimer + + [BZ #15722] + * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Create Netlink + socket with SOCK_CLOEXEC. + +2018-06-18 Joseph Myers + + [BZ #23303] + * sysdeps/powerpc/powerpc64/le/Makefile + (CFLAGS-tst-strtod-nan-sign.c): Add -mfloat128. + (CFLAGS-tst-wcstod-nan-sign.c): Likewise. + (gnulib-tests): Also add $(f128-loader-link) for + tst-strtod-nan-sign abd tst-wcstod-nan-sign. + +2018-06-15 Samuel Thibault + + * include/sys/sendfile.h (__sendfile64): Declare hidden prototype. + * sysdeps/mach/hurd/sendfile.c (sendfile): Call __sendfile64 instead + of sendfile. + * sysdeps/mach/hurd/sendfile64.c (sendfile64): Rename to __sendfile64. + (sendfile64): New strong alias. + * sysdeps/mach/hurd/lseek.c: Include . + * sysdeps/mach/hurd/lseek.c (__libc_lseek): Check that the value + returned by __lseek64 can fit off_t, return EOVERFLOW otherwise. + * sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Add hidden + attribute. + * htl/pt-join.c (__pthread_get_cleanup_stack): Define to + ___pthread_get_cleanup_stack. + * sysdeps/mach/hurd/localplt.data (ld.so): Make ref to __open optional. + * sysdeps/mach/include/mach-shortcuts-hidden.h: New file. + * mach/shortcut.awk: Make syscall stubs include + and add hidden definition. + * sysdeps/mach/include/mach.h: Include . + (__mach_msg): Add hidden prototype. + * mach/msg.c: Include . + (__mach_msg): Add hidden definition. + * mach/Makefile ($(mach-syscalls:%=$(objpfx))): Add hidden definition. + * sysdeps/mach/include/mach/mach_traps.h (__mach_reply_port, + __mach_thread_self, __mach_task_self, __mach_host_self, __swtch, + __swtch_pri, __thread_switch, __evc_wait): Add hidden prototypes. + * sysdeps/mach/hurd/localplt.data (siglongjmp, longjmp, + __libc_lseek64, _IO_funlockfile): Whitelist PLT references. + * sysdeps/hurd/include/hurd/signal.h (_hurd_self_sigstate): Add hidden + prototype and definition. + * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Use + hidden target for _hurd_self_sigstate. + +2018-06-15 Joseph Myers + + [BZ #23007] + * stdlib/tst-strtod-nan-sign-main.c: New file. + * stdlib/tst-strtod-nan-sign.c: Likewise. + * wcsmbs/tst-wcstod-nan-sign.c: Likewise. + * stdlib/Makefile (tests): Add tst-strtod-nan-sign. + ($(objpfx)tst-strtod-nan-sign): Depend on $(libm). + * wcsmbs/Makefile (tests) Add tst-wcstod-nan-sign. + ($(objpfx)tst-wcstod-nan-sign): Depend on $(libm). + +2018-06-15 Herman ten Brugge + + [BZ #23007] + * stdlib/strtod_l.c (____STRTOF_INTERNAL): Return NaN of + appropriate sign. + +2018-06-14 Florian Weimer + + [BZ #23290] + * localedata/charmaps/IBM273: Map codepoint 0xbc to U+00AF, so + that the result stays within the ISO-8859-1 range. + * iconvdata/ibm273.c (HAS_HOLES): Define as 0 because all 256 + characters are defined in IBM273. + +2018-06-14 Samuel Thibault + + * sysdeps/mach/include/mach/mach_traps.h (__mach_thread_self, + __mach_task_self): Remove attribute_hidden. + +2018-06-14 Joseph Myers + + * string/tester.c (test_strncat) [__GNUC_PREREQ (7, 0)]: Also + ignore -Wrestrict for one test. + +2018-06-14 Steve Ellcey + Szabolcs Nagy + + * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: New file. + +2018-06-14 Florian Weimer + + * scripts/update-abilist.sh: Accept empty list of files to patch. + +2018-06-13 Samuel Thibault + + * sysdeps/mach/hurd/i386/Makefile (test-xfail-check-abi-libhurduser, + test-xfail-check-abi-libmachuser): Add. + * sysdeps/mach/hurd/localplt.data (ld.so): Add __open64, rename + __libc_read and __libc_write to __read and __write. + * sysdeps/hurd/include/hurd/port.h: New file. + * mach/mach/mach_traps.h (__mach_reply_port, __mach_thread_self, + __mach_task_self, __mach_host_self, __swtch, __swtch_pri, + __thread_switch, __evc_wait): Move declarations to... + * sysdeps/mach/include/mach/mach_traps.h: ... new file, and add + attribute_hidden. + * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not + use PLT to call _hurd_self_sigstate. + +2018-06-13 Joseph Myers + + [BZ #23279] + * stdlib/strtod_l.c (round_and_return): Handle an exponent of + MAX_EXP as overflowing. + * stdlib/gen-tst-strtod-round.c (string_to_fp): Clear MPFR + overflow flag. + (round_str): Output also whether result overflows in each rounding + mode. + * stdlib/tst-strtod-round-data: Add more tests. + * stdlib/tst-strtod-round-data.h: Regenerated. + * stdlib/tst-strtod-round-skeleton.c (_XNTRY): Update comment. + (TEST): Handle extra arguments for overflow flags. + (struct test_overflow): New type. + [!FE_OVERFLOW] (FE_OVERFLOW): Define to 0. + (GEN_ONE_TEST): Clear all exceptions. Test overflow flag. + (test_in_one_mode): Take argument with overflow information. + (do_test): Update calls to test_in_one_mode. + +2018-06-12 Carlos O'Donell + + * elf/dl-load (_dl_dst_substitute): Correct comment. + (_dl_dst_count): Likewise. + + * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Call + lll_futex_timed_wait. + +2018-06-12 Joseph Myers + + [BZ #23277] + * math/bits/mathcalls.h [__USE_ISOC99] (nan): Do not use __const__ + attribute. + * math/test-nan-const.c: New file. + * math/Makefile (tests): Add test-nan-const. + (CFLAGS-test-nan-const.c): New variable. + +2018-06-12 H.J. Lu + + * benchtests/scripts/compare_strings.py (process_results): Add + funcs argument. Compare only functions which are selected. + (main): Check if base function is among selected functions. + Pass selected functions to process_results. + (__main__): Add -f/--functions argument. + +2018-06-12 Minfeng Kang + Hongbo Zhang + + * sysdeps/aarch64/multiarch/memcpy.c (libc_ifunc): reuse + __memcpy_falkor for phecda core. + * sysdeps/aarch64/multiarch/memmove.c (libc_ifunc): reuse + __memmove_falkor for phecda core. + * sysdeps/aarch64/multiarch/memset.c (libc_ifunc): reuse + __memset_falkor for phecda core. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c: add MIDR entry + for phecda core. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_PHECDA): add + macro to identify phecda core. + +2018-06-12 Carlos O'Donell + Andreas Schwab + Dmitry V. Levin + Florian Weimer + + [BZ #23102] + [BZ #21942] + [BZ #18018] + [BZ #23259] + CVE-2011-0536 + * elf/dl-dst.h: Remove DL_DST_COUNT. + * elf/dl-deps.c (expand_dst): Call _dl_dst_count. + * elf/dl-load.c (is_trusted_path_normalize): Don't handle colons. + (is_dst): Comment. Support ELF gABI. + (_dl_dst_count): Comment. Simplify and count DSTs. + (_dl_dst_substitute): Comment. Support __libc_enable_secure handling. + (expand_dybamic_string_token): Comment. Call _dl_dst_count. Rename + locals. + +2018-06-12 Zack Weinberg + + * elf/dl-load.c, elf/dl-misc.c, elf/dl-profile.c, elf/rtld.c + * sysdeps/unix/sysv/linux/dl-sysdep.c + Include not-cancel.h. Use __close_nocancel instead of __close, + __open64_nocancel instead of __open, __read_nocancel instead of + __libc_read, and __write_nocancel instead of __libc_write. + + * csu/check_fds.c (check_one_fd) + * sysdeps/posix/fdopendir.c (__fdopendir) + * sysdeps/posix/opendir.c (__alloc_dir): Use __fcntl_nocancel + instead of __fcntl and/or __libc_fcntl. + + * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np) + * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np) + * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): + Use __open64_nocancel instead of __open_nocancel. + + * sysdeps/unix/sysv/linux/not-cancel.h: Move all of the + hidden_proto declarations to the end and issue them if either + IS_IN(libc) or IS_IN(rtld). + * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): + Add close_nocancel, fcntl_nocancel, nanosleep_nocancel, + open_nocancel, open64_nocancel, openat_nocancel, pause_nocancel, + read_nocancel, waitpid_nocancel, write_nocancel. + + * io/Versions [GLIBC_PRIVATE]: Add __libc_fcntl, + __fcntl_nocancel, __open64_nocancel, __write_nocancel. + * posix/Versions: Add __nanosleep_nocancel, __pause_nocancel. + + * nptl/pt-fcntl.c: New file. + * nptl/Makefile (pthread-compat-wrappers): Remove fcntl. + (libpthread-routines): Add pt-fcntl. + * include/fcntl.h (__fcntl_nocancel_adjusted): New function. + (__libc_fcntl): Remove attribute_hidden. + * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Call + __fcntl_nocancel_adjusted, not fcntl_common. + (__fcntl_nocancel): Move to new file fcntl_nocancel.c. + (fcntl_common): Rename to __fcntl_nocancel_adjusted; also move + to fcntl_nocancel.c. + * sysdeps/unix/sysv/linux/fcntl_nocancel.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Remove file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: + Define FCNTL_ADJUST_CMD here, as a self-contained macro. + + * sysdeps/unix/sysv/linux/close.c: Move __close_nocancel to... + * sysdeps/unix/sysv/linux/close_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/nanosleep.c: Move __nanosleep_nocancel to... + * sysdeps/unix/sysv/linux/nanosleep_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/open.c: Move __open_nocancel to... + * sysdeps/unix/sysv/linux/open_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/open64.c: Move __open64_nocancel to... + * sysdeps/unix/sysv/linux/open64_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/openat.c: Move __openat_nocancel to... + * sysdeps/unix/sysv/linux/openat_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/openat64.c: Move __openat64_nocancel to... + * sysdeps/unix/sysv/linux/openat64_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/pause.c: Move __pause_nocancel to... + * sysdeps/unix/sysv/linux/pause_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/read.c: Move __read_nocancel to... + * sysdeps/unix/sysv/linux/read_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/waitpid.c: Move __waitpid_nocancel to... + * sysdeps/unix/sysv/linux/waitpid_nocancel.c: ...this new file. + * sysdeps/unix/sysv/linux/write.c: Move __write_nocancel to... + * sysdeps/unix/sysv/linux/write_nocancel.c: ...this new file. + + * sysdeps/unix/sysv/linux/nios2/Makefile: Don't override + libpthread-routines. + * sysdeps/unix/sysv/linux/nios2/pt-vfork.S: New file which + defines nothing. + + * sysdeps/mach/hurd/dl-sysdep.c: Define __read instead of + __libc_read, and __write instead of __libc_write. Define + __open64 in addition to __open. + +2018-06-12 H.J. Lu + + [BZ #23250] + [BZ #10686] + * sysdeps/i386/nptl/tls.h (tcbhead_t): Change __private_tm[4] + to _private_tm[3] and add __glibc_reserved2. + Add _Static_assert of offset of __private_ss == 0x30. + * sysdeps/x86_64/nptl/tls.h: Add _Static_assert of offset of + __private_ss == 0x40 for ILP32 and == 0x70 for LP64. + +2018-06-12 Florian Weimer + + x86: Make strncmp usable from rtld. + * sysdeps/i386/i686/multiarch/strncmp-c.c: Only rename strncmp to + __strncmp_ia32 if in libc (and not in rtld). + * sysdeps/x86_64/multiarch/strncmp-sse2.S: Rename strcmp to + strncmp if not in libc (and not to __strncmp_sse2). + +2018-06-12 Rafał Lużyński + + [BZ #23140] + * localedata/locales/gd_GB (mon): Rename to... + (alt_mon): This. + (mon): Import from CLDR (genitive case). + * localedata/locales/hsb_DE (mon): Rename to... + (alt_mon): This. + (mon): Import from CLDR (genitive case). + * localedata/locales/wa_BE (mon): Rename to... + (alt_mon): This. + (mon): Add, fill with the proper genitive forms, but CLDR data + is incomplete; completed according to the comments in this file. + (d_t_fmt): Do not use "di" before the month name, no longer needed. + + * localedata/locales/wa_BE (country_name): Reword + "Beljike" -> "Beldjike". + +2018-06-11 Joseph Myers + + [BZ #23272] + * sysdeps/ieee754/ldbl-96/s_fma.c (__fma): Start by handling all + cases of non-finite arguments. + * math/libm-test-fma.inc (fma_test_data): Add more tests. + +2018-06-10 John David Anglin + + [BZ #23174] + * sysdeps/unix/sysv/linux/hppa/Makefile: xfail check-execstack. + +2018-06-08 Adhemerval Zanella + + [BZ #23264] + * include/unistd.h (__execvpex): New prototype. + * posix/Makefile (tests): Add tst-spawn4. + (tests-internal): Add tst-spawn4-compat. + * posix/execvpe.c (__execvpe_common, __execvpex): New functions. + * posix/tst-spawn4-compat.c: New file. + * posix/tst-spawn4.c: Likewise. + * sysdeps/unix/sysv/linux/spawni.c (__spawni): Do not interpret invalid + binaries as shell scripts. + * sysdeps/posix/spawni.c (__spawni): Likewise. + +2018-06-08 H.J. Lu + + [BZ #23145] + * elf/Makefile (tests-special): Add $(objpfx)check-initfini.out. + ($(all-built-dso:=.dynsym): New target. + (common-generated): Add $(all-built-dso:$(common-objpfx)%=%.dynsym). + ($(objpfx)check-initfini.out): New target. + (generated): Add check-initfini.out. + * scripts/check-initfini.awk: New file. + * sysdeps/aarch64/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/alpha/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/arm/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/hppa/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/i386/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/ia64/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/m68k/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/microblaze/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/mips/mips32/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/mips/mips64/n32/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/mips/mips64/n64/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/nios2/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/powerpc/powerpc32/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/powerpc/powerpc64/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/s390/s390-32/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/s390/s390-64/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/sh/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/sparc/crti.S (_init): Mark as hidden. + (_fini): Likewise. + * sysdeps/x86_64/crti.S (_init): Mark as hidden. + (_fini): Likewise. + +2018-06-06 Tulio Magno Quites Machado Filho + + * sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c + [__HAVE_FLOAT128_UNLIKE_LDBL] (TFtype, TF): Restrict TFtype + and TF redirection to KFtype and KF only when the default + long double type is not the IEEE 128-bit floating point type. + +2018-06-05 Joseph Myers + + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_DIT): New + macro. + (HWCAP_USCAT): Likewise. + (HWCAP_ILRCPC): Likewise. + (HWCAP_FLAGM): Likewise. + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT): + Increase to 28. + (_dl_aarch64_cap_flags): Add new flag names. + + * sysdeps/unix/sysv/linux/aarch64/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): New macro. + * sysdeps/unix/sysv/linux/alpha/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/arm/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/microblaze/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/mips/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/nios2/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/riscv/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/s390/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/sh/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + * sysdeps/unix/sysv/linux/x86/bits/mman.h [__USE_MISC] + (MAP_FIXED_NOREPLACE): Likewise. + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 4.17. + +2018-06-04 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + version to 4.17 + +2018-06-02 Samuel Thibault + + * bits/shm.h (struct shmid_ds): Make shm_segsz field size_t instead of + int. + * sysdeps/gnu/bits/shm.h (struct shmid_ds): Likewise. + +2018-06-01 Leonardo Sandoval + + * benchtests/scripts/compare_string.py: (process_results) Catch + exception in non-existent base_func and catch exception in + non-existent attribute. + (parse_file) Catch exception if input file does not exist. + +2018-06-01 Leonardo Sandoval + + * benchtests/scripts/compare_string.py: Add --no-diff and --no-header + options to avoid diff calculation and omit header, respectively. + (main): process --no-diff and --no-header + +2018-06-01 Leonardo Sandoval + H.J. Lu + + * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add + strcmp-avx2, strncmp-avx2, wcscmp-avx2, wcscmp-sse2, wcsncmp-avx2 and + wcsncmp-sse2. + * sysdeps/x86_64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add tests for __strcmp_avx2, + __strncmp_avx2, __wcscmp_avx2, __wcsncmp_avx2, __wcscmp_sse2 + and __wcsncmp_sse2. + * sysdeps/x86_64/multiarch/strcmp.c (OPTIMIZE (avx2)): + (IFUNC_SELECTOR): Return OPTIMIZE (avx2) on AVX 2 machines if + AVX unaligned load is fast and vzeroupper is preferred. + * sysdeps/x86_64/multiarch/strncmp.c: Likewise. + * sysdeps/x86_64/multiarch/strcmp-avx2.S: New file. + * sysdeps/x86_64/multiarch/strncmp-avx2.S: Likewise. + * sysdeps/x86_64/multiarch/wcscmp-avx2.S: Likewise. + * sysdeps/x86_64/multiarch/wcscmp-sse2.S: Likewise. + * sysdeps/x86_64/multiarch/wcscmp.c: Likewise. + * sysdeps/x86_64/multiarch/wcsncmp-avx2.S: Likewise. + * sysdeps/x86_64/multiarch/wcsncmp-sse2.c: Likewise. + * sysdeps/x86_64/multiarch/wcsncmp.c: Likewise. + * sysdeps/x86_64/wcscmp.S (__wcscmp): Add alias only if __wcscmp + is undefined. + +2018-06-01 Florian Weimer + + * sysdeps/i386/fpu/libm-test-ulps: Update with results from + configuring with --disable-multi-arch, building with + “-march=x86-64 -mtune=generic -mfpmath=sse” and running on a + Haswell-era CPU. + +2018-06-01 Florian Weimer + + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update with + results from building with “-march=x86-64 -mtune=generic + -mfpmath=sse” and running on a Haswell-era CPU. + +2018-06-01 Joseph Myers + + [BZ #18473] + * soft-fp/sqrttf2.c: Remove file. + * soft-fp/sqrtdf2.c: Move to .... + * sysdeps/powerpc/nofpu/sqrtdf2.c: ... here. Include + . + (__sqrtdf2): Make conditional on + [SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)]. Define as compat + symbol. + * soft-fp/sqrtsf2.c: Move to .... + * sysdeps/powerpc/nofpu/sqrtsf2.c: ... here. Include + . + (__sqrtsf2): Make conditional on + [SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)]. Define as compat + symbol. + * soft-fp/Makefile (gcc-single-routines): Remove sqrtsf2. + (gcc-double-routines): Remove sqrtdf2. + (gcc-quad-routines): Remove sqrttf2. + * sysdeps/nios2/Makefile [$(subdir) = soft-fp] (sysdep_routines): + Do not filter out sqrtsf2 and sqrtdf2. + * sysdeps/powerpc/nofpu/Makefile [$(subdir) = soft-fp] + (sysdep_routines): Add sqrtsf2 and sqrtdf2. + +2018-06-01 Florian Weimer + + * sysdeps/generic/libcidn.abilist: Remove file. + +2018-06-01 Florian Weimer + + [BZ #23236] + * libio/strfile.h (struct _IO_str_fields): Rename members to + discourage their use and add comment. + (_IO_STR_DYNAMIC): Remove unused macro. + * libio/strops.c (_IO_str_init_static_internal): Do not use + callback pointers. Call malloc and free. + (_IO_str_overflow): Do not use callback pointers. Call malloc + and free. + (enlarge_userbuf): Likewise. + (_IO_str_finish): Call free. + * libio/wstrops.c (_IO_wstr_init_static): Initialize + _allocate_buffer_unused. + (_IO_wstr_overflow): Do not use callback pointers. Call malloc + and free. + (enlarge_userbuf): Likewise. + (_IO_wstr_finish): Call free. + * debug/vasprintf_chk.c (__vasprintf_chk): Initialize + _allocate_buffer_unused, _free_buffer_unused. + * libio/memstream.c (__open_memstream): Likewise. + * libio/vasprintf.c (_IO_vasprintf): Likewise. + * libio/wmemstream.c (open_wmemstream): Likewise. + +2018-05-30 Paul Pluzhnikov + + * sysdeps/x86_64/fpu/libm-test-ulps (log_vlen8_avx2): Update for + AMD Ryzen 7 1800X. + +2018-05-30 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile: New file to + add w_sqrtf128-power9 and w_sqrtf128-ppc64le to libm-sysdep_routines. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/w_sqrtf128-power9.c: + New file. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/w_sqrtf128-ppc64le.c: + Likewise. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/w_sqrtf128.c: Likewise. + +2018-05-29 Florian Weimer + + * support/Makefile (libsupport-routines): Add + xpthread_barrierattr_destroy, xpthread_barrierattr_init, + xpthread_barrierattr_setpshared. + * support/xpthread_barrierattr_destroy.c: New file. + * support/xpthread_barrierattr_init.c: Likewise. + * support/xpthread_barrierattr_setpshared.c: Likewise. + +2018-05-29 H.J. Lu + + [BZ #23206] + * elf/dl-reloc-static-pie.c (_dl_relocate_static_pie): Initialize + _r_debug and update DT_DEBUG for debugger. + +2018-05-29 Florian Weimer + + * stdlib/Makefile (tst-strtod1i.out): Depend on generated locales. + (tst-strtod5i.out): Likewise. + +2018-05-25 Joseph Myers + + * sysdeps/sparc/sparc64/Implies: Remove sparc/sparc64/soft-fp. + * sysdeps/sparc/sparc64/Makefile [$(subdir) = soft-fp] + (sparc64-quad-routines): New variable. Moved from .... + [$(subdir) = soft-fp] (sysdep_routines): Add + $(sparc64-quad-routines). Moved from .... + [$(subdir) = math] (CPPFLAGS): Add -I../soft-fp/. Moved from .... + * sysdeps/sparc/sparc64/soft-fp/Makefile: ... here. Remove file. + * sysdeps/sparc/sparc64/Versions (libc): Add GLIBC_2.2 symbols + moved from .... + * sysdeps/sparc/sparc64/soft-fp/Versions: ... here. Remove file. + * sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c: Remove file. + * sysdeps/sparc/sparc64/soft-fp/qp_add.c: Move to .... + * sysdeps/sparc/sparc64/qp_add.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: Move to .... + * sysdeps/sparc/sparc64/qp_cmp.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: Move to .... + * sysdeps/sparc/sparc64/qp_cmpe.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_div.c: Move to .... + * sysdeps/sparc/sparc64/qp_div.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Move to .... + * sysdeps/sparc/sparc64/qp_dtoq.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_feq.c: Move to .... + * sysdeps/sparc/sparc64/qp_feq.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_fge.c: Move to .... + * sysdeps/sparc/sparc64/qp_fge.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: Move to .... + * sysdeps/sparc/sparc64/qp_fgt.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_fle.c: Move to .... + * sysdeps/sparc/sparc64/qp_fle.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_flt.c: Move to .... + * sysdeps/sparc/sparc64/qp_flt.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_fne.c: Move to .... + * sysdeps/sparc/sparc64/qp_fne.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Move to .... + * sysdeps/sparc/sparc64/qp_itoq.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_mul.c: Move to .... + * sysdeps/sparc/sparc64/qp_mul.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_neg.S: Move to .... + * sysdeps/sparc/sparc64/qp_neg.S: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Move to .... + * sysdeps/sparc/sparc64/qp_qtod.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Move to .... + * sysdeps/sparc/sparc64/qp_qtoi.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Move to .... + * sysdeps/sparc/sparc64/qp_qtos.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Move to .... + * sysdeps/sparc/sparc64/qp_qtoui.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Move to .... + * sysdeps/sparc/sparc64/qp_qtoux.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Move to .... + * sysdeps/sparc/sparc64/qp_qtox.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: Move to .... + * sysdeps/sparc/sparc64/qp_sqrt.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Move to .... + * sysdeps/sparc/sparc64/qp_stoq.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Move to .... + * sysdeps/sparc/sparc64/qp_sub.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Move to .... + * sysdeps/sparc/sparc64/qp_uitoq.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_util.c: Move to .... + * sysdeps/sparc/sparc64/qp_util.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Move to .... + * sysdeps/sparc/sparc64/qp_uxtoq.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Move to .... + * sysdeps/sparc/sparc64/qp_xtoq.c: ... here. + * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Move to .... + * sysdeps/sparc/sparc64/sfp-machine.h: ... here. + + * sysdeps/sparc/sparc32/Implies: Remove sparc/sparc32/soft-fp. + * sysdeps/sparc/sparc32/Makefile [$(subdir) = soft-fp] + (sparc32-quad-routines): New variable. Moved from .... + [$(subdir) = soft-fp] (sysdep_routines): Add + $(sparc32-quad-routines). Moved from .... + * sysdeps/sparc/sparc32/soft-fp/Makefile: ... here. Remove file. + * sysdeps/sparc/sparc32/Versions (libc): Add GLIBC_2.4 symbols + moved from .... + * sysdeps/sparc/sparc32/soft-fp/Versions: ... here. Remove file. + * sysdeps/sparc/sparc32/soft-fp/q_add.c: Move to .... + * sysdeps/sparc/sparc32/q_add.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_cmp.c: Move to .... + * sysdeps/sparc/sparc32/q_cmp.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_cmpe.c: Move to .... + * sysdeps/sparc/sparc32/q_cmpe.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_div.c: Move to .... + * sysdeps/sparc/sparc32/q_div.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_dtoq.c: Move to .... + * sysdeps/sparc/sparc32/q_dtoq.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_feq.c: Move to .... + * sysdeps/sparc/sparc32/q_feq.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_fge.c: Move to .... + * sysdeps/sparc/sparc32/q_fge.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_fgt.c: Move to .... + * sysdeps/sparc/sparc32/q_fgt.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_fle.c: Move to .... + * sysdeps/sparc/sparc32/q_fle.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_flt.c: Move to .... + * sysdeps/sparc/sparc32/q_flt.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_fne.c: Move to .... + * sysdeps/sparc/sparc32/q_fne.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_itoq.c: Move to .... + * sysdeps/sparc/sparc32/q_itoq.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: Move to .... + * sysdeps/sparc/sparc32/q_lltoq.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_mul.c: Move to .... + * sysdeps/sparc/sparc32/q_mul.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_neg.c: Move to .... + * sysdeps/sparc/sparc32/q_neg.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_qtod.c: Move to .... + * sysdeps/sparc/sparc32/q_qtod.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: Move to .... + * sysdeps/sparc/sparc32/q_qtoi.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: Move to .... + * sysdeps/sparc/sparc32/q_qtoll.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_qtos.c: Move to .... + * sysdeps/sparc/sparc32/q_qtos.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_qtou.c: Move to .... + * sysdeps/sparc/sparc32/q_qtou.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_qtoull.c: Move to .... + * sysdeps/sparc/sparc32/q_qtoull.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_sqrt.c: Move to .... + * sysdeps/sparc/sparc32/q_sqrt.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_stoq.c: Move to .... + * sysdeps/sparc/sparc32/q_stoq.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_sub.c: Move to .... + * sysdeps/sparc/sparc32/q_sub.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: Move to .... + * sysdeps/sparc/sparc32/q_ulltoq.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_util.c: Move to .... + * sysdeps/sparc/sparc32/q_util.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/q_utoq.c: Move to .... + * sysdeps/sparc/sparc32/q_utoq.c: ... here. + * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Move to .... + * sysdeps/sparc/sparc32/sfp-machine.h: ... here. + +2018-05-24 Tulio Magno Quites Machado Filho + Gabriel F. T. Gomes + + * sysdeps/powerpc/Implies: Removed. Previous contents copied to... + * sysdeps/powerpc/powerpc32/Implies-after: ... here. + * sysdeps/powerpc/powerpc64/be/Implies-after: ... here. + * sysdeps/powerpc/powerpc64/le/Implies-before: ... and here. + +2018-05-24 Joseph Myers + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies: Remove + powerpc/soft-fp. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies: + Likewise. + * sysdeps/powerpc/soft-fp/sfp-machine.h: Move to .... + * sysdeps/powerpc/nofpu/sfp-machine.h: ... here. + +2018-05-24 Gabriel F. T. Gomes + + [BZ #23171] + * math/math.h [C++] (iseqsig): Fix parameter type for the long + double version. + +2018-05-23 Joseph Myers + + * sysdeps/sh/Implies: Remove sh/soft-fp. + * sysdeps/sh/soft-fp/sfp-machine.h: Move to .... + * sysdeps/sh/sfp-machine.h: ... here. + +2018-05-23 H.J. Lu + + * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S + (__mempcpy_erms): Skip zero length. + (__memmove_erms): Likewise. + * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S + (__memset_erms): Likewise. + +2018-05-23 Joseph Myers + + * sysdeps/alpha/Implies: Remove alpha/soft-fp. + * sysdeps/alpha/Makefile [$(subdir) = soft-fp] (sysdep_routines): + Add functions moved from .... + [$(subdir) = math] (CPPFLAGS): Add -I../soft-fp. Moved from .... + * sysdeps/alpha/soft-fp/Makefile: ... here. Remove file. + * sysdeps/alpha/Versions (libc): Add GLIBC_2.3.4 symbols moved + from .... + * sysdeps/alpha/soft-fp/Versions: ... here. Remove file. + * sysdeps/alpha/soft-fp/e_sqrtl.c: Move to .... + * sysdeps/alpha/e_sqrtl.c: ... here. + * sysdeps/alpha/soft-fp/local-soft-fp.h: Move to .... + * sysdeps/alpha/local-soft-fp.h: ... here. + * sysdeps/alpha/soft-fp/ots_add.c: Move to .... + * sysdeps/alpha/ots_add.c: ... here. + * sysdeps/alpha/soft-fp/ots_cmp.c: Move to .... + * sysdeps/alpha/ots_cmp.c: ... here. + * sysdeps/alpha/soft-fp/ots_cmpe.c: Move to .... + * sysdeps/alpha/ots_cmpe.c: ... here. + * sysdeps/alpha/soft-fp/ots_cvtqux.c: Move to .... + * sysdeps/alpha/ots_cvtqux.c: ... here. + * sysdeps/alpha/soft-fp/ots_cvtqx.c: Move to .... + * sysdeps/alpha/ots_cvtqx.c: ... here. + * sysdeps/alpha/soft-fp/ots_cvttx.c: Move to .... + * sysdeps/alpha/ots_cvttx.c: ... here. + * sysdeps/alpha/soft-fp/ots_cvtxq.c: Move to .... + * sysdeps/alpha/ots_cvtxq.c: ... here. + * sysdeps/alpha/soft-fp/ots_cvtxt.c: Move to .... + * sysdeps/alpha/ots_cvtxt.c: ... here. + * sysdeps/alpha/soft-fp/ots_div.c: Move to .... + * sysdeps/alpha/ots_div.c: ... here. + * sysdeps/alpha/soft-fp/ots_mul.c: Move to .... + * sysdeps/alpha/ots_mul.c: ... here. + * sysdeps/alpha/soft-fp/ots_nintxq.c: Move to .... + * sysdeps/alpha/ots_nintxq.c: ... here. + * sysdeps/alpha/soft-fp/ots_sub.c: Move to .... + * sysdeps/alpha/ots_sub.c: ... here. + * sysdeps/alpha/soft-fp/sfp-machine.h: Move to .... + * sysdeps/alpha/sfp-machine.h: ... here. + +2018-05-23 Florian Weimer + + [BZ #19728] + [BZ #19729] + [BZ #22247] + CVE-2016-6261 + CVE-2016-6263 + CVE-2017-14062 + Switch to extern IDNA implementation (libidn2). + * libidn: Remove subdirectory. + * LICENSES: Do not mention licensing conditions for the removed + libidn code. + * config.h.in (HAVE_LIBIDN): Remove. + * include/dlfcn.h (__libc_dlopen): Update comment. + * include/idna.h: Remove file. + * inet/Makefile (routines): Add idna. + (tests-static, tests-internal): Add tst-idna_name_classify. + (LOCALES): Generate locales for tests. + (tst-idna_name_classify.out): Depend on generated locales. + * inet/idna_name_classify.c: New file. + * inet/tst-idna_name_classify.c: Likewise. + * inet/net-internal.h (__idna_to_dns_encoding) + (__idna_from_dns_encoding): Declare. + * inet/net-internal.h (enum idna_name_classification): Define. + (__idna_name_classify): Declare. + * inet/Versions (GLIBC_PRIVATE): Add __idna_to_dns_encoding, + __idna_from_dns_encoding. + * inet/getnameinfo.c (DEPRECATED_NI_IDN): Define. + (gni_host_inet_name): Call __idna_from_dns_encoding. Use punycode + name as a fallback in case of encoding errors. + (getnameinfo): Use DEPRECATED_NI_IDN. + * inet/idna.c: New file. + * nscd/gai.c: Do not include . + * resolv/Makefile (tests): Add tst-resolv-ai_idn, + tst-resolv-ai_idn-latin1, tst-resolv-ai_idn-nolibidn2. + (modules-names): Add tst-no-libidn2. + (extra-test-objs): Add tst-no-libidn2.os. + (LDFLAGS-tst-no-libidn2.so): Set soname. + (LOCALES): Set, and generate locales. + (tst-resolv-ai_idn): Link with -ldl -lresolv -lpthread. + (tst-resolv-ai_idn-latin1): Likewise. + (tst-resolv-ai_idn-nolibidn2): Likewise. + (tst-resolv-ai_idn.out): Depend on locales. + (tst-resolv-ai_idn-latin1.out): Depend on locales. + (tst-resolv-ai_idn-nolibidn2.out): Depend on locales and + tst-no-libidn2.so. + * resolv/netdb.h (AI_IDN_ALLOW_UNASSIGNED) + (AI_IDN_USE_STD3_ASCII_RULES, NI_IDN_ALLOW_UNASSIGNED) + (NI_IDN_USE_STD3_ASCII_RULES): Deprecate. + * resolv/tst-resolv-ai_idn.c: New file. + * resolv/tst-resolv-ai_idn-latin1.c: Likewise. + * resolv/tst-resolv-ai_idn-nolibidn2.c: Likewise. + * resolv/tst-no-libidn2.c: Likewise. + * support/support_format_addrinfo.c (format_ai_flags): Do not + handle AI_IDN_ALLOW_UNASSIGNED, AI_IDN_USE_STD3_ASCII_RULES. + * sysdeps/posix/getaddrinfo.c (DEPRECATED_AI_IDN): Define. + (gaih_inet): Call __idna_to_dns_encoding and + __idna_from_dns_encoding, and use the original (punycode) name if + __idna_from_dns_encoding fails due to an encoding error. + (getaddrinfo): Use DEPRECATED_AI_IDN. + * sysdeps/unix/inet/Subdirs (libidn): Remove. + * sysdeps/unix/inet/configure: Remove file. + * sysdeps/unix/inet/configure.ac: Likewise. + +2018-05-23 Florian Weimer + + Implement allocate_once. + * include/allocate_once.h: New file. + * misc/allocate_once.c: Likewise. + * misc/tst-allocate_once.c: Likewise. + * misc/Makefile (routines): Add allocate_once. + (tests-internal): Add tst-allocate_once. + (generated): Add tst-allocate_once.mtrace, + tst-allocate_once-mem.out. + (tests-special): Add tst-allocate_once-mem.out. + (tst-allocate_once-ENV): Set MALLOC_TRACE. + (tst-allocate_once-mem.out): Call mtrace. + * misc/Versions (GLIBC_PRIVATE): Add __libc_allocate_once_slow. + +2018-05-23 H.J. Lu + + [BZ #23196] + * string/test-memcpy.c (do_test1): New function. + (test_main): Call it. + +2018-05-23 Andreas Schwab + + [BZ #23196] + CVE-2018-11237 + * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S + (L(preloop_large)): Save initial destination pointer in %r11 and + use it instead of %rax after the loop. + * string/test-mempcpy.c (MIN_PAGE_SIZE): Define. + +2018-05-22 Joseph Myers + + * sysdeps/aarch64/Implies: Remove aarch64/soft-fp. + * sysdeps/aarch64/Makefile [$(subdir) = math] (CPPFLAGS): Add + -I../soft-fp. Moved from .... + * sysdeps/aarch64/soft-fp/Makefile: ... here. Remove file. + * sysdeps/aarch64/soft-fp/e_sqrtl.c: Move to .... + * sysdeps/aarch64/e_sqrtl.c: ... here. + * sysdeps/aarch64/soft-fp/sfp-machine.h: Move to .... + * sysdeps/aarch64/sfp-machine.h: ... here. + + * sysdeps/ieee754/dbl-64/k_rem_pio2.c (__kernel_rem_pio2): Ignore + -Wmaybe-uninitialized around access to fq[0]. + * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): + Likewise. + + [BZ #18471] + * sysdeps/unix/make-syscalls.sh (emit_weak_aliases): Use weak + aliases for non-libc case of versioned symbols. + * sysdeps/unix/sysv/linux/lseek64.c: Include . + (llseek): Define as compat symbol if + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_28)], not as weak alias + with link warning. + * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list (llseek): + Make into a compat symbol, disabled for minimum symbol version + GLIBC_2.28 and later. + * sysdeps/unix/sysv/linux/x86_64/x32/llseek.S: Remove file. + +2018-05-22 Florian Weimer + + * sysdeps/i386/Makefile [$(subdir) == math] (sysdep-CFLAGS): Do + not add -mpreferred-stack-boundary=4. + [$(subdir) == csu] (sysdep-CFLAGS): Likewise. + (stack-align-test-flags): Likewise. + [$(subdir) == stdlib] (CFLAGS-exit.c, CFLAGS-cxa_finalize.c): + Likewise. + [$(subdir) == elf] (CFLAGS-dl-init.c, CFLAGS-dl-fini.c) + (CFLAGS-dl-open.c, CFLAGS-dl-close.c, CFLAGS-dl-error.c): Likewise. + [$(subdir) == dlfcn] (CFLAGS-dlopen.c, CFLAGS-dlopenold.c) + (CFLAGS-dlclose.c, CFLAGS-dlerror.c): Likewise. + * sysdeps/i386/nptl/Makefile [$(subdir) == nptl] + (CFLAGS-pthread_create.c, CFLAGS-tst-align.c) + (CFLAGS-tst-align2.c): Likewise. + +2018-05-21 H.J. Lu + + * sysdeps/x86/cpu-features.h (bit_arch_Prefer_FSRM): New. + (index_arch_Prefer_FSRM): Likewise. + * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)): + Also check Prefer_FSRM. + * sysdeps/x86_64/multiarch/ifunc-memmove.h (IFUNC_SELECTOR): + Also return OPTIMIZE (erms) for Prefer_FSRM. + +2018-05-21 H.J. Lu + + * sysdeps/x86/cpu-features.h (bit_cpu_FSRM): New. + (index_cpu_FSRM): Likewise. + (reg_FSRM): Likewise. + +2018-05-18 Joseph Myers + + * math/gen-tgmath-tests.py: Import sys. + (Tests.__init__): Initialize macros_seen. + (Tests.add_tests): Add macro to macros_seen. Only generate tests + if requested to do so for this macro. + (Tests.add_all_tests): Take argument for macro for which to + generate tests. + (Tests.check_macro_list): New function. + (main): Handle check-list argument and argument specifying macro + for which to generate tests. + * math/Makefile [PYTHON] (tgmath3-macros): New variable. + [PYTHON] (tgmath3-macro-tests): Likewise. + [PYTHON] (tests): Add $(tgmath3-macro-tests) not test-tgmath3. + [PYTHON] (generated): Add $(addsuffix .c,$(tgmath3-macro-tests)) + not test-tgmath3.c. + [PYTHON] (CFLAGS-test-tgmath3.c): Remove. + [PYTHON] ($(tgmath3-macro-tests:%=$(objpfx)%.o): Add -fno-builtin + to CFLAGS. + [PYTHON] ($(objpfx)test-tgmath3.c): Replace rule by.... + [PYTHON] ($(foreach + m,$(tgmath3-macros),$(objpfx)test-tgmath3-$(m).c): ... this. New + rule. + [PYTHON] (tests-special): Add + $(objpfx)test-tgmath3-macro-list.out. + [PYTHON] ($(objpfx)test-tgmath3-macro-list.out): New rule. + + * sysdeps/unix/sysv/linux/syscalls.list (nfsservctl): Make into a + compat symbol, disabled for minimum symbol version GLIBC_2.28 and + later. + + [BZ #22639] + * time/tzset.c (SECSPERDAY): Cast to time_t. + * time/tst-y2039.c: New file. + * time/Makefile (tests): Add tst-y2039. + +2018-05-17 Leonardo Sandoval + + * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S + (PREFETCH_ONE_SET): Remove duplicate line. + +2018-05-17 Florian Weimer + + * sysdeps/generic/math-type-macros-double.h: Include + after . + * sysdeps/generic/math-type-macros-float.h: Include + after . + * sysdeps/generic/math-type-macros-float128.h: Include + after . + * sysdeps/generic/math-type-macros-ldouble.h: Include + after . + +2018-05-17 Andreas Schwab + + * resolv/res_send.c (__res_context_send): Don't set errno when + returing error after malloc failure. + +2018-05-17 H.J. Lu + + * nptl/allocatestack.c (allocate_stack): Remove the + !__ASSUME_PRIVATE_FUTEX paths. + * nptl/descr.h (header): Remove the !__ASSUME_PRIVATE_FUTEX path. + * nptl/nptl-init.c (__pthread_initialize_minimal_internal): + Likewise. + * sysdeps/i386/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Removed. + * sysdeps/powerpc/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. + * sysdeps/sh/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. + * sysdeps/x86_64/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. + * sysdeps/i386/nptl/tls.h: (tcbhead_t): Remve the + !__ASSUME_PRIVATE_FUTEX path. + * sysdeps/s390/nptl/tls.h (tcbhead_t): Likewise. + * sysdeps/sparc/nptl/tls.h (tcbhead_t): Likewise. + * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise. + * sysdeps/unix/sysv/linux/i386/lowlevellock.S: Remove the + !__ASSUME_PRIVATE_FUTEX macros. + * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_PRIVATE_FUTEX): Removed. + +2018-05-17 Joseph Myers + + * math/Makefile (libm-narrow-fns): Add div. + (libm-test-funcs-narrow): Likewise. + * math/Versions (GLIBC_2.28): Add narrowing divide functions. + * math/bits/mathcalls-narrow.h (div): Use __MATHCALL_NARROW. + * math/gen-auto-libm-tests.c (test_functions): Add div. + * math/math-narrow.h (CHECK_NARROW_DIV): New macro. + (NARROW_DIV_ROUND_TO_ODD): Likewise. + (NARROW_DIV_TRIVIAL): Likewise. + * sysdeps/ieee754/float128/float128_private.h (__fdivl): New + macro. + (__ddivl): Likewise. + * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fdiv and + ddiv. + (CFLAGS-nldbl-ddiv.c): New variable. + (CFLAGS-nldbl-fdiv.c): Likewise. + * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add + __nldbl_ddivl. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_ddivl): New + prototype. + * manual/arith.texi (Misc FP Arithmetic): Document fdiv, fdivl, + ddivl, fMdivfN, fMdivfNx, fMxdivfN and fMxdivfNx. + * math/auto-libm-test-in: Add tests of div. + * math/auto-libm-test-out-narrow-div: New generated file. + * math/libm-test-narrow-div.inc: New file. + * sysdeps/i386/fpu/s_f32xdivf64.c: Likewise. + * sysdeps/ieee754/dbl-64/s_f32xdivf64.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fdiv.c: Likewise. + * sysdeps/ieee754/float128/s_f32divf128.c: Likewise. + * sysdeps/ieee754/float128/s_f64divf128.c: Likewise. + * sysdeps/ieee754/float128/s_f64xdivf128.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_ddivl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_f64xdivf128.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_fdivl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_ddivl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fdivl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_ddivl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fdivl.c: Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c: Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c: Likewise. + * sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fdiv.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise. + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + * sysdeps/mach/hurd/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + +2018-05-16 Adhemerval Zanella + + [BZ #23178] + * nscd/nscd-client.h (sendfileall): Remove prototype. + * nscd/connections.c [HAVE_SENDFILE] (sendfileall): Remove function. + (handle_request): Use writeall instead of sendfileall. + * nscd/aicache.c (addhstaiX): Likewise. + * nscd/grpcache.c (cache_addgr): Likewise. + * nscd/hstcache.c (cache_addhst): Likewise. + * nscd/initgrcache.c (addinitgroupsX): Likewise. + * nscd/netgroupcache.c (addgetnetgrentX, addinnetgrX): Likewise. + * nscd/pwdcache.c (cache_addpw): Likewise. + * nscd/servicescache.c (cache_addserv): Likewise. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) == nscd] + (sysdep-CFLAGS): Remove -DHAVE_SENDFILE. + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_SENDFILE): + Remove define. + +2018-05-16 H.J. Lu + + * sysdeps/x86_64/multiarch/strncat-c.c (STRNCAT_PRIMARY): Removed. + Include . + * sysdeps/x86_64/multiarch/strncat.c (__strncat): New strong + alias. + (__GI___strncat): New hidden alias. + +2018-05-16 Joseph Myers + + * sysdeps/mips/mips32/libm-test-ulps: Update. + * sysdeps/mips/mips64/libm-test-ulps: Likewise. + +2018-05-16 Florian Weimer + + * support/Makefile (libsupport-routines): Add support_quote_blob, + support_test_compare_blob. + (tests): Add tst-support_quote_blob, tst-test_compare_blob. + * support/check.h (TEST_COMPARE_BLOB): Define. + (support_test_compare_blob): Declare. + * support/support.h (support_quote_blob): Declare. + * support/support_quote_blob.c: New file. + * support/support_test_compare_blob.c: Likewise. + * support/tst-support_quote_blob.c: Likewise. + * support/tst-test_compare_blob.c: Likewise. + +2018-05-16 Florian Weimer + + * stdlib/strtod_nan.c: Include instead + of . + * stdlib/strtod_nan_main.c (STRTOD_NAN): Use SET_NAN_PAYLOAD + instead of SET_MANTISSA. + * stdlib/strtof_nan.c: Include instead + of include . + * stdlib/strtold_nan.c: Include + instead of . + * stdlib/strtod_nan_double.h: Move to ... + * sysdeps/generic/math-nan-payload-double.h: ... here. + (FLOAT): Remove definition. + (SET_MANTISSA): Rename to ... + (SET_NAN_PAYLOAD): ... this. + * stdlib/strtod_nan_float.h: Move to ... + * sysdeps/generic/math-nan-payload-float.h: ... here. + (FLOAT): Remove definition. + (SET_MANTISSA): Rename to ... + (SET_NAN_PAYLOAD): ... this. + * sysdeps/generic/math-type-macros-double.h: Include + . Include + instead of . + * sysdeps/generic/math-type-macros-float.h: Include + . Include + instead of . + * sysdeps/generic/math-type-macros-float128.h: Include + . + * sysdeps/generic/math-type-macros-ldouble.h: Include + . Include + instead of . + * sysdeps/generic/math-type-macros.h: Document SET_NAN_PAYLOAD and + check for definition. + * sysdeps/ieee754/float128/strtod_nan_float128.h: Move to ... + * sysdeps/ieee754/float128/math-nan-payload-float128.h: ... here. + Include . + (FLOAT): Remove definition. + (SET_MANTISSA): Rename to ... + (SET_NAN_PAYLOAD): ... this. + * sysdeps/ieee754/float128/strtof128_nan.c: Include + instead of . + Do not include . + * sysdeps/ieee754/float128/wcstof128_nan.c: Likewise. + * sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h: Move to ... + * sysdeps/ieee754/ldbl-128/math-nan-payload-ldouble.h: ... here. + (FLOAT): Remove definition. + (SET_MANTISSA): Rename to ... + (SET_NAN_PAYLOAD): ... this. + * sysdeps/ieee754/ldbl-128ibm/strtod_nan_ldouble.h: Move to ... + * sysdeps/ieee754/ldbl-128ibm/math-nan-payload-ldouble.h: ... here. + (FLOAT): Remove definition. + (SET_MANTISSA): Rename to ... + (SET_NAN_PAYLOAD): ... this. + * sysdeps/ieee754/ldbl-96/strtod_nan_ldouble.h: Move to ... + * sysdeps/ieee754/ldbl-96/math-nan-payload-ldouble.h: ... here. + (FLOAT): Remove definition. + (SET_MANTISSA): Rename to ... + (SET_NAN_PAYLOAD): ... this. + * wcsmbs/wcstod_nan.c: Include instead + of "../stdlib/strtod_nan_double.h". + * wcsmbs/wcstof_nan.c: Include instead + of "../stdlib/strtod_nan_float.h". + * wcsmbs/wcstold_nan.c: Include + instead of "../stdlib/strtod_nan_ldouble.h". + * manual/arith.texi (Parsing of Floats): Adjust comment. + +2018-05-16 Joseph Myers + + * math/Makefile (libm-narrow-fns): Add mul. + (libm-test-funcs-narrow): Likewise. + * math/Versions (GLIBC_2.28): Add narrowing multiply functions. + * math/bits/mathcalls-narrow.h (mul): Use __MATHCALL_NARROW. + * math/gen-auto-libm-tests.c (test_functions): Add mul. + * math/math-narrow.h (CHECK_NARROW_MUL): New macro. + (NARROW_MUL_ROUND_TO_ODD): Likewise. + (NARROW_MUL_TRIVIAL): Likewise. + * soft-fp/op-common.h (FP_TRUNC_COOKED): Likewise. + * sysdeps/ieee754/float128/float128_private.h (__fmull): New + macro. + (__dmull): Likewise. + * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fmul and + dmul. + (CFLAGS-nldbl-dmul.c): New variable. + (CFLAGS-nldbl-fmul.c): Likewise. + * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add + __nldbl_dmull. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_dmull): New + prototype. + * manual/arith.texi (Misc FP Arithmetic): Document fmul, fmull, + dmull, fMmulfN, fMmulfNx, fMxmulfN and fMxmulfNx. + * math/auto-libm-test-in: Add tests of mul. + * math/auto-libm-test-out-narrow-mul: New generated file. + * math/libm-test-narrow-mul.inc: New file. + * sysdeps/i386/fpu/s_f32xmulf64.c: Likewise. + * sysdeps/ieee754/dbl-64/s_f32xmulf64.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fmul.c: Likewise. + * sysdeps/ieee754/float128/s_f32mulf128.c: Likewise. + * sysdeps/ieee754/float128/s_f64mulf128.c: Likewise. + * sysdeps/ieee754/float128/s_f64xmulf128.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_dmull.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_f64xmulf128.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_fmull.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_dmull.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fmull.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_dmull.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fmull.c: Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-dmul.c: Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-fmul.c: Likewise. + * sysdeps/ieee754/soft-fp/s_dmull.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fmul.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fmull.c: Likewise. + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + * sysdeps/mach/hurd/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + +2018-05-14 H.J. Lu + + * sysdeps/i386/crti.S (_init): Replace PREINIT_FUNCTION@PLT + with *%eax in call. + +2018-05-14 H.J. Lu + + * sysdeps/i386/ldsodefs.h: Removed. + * sysdeps/x86_64/ldsodefs.h: Moved to ... + * sysdeps/x86/ldsodefs.h: This. + (La_i86_regs): New. + (La_i86_retval): Likewise. + (ARCH_PLTENTER_MEMBERS): Add i86_gnu_pltenter. + (ARCH_PLTEXIT_MEMBERS): i86_gnu_pltexit. + +2018-05-14 H.J. Lu + + * sysdeps/x86_64/multiarch/strlen-avx2.S (STRLEN): Remove the + unnecessary testl. + +2018-05-13 Alan Modra + + * sysdeps/hppa/dl-machine.h (elf_machine_rela): Add + R_PARISC_TLS_DTPOFF32 reloc addend. + +2018-05-11 Tulio Magno Quites Machado Filho + + * bits/floatn-common.h: Define __HAVE_FLOAT128_UNLIKE_LDBL. + * math/math.h: Restrict the prototype definition for the functions + issignaling(_Float128) and iszero(_Float128); and template + __iseqsig_type<_Float128>, from __HAVE_DISTINCT_FLOAT128 to + __HAVE_FLOAT128_UNLIKE_LDBL. + * sysdeps/powerpc/bits/floatn.h [__HAVE_FLOAT128 + && (!__GNUC_PREREQ (7, 0) || defined __cplusplus) + && __LDBL_MANT_DIG__ == 113]: Use long double suffix for + __f128() constants; define the type _Float128 as long double; + and reuse long double in __CFLOAT128. + +2018-05-11 Joseph Myers + + * sysdeps/generic/math_private.h: Do not include + . + * stdlib/strtod_l.c: Include instead of + . + * math/fromfp.h: Include . + * math/math-narrow.h: Likewise. + * math/s_nextafter.c: Likewise. + * math/s_nexttowardf.c: Likewise. + * sysdeps/aarch64/fpu/s_llrint.c: Likewise. + * sysdeps/aarch64/fpu/s_llrintf.c: Likewise. + * sysdeps/aarch64/fpu/s_lrint.c: Likewise. + * sysdeps/aarch64/fpu/s_lrintf.c: Likewise. + * sysdeps/i386/fpu/s_nextafterl.c: Likewise. + * sysdeps/i386/fpu/s_nexttoward.c: Likewise. + * sysdeps/i386/fpu/s_nexttowardf.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise. + * sysdeps/ieee754/dbl-64/e_j0.c: Likewise. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/s_expm1.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fma.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_log1p.c: Likewise. + * sysdeps/ieee754/dbl-64/s_nearbyint.c: Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Likewise. + * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise. + * sysdeps/ieee754/flt-32/e_j0f.c: Likewise. + * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise. + * sysdeps/ieee754/flt-32/s_log1pf.c: Likewise. + * sysdeps/ieee754/flt-32/s_nearbyintf.c: Likewise. + * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise. + * sysdeps/ieee754/k_standardl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_nextafterl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_nexttowardf.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_nexttowardf.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_nextafterl.c: Likewise. + +2018-05-11 Florian Weimer + + Use 64-bit epoch values in the time zone file parser. + * include/time.h (internal_time_t): Define. + (__tzfile_compute): Use it. + * time/tzfile.c (struct leap): Use internal_time_t for epoch + member. + (transitions): Switch to internal_time_t. + (__tzfile_read): Likewise. Remove code dealing with 4-byte time_t + types. + (__tzfile_compute): Use internal_time_t for timer argument. Check + for truncation before calling __offtime. + +2018-05-11 Florian Weimer + + [BZ #23166] + * include/rpc/clnt.h (rpc_createerr): Declare hidden alias. + * include/rpc/svc.h (svc_pollfd, svc_max_pollfd, svc_fdset): + Likewise. + * sunrpc/rpc_common.c (svc_fdset, rpc_createerr, svc_pollfd) + (svc_max_pollfd): Add nocommon attribute and hidden alias. Do not + export without --enable-obsolete-rpc. + * sunrpc/svcauth_des.c (svcauthdes_stats): Turn into compatibility + symbol. This should not have been exported, ever. + +2018-05-11 Rafał Lużyński + + [BZ #23152] + * localedata/locales/gd_GB (abmon): Fix typo in May: + "Mhàrt" -> "Cèit". Adjust the comment according to the change. + +2018-05-11 Siddhesh Poyarekar + + * sysdeps/aarch64/multiarch/memcpy_falkor.S (__memcpy_falkor): + Use multiple registers to copy data in loop tail. + + * sysdeps/aarch64/multiarch/memmove_falkor.S + (__memmove_falkor): Use multiple registers to move data in + loop tail. + +2018-05-10 Joseph Myers + + * math/math-underflow.h: New file. + * sysdeps/generic/math_private.h: Do not include . + (fabs_tg): Remove macro. Moved to math-underflow.h. + (min_of_type_f): Likewise. + (min_of_type_): Likewise. + (min_of_type_l): Likewise. + (min_of_type_f128): Likewise. + (min_of_type): Likewise. + (math_check_force_underflow): Likewise. + (math_check_force_underflow_nonneg): Likewise. + (math_check_force_underflow_complex): Likewise. + * math/e_exp2_template.c: Include . + * math/k_casinh_template.c: Likewise. + * math/s_catan_template.c: Likewise. + * math/s_catanh_template.c: Likewise. + * math/s_ccosh_template.c: Likewise. + * math/s_cexp_template.c: Likewise. + * math/s_clog10_template.c: Likewise. + * math/s_clog_template.c: Likewise. + * math/s_csin_template.c: Likewise. + * math/s_csinh_template.c: Likewise. + * math/s_csqrt_template.c: Likewise. + * math/s_ctan_template.c: Likewise. + * math/s_ctanh_template.c: Likewise. + * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise. + * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise. + * sysdeps/ieee754/dbl-64/e_hypot.c: Likewise. + * sysdeps/ieee754/dbl-64/e_j1.c: Likewise. + * sysdeps/ieee754/dbl-64/e_jn.c: Likewise. + * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. + * sysdeps/ieee754/dbl-64/e_sinh.c: Likewise. + * sysdeps/ieee754/dbl-64/s_asinh.c: Likewise. + * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_erf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_expm1.c: Likewise. + * sysdeps/ieee754/dbl-64/s_log1p.c: Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. + * sysdeps/ieee754/dbl-64/s_sincos.c: Likewise. + * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_tanh.c: Likewise. + * sysdeps/ieee754/flt-32/e_asinf.c: Likewise. + * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise. + * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. + * sysdeps/ieee754/flt-32/e_j1f.c: Likewise. + * sysdeps/ieee754/flt-32/e_jnf.c: Likewise. + * sysdeps/ieee754/flt-32/e_sinhf.c: Likewise. + * sysdeps/ieee754/flt-32/k_sinf.c: Likewise. + * sysdeps/ieee754/flt-32/k_tanf.c: Likewise. + * sysdeps/ieee754/flt-32/s_asinhf.c: Likewise. + * sysdeps/ieee754/flt-32/s_atanf.c: Likewise. + * sysdeps/ieee754/flt-32/s_erff.c: Likewise. + * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise. + * sysdeps/ieee754/flt-32/s_log1pf.c: Likewise. + * sysdeps/ieee754/flt-32/s_tanhf.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_atanhl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_hypotl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise. + * sysdeps/ieee754/ldbl-128/k_sincosl.c: Likewise. + * sysdeps/ieee754/ldbl-128/k_sinl.c: Likewise. + * sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_asinhl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_tanhl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_atanhl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_powl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/k_sincosl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/k_sinl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/k_tanl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_erfl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_tanhl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_hypotl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_sinhl.c: Likewise. + * sysdeps/ieee754/ldbl-96/k_sinl.c: Likewise. + * sysdeps/ieee754/ldbl-96/k_tanl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_asinhl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_tanhl.c: Likewise. + * sysdeps/powerpc/fpu/e_hypot.c: Likewise. + * sysdeps/x86/fpu/powl_helper.c: Likewise. + * sysdeps/ieee754/dbl-64/s_nextup.c: Include . + * sysdeps/ieee754/flt-32/s_nextupf.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_nextupl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_nextupl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_nextupl.c: Likewise. + +2018-05-09 Joseph Myers + + * sysdeps/generic/math-barriers.h: New file. + * sysdeps/generic/math_private.h [!math_opt_barrier] + (math_opt_barrier): Move to math-barriers.h. + [!math_opt_barrier] (math_force_eval): Likewise. + * sysdeps/aarch64/fpu/math-barriers.h: New file. + * sysdeps/aarch64/fpu/math_private.h (math_opt_barrier): Move to + math-barriers.h. + (math_force_eval): Likewise. + * sysdeps/alpha/fpu/math-barriers.h: New file. + * sysdeps/alpha/fpu/math_private.h (math_opt_barrier): Move to + math-barriers.h. + (math_force_eval): Likewise. + * sysdeps/x86/fpu/math-barriers.h: New file. + * sysdeps/i386/fpu/fenv_private.h (math_opt_barrier): Move to + math-barriers.h. + (math_force_eval): Likewise. + * sysdeps/m68k/m680x0/fpu/math_private.h: Move to.... + * sysdeps/m68k/m680x0/fpu/math-barriers.h: ... here. Adjust + multiple-include guard for rename. + * sysdeps/powerpc/fpu/math-barriers.h: New file. + * sysdeps/powerpc/fpu/math_private.h (math_opt_barrier): Move to + math-barriers.h. + (math_force_eval): Likewise. + +2018-05-09 Paul Pluzhnikov + + [BZ #22786] + CVE-2018-11236 + * stdlib/canonicalize.c (__realpath): Fix overflow in path length + computation. + * stdlib/Makefile (test-bz22786): New test. + * stdlib/test-bz22786.c: New test. + +2018-05-09 Joseph Myers + + * include/math-narrow-eval.h: New file. Contents moved from .... + * sysdeps/generic/math_private.h: ... here. + (math_narrow_eval): Remove macro. Moved to math-narrow-eval.h. + [FLT_EVAL_METHOD != 0] (excess_precision): Likewise. + * math/s_fdim_template.c: Include . + * stdlib/strtod_l.c: Likewise. + * sysdeps/i386/fpu/s_f32xaddf64.c: Likewise. + * sysdeps/i386/fpu/s_f32xsubf64.c: Likewise. + * sysdeps/i386/fpu/s_fdim.c: Likewise. + * sysdeps/ieee754/dbl-64/e_cosh.c: Likewise. + * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise. + * sysdeps/ieee754/dbl-64/e_j1.c: Likewise. + * sysdeps/ieee754/dbl-64/e_jn.c: Likewise. + * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Likewise. + * sysdeps/ieee754/dbl-64/e_sinh.c: Likewise. + * sysdeps/ieee754/dbl-64/gamma_productf.c: Likewise. + * sysdeps/ieee754/dbl-64/k_rem_pio2.c: Likewise. + * sysdeps/ieee754/dbl-64/lgamma_neg.c: Likewise. + * sysdeps/ieee754/dbl-64/s_erf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_llrint.c: Likewise. + * sysdeps/ieee754/dbl-64/s_lrint.c: Likewise. + * sysdeps/ieee754/flt-32/e_coshf.c: Likewise. + * sysdeps/ieee754/flt-32/e_exp2f.c: Likewise. + * sysdeps/ieee754/flt-32/e_expf.c: Likewise. + * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. + * sysdeps/ieee754/flt-32/e_j1f.c: Likewise. + * sysdeps/ieee754/flt-32/e_jnf.c: Likewise. + * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise. + * sysdeps/ieee754/flt-32/e_sinhf.c: Likewise. + * sysdeps/ieee754/flt-32/k_rem_pio2f.c: Likewise. + * sysdeps/ieee754/flt-32/lgamma_negf.c: Likewise. + * sysdeps/ieee754/flt-32/s_erff.c: Likewise. + * sysdeps/ieee754/flt-32/s_llrintf.c: Likewise. + * sysdeps/ieee754/flt-32/s_lrintf.c: Likewise. + * sysdeps/ieee754/ldbl-96/gamma_product.c: Likewise. + +2018-05-08 Andreas Schwab + + * sysdeps/nptl/internaltypes.h: Fix comment. + +2018-05-07 H.J. Lu + + * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S + (MEMSET_SYMBOL (__memset, erms)): Mark the debugger symbol as + hidden. + +2018-05-07 Siddhesh Poyarekar + + * benchtests/bench-memcpy-walk.c (test_main): Move declaration + of I into loop header. + * benchtests/bench-memmove-walk.c + (test_main): Likewise. + +2018-05-07 Alexandre Oliva + + Revert: + 2018-04-30 Raymond Nicholson + * manual/startup.texi (Aborting a Program): Remove inappropriate joke. + +2018-05-05 Paul Pluzhnikov + + [BZ #20419] + * elf/dl-load.c (open_verify): Fix stack overflow. + * elf/Makefile (tst-big-note): New test. + * elf/tst-big-note-lib.S: New. + * elf/tst-big-note.c: New. + +2018-05-04 Joseph Myers + + * scripts/abilist.awk: Ignore absolute symbols. + * sysdeps/mach/hurd/i386/ld.abilist: Remove absolute symbols. + * sysdeps/mach/hurd/i386/libBrokenLocale.abilist: Likewise. + * sysdeps/mach/hurd/i386/libanl.abilist: Likewise. + * sysdeps/mach/hurd/i386/libc.abilist: Likewise. + * sysdeps/mach/hurd/i386/libcrypt.abilist: Likewise. + * sysdeps/mach/hurd/i386/libdl.abilist: Likewise. + * sysdeps/mach/hurd/i386/libm.abilist: Likewise. + * sysdeps/mach/hurd/i386/libnsl.abilist: Likewise. + * sysdeps/mach/hurd/i386/libpthread.abilist: Likewise. + * sysdeps/mach/hurd/i386/libresolv.abilist: Likewise. + * sysdeps/mach/hurd/i386/librt.abilist: Likewise. + * sysdeps/mach/hurd/i386/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libcidn.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libnss_compat.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libnss_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libnss_dns.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libnss_files.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libnss_hesiod.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libnss_nis.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libnss_nisplus.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libthread_db.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/librt-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/libmvec.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist: Likewise. + +2018-05-04 Stefan Liebler + + [BZ #23137] + * sysdeps/nptl/lowlevellock.h (lll_wait_tid): + Use atomic_load_acquire to load __tid. + +2018-05-02 H.J. Lu + + * sysdeps/unix/sysv/linux/x86_64/swapcontext.S (__swapcontext): + Restore the pointer into %rdx, after syscall and use %rdx, + instead of %rsi, to restore context. + +2018-05-02 H.J. Lu + + * sysdeps/unix/sysv/linux/x86_64/setcontext.S (__setcontext): + Pop the pointer into %rdx after syscall and use %rdx, instead + of %rsi, to restore context. + +2018-05-02 H.J. Lu + + * nptl/pthread_create.c (START_THREAD_DEFN): Clear previous + handlers after setjmp. + * setjmp/longjmp.c (__libc_longjmp): Don't define alias if + defined. + * sysdeps/unix/sysv/linux/x86/setjmpP.h: Include + . + (_JUMP_BUF_SIGSET_BITS_PER_WORD): New. + (_JUMP_BUF_SIGSET_NSIG): Changed to 96. + (_JUMP_BUF_SIGSET_NWORDS): Changed to use ALIGN_UP and + _JUMP_BUF_SIGSET_BITS_PER_WORD. + * sysdeps/x86/Makefile (sysdep_routines): Add __longjmp_cancel. + * sysdeps/x86/__longjmp_cancel.S: New file. + * sysdeps/x86/longjmp.c: Likewise. + * sysdeps/x86/nptl/pt-longjmp.c: Likewise. + +2018-05-02 Adhemerval Zanella + + * NEWS: Add ustat.h deprecation entry. + * bits/ustat.h: Remove file. + * misc/sys/ustat.h: Likewise. + * misc/ustat.h: Likewise. + * sysdeps/unix/sysv/linux/generic/ustat.c: Likewise. + * misc/Makefile (headers): Remove ustat.h and sys/ustat.h. + * misc/ustat.c (__ustat): Rename to __old_ustat and export only in + compatibility mode. + * sysdeps/unix/sysv/linux/ustat.c (__ustat): Likewise. + * sysdeps/unix/sysv/linux/mips/ustat.c: Define DEV_TO_KDEV and use + generic Linux implementation. + +2018-04-30 Tulio Magno Quites Machado Filho + + * math/w_exp_compat.c: Replace hidden_def with libm_hidden_def.. + * math/w_expl_compat.c: Likewise. + * math/w_exp_template.c: Likewise. Remove hidden_def_x. + +2018-04-30 Raymond Nicholson + + * manual/startup.texi (Aborting a Program): Remove inappropriate joke. + +2018-04-27 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/arm/readahead.c: Remove file. + * sysdeps/unix/sysv/linux/mips/mips32/readahead.c: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list (readahead): + Remove. + * sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/readahead.c (__readahead): Assume + __NR_readahead existence, and use INLINE_SYSCALL_CALL, __ALIGNMENT_ARG, + and SYSCALL_LL64. + +2018-04-27 Tulio Magno Quites Machado Filho + + * math/e_exp2_template.c: Replace M_SUF (M_LN2) with M_MLIT (M_LN2). + + * math/w_acos_template.c: Replace M_SUF (fabs) with M_FABS. + * math/w_asin_template.c: Likewise. + * math/w_atanh_template.c: Likewise. + +2018-04-27 Gabriel F. T. Gomes + + * sysdeps/powerpc/preconfigure [machine == powerpc64] (machine): Define + to powerpc/powerpc64/be for big-endian. + [machine == powerpc64le]: Define to powerpc/powerpc64/le for + little-endian. + + * sysdeps/powerpc/powerpc64/power4/Implies: Move to powerpc64/be. + * sysdeps/powerpc/powerpc64/power4/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power4/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power4/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power5+/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power5+/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power5/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power5/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power5/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6x/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6x/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power7/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power7/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power8/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power8/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power9/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power9/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power9/multiarch/Implies: Likewise. + + * sysdeps/powerpc/powerpc64/be/power4/Implies: Move from powerpc64 and + adjusted to imply powerpc64 and older processors on powerpc64/be. + * sysdeps/powerpc/powerpc64/be/power4/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power4/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power4/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power5+/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power5+/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power5+/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power5+/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power5/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power5/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power5/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power5/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power6/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power6/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power6/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power6/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power6x/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power6x/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power6x/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power6x/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power7/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power7/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power7/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power7/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power8/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power8/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power8/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power8/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power9/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power9/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power9/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/power9/multiarch/Implies: Likewise. + + * sysdeps/powerpc/powerpc64/970/Implies: Move to powerpc64/be. + * sysdeps/powerpc/powerpc64/be/970/Implies: Move from powerpc64/be. + * sysdeps/powerpc/powerpc64/be/a2/Implies: New file. + * sysdeps/powerpc/powerpc64/be/cell/Implies: Likewise. + + * sysdeps/powerpc/powerpc64/be/Implies: New file. + * sysdeps/powerpc/powerpc64/be/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/be/multiarch/Implies: Likewise. + + * sysdeps/powerpc/powerpc64le/Implies: Move to powerpc64/le. + * sysdeps/powerpc/powerpc64le/Implies-before: Likewise. + * sysdeps/powerpc/powerpc64le/Makefile: Likewise. + * sysdeps/powerpc/powerpc64le/configure: Likewise. + * sysdeps/powerpc/powerpc64le/configure.ac: Likewise. + * sysdeps/powerpc/powerpc64le/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/fpu/e_sqrtf128.c: Likewise. + * sysdeps/powerpc/powerpc64le/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/fpu/sfp-machine.h: Likewise. + * sysdeps/powerpc/powerpc64le/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c: Likewise. + + * sysdeps/powerpc/powerpc64/le/Implies: Move from powerpc64le. + * sysdeps/powerpc/powerpc64/le/Implies-before: Likewise. + * sysdeps/powerpc/powerpc64/le/Makefile: Likewise. + * sysdeps/powerpc/powerpc64/le/configure: Likewise. + * sysdeps/powerpc/powerpc64/le/configure.ac: Likewise. + * sysdeps/powerpc/powerpc64/le/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c: Likewise. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/fpu/sfp-machine.h: Likewise. + * sysdeps/powerpc/powerpc64/le/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power9/fpu/e_sqrtf128.c: Likewise. + + * sysdeps/powerpc/powerpc64le/power7/Implies: Move to powerpc64/le. + * sysdeps/powerpc/powerpc64le/power7/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power7/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power7/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power8/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power8/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power8/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power8/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power9/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power9/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power9/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64le/power9/multiarch/Implies: Likewise. + + * sysdeps/powerpc/powerpc64/le/power7/Implies: Move from powerpc64le + and adjusted to imply olders processors. + * sysdeps/powerpc/powerpc64/le/power7/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power7/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power7/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power8/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power8/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power8/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power8/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power9/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power9/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power9/fpu/multiarch/Implies: Likewise. + * sysdeps/powerpc/powerpc64/le/power9/multiarch/Implies: Likewise. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64le/Implies: Move to + powerpc64/le. + * sysdeps/unix/sysv/linux/powerpc/powerpc64le/float128-abi.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64le/fpu/Implies: Likewise. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/Implies: Move from + powerpc64le. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/fpu/Implies: Likewise. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: Move to + powerpc64/be. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/a2/Implies: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/fpu/Implies: Likewise. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/970/Implies: Move from + powerpc64 and adjusted. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/a2/Implies: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/cell/Implies: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/cell/fpu/Implies: + Likewise. + +2018-04-27 Joseph Myers + + * sysdeps/tile: Remove. + * sysdeps/unix/sysv/linux/tile: Likewise. + * README (tilegx-*-linux-gnu): Remove from list of supported + configurations. + * manual/contrib.texi (Contributors): Mention Chris Metcalf's + contribution of support for generic Linux kernel syscall + interface. + * scripts/build-many-glibcs.py (Context.add_all_configs): Remove + tilegx configurations. + (Config.install_linux_headers): Do not handle tile. + * sysdeps/unix/sysv/linux/aarch64/ldsodefs.h: Do not mention Tile + in comment. + * sysdeps/unix/sysv/linux/nios2/Makefile: Likewise. + * sysdeps/unix/sysv/linux/posix_fadvise.c: Likewise. + [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove + conditional undefine and redefine. + * sysdeps/unix/sysv/linux/posix_fadvise64.c: Do not mention Tile + in comment. + [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove + conditional undefine and redefine. + +2018-04-26 Aurelien Jarno + + * signal/tst-sigaction.c: New file to test BZ #23069. + * signal/Makefile (tests): Fix indentation. Add tst-sigaction. + +2018-04-26 Tulio Magno Quites Machado Filho + + [BZ #22766] + * include/dlfcn.h [__libc_dl_open]: Replace RTLD_LAZY with RTLD_NOW. + * sysdeps/gnu/unwind-resume.c (__lib_gcc_s_init): Replace + __libc_dlopen_mode() using RTLD_NOW with __libc_dlopen. + * sysdeps/nptl/unwind-forcedunwind.c: Likewise. + +2018-04-25 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/getdirentries.c (getdirentries): Build iff + _DIRENT_MATCHES_DIRENT64 is not defined. + * sysdeps/unix/sysv/linux/getdirentries64.c (getdirentries64): Open + implementation and alias to getdirentries if _DIRENT_MATCHES_DIRENT64 + is defined. + * sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: Remove file. + * sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: Remove file. + +2018-04-25 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default GCC + version to GCC 8 branch. + +2018-04-24 Joseph Myers + + * sysdeps/mach/hurd/dl-sysdep.c: Include . + (check_no_hidden): Use type of original function when declaring + alias. + + * sysdeps/unix/sysv/linux/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): New enum value and macro. + * sysdeps/unix/sysv/linux/bits/ptrace-shared.h + (struct __ptrace_seccomp_metadata): New type. + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): Likewise. + * sysdeps/unix/sysv/linux/arm/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): Likewise. + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): Likewise. + * sysdeps/unix/sysv/linux/s390/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): Likewise. + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): Likewise. + * sysdeps/unix/sysv/linux/tile/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): Likewise. + * sysdeps/unix/sysv/linux/x86/sys/ptrace.h + (PTRACE_SECCOMP_GET_METADATA): Likewise. + +2018-04-23 Adhemerval Zanella + + * dirent/alphasort.c (alphasort): Build iff _DIRENT_MATCHES_DIRENT64 is + defined. + * dirent/versionsort.c (versionsort): Likewise. + * dirent/alphasort64.c (alphasort64): Build regardless and alias to + alphasort if _DIRENT_MATCHES_DIRENT64 is defined. + * dirent/versionsort64.c (versionsort64): Likewise. + * sysdeps/unix/sysv/linux/i386/alphasort64.c: Remove file. + * sysdeps/unix/sysv/linux/arm/alphasort64.c: Likewise. + * sysdeps/unix/sysv/linux/arm/versionsort64.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/alphasort64.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/versionsort64.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise. + * sysdeps/unix/sysv/linux/alphasort64.c: New file. + * sysdeps/unix/sysv/linux/versionsort64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/alphasort64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/versionsort64.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/alphasort64.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/versionsort64.c: Likewise. + +2018-04-23 Joseph Myers + + * elf/elf.h (NT_PPC_PKEY): New macro. + +2018-04-23 Dragan Stanojevic - Nevidljivi + + [BZ #23094] + * localedata/locales/hr_HR: fix thousands_sep and + mon_thousands_sep + +2018-04-20 Joseph Myers + + * sysdeps/unix/sysv/linux/alpha/bits/termios.h [__USE_MISC] + (XTABS): Define to TAB3. + +2018-04-20 Adhemerval Zanella + + * sysdeps/hppa/fpu/libm-test-ulps: Update. + + * dirent/scandir-tail-common.c: New file. + * dirent/scandir-tail.c: Use scandir-tail-common.c. + (__scandir_tail): Build iff _DIRENT_MATCHES_DIRENT64 is not defined. + * dirent/scandir.c: Use scandir-tail-common.c. + * dirent/scandirat.c: Likewise. + * dirent/scandir64-tail.c: Use scandir-tail-common.c. + * dirent/scandir64.c (scandir64): Always build and alias to scandir + if _DIRENT_MATCHES_DIRENT64 is defined. + * dirent/scandirat64.c (scandirat64): Likewise. + * include/dirent.h (__scandir_tail): Only define iff + _DIRENT_MATCHES_DIRENT64 is not defined. + (__scandir64_tail): Define regardless. + (__scandirat, scandirat64): Remove libc_hidden_proto. + * sysdeps/unix/sysv/linux/arm/scandir64.c: Remove file. + * sysdeps/unix/sysv/linux/m68k/scandir64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c: Likewise. + * sysdeps/unix/sysv/linux/scandir64.c: New file. + +2018-04-20 Joseph Myers + + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_ASIMDFHM): + New macro. + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT): + Increase to 24. + (_dl_aarch64_cap_flags): Add asimdfhm. + +2018-04-19 Chung-Lin Tang + + * sysdeps/nios2/libm-test-ulps: Update. + +2018-04-19 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c (__getdents64): + Only alias to __getdents for _DIRENT_MATCHES_DIRENT64. + + * sysdeps/unix/sysv/linux/alpha/getdents.c: Add comments with alpha + requirements. + (_DIRENT_MATCHES_DIRENT64): Undef + * sysdeps/unix/sysv/linux/alpha/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/arm/getdents64.c: Remove file. + * sysdeps/unix/sysv/linux/generic/getdents.c: Likewise. + * sysdeps/unix/sysv/linux/generic/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c: Likewise. + * sysdeps/unix/sysv/linux/getdents.c: Simplify implementation by + use getdents64 syscalls as base. + * sysdeps/unix/sysv/linux/getdents64.c: Likewise and add compatibility + symbol if required. + * sysdeps/unix/sysv/linux/hppa/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/getdents.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c + (__get_clockfreq_via_proc_openprom): Use __getdents64. + * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c: New file. + +2018-04-19 Stefan Liebler + + * scripts/test_printers_common.py (init_test): Disable lock elision. + +2018-04-19 Stefan Liebler + + * math/test-tgmath.c (count_double, count_float, + count_ldouble, count_cdouble, count_cfloat, + count_cldouble): Use volatile int. + +2018-04-19 Samuel Thibault + + * sysdeps/mach/hurd/i386/Makefile [$(subdir) = conform] + (conformtest-xfail-conds): Add i386-gnu. + * conform/data/fcntl.h-data (flock.l_type, flock.l_whence): XFAIL on + i386-gnu. + * conform/data/sys/ipc.h-data (ipc_perm.uid, ipc_perm.gid, + ipc_perm.cuid, ipc_perm.cgid): Likewise. + * conform/data/sys/msg.h-data (msqid_ds.msg_lspid, + msqid_ds.msg_lrpid): Likewise. + * conform/data/sys/shm.h-data (shmid_ds.shm_lpid, shmid_ds.shm_cpid): + Likewise. + * conform/data/sys/stat.h-data (stat.st_dev): Likewise. + * conform/data/sys/statvfs.h-data (statvfs.f_fsid): Likewise. + * sysdeps/mach/hurd/bits/statvfs.h (struct statvfs): Make f_bsize, + f_namemax, f_frsize, and f_flag fields unsigned long int instead of + unsigned int. + (struct statvfs64): Likewise. + * sysdeps/mach/hurd/bits/statfs.h (struct statfs, struct statfs64): + Likewise. + * bits/in.h [!__USE_MISC]: Do not define struct ip_opts. + * conform/data/netinet/in.h-data: Allow sin_ and sin6_ prefix. + * sysdeps/gnu/bits/msq.h (struct msqid_ds): Use __wait_queue struct + instead of wait_queue. + * sysdeps/gnu/bits/shm.h (struct shmid_ds): Use __vm_area_struct + instead of vm_area_struct. + * bits/sched.h: Include and move + struct sched_param definition to it. + * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. + * bits/types/struct_sched_param.h: New file. + * sysdeps/htl/bits/types/struct___pthread_attr.h: Include + instead of . + * posix/Makefile (headers): Add bits/types/struct_sched_param.h. + * sysdeps/pthread/bits/types/sigevent_t.h: New file, based on the + generic version but include to make struct + sigevent's sigev_notify_attributes field a pthread_attr_t*. + * bits/types/siginfo_t.h: Remove siginfo struct name, unused and + non-compliant. + * bits/termios.h [__USE_XOPEN || __USE_XOPEN2K8] (IXANY): Define. + [__USE_XOPEN && !__USE_XOPEN2K] (IUCLC, OLCUC): Define. + [__USE_XOPEN] (OFDEL): New macro. + [__USE_XOPEN && !__USE_XOPEN2K] (XCASE): New macro. + * bits/resource.h (RLIM_SAVED_MAX, RLIM_SAVED_CUR): New macros. + * sysdeps/hurd/include/hurd.h [!_ISOMAC]: Do not declare libc hidden + prototypes. + * sysdeps/hurd/include/hurd/fd.h [!_ISOMAC]: Likewise. + * sysdeps/hurd/include/hurd/signal.h [!_ISOMAC]: Likewise. + * sysdeps/arm/sys/ucontext.h: Remove fpregset struct name, unused and + non-compliant. + * sysdeps/i386/sys/ucontext.h: Likewise. + * sysdeps/m68k/sys/ucontext.h: Likewise. + * sysdeps/mips/sys/ucontext.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Likewise. + * sysdeps/mach/hurd/i386/Makefile + (test-xfail-POSIX/fcntl.h/conform): Add. + (test-xfail-POSIX/signal.h/conform): Add. + (test-xfail-POSIX/semaphore.h/conform): Add. + (test-xfail-POSIX/regex.h/conform): Add. + (test-xfail-POSIX/aio.h/conform): Add. + (test-xfail-POSIX/mqueue.h/conform): Add. + (test-xfail-POSIX/sys/types.h/conform): Add. + (test-xfail-UNIX98/fcntl.h/conform): Add. + (test-xfail-UNIX98/netdb.h/conform): Add. + (test-xfail-UNIX98/signal.h/conform): Add. + (test-xfail-UNIX98/semaphore.h/conform): Add. + (test-xfail-UNIX98/regex.h/conform): Add. + (test-xfail-UNIX98/aio.h/conform): Add. + (test-xfail-UNIX98/ftw.h/conform): Add. + (test-xfail-UNIX98/mqueue.h/conform): Add. + (test-xfail-UNIX98/netinet/in.h/conform): Add. + (test-xfail-UNIX98/sys/wait.h/conform): Add. + (test-xfail-UNIX98/sys/sem.h/conform): Add. + (test-xfail-UNIX98/sys/uio.h/conform): Add. + (test-xfail-UNIX98/sys/socket.h/conform): Add. + (test-xfail-UNIX98/sys/types.h/conform): Add. + (test-xfail-UNIX98/stdlib.h/conform): Add. + (test-xfail-UNIX98/arpa/inet.h/conform): Add. + (test-xfail-POSIX2008/fcntl.h/conform): Add. + (test-xfail-POSIX2008/netdb.h/conform): Add. + (test-xfail-POSIX2008/signal.h/conform): Add. + (test-xfail-POSIX2008/semaphore.h/conform): Add. + (test-xfail-POSIX2008/regex.h/conform): Add. + (test-xfail-POSIX2008/aio.h/conform): Add. + (test-xfail-POSIX2008/mqueue.h/conform): Add. + (test-xfail-POSIX2008/netinet/in.h/conform): Add. + (test-xfail-POSIX2008/sys/wait.h/conform): Add. + (test-xfail-POSIX2008/sys/socket.h/conform): Add. + (test-xfail-POSIX2008/sys/types.h/conform): Add. + (test-xfail-POSIX2008/arpa/inet.h/conform): Add. + (test-xfail-XOPEN2K/fcntl.h/conform): Add. + (test-xfail-XOPEN2K/netdb.h/conform): Add. + (test-xfail-XOPEN2K/signal.h/conform): Add. + (test-xfail-XOPEN2K/semaphore.h/conform): Add. + (test-xfail-XOPEN2K/regex.h/conform): Add. + (test-xfail-XOPEN2K/aio.h/conform): Add. + (test-xfail-XOPEN2K/ftw.h/conform): Add. + (test-xfail-XOPEN2K/mqueue.h/conform): Add. + (test-xfail-XOPEN2K/netinet/in.h/conform): Add. + (test-xfail-XOPEN2K/sys/wait.h/conform): Add. + (test-xfail-XOPEN2K/sys/sem.h/conform): Add. + (test-xfail-XOPEN2K/sys/uio.h/conform): Add. + (test-xfail-XOPEN2K/sys/socket.h/conform): Add. + (test-xfail-XOPEN2K/sys/types.h/conform): Add. + (test-xfail-XOPEN2K/stdlib.h/conform): Add. + (test-xfail-XOPEN2K/arpa/inet.h/conform): Add. + (test-xfail-XOPEN2K8/fcntl.h/conform): Add. + (test-xfail-XOPEN2K8/netdb.h/conform): Add. + (test-xfail-XOPEN2K8/signal.h/conform): Add. + (test-xfail-XOPEN2K8/semaphore.h/conform): Add. + (test-xfail-XOPEN2K8/regex.h/conform): Add. + (test-xfail-XOPEN2K8/aio.h/conform): Add. + (test-xfail-XOPEN2K8/ftw.h/conform): Add. + (test-xfail-XOPEN2K8/mqueue.h/conform): Add. + (test-xfail-XOPEN2K8/netinet/in.h/conform): Add. + (test-xfail-XOPEN2K8/sys/wait.h/conform): Add. + (test-xfail-XOPEN2K8/sys/sem.h/conform): Add. + (test-xfail-XOPEN2K8/sys/uio.h/conform): Add. + (test-xfail-XOPEN2K8/sys/socket.h/conform): Add. + (test-xfail-XOPEN2K8/sys/types.h/conform): Add. + (test-xfail-XOPEN2K8/stdlib.h/conform): Add. + (test-xfail-XOPEN2K8/arpa/inet.h/conform): Add. + * conform/data/signal.h-data (SA_SIGINFO, SA_NOCLDWAIT): XFAIL on + i386-gnu. + * conform/data/sys/wait.h-data (WIFCONTINUED, WEXITED, WSTOPPED, + WCONTINUED, WNOWAIT): XFAIL on i386-gnu. + +2018-04-18 Joseph Myers + + * scripts/build-many-glibcs.py (Context.add_all_configs): Use + --enable-obsolete for powerpc-linux-gnuspe. + +2018-04-18 Samuel Thibault + + * conform/data/sys/un.h-data: Allow sun_ prefix. + * sysdeps/mach/include/lock-intern.h: Do not declare libc hidden + prototypes. + * sysdeps/mach/include/mach.h: Likewise. + * sysdeps/mach/include/mach/mig_support.h: Likewise. + * sysdeps/mach/include/mach_error.h: Likewise. + +2018-04-16 Adhemerval Zanella + + * sysdeps/arm/armv6t2/memchr.S (memchr): Remove ARM code path. + * sysdeps/arm/armv6t2/strlen.S (memchr): Likewise. + * sysdeps/arm/armv7/multiarch/memchr_neon.S (memchr): Likewise. + * sysdeps/arm/armv7/strcmp.S (strcmp): Likewise. + +2018-04-16 Andreas Schwab + + [BZ #19527] + * iconvdata/gconv-modules (ARMSCII8//, ShiftJISX0213//): New aliases. + +2018-04-15 Patrick McGehearty + + * sysdeps/ieee754/dbl-64/e_exp.c: faster __ieee754_exp() + * sysdeps/ieee754/dbl-64/eexp.tbl: New file for e_exp.c + +2018-04-12 DJ Delorie + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 4.16. + +2018-04-12 Stefan Liebler + + * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h + (struct kernel_sigaction): Use the same definition on 31bit as is used + on 64bit. + +2018-04-09 Florian Weimer + + [BZ #23037] + * resolv/res_send.c (send_dg): Use designated initializers instead + of assignment to zero-initialize other fields of struct mmsghdr. + +2018-04-06 Adhemerval Zanella + + * sysdeps/posix/readdir.c (__READDIR, __GETDENTS, DIRENTY_TYPE, + __READDIR_ALIAS): Undefine after usage. + * sysdeps/posix/readdir_r.c (__READDIR_R, __GETDENTS, DIRENT_TYPE, + __READDIR_R_ALIAS): Likewise. + * sysdeps/unix/sysv/linux/arm/readdir64.c: Remove file. + * sysdeps/unix/sysv/linux/arm/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/readdir64.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/readdir64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/readdir.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/readdir64.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Likewise. + * sysdeps/unix/sysv/linux/readdir.c: New file. + * sysdeps/unix/sysv/linux/readdir_r.c: Likewise. + * sysdeps/unix/sysv/linux/readdir64.c: Add compat symbol if required. + * sysdeps/unix/sysv/linux/readdir64_r.c: Likewise. + + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update. + +2018-04-06 Andreas Schwab + + * manual/charset.texi (Converting a Character): Fix typo. + +2018-04-05 Adhemerval Zanella + + * sysdeps/sparc/fpu/libm-test-ulps: Update. + + * sysdeps/arm/libm-test-ulps: Update. + + * sysdeps/unix/sysv/linux/aarch64/sigaction.c: Use default Linux version + as base implementation. + * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h: Add include guards, + remove unrequired definitions and update comments. + * sysdeps/unix/sysv/linux/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/kernel_sigaction.h: New file. + * sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/nios2/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/kernel_sigaction: Likewise. + * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/sh/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/tile/kernel_sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/sigaction.c: Remove file. + * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/sigaction.c: Add STUB, SET_SA_RESTORER, + and RESET_SA_RESTORER hooks. + +2018-04-05 Stefan Liebler + + * sysdeps/s390/fpu/libm-test-ulps: Regenerated. + +2018-04-05 Florian Weimer + + * manual/examples/mbstouwcs.c (mbstouwcs): Fix loop termination, + integer overflow, memory leak on error, and indeterminate errno + value. Add a null wide character to terminate the result string. + * manual/charset.texi (Converting a Character): Mention embedded + null bytes in the mbrtowc input string. Explain what happens in + the -2 result case. Do not claim that mbrtowc is simple or + obvious to use. Adjust the description of the code example. Use + @code, not @var, for concrete variables. + +2018-04-05 Florian Weimer + + * manual/examples/mbstouwcs.c: New file. + * manual/charset.texi (Converting a Character): Include it. + +2018-04-05 Samuel Thibault + + * include/dirent.h (dirfd): Add hidden proto. + * dirent/dirfd.c (dirfd): Add hidden def. + * sysdeps/mach/hurd/dirfd.c (dirfd): Add hidden def. + * sysdeps/posix/dirfd.c (dirfd): Add hidden def. + +2018-04-04 Tulio Magno Quites Machado Filho + + * sysdeps/powerpc/fpu/libm-test-ulps: Increase double-precision + sin, cos and sincos to 1 ULP. + +2018-04-04 Maciej W. Rozycki + + [BZ #19818] + * sysdeps/generic/ldsodefs.h (SYMBOL_ADDRESS): Handle SHN_ABS + symbols. + * elf/dl-addr.c (determine_info): Ignore SHN_ABS symbols. + * elf/tst-absolute-sym.c: New file. + * elf/tst-absolute-sym-lib.c: New file. + * elf/tst-absolute-sym-lib.lds: New file. + * elf/Makefile (tests): Add `tst-absolute-sym'. + (modules-names): Add `tst-absolute-sym-lib'. + (LDLIBS-tst-absolute-sym-lib.so): New variable. + ($(objpfx)tst-absolute-sym-lib.so): New dependency. + ($(objpfx)tst-absolute-sym): New dependency. + + [BZ #19818] + * sysdeps/generic/ldsodefs.h (LOOKUP_VALUE_ADDRESS): Add `set' + parameter. + (SYMBOL_ADDRESS): New macro. + [!ELF_FUNCTION_PTR_IS_SPECIAL] (DL_SYMBOL_ADDRESS): Use + SYMBOL_ADDRESS for symbol address calculation. + * elf/dl-runtime.c (_dl_fixup): Likewise. + (_dl_profile_fixup): Likewise. + * elf/dl-symaddr.c (_dl_symbol_address): Likewise. + * elf/rtld.c (dl_main): Likewise. + * sysdeps/aarch64/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise. + (elf_machine_rela): Likewise. + * sysdeps/hppa/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Likewise. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. + (elf_machine_rela): Likewise. + * sysdeps/ia64/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/microblaze/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): + Likewise. + (elf_machine_reloc): Likewise. + (elf_machine_got_rel): Likewise. + * sysdeps/mips/dl-trampoline.c (__dl_runtime_resolve): Likewise. + * sysdeps/nios2/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): + Likewise. + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): + Likewise. + * sysdeps/riscv/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): + Likewise. + * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): + Likewise. + * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): + Likewise. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): + Likewise. + * sysdeps/tile/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. + +2018-04-04 Zack Weinberg + + * sysdeps/generic/internal-signals.h: Include signal.h, + sigsetops.h, and stdbool.h. + (__libc_signal_block_all): Actually block all signals. + (__libc_signal_block_app): Likewise. + (__libc_signal_restore_set): Actually restore the signal mask. + +2018-04-04 Florian Weimer + + inet: Actually build and run tst-deadline. + * inet/Makefile (tests-internal): Add tst-deadline and do not + overwrite the variable. + (tests-static-internal): Remove variable. + +2018-04-03 H.J. Lu + + [BZ #22947] + * bits/uio-ext.h (RWF_APPEND): New. + * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise. + * manual/llio.texi: Document RWF_APPEND. + * misc/tst-preadvwritev2-common.c (RWF_APPEND): New. + (RWF_SUPPORTED): Add RWF_APPEND. + +2018-04-03 Adhemerval Zanella + + [BZ #22391] + * nptl/sigaction.c (__sigaction): Use __is_internal_signal to + check for internal nptl signals. + * nptl/sigaction.c (__sigaction): Likewise. + * signal/sigaddset.c (sigaddset): Likewise. + * signal/sigdelset.c (sigdelset): Likewise. + * sysdeps/posix/signal.c (__bsd_signal): Likewise. + * sysdeps/posix/sigset.c (sigset): Call and check sigaddset return + value. + * signal/sigfillset.c (sigfillset): User __clear_internal_signals + to filter out internal nptl signals. + * signal/tst-sigset.c (do_test): Check ech signal indidually and + also check realtime signals using standard macros. + * sysdeps/generic/internal-signals.h (__clear_internal_signals, + __is_internal_signal, __libc_signal_block_all, + __libc_signal_block_app, __libc_signal_restore_set): New functions. + * sysdeps/nptl/sigfillset.c: Remove file. + * sysdeps/unix/sysv/linux/internal-signals.h (__is_internal_signal): + Change return to bool. + (__clear_internal_signals): Remove SIGTIMER clean since it is + equal to SIGCANEL on Linux. + * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Assume + signal set was constructed using standard functions. + +2018-04-03 Samuel Thibault + + * sysdeps/mach/hurd/if_index.c (__if_nametoindex): Return ENODEV if + ifname is too long. + * hurd/hurdsig.c (interrupted_reply_port_location): Use + DIAG_IGNORE_NEEDS_COMMENT to silence warning with GCC 6 and before. + * sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal): Add + hidden def. + * mach/spin-lock.c (__mutex_unlock): Add hidden def. + * signal/sigaddset.c: Include . + * signal/sigdelset.c: Likewise. + +2018-04-03 Wilco Dijkstra + + * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Cleanup ifdefs. + (__cos): Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c (__sincos): Refactor using the same + logic as sin and cos. + +2018-04-03 Wilco Dijkstra + + * sysdeps/ieee754/dbl-64/s_sin.c (do_sin): Use TAYLOR_SIN for small + inputs. Return correct sign. + (do_sincos): Remove small input check before do_sin, let do_sin set + the sign. + (__sin): Likewise. + (__cos): Likewise. + +2018-04-03 Wilco Dijkstra + + * sysdeps/ieee754/dbl-64/s_sin.c (TAYLOR_SLOW): Remove. + (do_cos_slow): Likewise. + (do_sin_slow): Likewise. + (reduce_and_compute): Likewise. + (slow): Likewise. + (slow1): Likewise. + (slow2): Likewise. + (sloww): Likewise. + (sloww1): Likewise. + (sloww2): Likewise. + (bslow): Likewise. + (bslow1): Likewise. + (bslow2): Likewise. + (cslow2): Likewise. + +2018-04-03 Wilco Dijkstra + + * sysdeps/ieee754/dbl-64/s_sin.c (TAYLOR_SIN): Remove cor parameter. + (do_cos): Remove corp parameter and calculations. + (do_sin): Likewise. + (do_sincos): Remove cor variable. + (__sin): Use do_sincos for huge inputs. + (__cos): Likewise. + * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise. + (reduce_and_compute_sincos): Remove unused function. + +2018-04-03 Wilco Dijkstra + + * sysdeps/ieee754/dbl-64/s_sin.c (reduce_sincos_1): Rename to + reduce_sincos, improve accuracy to 136 bits. + (do_sincos_1): Rename to do_sincos, remove fallbacks to slow functions. + (__sin): Use improved reduction and simplified do_sincos calculation. + (__cos): Likewise. + * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise. + +2018-04-03 Wilco Dijkstra + + * sysdeps/ieee754/dbl-64/s_sin.c (reduce_sincos_2): Remove function. + (do_sincos_2): Likewise. + (__sin): Remove middle range reduction case. + (__cos): Likewise. + * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Remove middle range + reduction case. + +2018-04-03 Wilco Dijkstra + + * sysdeps/aarch64/libm-test-ulps: Update ULP for sin, cos, sincos. + * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Remove slow paths for small + inputs. + (__cos): Likewise. + * sysdeps/x86_64/fpu/libm-test-ulps: Update ULP for sin, cos, sincos. + +2018-04-03 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + version to 4.16 + +2018-04-03 Adhemerval Zanella + + * sysdeps/posix/opendir.c (o_directory_works, tryopen_o_directory): + Remove definitions. + (opendir_oflags): Use O_DIRECTORY regardless. + (__opendir, __opendirat): Remove need_isdir_precheck usage. + * sysdeps/unix/sysv/linux/opendir.c: Remove file. + +2018-04-02 Samuel Thibault + + * sysdeps/mach/hurd/bits/local_lim.h (_POSIX_THREAD_KEYS_MAX, + _POSIX_THREAD_DESTRUCTOR_ITERATIONS, _POSIX_THREAD_THREADS_MAX): Define + macros. + * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_THREADS, + _POSIX_THREAD_ATTR_STACKSIZE, _POSIX_THREAD_ATTR_STACKADDR, + _POSIX_SEMAPHORES, _POSIX_READER_WRITER_LOCKS, _POSIX_TIMEOUTS, + _POSIX_SPIN_LOCKS, _POSIX_BARRIERS): Define macros to 200809L. + * sysdeps/mach/hurd/net/if_ppp.h: Remove file. + * sysdeps/mach/hurd/Makefile (sysdep_headers): Remove net/if_ppp.h. + + * htl/Makefile: Bump licence to LGPL 2.1+. + * htl/alloca_cutoff.c: Likewise. + * htl/cthreads-compat.c: Likewise. + * htl/lockfile.c: Likewise. + * htl/pt-alloc.c: Likewise. + * htl/pt-cancel.c: Likewise. + * htl/pt-cleanup.c: Likewise. + * htl/pt-create.c: Likewise. + * htl/pt-dealloc.c: Likewise. + * htl/pt-detach.c: Likewise. + * htl/pt-exit.c: Likewise. + * htl/pt-getattr.c: Likewise. + * htl/pt-initialize.c: Likewise. + * htl/pt-internal.h: Likewise. + * htl/pt-join.c: Likewise. + * htl/pt-self.c: Likewise. + * htl/pt-setcancelstate.c: Likewise. + * htl/pt-setcanceltype.c: Likewise. + * htl/pt-sigmask.c: Likewise. + * htl/pt-spin-inlines.c: Likewise. + * htl/pt-testcancel.c: Likewise. + * htl/pt-yield.c: Likewise. + * htl/tests/test-1.c: Likewise. + * htl/tests/test-10.c: Likewise. + * htl/tests/test-11.c: Likewise. + * htl/tests/test-12.c: Likewise. + * htl/tests/test-13.c: Likewise. + * htl/tests/test-14.c: Likewise. + * htl/tests/test-15.c: Likewise. + * htl/tests/test-16.c: Likewise. + * htl/tests/test-17.c: Likewise. + * htl/tests/test-2.c: Likewise. + * htl/tests/test-3.c: Likewise. + * htl/tests/test-4.c: Likewise. + * htl/tests/test-5.c: Likewise. + * htl/tests/test-6.c: Likewise. + * htl/tests/test-7.c: Likewise. + * htl/tests/test-8.c: Likewise. + * htl/tests/test-9.c: Likewise. + * htl/tests/test-__pthread_destroy_specific-skip.c: Likewise. + * sysdeps/htl/bits/cancelation.h: Likewise. + * sysdeps/htl/bits/pthread-np.h: Likewise. + * sysdeps/htl/bits/pthread.h: Likewise. + * sysdeps/htl/bits/pthreadtypes.h: Likewise. + * sysdeps/htl/bits/semaphore.h: Likewise. + * sysdeps/htl/bits/types/__pthread_key.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_attr.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_barrier.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_barrierattr.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_cond.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_condattr.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_mutex.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_mutexattr.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_once.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_rwlock.h: Likewise. + * sysdeps/htl/bits/types/struct___pthread_rwlockattr.h: Likewise. + * sysdeps/htl/old_pt-atfork.c: Likewise. + * sysdeps/htl/pt-atfork.c: Likewise. + * sysdeps/htl/pt-attr-destroy.c: Likewise. + * sysdeps/htl/pt-attr-getdetachstate.c: Likewise. + * sysdeps/htl/pt-attr-getguardsize.c: Likewise. + * sysdeps/htl/pt-attr-getinheritsched.c: Likewise. + * sysdeps/htl/pt-attr-getschedparam.c: Likewise. + * sysdeps/htl/pt-attr-getschedpolicy.c: Likewise. + * sysdeps/htl/pt-attr-getscope.c: Likewise. + * sysdeps/htl/pt-attr-getstack.c: Likewise. + * sysdeps/htl/pt-attr-getstackaddr.c: Likewise. + * sysdeps/htl/pt-attr-getstacksize.c: Likewise. + * sysdeps/htl/pt-attr-init.c: Likewise. + * sysdeps/htl/pt-attr-setdetachstate.c: Likewise. + * sysdeps/htl/pt-attr-setguardsize.c: Likewise. + * sysdeps/htl/pt-attr-setinheritsched.c: Likewise. + * sysdeps/htl/pt-attr-setschedparam.c: Likewise. + * sysdeps/htl/pt-attr-setschedpolicy.c: Likewise. + * sysdeps/htl/pt-attr-setscope.c: Likewise. + * sysdeps/htl/pt-attr-setstack.c: Likewise. + * sysdeps/htl/pt-attr-setstackaddr.c: Likewise. + * sysdeps/htl/pt-attr-setstacksize.c: Likewise. + * sysdeps/htl/pt-attr.c: Likewise. + * sysdeps/htl/pt-barrier-destroy.c: Likewise. + * sysdeps/htl/pt-barrier-init.c: Likewise. + * sysdeps/htl/pt-barrier-wait.c: Likewise. + * sysdeps/htl/pt-barrier.c: Likewise. + * sysdeps/htl/pt-barrierattr-destroy.c: Likewise. + * sysdeps/htl/pt-barrierattr-getpshared.c: Likewise. + * sysdeps/htl/pt-barrierattr-init.c: Likewise. + * sysdeps/htl/pt-barrierattr-setpshared.c: Likewise. + * sysdeps/htl/pt-cond-brdcast.c: Likewise. + * sysdeps/htl/pt-cond-destroy.c: Likewise. + * sysdeps/htl/pt-cond-init.c: Likewise. + * sysdeps/htl/pt-cond-signal.c: Likewise. + * sysdeps/htl/pt-cond-timedwait.c: Likewise. + * sysdeps/htl/pt-cond-wait.c: Likewise. + * sysdeps/htl/pt-cond.c: Likewise. + * sysdeps/htl/pt-condattr-destroy.c: Likewise. + * sysdeps/htl/pt-condattr-getclock.c: Likewise. + * sysdeps/htl/pt-condattr-getpshared.c: Likewise. + * sysdeps/htl/pt-condattr-init.c: Likewise. + * sysdeps/htl/pt-condattr-setclock.c: Likewise. + * sysdeps/htl/pt-condattr-setpshared.c: Likewise. + * sysdeps/htl/pt-destroy-specific.c: Likewise. + * sysdeps/htl/pt-equal.c: Likewise. + * sysdeps/htl/pt-getconcurrency.c: Likewise. + * sysdeps/htl/pt-getcpuclockid.c: Likewise. + * sysdeps/htl/pt-getschedparam.c: Likewise. + * sysdeps/htl/pt-getspecific.c: Likewise. + * sysdeps/htl/pt-init-specific.c: Likewise. + * sysdeps/htl/pt-key-create.c: Likewise. + * sysdeps/htl/pt-key-delete.c: Likewise. + * sysdeps/htl/pt-key.h: Likewise. + * sysdeps/htl/pt-mutex-destroy.c: Likewise. + * sysdeps/htl/pt-mutex-getprioceiling.c: Likewise. + * sysdeps/htl/pt-mutex-init.c: Likewise. + * sysdeps/htl/pt-mutex-lock.c: Likewise. + * sysdeps/htl/pt-mutex-setprioceiling.c: Likewise. + * sysdeps/htl/pt-mutex-timedlock.c: Likewise. + * sysdeps/htl/pt-mutex-trylock.c: Likewise. + * sysdeps/htl/pt-mutex-unlock.c: Likewise. + * sysdeps/htl/pt-mutexattr-destroy.c: Likewise. + * sysdeps/htl/pt-mutexattr-getprioceiling.c: Likewise. + * sysdeps/htl/pt-mutexattr-getprotocol.c: Likewise. + * sysdeps/htl/pt-mutexattr-getpshared.c: Likewise. + * sysdeps/htl/pt-mutexattr-gettype.c: Likewise. + * sysdeps/htl/pt-mutexattr-init.c: Likewise. + * sysdeps/htl/pt-mutexattr-setprioceiling.c: Likewise. + * sysdeps/htl/pt-mutexattr-setprotocol.c: Likewise. + * sysdeps/htl/pt-mutexattr-setpshared.c: Likewise. + * sysdeps/htl/pt-mutexattr-settype.c: Likewise. + * sysdeps/htl/pt-mutexattr.c: Likewise. + * sysdeps/htl/pt-once.c: Likewise. + * sysdeps/htl/pt-rwlock-attr.c: Likewise. + * sysdeps/htl/pt-rwlock-destroy.c: Likewise. + * sysdeps/htl/pt-rwlock-init.c: Likewise. + * sysdeps/htl/pt-rwlock-rdlock.c: Likewise. + * sysdeps/htl/pt-rwlock-timedrdlock.c: Likewise. + * sysdeps/htl/pt-rwlock-timedwrlock.c: Likewise. + * sysdeps/htl/pt-rwlock-tryrdlock.c: Likewise. + * sysdeps/htl/pt-rwlock-trywrlock.c: Likewise. + * sysdeps/htl/pt-rwlock-unlock.c: Likewise. + * sysdeps/htl/pt-rwlock-wrlock.c: Likewise. + * sysdeps/htl/pt-rwlockattr-destroy.c: Likewise. + * sysdeps/htl/pt-rwlockattr-getpshared.c: Likewise. + * sysdeps/htl/pt-rwlockattr-init.c: Likewise. + * sysdeps/htl/pt-rwlockattr-setpshared.c: Likewise. + * sysdeps/htl/pt-setconcurrency.c: Likewise. + * sysdeps/htl/pt-setschedparam.c: Likewise. + * sysdeps/htl/pt-setschedprio.c: Likewise. + * sysdeps/htl/pt-setspecific.c: Likewise. + * sysdeps/htl/pt-spin.c: Likewise. + * sysdeps/htl/pt-startup.c: Likewise. + * sysdeps/htl/pthread.h: Likewise. + * sysdeps/htl/sem-close.c: Likewise. + * sysdeps/htl/sem-destroy.c: Likewise. + * sysdeps/htl/sem-getvalue.c: Likewise. + * sysdeps/htl/sem-init.c: Likewise. + * sysdeps/htl/sem-open.c: Likewise. + * sysdeps/htl/sem-post.c: Likewise. + * sysdeps/htl/sem-timedwait.c: Likewise. + * sysdeps/htl/sem-trywait.c: Likewise. + * sysdeps/htl/sem-unlink.c: Likewise. + * sysdeps/htl/sem-wait.c: Likewise. + * sysdeps/hurd/htl/pt-kill.c: Likewise. + * sysdeps/i386/htl/pt-machdep.h: Likewise. + * sysdeps/mach/htl/pt-block.c: Likewise. + * sysdeps/mach/htl/pt-spin.c: Likewise. + * sysdeps/mach/htl/pt-stack-alloc.c: Likewise. + * sysdeps/mach/htl/pt-thread-alloc.c: Likewise. + * sysdeps/mach/htl/pt-thread-start.c: Likewise. + * sysdeps/mach/htl/pt-thread-terminate.c: Likewise. + * sysdeps/mach/htl/pt-timedblock.c: Likewise. + * sysdeps/mach/htl/pt-wakeup.c: Likewise. + * sysdeps/mach/hurd/htl/bits/pthread-np.h: Likewise. + * sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h: Likewise. + * sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c: Likewise. + * sysdeps/mach/hurd/htl/pt-attr-setstacksize.c: Likewise. + * sysdeps/mach/hurd/htl/pt-docancel.c: Likewise. + * sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c: Likewise. + * sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-consistent.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-destroy.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-getprioceiling.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-init.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-lock.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-setprioceiling.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-timedlock.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-trylock.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex-unlock.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutex.h: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-destroy.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-getprioceiling.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-getprotocol.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-getpshared.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-getrobust.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-gettype.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-init.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-setprioceiling.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-setpshared.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-setrobust.c: Likewise. + * sysdeps/mach/hurd/htl/pt-mutexattr-settype.c: Likewise. + * sysdeps/mach/hurd/htl/pt-sigstate-destroy.c: Likewise. + * sysdeps/mach/hurd/htl/pt-sigstate-init.c: Likewise. + * sysdeps/mach/hurd/htl/pt-sigstate.c: Likewise. + * sysdeps/mach/hurd/htl/pt-sysdep.c: Likewise. + * sysdeps/mach/hurd/htl/pt-sysdep.h: Likewise. + * sysdeps/mach/hurd/i386/htl/pt-machdep.c: Likewise. + * sysdeps/mach/hurd/i386/htl/pt-setup.c: Likewise. + + * NEWS: Announce that glibc now builds unpatched on GNU/Hurd. + * README: Remove the mention of out-of-tree patches needed for + GNU/Hurd. + + * sysdeps/mach/hurd/bits/stat.h [!__USE_MISC && __USE_ATFILE] + (UTIME_NOW, UTIME_OMIT): Define macros. + + * htl/cthreads-compat.c (__cthread_detach): Call __pthread_detach + instead of pthread_detach. + (__cthread_fork): Call __pthread_create instead of pthread_create. + (__cthread_keycreate): Call __pthread_key_create instead of + pthread_key_create. + (__cthread_getspecific): Call __pthread_getspecific instead of + pthread_getspecific. + (__cthread_setspecific): Call __pthread_setspecific instead of + pthread_setspecific. + * htl/pt-alloc.c (__pthread_alloc): Call __pthread_mutex_lock and + __pthread_mutex_unlock instead of pthread_mutex_lock and + pthread_mutex_unlock. + * htl/pt-cleanup.c (__pthread_get_cleanup_stack): Rename to + ___pthread_get_cleanup_stack. + (__pthread_get_cleanup_stack): New strong alias. + * htl/pt-create.c: Include . + (entry_point): Call __pthread_exit instead of pthread_exit. + (pthread_create): Rename to __pthread_create. + (pthread_create): New strong alias. + * htl/pt-detach.c (pthread_detach): Rename to __pthread_detach. + (pthread_detach): New strong alias. + (__pthread_detach): Call __pthread_cond_broadcast instead of + pthread_cond_broadcast. + * htl/pt-exit.c: Include . + (__pthread_exit): Call __pthread_setcancelstate and + ___pthread_get_cleanup_stack instead of pthread_setcancelstate and + __pthread_get_cleanup_stack. + * htl/pt-testcancel.c: Include . + (pthread_testcancel): Call __pthread_exit instead of pthread_exit. + * sysdeps/htl/pt-attr-getstack.c: Include + (__pthread_attr_getstack): Call __pthread_attr_getstackaddr and + __pthread_attr_getstacksize instead of pthread_attr_getstackaddr and + pthread_attr_getstacksize. + * sysdeps/htl/pt-attr-getstackaddr.c (pthread_attr_getstackaddr): + Rename to __pthread_attr_getstackaddr. + (pthread_attr_getstackaddr): New strong alias. + * sysdeps/htl/pt-attr-getstacksize.c (pthread_attr_getstacksize): + Rename to __pthread_attr_getstacksize. + (pthread_attr_getstacksize): New strong alias. + * sysdeps/htl/pt-attr-setstack.c: Include . + (pthread_attr_setstack): Rename to __pthread_attr_setstack. + (pthread_attr_setstack): New strong alias. + (__pthread_attr_setstack): Call __pthread_attr_getstacksize, + __pthread_attr_setstacksize and __pthread_attr_setstackaddr instead of + pthread_attr_getstacksize, pthread_attr_setstacksize and + pthread_attr_setstackaddr. + * sysdeps/htl/pt-attr-setstackaddr.c (pthread_attr_setstackaddr): + Rename to __pthread_attr_setstackaddr. + (pthread_attr_setstackaddr): New strong alias. + * sysdeps/htl/pt-attr-setstacksize.c (pthread_attr_setstacksize): + Rename to __pthread_attr_setstacksize. + (pthread_attr_setstacksize): New strong alias. + * sysdeps/htl/pt-cond-timedwait.c: Include . + (__pthread_cond_timedwait_internal): Use __pthread_exit instead of + pthread_exit. + * sysdeps/htl/pt-key-create.c: Include . + (__pthread_key_create): New hidden def. + * sysdeps/htl/pt-key.h: Include . + * sysdeps/htl/pthreadP.h (_pthread_mutex_init, + __pthread_cond_broadcast, __pthread_create, __pthread_detach, + __pthread_exit, __pthread_key_create, __pthread_getspecific, + __pthread_setspecific, __pthread_setcancelstate, + __pthread_attr_getstackaddr, __pthread_attr_setstackaddr, + __pthread_attr_getstacksize, __pthread_attr_setstacksize, + __pthread_attr_setstack, ___pthread_get_cleanup_stack): New + declarations. + (__pthread_key_create, _pthread_mutex_init): New hidden declarations. + * sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c + (pthread_attr_setstackaddr): Rename to __pthread_attr_setstackaddr. + (pthread_attr_setstackaddr): New strong alias. + * sysdeps/mach/hurd/htl/pt-attr-setstacksize.c + (pthread_attr_setstacksize): Rename to __pthread_attr_setstacksize. + (pthread_attr_setstacksize): New strong alias. + * sysdeps/mach/hurd/htl/pt-docancel.c: Include . + (call_exit): Call __pthread_exit instead of pthread_exit. + * sysdeps/mach/hurd/htl/pt-mutex-init.c: Include . + (_pthread_mutex_init): New hidden definition. + * sysdeps/mach/hurd/htl/pt-sysdep.c: Include . + (_init_routine): Call __pthread_attr_init and __pthread_attr_setstack + instead of pthread_attr_init and pthread_attr_setstack. + + * hurd/hurdauth.c (_S_msg_add_auth): Call __vm_allocate and + __vm_deallocate instead of vm_allocate and vm_deallocate. + * hurd/hurdmsg.c (_S_msg_set_env_variable): Call __setenv instead of + setenv. + * hurd/hurdprio.c (_hurd_priority_which_map): Call __geteuid instead + of geteuid. + * hurd/path-lookup.c (file_name_path_scan): Call __strdup instead of + strdup. + * hurd/siginfo.c: Include . + (_hurd_siginfo_handler): Call _IO_puts instead of puts. + * hurd/xattr.c (_hurd_xattr_get, _hurd_xattr_set): Call __munmap instead of + munmap. + * mach/devstream.c: Include . + (dealloc_ref): Call __mach_port_deallocate instead of + mach_port_deallocate. + (mach_open_devstream): Call _IO_fopencookie instead of fopencookie. + Call __mach_port_deallocate instead of mach_port_deallocate. + * stdlib/canonicalize.c (__realpath): Call __pathconf instead of + pathconf. + * sysdeps/mach/hurd/ifreq.c (__ifreq): Call __munmap instead of + munmap. + * sysdeps/mach/hurd/ifreq.h (__if_freereq): Likewise. + * sysdeps/mach/hurd/ptrace.c (ptrace): Call __kill instead of kill. + * sysdeps/mach/hurd/sendfile64.c (sendfile64): Call __munmap instead + of munmap. + * sysdeps/mach/hurd/socketpair.c (__socketpair): Call __close instead + of close. + * sysdeps/posix/clock_getres.c (realtime_getres): Call __sysconf + instead of sysconf. + * sysdeps/pthread/timer_gettime.c (timer_gettime): Call + __clock_gettime instead of clock_gettime. + * sysdeps/pthread/timer_routines.c (thread_func): Likewise. + * sysdeps/pthread/timer_settime.c (timer_settime): Likewise. + * sysdeps/unix/bsd/gtty.c (gtty): Call __ioctl instead of ioctl. + * sysdeps/unix/bsd/stty.c (stty): Likewise. + * sysdeps/unix/bsd/tcflow.c (tcflow): Call __tcgetattr instead of + tcgetattr. + * sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call + __clock_gettime and __nanosleep instead of clock_gettime and + nanosleep. + * hurd/catch-signal.c (hurd_catch_signal): Rename to + __hurd_catch_signal. + (hurd_catch_signal): New strong alias. + (hurd_safe_memset, hurd_safe_copyout, hurd_safe_copyin): Call + __hurd_catch_signal instead of hurd_catch_signal. + * hurd/exc2signal.c (_hurd_exception2signal): Add hidden def. + * hurd/hurdexec.c (_hurd_init): Add hidden def. + * hurd/hurdinit.c (_hurd_init): Add hidden def. + * hurd/hurdsig.c: Include . + (_hurd_thread_sigstate): Add hidden def. + (_hurd_internal_post_signal): Use __mutex_unlock instead of + mutex_unlock. + * hurd/intern-fd.c (_hurd_intern_fd): Add hidden def. + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add hidden def. + * hurd/path-lookup.c (hurd_file_name_path_lookup): Rename to + __hurd_file_name_path_lookup. + (hurd_file_name_path_lookup): New strong alias. + (file_name_path_lookup): Call __hurd_file_name_path_lookup instead of + hurd_file_name_path_lookup. + * mach/errstring.c (mach_error_type): Add hidden def. + * mach/msg-destroy.c (__mach_msg_destroy): Add hidden def. + * mach/mutex-init.c (__mutex_init): Add hidden def. + * mach/spin-lock.c (__spin_lock_locked, __spin_lock, __spin_unlock, + __spin_try_lock, __mutex_lock, __mutex_trylock): Add hidden defs. + * mach/spin-solid.c (__spin_lock_solid): Add hidden def. + * sysdeps/mach/hurd/getcwd.c + (_hurd_canonicalize_directory_name_internal): Rename to + __hurd_canonicalize_directory_name_internal. + (_hurd_canonicalize_directory_name_internal): New strong alias. + (__canonicalize_directory_name_internal, __getcwd): Call + __hurd_canonicalize_directory_name_internal instead of + _hurd_canonicalize_directory_name_internal. + * sysdeps/mach/hurd/mig-reply.c: Include . + (__mig_get_reply_port, __mig_dealloc_reply_port, __mig_init): Add + hidden defs. + * sysdeps/hurd/include/hurd.h: New file. + * sysdeps/hurd/include/hurd/fd.h: New file. + * sysdeps/hurd/include/hurd/signal.h: New file. + * sysdeps/mach/include/lock-intern.h: New file. + * sysdeps/mach/include/mach.h: New file. + * sysdeps/mach/include/mach/mig_support.h: New file. + * sysdeps/mach/include/mach_error.h: New file. + * sysdeps/hurd/include/hurd/signal.h (_hurd_raise_signal): Add hidden + prototype. + * hurd/hurd-raise.c (_hurd_raise_signal): Add hidden def. + * hurd/Makefile ($(inlines:%=$(objpfx)%.c): Define + _HEADER_H_HIDDEN_DEF macro. + * sysdeps/hurd/include/hurd/fd.h (_hurd_fd_error, + _hurd_fd_error_signal): Add hidden prototype. + [_HURD_FD_H_HIDDEN_DEF] (_hurd_fd_error, _hurd_fd_error_signal): Add + hidden def. + * libio/iolibio.h (_IO_puts): New hidden prototype. + * libio/ioputs.c (_IO_puts): New hidden def. + * sysdeps/mach/hurd/localplt.data: New file. + +2018-04-02 Agustina Arzille + Amos Jeffries + David Michael + Marco Gerards + Marcus Brinkmann + Neal H. Walfield + Pino Toscano + Richard Braun + Roland McGrath + Samuel Thibault + Thomas DiModica + Thomas Schwinge + + * htl: New directory. + * sysdeps/htl: New directory. + * sysdeps/hurd/htl: New directory. + * sysdeps/i386/htl: New directory. + * sysdeps/mach/htl: New directory. + * sysdeps/mach/hurd/htl: New directory. + * sysdeps/mach/hurd/i386/htl: New directory. + * nscd/Depend, resolv/Depend, rt/Depend: Add htl dependency. + * sysdeps/mach/hurd/i386/Implies: Add mach/hurd/i386/htl imply. + * sysdeps/mach/hurd/i386/libpthread.abilist: New file. + +2018-04-02 Samuel Thibault + + * sysdeps/pthread/timer_routines.c (__timer_thread_start): Block all + signals in thread created for runing timers. + +2018-04-01 Florian Weimer + + * support/support_format_addrinfo.c (support_format_addrinfo): + Include unknown error number in formatted result. + +2018-03-29 Florian Weimer + + * sysdeps/unix/sysv/linux/i386/tst-bz21269.c (do_test): Also + capture SIGBUS. + +2018-03-27 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/arch-fork.h [__ASSUME_CLONE_BACKWARDS] + (arch_fork): Issue INLINE_CLONE_SYSCALL if defined. + * sysdeps/unix/sysv/linux/sparc/kernel-features.h + (__ASSUME_CLONE_BACKWARDS): Define. + +2018-03-27 Jesse Hathaway + + [BZ #23024] + * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return + early when linux sentinel value is set. + +2018-03-27 Samuel Thibault + + * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_MEMLOCK): Define. + +2018-03-27 Andreas Schwab + + [BZ #23005] + * resolv/res_send.c (__res_context_send): Return ENOMEM if + allocation of private copy of nsaddr_list fails. + +2018-03-26 Joseph Myers + + [BZ #16552] + * sysdeps/unix/sysv/linux/generic/umount.c: Move to .... + * sysdeps/unix/sysv/linux/umount.c: ... here. + * sysdeps/unix/sysv/linux/arm/umount.c: Remove file. + * sysdeps/unix/sysv/linux/hppa/umount.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/umount.c: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/umount.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: Likewise. + * sysdeps/unix/sysv/linux/umount.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/umount.c: Likewise. + +2018-03-26 Andreas Schwab + + * elf/elf.h (R_RISCV_BRANCH, R_RISCV_JAL, R_RISCV_CALL) + (R_RISCV_CALL_PLT, R_RISCV_GOT_HI20, R_RISCV_TLS_GOT_HI20) + (R_RISCV_TLS_GD_HI20, R_RISCV_PCREL_HI20, R_RISCV_PCREL_LO12_I) + (R_RISCV_PCREL_LO12_S, R_RISCV_HI20, R_RISCV_LO12_I) + (R_RISCV_LO12_S, R_RISCV_TPREL_HI20, R_RISCV_TPREL_LO12_I) + (R_RISCV_TPREL_LO12_S, R_RISCV_TPREL_ADD, R_RISCV_ADD8) + (R_RISCV_ADD16, R_RISCV_ADD32, R_RISCV_ADD64, R_RISCV_SUB8) + (R_RISCV_SUB16, R_RISCV_SUB32, R_RISCV_SUB64) + (R_RISCV_GNU_VTINHERIT, R_RISCV_GNU_VTENTRY, R_RISCV_ALIGN) + (R_RISCV_RVC_BRANCH, R_RISCV_RVC_JUMP, R_RISCV_RVC_LUI) + (R_RISCV_GPREL_I, R_RISCV_GPREL_S, R_RISCV_TPREL_I) + (R_RISCV_TPREL_S, R_RISCV_RELAX, R_RISCV_SUB6, R_RISCV_SET6) + (R_RISCV_SET8, R_RISCV_SET16, R_RISCV_SET32, R_RISCV_32_PCREL) + (R_RISCV_NUM): Define. + +2018-03-25 Samuel Thibault + + * include/errno.h [IS_IN(rtld) && !RTLD_PRIVATE_ERRNO]: Do not use the + TLS declaration of errno. + * sysdeps/generic/libc-start.h [!SHARED] (ARCH_SETUP_TLS): Define to + __libc_setup_tls. + * sysdeps/unix/sysv/linux/powerpc/libc-start.h [!SHARED] + (ARCH_SETUP_TLS): Likewise. + * sysdeps/mach/hurd/libc-start.h: New file copied from + sysdeps/generic/libc-start.h, but define ARCH_SETUP_TLS to empty. + * csu/libc-start.c [!SHARED] (LIBC_START_MAIN): Call ARCH_SETUP_TLS + instead of __libc_setup_tls. + * sysdeps/mach/hurd/i386/init-first.c [!SHARED] (init1): Call + __libc_setup_tls before initializing libpthread and running _hurd_init + which starts the signal thread. + * sysdeps/generic/ldsodefs.h [SHARED] (__pthread_initialize_minimal): + Declare function. + * sysdeps/mach/hurd/bits/errno.h: Regenerate. + +2018-03-24 H.J. Lu + + [BZ #22998] + * elf/Makefile (tests): Add $(tests-execstack-$(have-z-execstack)) + after it is defined. + +2018-03-23 Andrew Senkevich + Max Horn + + [BZ #22644] + CVE-2017-18269 + * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed + branch conditions. + * string/test-memmove.c (do_test2): New testcase. + +2018-03-22 Joseph Myers + + * sysdeps/generic/frame.h: Remove file. + * sysdeps/arm/frame.h: Likewise. + * sysdeps/hppa/frame.h: Likewise. + * sysdeps/generic/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Remove + macro. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/mach/hurd/i386/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): + Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (ADVANCE_STACK_FRAME): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/s390/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/sh/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (FIRST_FRAME_POINTER): Likewise. + (ADVANCE_STACK_FRAME): Likewise. + (GET_STACK): Likewise. + (GET_FRAME): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (ADVANCE_STACK_FRAME): Likewise. + (GET_STACK): Likewise. + (GET_FRAME): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/tile/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h + (SIGCONTEXT_EXTRA_ARGS): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (CALL_SIGHANDLER): Likewise. + +2018-03-21 Joseph Myers + + * sysdeps/x86_64/backtrace.c: Move to .... + * debug/backtrace.c: ... here. + * sysdeps/aarch64/backtrace.c: Remove file. + * sysdeps/alpha/backtrace.c: Likewise. + * sysdeps/hppa/backtrace.c: Likewise. + * sysdeps/ia64/backtrace.c: Likewise. + * sysdeps/mips/backtrace.c: Likewise. + * sysdeps/nios2/backtrace.c: Likewise. + * sysdeps/riscv/backtrace.c: Likewise. + * sysdeps/sh/backtrace.c: Likewise. + * sysdeps/tile/backtrace.c: Likewise. + +2018-03-20 Joseph Myers + + [BZ #22987] + * sysdeps/powerpc/bits/mathinline.h (fdim): Remove inline + function. + (fdimf): Likewise. + * sysdeps/sparc/fpu/bits/mathinline.h: Remove file. + + [BZ #17343] + * stdlib/random_r.c (__random_r): Use unsigned arithmetic for + possibly overflowing computations. + +2018-03-20 Samuel Thibault + + * manual/errno.texi (EOWNERDEAD, ENOTRECOVERABLE): Remove errno + values from Linux-specific section now that it is in the GNU section. + * sysdeps/gnu/errlist.c: Regenerate. + +2018-03-20 Joseph Myers + + * math/Makefile (libm-narrow-fns): Add sub. + (libm-test-funcs-narrow): Likewise. + * math/Versions (GLIBC_2.28): Add narrowing subtract functions. + * math/bits/mathcalls-narrow.h (sub): Use __MATHCALL_NARROW. + * math/gen-auto-libm-tests.c (test_functions): Add sub. + * math/math-narrow.h (CHECK_NARROW_SUB): New macro. + (NARROW_SUB_ROUND_TO_ODD): Likewise. + (NARROW_SUB_TRIVIAL): Likewise. + * sysdeps/ieee754/float128/float128_private.h (__fsubl): New + macro. + (__dsubl): Likewise. + * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fsub and + dsub. + (CFLAGS-nldbl-dsub.c): New variable. + (CFLAGS-nldbl-fsub.c): Likewise. + * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add + __nldbl_dsubl. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_dsubl): New + prototype. + * manual/arith.texi (Misc FP Arithmetic): Document fsub, fsubl, + dsubl, fMsubfN, fMsubfNx, fMxsubfN and fMxsubfNx. + * math/auto-libm-test-in: Add tests of sub. + * math/auto-libm-test-out-narrow-sub: New generated file. + * math/libm-test-narrow-sub.inc: New file. + * sysdeps/i386/fpu/s_f32xsubf64.c: Likewise. + * sysdeps/ieee754/dbl-64/s_f32xsubf64.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fsub.c: Likewise. + * sysdeps/ieee754/float128/s_f32subf128.c: Likewise. + * sysdeps/ieee754/float128/s_f64subf128.c: Likewise. + * sysdeps/ieee754/float128/s_f64xsubf128.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_dsubl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_f64xsubf128.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_fsubl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_dsubl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fsubl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_dsubl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_fsubl.c: Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-dsub.c: Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-fsub.c: Likewise. + * sysdeps/ieee754/soft-fp/s_dsubl.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fsub.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fsubl.c: Likewise. + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + * sysdeps/mach/hurd/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + +2018-03-19 Joseph Myers + + [BZ #20079] + * elf/elf.h (SHT_X86_64_UNWIND): New macro. + +2018-03-19 Wilco Dijkstra + + * benchtests/bench-timing.h (attribute_hidden): Undefine. + +2018-03-18 Richard Braun + + * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Use a temporary + thread reference. + +2018-03-18 Agustina Arzille + + * sysdeps/mach/libc-lock.h (__libc_cleanup_frame): Define structure. + (__libc_cleanup_fct): Define function. + (__libc_cleanup_region_start, __libc_cleanup_region_end, + __libc_cleanup_end): Rewrite implementation using + __attribute__ ((__cleanup__)). + (__libc_cleanup_push, __libc_cleanup_pop): New macros. + * hurd/Makefile (routines): Add hurdlock. + * hurd/Versions (GLIBC_PRIVATE): Added new entry to export the above + interface. + (HURD_CTHREADS_0.3): Remove __libc_getspecific. + * hurd/hurdpid.c: Include + (_S_msg_proc_newids): Use lll_wait to synchronize. + * hurd/hurdsig.c: (reauth_proc): Use __mutex_lock and __mutex_unlock. + * hurd/setauth.c: Include , use integer for synchronization. + * mach/Makefile (lock-headers): Remove machine-lock.h. + * mach/lock-intern.h: Include instead of + . + (__spin_lock_t): New type. + (__SPIN_LOCK_INITIALIZER): New macro. + (__spin_lock, __spin_unlock, __spin_try_lock, __spin_lock_locked, + __mutex_init, __mutex_lock_solid, __mutex_unlock_solid, __mutex_lock, + __mutex_unlock, __mutex_trylock): Use lll to implement locks. + * mach/mutex-init.c: Include instead of . + (__mutex_init): Initialize with lll. + * manual/errno.texi (EOWNERDEAD, ENOTRECOVERABLE): New errno values. + * sysdeps/mach/Makefile: Add libmachuser as dependencies for libs + needing lll. + * sysdeps/mach/hurd/bits/errno.h: Regenerate. + * sysdeps/mach/hurd/cthreads.c (__libc_getspecific): Remove function. + * sysdeps/mach/hurd/bits/libc-lock.h: Remove file. + * sysdeps/mach/hurd/setpgid.c: Include . + (__setpgid): Use lll for synchronization. + * sysdeps/mach/hurd/setsid.c: Likewise with __setsid. + * sysdeps/mach/bits/libc-lock.h: Include and + instead of . + (_IO_lock_inexpensive): New macro + (__libc_lock_recursive_t, __rtld_lock_recursive_t): New structures. + (__libc_lock_self0): New declaration. + (__libc_lock_owner_self): New macro. + (__libc_key_t): Remove type. + (_LIBC_LOCK_INITIALIZER): New macro. + (__libc_lock_define_initialized, __libc_lock_init, __libc_lock_fini, + __libc_lock_fini_recursive, __rtld_lock_fini_recursive, + __libc_lock_lock, __libc_lock_trylock, __libc_lock_unlock, + __libc_lock_define_initialized_recursive, + __rtld_lock_define_initialized_recursive, + __libc_lock_init_recursive, __libc_lock_trylock_recursive, + __libc_lock_lock_recursive, __libc_lock_unlock_recursive, + __rtld_lock_initialize, __rtld_lock_trylock_recursive, + __rtld_lock_lock_recursive, __rtld_lock_unlock_recursive + __libc_once_define, __libc_mutex_unlock): Reimplement with lll. + (__libc_lock_define_recursive, __rtld_lock_define_recursive, + _LIBC_LOCK_RECURSIVE_INITIALIZER, _RTLD_LOCK_RECURSIVE_INITIALIZER): + New macros. + Include to reimplement libc_key* with pthread_key*. + * hurd/hurdlock.c: New file. + * hurd/hurdlock.h: New file. + * mach/lowlevellock.h: New file + +2018-03-18 Samuel Thibault + + * sysdeps/mach/hurd/cthreads.c: Include . + * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ELOOP + when opening a symlink with O_NOFOLLOW. + * hurd/hurdlookup.c (__hurd_file_name_lookup): Do not append '/' to + path when flags contains O_NOFOLLOW. + * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ENOTDIR + if flags contains O_DIRECTORY and the result is a directory. + * sysdeps/mach/hurd/i386/init-first.c (init): Also find ELF headers by + oneself when the pointer given in D is nul (as set by ext2fs). + * sysdeps/mach/hurd/mlockall.c: New file. + * sysdeps/mach/hurd/munlockall.c: New file. + +2018-03-17 Samuel Thibault + + * hurd/hurdsig.c: Include . + (_hurdsig_init): Call pthread_getattr_np and pthread_attr_getstack to + get the signal thread stack layout. + * hurd/Makefile (headers): Remove threadvar.h. + (inline-headers): Remove threadvar.h. + * hurd/Versions (GLIBC_2.0: Remove __hurd_sigthread_stack_base, + __hurd_sigthread_stack_end, __hurd_sigthread_variables, + __hurd_threadvar_max, __hurd_errno_location. + (HURD_CTHREADS_0.3): Add pthread_getattr_np, pthread_attr_getstack. + * hurd/hurd/signal.h: Do not include . + (_hurd_self_sigstate): Use THREAD_SELF to get _hurd_sigstate. + (_HURD_SIGNAL_H_EXTERN_INLINE): Use THREAD_SELF to get _hurd_sigstate, + unless TLS is not initialized yet, in which case we do not need a + critical section yet anyway. + * hurd/hurd/threadvar.h: Include , do not include + . + (__hurd_sigthread_variables, __hurd_threadvar_max): Remove variables + declarations. + (__hurd_threadvar_index): Remove enum. + (_HURD_THREADVAR_H_EXTERN_INLINE): Remove macro. + (__hurd_threadvar_location_from_sp,__hurd_threadvar_location): Remove + inlines. + (__hurd_reply_port0): New variable declaration. + (__hurd_local_reply_port): New macro. + * hurd/hurdsig.c (__hurd_sigthread_variables): Remove variable. + (interrupted_reply_port_location): Add thread_t parameter. Use it + with THREAD_TCB to access thread-local variables. + (_hurdsig_abort_rpcs): Pass ss->thread to + interrupted_reply_port_location. + (_hurd_internal_post_signal): Likewise. + (_hurdsig_init): Use presence of cthread_fork instead of + __hurd_threadvar_stack_mask to start signal thread by hand. + Remove signal thread threadvar initialization. + * hurd/hurdstartup.c: Do not include + * hurd/sigunwind.c: Include + (_hurdsig_longjmp_from_handler): Use __hurd_local_reply_port instead + of threadvar. + * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE): Add + __libc_lock_self0. + (ld.GLIBC_2.0): Remove __hurd_sigthread_stack_base, + __hurd_sigthread_stack_end, __hurd_sigthread_variables. + (ld.GLIBC_PRIVATE): Add __libc_lock_self0. + * sysdeps/mach/hurd/cthreads.c: Add __libc_lock_self0. + * sysdeps/mach/hurd/dl-sysdep.c (errno, __hurd_sigthread_stack_base, + __hurd_sigthread_stack_end, __hurd_sigthread_variables, threadvars, + __hurd_threadvar_stack_offset, __hurd_threadvar_stack_mask): Do not + define variables. + * sysdeps/mach/hurd/errno-loc.c: Do not include and + . + [IS_IN(rtld)] (rtld_errno): New variable. + [IS_IN(rtld)] (__errno_location): New weak function. + [!IS_IN(rtld)]: Include "../../../csu/errno-loc.c". + * sysdeps/mach/hurd/errno.c: Remove file. + * sysdeps/mach/hurd/fork.c: Include + (__fork): Remove THREADVAR_SPACE macro and its use. + * sysdeps/mach/hurd/i386/init-first.c (__hurd_threadvar_max): Remove + variable. + (init): Do not initialize threadvar. + * sysdeps/mach/hurd/i386/libc.abilist (__hurd_threadvar_max): Remove + symbol. + * sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Use + __hurd_local_reply_port instead of threadvar. + * sysdeps/mach/hurd/i386/tls.h (tcbhead_t): Add reply_port and + _hurd_sigstate fields. + (HURD_DESC_TLS, __LIBC_NO_TLS, THREAD_TCB): New macro. + * sysdeps/mach/hurd/i386/trampoline.c: Remove outdated comment. + * sysdeps/mach/hurd/libc-lock.h: Do not include . + (__libc_lock_owner_self): Use &__libc_lock_self0 and THREAD_SELF + instead of threadvar. + * sysdeps/mach/hurd/libc-tsd.h: Remove file. + * sysdeps/mach/hurd/mig-reply.c (GETPORT, reply_port): Remove macros. + (use_threadvar, global_reply_port): Remove variables. + (__hurd_reply_port0): New variable. + (__mig_get_reply_port): Use __hurd_local_reply_port and + __hurd_reply_port0 instead of threadvar. + (__mig_dealloc_reply_port): Likewise. + (__mig_init): Do not initialize threadvar. + * sysdeps/mach/hurd/profil.c: Fix comment. + * hurd/Versions (HURD_CTHREADS_0.3): Rename weak refs cthread_fork, + cthread_detach, pthread_getattr_np, pthread_attr_getstack, + cthread_keycreate, cthread_getspecific, cthread_setspecific to + __cthread_fork, __cthread_detach, __pthread_getattr_np, + __pthread_attr_getstack, __cthread_keycreate, __cthread_getspecific, + __cthread_setspecific. + * hurd/hurdsig.c (_hurdsig_init): Use __cthread_fork, + __cthread_detach, __pthread_getattr_np, __pthread_attr_getstack, + __cthread_t instead of cthread_fork, cthread_detach, + pthread_getattr_np, pthread_attr_getstack. + * sysdeps/mach/hurd/cthreads.c (cthread_keycreate): Rename to + __cthread_keycreate. + (cthread_getspecific): Rename to __cthread_getspecific. + (cthread_setspecific): Rename to __cthread_setspecific. + (__libc_getspecific): Use __cthread_getspecific instead of + cthread_getspecific. + * sysdeps/mach/hurd/libc-lock.h (__libc_key_create): Use + __cthread_keycreate instead of cthread_keycreate. + (__libc_setspecific): Use __cthread_setspecific instead of + cthread_setspecific. + * sysdeps/mach/libc-lock.h (__libc_key_create, __libc_setspecific): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Always include + . Test for value of RTLD_PRIVATE_ERRNO instead of + testing whether it is defined. + +2018-03-16 Samuel Thibault + + * sysdeps/generic/thread_state.h (MACHINE_NEW_THREAD_STATE_FLAVOR): + Define macro. + * sysdeps/mach/thread_state.h (MACHINE_THREAD_STATE_FIX_NEW): New macro. + * sysdeps/mach/i386/thread_state.h + (MACHINE_NEW_THREAD_STATE_FLAVOR): New macro, defined to + i386_THREAD_STATE. + (MACHINE_THREAD_STATE_FLAVOR): Define to i386_REGS_SEGS_STATE instead of + i386_THREAD_STATE. + (MACHINE_THREAD_STATE_FIX_NEW): New macro, reads segments. + + * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): Use + i386_REGS_SEGS_STATE instead of i386_THREAD_STATE. + + * sysdeps/mach/hurd/i386/tls.h (TCB_ALIGNMENT, HURD_SEL_LDT): New + macros. + (_hurd_tls_fork): Add original thread parameter, Duplicate existing LDT + descriptor instead of creating a new one. + (_hurd_tls_new): New function, creates a new descriptor and updates tcb. + + * mach/setup-thread.c: Include . + (__mach_setup_thread): Call _dl_allocate_tls, pass + MACHINE_NEW_THREAD_STATE_FLAVOR to __thread_set_state instead of + MACHINE_THREAD_STATE_FLAVOR, before getting + MACHINE_THREAD_STATE_FLAVOR, calling _hurd_tls_new, and setting + MACHINE_THREAD_STATE_FLAVOR with the result. + * hurd/hurdfault.c (_hurdsig_fault_init): Call + MACHINE_THREAD_STATE_FIX_NEW. + * sysdeps/mach/hurd/fork.c (__fork): Call _hurd_tls_fork for sigthread + too. Add original thread parameter. + +2018-03-16 Joseph Myers + + * sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC] (__finite): + Remove inline function. + + * sysdeps/i386/fpu/libm-test-ulps: Update. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + +2018-03-16 Wilco Dijkstra + + * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Revert previous + commit. + +2018-03-15 Joseph Myers + + * sysdeps/x86/fpu/bits/mathinline.h [__FAST_MATH__] + (__sincos_code): Remove define and undefine. + [__FAST_MATH__] (__sincos): Remove inline function. + [__FAST_MATH__] (__sincosf): Remove inline function. + [__FAST_MATH__] (__sincosl): Remove inline function. + (__atan2l): Remove inline functions. + [!__GNUC_PREREQ (3, 4)] (__atan2_code): Remove macro. + [!__GNUC_PREREQ (3, 4) && __FAST_MATH__] (atan2): Remove inline + function. + (floor): Remove inline function. + (ceil): Likewise. + [__FAST_MATH__] (__ldexp_code): Remove macro. + [__FAST_MATH__] (ldexp): Remove inline function. + [__FAST_MATH__ && __USE_ISOC99] (ldexpf): Likewise. + [__FAST_MATH__ && __USE_ISOC99] (ldexpl): Likewise. + [__FAST_MATH__ && __USE_ISOC99] (rint): Likewise. + [__USE_ISOC99] (__lrint_code): Remove macro. + [__USE_ISOC99] (__llrint_code): Likewise. + [__USE_ISOC99] (lrintf): Remove inline function. + [__USE_ISOC99] (lrint): Likewise. + [__USE_ISOC99] (lrintl): Likewise. + [__USE_ISOC99] (llrint): Likewise. + [__USE_ISOC99] (llrintf): Likewise. + [__USE_ISOC99] (llrintl): Likewise. + +2018-03-15 Wilco Dijkstra + + * sysdeps/aarch64/fpu/math_private.h (__ieee754_sqrt): Remove. + (__ieee754_sqrtf): Remove. + * sysdeps/alpha/fpu/math_private.h (__ieee754_sqrt): Remove. + (__ieee754_sqrtf): Remove. + * sysdeps/generic/math-type-macros.h (M_SQRT): Use sqrt. + * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Remove. + * sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrt): Remove. + (__ieee754_sqrtf): Remove. + * sysdeps/s390/fpu/bits/mathinline.h: Remove file. + * sysdeps/sparc/fpu/bits/mathinline.h (sqrt) Remove. + (sqrtf): Remove. + (sqrtl): Remove. + (__ieee754_sqrt): Remove. + (__ieee754_sqrtf): Remove. + (__ieee754_sqrtl): Remove. + * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Remove. + * sysdeps/x86/fpu/math_private.h (__ieee754_sqrt): Remove. + * sysdeps/x86_64/fpu/math_private.h (__ieee754_sqrt): Remove. + (__ieee754_sqrtf): Remove. + (__ieee754_sqrtl): Remove. + +2018-03-15 Wilco Dijkstra + + * sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Use sqrt. + * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Likewise. + * sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise. + * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_j0): Likewise. + * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_j1): Likewise. + * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise. + * sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c (__ieee754_acosh): + Likewise. + * sysdeps/ieee754/flt-32/e_acosf.c (__ieee754_acosf): Likewise. + * sysdeps/ieee754/flt-32/e_acoshf.c (__ieee754_acoshf): Likewise. + * sysdeps/ieee754/flt-32/e_asinf.c (__ieee754_asinf): Likewise. + * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise. + * sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Likewise. + * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_j0f): Likewise. + * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_j1f): Likewise. + * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise. + * sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise. + * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): Use sqrtl. + * sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Likewise. + * sysdeps/ieee754/ldbl-128/e_asinl.c (__ieee754_asinl): Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): Likewise. + * sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl): Likewise. + * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Likewise. + * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. + * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise. + * sysdeps/ieee754/ldbl-128/s_asinhl.c (__ieee754_asinhl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (__ieee754_acoshl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_asinl.c (__ieee754_asinl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (__ieee754_hypotl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_j0l.c (__ieee754_j0l): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_j1l.c (__ieee754_j1l): Likewise + * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c (__ieee754_asinhl): Likewise. + * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Use sqrtl. + * sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): Likewise. + * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise. + * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise. + * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise. + * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. + * sysdeps/ieee754/ldbl-96/s_asinhl.c (__ieee754_asinhl): Likewise. + * sysdeps/m68k/m680x0/fpu/e_pow.c (__ieee754_pow): Likewise. + * sysdeps/powerpc/fpu/e_hypot.c (__ieee754_hypot): Likewise. + * sysdeps/powerpc/fpu/e_hypotf.c (__ieee754_hypotf): Likewise. + +2018-03-15 Wilco Dijkstra + + * include/math.h (sqrt): Declare with asm redirect. + (sqrtf): Likewise. + (sqrtl): Likewise. + (sqrtf128): Likewise. + * Makeconfig: Add -fno-math-errno for libc/libm, but build testsuite, + nonlib and libnldbl with -fmath-errno. + * math/w_sqrt_compat.c: Define NO_MATH_REDIRECT. + * math/w_sqrt_template.c: Likewise. + * math/w_sqrtf_compat.c: Likewise. + * math/w_sqrtl_compat.c: Likewise. + * sysdeps/i386/fpu/w_sqrt.c: Likewise. + * sysdeps/i386/fpu/w_sqrt_compat.c: Likewise. + * sysdeps/generic/math-type-macros-float128.h: Remove math.h and + complex.h. + +2018-03-15 Wilco Dijkstra + + * benchtests/Makefile: Define _ISOMAC. + * benchtests/bench-strcoll.c: Add missing sys/stat.h include. + * benchtests/bench-string.h: Define inhibit_loop_to_libcall macro. + * benchtests/bench-strstr.c: Define empty libc_hidden_builtin_def. + * benchtests/bench-strtok.c (oldstrtok): Use rawmemchr. + * benchtests/bench-timing.h: Define attribute_hidden. + +2018-03-15 Siddhesh Poyarekar + + * sysdeps/aarch64/strncmp.S (strncmp): Use lsr instead of + mov + lsr. + +2018-03-15 Rafał Lużyński + + [BZ #22963] + * localedata/locales/cs_CZ (mon): Rename to... + (alt_mon): This. + (mon): Import from CLDR (genitive case). + +2018-03-15 Rafał Lużyński + + [BZ #22937] + * localedata/locales/el_CY (abmon): Rename to... + (ab_alt_mon): This. + (abmon): Import from CLDR (abbreviated genitive case). + * localedata/locales/el_GR (abmon): Rename to... + (ab_alt_mon): This. + (abmon): Import from CLDR (abbreviated genitive case). + +2018-03-15 Rafał Lużyński + + [BZ #22932] + * localedata/locales/lt_LT (abmon): Synchronize with CLDR. + +2018-03-15 Robert Buj + + [BZ #22848] + * localedata/locales/ca_ES (abmon): Rename to... + (ab_alt_mon): This, then synchronize with CLDR (nominative case). + (mon): Rename to... + (alt_mon): This. + (abmon): Import from CLDR (genitive case, month names preceded by + "de" or "d’"). + (mon): Likewise. + (abday): Synchronize with CLDR. + (d_t_fmt): Likewise. + (d_fmt): Likewise. + (am_pm): Likewise. + + (LC_TIME): Improve indentation. + (LC_TELEPHONE): Likewise. + (LC_NAME): Likewise. + (LC_ADDRESS): Likewise. + +2018-03-14 Joseph Myers + + * sysdeps/x86/fpu/bits/mathinline.h [!__GNUC_PREREQ (3, 4)] + (lrintf): Remove definitions used only with old GCC. + [!__GNUC_PREREQ (3, 4)] (lrint): Likewise. + [!__GNUC_PREREQ (3, 4)] (llrintf): Likewise. + [!__GNUC_PREREQ (3, 4)] (llrint): Likewise. + [!__GNUC_PREREQ (3, 4)] (fmaxf): Likewise. + [!__GNUC_PREREQ (3, 4)] (fmax): Likewise. + [!__GNUC_PREREQ (3, 4)] (fminf): Likewise. + [!__GNUC_PREREQ (3, 4)] (fmin): Likewise. + [!__GNUC_PREREQ (3, 4)] (rint): Likewise. + [!__GNUC_PREREQ (3, 4)] (rintf): Likewise. + [!__GNUC_PREREQ (3, 4)] (nearbyint): Likewise. + [!__GNUC_PREREQ (3, 4)] (nearbyintf): Likewise. + [!__GNUC_PREREQ (3, 4)] (ceil): Likewise. + [!__GNUC_PREREQ (3, 4)] (ceilf): Likewise. + [!__GNUC_PREREQ (3, 4)] (floor): Likewise. + [!__GNUC_PREREQ (3, 4)] (floorf): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (tan): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (fmod): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (sin): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (cos): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log10): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (asin): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (acos): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (atan): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log1p): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (logb): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log2): Likewise. + [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (drem): Likewise. + [__FAST_MATH__] (__M_SQRT2): Remove macro. + +2018-03-14 Siddhesh Poyarekar + + * sysdeps/aarch64/strncmp.S (strncmp): Use a separate shift + instruction to unbreak builds with binutils 2.26 and older. + +2018-03-13 Siddhesh Poyarekar + + * sysdeps/aarch64/strncmp.S (count): New macro. + (strncmp): Store misaligned length in SRC1 in COUNT. + (mutual_align): Adjust. + (misaligned8): Load dword at a time when it is safe. + +2018-03-12 Zack Weinberg + + [BZ #1190] + [BZ #19476] + * libio/fileops.c (_IO_new_file_underflow): Return EOF immediately + if the _IO_EOF_SEEN bit is already set; update commentary. + * libio/oldfileops.c (_IO_old_file_underflow): Likewise. + * libio/wfileops.c (_IO_wfile_underflow): Likewise. + + * support/support_openpty.c, support/tty.h: New files. + * support/Makefile (libsupport-routines): Add support_openpty. + + * libio/tst-fgetc-after-eof.c, wcsmbs/test-fgetwc-after-eof.c: + New test cases. + * libio/Makefile (tests): Add tst-fgetc-after-eof. + * wcsmbs/Makefile (tests): Add tst-fgetwc-after-eof. + +2018-03-12 Dmitry V. Levin + + * po/pt_BR.po: Update translations. + +2018-03-12 David Michael + + * sysdeps/mach/hurd/reboot.c: Include + (reboot): Lookup _SERVERS_STARTUP instead of calling proc_getmsgport to + get a port to the startup server. + +2018-03-11 Zack Weinberg + + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include math.h + before nldbl-compat.h. + +2018-03-10 Zack Weinberg + + * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Don't include + math.h or math_private.h. + + * sysdeps/alpha/fpu/s_isnan.c + * sysdeps/ieee754/ldbl-128ibm/s_ceill.c + * sysdeps/ieee754/ldbl-128ibm/s_floorl.c + * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c + * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c + * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c + * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c + * sysdeps/ieee754/ldbl-128ibm/s_rintl.c + * sysdeps/ieee754/ldbl-128ibm/s_roundl.c + * sysdeps/ieee754/ldbl-128ibm/s_truncl.c + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot.c + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf.c: + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf.c + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf.c: + Include math_private.h. + + * sysdeps/ieee754/ldbl-64-128/s_finitel.c + * sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c + * sysdeps/ieee754/ldbl-64-128/s_isinfl.c + * sysdeps/ieee754/ldbl-64-128/s_isnanl.c + * sysdeps/ieee754/ldbl-64-128/s_signbitl.c + * sysdeps/powerpc/power7/fpu/s_logb.c: + Include math.h and math_private.h. + + * sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Wrap manual + uses of $at in .set noat / .set at. + +2018-03-10 H.J. Lu + + * include/setjmp.h (__libc_longjmp): Remove libc_hidden_proto. + * setjmp/longjmp.c (__libc_longjmp): Remove libc_hidden_def. + * sysdeps/s390/longjmp.c (__libc_longjmp): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S (__libc_longjmp): + Likewise. + +2018-03-09 Florian Weimer + + * malloc/malloc.c (prev_size, set_prev_size, prev_chunk): Fix typo + in comment. + +2018-03-09 Aurelien Jarno + + [BZ #22919] + * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext): + Add nop before __startcontext, add explaining comments. + +2018-03-07 Adhemerval Zanella + + [BZ #22926] + * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Define + empty for __SPE__. + * sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise. + * sysdeps/unix/sysv/linux/powerpc/elision-lock.c (__lll_lock_elision): + Do not build hardware transactional code for __SPE__. + * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c + (__lll_trylock_elision): Likewise. + * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c + (__lll_unlock_elision): Likewise. + + * sysdeps/nptl/fork.c (ARCH_FORK): Replace by arch_fork. + * sysdeps/unix/sysv/linux/alpha/arch-fork.h: Remove file. + * sysdeps/unix/sysv/linux/riscv/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/aarch64/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/arm/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/i386/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/microblaze/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/mips/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/nios2/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/s390/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/sh/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/tile/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/arch-fork.h (arch_fork): New function. + * sysdeps/unix/sysv/linux/aarch64/kernel-features.h: New file. + * sysdeps/unix/sysv/linux/riscv/kernel-features.h: Likewise. + * sysdeps/unix/sysv/linux/arm/kernel-features.h + (__ASSUME_CLONE_BACKWARDS): Define. + * sysdeps/unix/sysv/linux/createthread.c (ARCH_CLONE): Define to + __clone2 if __NR_clone2 is defined. + * sysdeps/unix/sysv/linux/hppa/kernel-features.h + (__ASSUME_CLONE_BACKWARDS): Likewise. + * sysdeps/unix/sysv/linux/i386/kernel-features.h + (__ASSUME_CLONE_BACKWARDS): Likewise. + * sysdeps/unix/sysv/linux/ia64/kernel-features.h + (__ASSUME_CLONE2): Likewise. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + (__ASSUME_CLONE_BACKWARDS3): Likewise. + * sysdeps/unix/sysv/linux/kernel-features.h: Document possible clone + variants and the define architecture can use. + (__ASSUME_CLONE_DEFAULT): Define as default. + * sysdeps/unix/sysv/linux/mips/kernel-features.h + (__ASSUME_CLONE_BACKWARDS): Likewise. + * sysdeps/unix/sysv/linux/powerpc/kernel-features.h + (__ASSUME_CLONE_BACKWARDS): Likewise. + * sysdeps/unix/sysv/linux/s390/kernel-features.h + (__ASSUME_CLONE_BACKWARDS2): Likewise. + +2018-03-06 Siddhesh Poyarekar + + * sysdeps/aarch64/memcmp.S (more16): Fix loop16 branch target. + + * sysdeps/aarch64/memcmp.S: Widen comparison to 16 bytes at a + time. + + * benchtests/bench-strncmp.c (test_main): Remove 0 length tests. + (do_test_limit): Likewise. + + * benchtests/bench-strncmp.c (do_test_limit): Reallocate buffers + for every implementation. + (do_test): Likewise. + + * benchtests/bench-strncmp.c: Convert output to json. + +2018-03-06 Samuel Thibault + + * io/futimens.c: Add missing start-of-file descriptive comment. + * io/utime.c: Likewise. + * misc/futimesat.c: Likewise. + * misc/utimes.c: Likewise. + * sysdeps/mach/hurd/futimesat.c: Likewise. + * sysdeps/mach/hurd/utimes.c: Likewise. + * sysdeps/posix/utime.c: Likewise. + * sysdeps/posix/utimes.c: Likewise. + * sysdeps/unix/sysv/linux/futimesat.c: Likewise. + * sysdeps/unix/sysv/linux/generic/futimesat.c: Likewise. + * sysdeps/unix/sysv/linux/generic/utimes.c: Likewise. + * sysdeps/unix/sysv/linux/utimes.c: Likewise. + +2018-03-05 Samuel Thibault + + * sysdeps/mach/hurd/utime-helper.c (hurd_futimens): Rename function to + hurd_futimes. + * sysdeps/mach/hurd/utimes.c (__utimes): Update call accordingly. + * sysdeps/mach/hurd/lutimes.c (__lutimes): Likewise. + * sysdeps/mach/hurd/futimens.c: Include "utime-helper.c". + (__futimens): Move implementation to... + * sysdeps/mach/hurd/utime-helper.c (utime_ts_from_tspec, + utime_tvalue_from_tspec): ... new helper functions. + (hurd_futimens): New function. + * sysdeps/mach/hurd/futimesat.c: New file. + * sysdeps/mach/hurd/utimensat.c: New file. + +2018-03-05 Flávio Cruz + + * sysdeps/mach/hurd/bits/stat.h [__USE_ATFILE] (UTIME_NOW, + UTIME_OMIT): New macros. + * sysdeps/mach/hurd/futimens.c (__futimens): Try to use __file_utimens + before reverting to converting time spec to time value and calling + __file_utimes. + * sysdeps/mach/hurd/utime-helper.c: New file. + * sysdeps/mach/hurd/futimes.c: Include "utime-helper.c". + (__futimes): Try to use utime_ts_from_tval and __file_utimens before + reverting to utime_tvalue_from_tval and __file_utimes. + * sysdeps/mach/hurd/lutimes.c: Include "utime-helper.c". + (__lutimes): Just call hurd_futimens after lookup. + * sysdeps/mach/hurd/utimes.c: Likewise. + +2018-03-05 Samuel Thibault + + * bits/sigaction.h: Add include guard. + * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/tile/bits/sigaction.h: Likewise. + * hurd/hurd/signal.h: Include . + +2018-03-05 Joseph Myers + + * iconv/loop.c (UNICODE_TAG_HANDLER): Disable + -Wmaybe-uninitialized for -Os. + * sysdeps/s390/multiarch/8bit-generic.c (BODY): Add comment about + this disabling. + +2018-03-03 Adhemerval Zanella + + * bits/dirent.h (__INO_T_MATCHES_INO64_T): Define regardless whether + __INO_T_MATCHES_INO64_T is defined. + * sysdeps/unix/sysv/linux/bits/dirent.h: Likewise. + * dirent/alphasort.c: Check _DIRENT_MATCHES_DIRENT64 value instead + of definition. + * dirent/alphasort64.c: Likewise. + * dirent/scandir.c: Likewise. + * dirent/scandir64-tail.c: Likewise. + * dirent/scandir64.c: Likewise. + * dirent/scandirat.c: Likewise. + * dirent/scandirat64.c: Likewise. + * dirent/versionsort.c: Likewise. + * dirent/versionsort64.c: Likewise. + * include/dirent.h: Likewise. + + * nptl/tst-cancel4-common.h (set_socket_buffer): New function. + * nptl/tst-cancel4-common.c (do_test): Call set_socket_buffer + for socketpair endpoint. + * nptl/tst-cancel4.c (tf_send): Call set_socket_buffer and use + WRITE_BUFFER_SIZE as buffer size for sending socket. + (tf_sendto): Use SOCK_STREAM instead of SOCK_DGRAM and fix an + issue on system where send is implemented with sendto syscall. + * sysdeps/unix/sysv/linux/mips/mips64/Makefile [$(subdir) = socket] + (CFLAGS-recv.c, CFLAGS-send.c): Remove rules. + [$(subdir) = nptl] (CFLAGS-recv.c, CFLAGS-send.c): Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/Makefile: Remove file. + + [BZ #21269] + * sysdeps/unix/sysv/linux/i386/Makefile (tests): Add tst-bz21269. + * sysdeps/unix/sysv/linux/i386/sigaction.c (SET_SA_RESTORER): Clear + sa_restorer for vDSO case. + * sysdeps/unix/sysv/linux/i386/tst-bz21269.c: New file. + +2018-03-03 Samuel Thibault + + * scripts/check-installed-headers.sh: Ignore Hurd and Mach headers. + * hurd/hurd/id.h: Include + * hurd/hurd/ioctl.h: Include + * hurd/hurd/lookup.h: Include + * mach/Makefile ($(objpfx)mach-shortcuts.h): Make it include + and . + (headers): Move mach/param.h to bits/mach/param.h. + * sysdeps/mach/i386/mach/param.h: Move file to ... + * sysdeps/mach/i386/bits/mach/param.h: ... here. Update path in #error. + * sysdeps/mach/hurd/bits/param.h: Include instead + of . + * hurd/hurd/port.h: Do not include . + * hurd/hurd/userlink.h [!defined __USE_EXTERN_INLINES || + !defined _LIBC || !IS_IN (libc)]: Do not include . + * hurd/hurd/fd.h (_hurd_fd_error): Fix struct initializer to be + trivial, for C++ conformity. + * sysdeps/mach/hurd/dl-sysdep.c: Include . + * mach/Machrules ($(patsubst %,$(objpfx)%.h,$(user-interfaces)): + Process mig output through $(migheadersed). + * hurd/Makefile (migheadersed): Define variable. + * mach/mach/mig_support.h [defined __USE_GNU]: Do not #error out. + * scripts/check-installed-headers.sh: Do not ignore Hurd and Mach + headers. + * hurd/hurd.h: Include + * hurd/hurd/fd.h: Include and + (_hurd_fd_read, _hurd_fd_write): Use __loff_t instead of loff_t. + * hurd/hurd/signal.h: Include and + . + [!defined __USE_GNU]: Do not #error out. + (struct hurd_sigstate): Use _NSIG instead of NSIG. + * hurd/hurd/sigpreempt.h (__need_size_t): Define. + Include and + (struct hurd_signal_preemptor, hurd_catch_signal): Use __sighandler_t + instead of sighandler_t. + * stdlib/errno.h (error_t): Move definition to... + * bits/types/error_t.h: ... new header. + * stdlib/Makefile (headers): Add bits/types/error_t.h. + * sysdeps/mach/hurd/bits/errno.h (error_t): Move definition to... + * sysdeps/mach/hurd/bits/types/error_t.h: ... new header. + * sysdeps/mach/hurd/errnos.awk (error_t): Likewise. + * hurd/hurd.h: Include + * hurd/hurd/fd.h: Include + * hurd/hurd/id.h: Include and + * hurd/hurd/lookup.h: Include and + * hurd/hurd/resource.h: Include + * hurd/hurd/signal.h: Include + * hurd/hurd/sigpreempt.h: Include + * sysdeps/mach/hurd/futimens.c: New file. + +2018-03-03 Andreas Schwab + + [BZ #22918] + * nss/nsswitch.h (DEFINE_DATABASE): Don't define __nss_*_database. + * nss/nsswitch.c (DEFINE_DATABASE): Define __nss_*_database here. + * nscd/gai.c (__nss_hosts_database): Readd definition. + * posix/tst-rfc3484.c (__nss_hosts_database): Likewise. + * posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise. + * posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise. + +2018-03-02 Joseph Myers + + * sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Make always_inline. + (ifunc_one): Likewise. + +2018-03-01 DJ Delorie + + [BZ #22342] + * nscd/netgroupcache.c (addinnetgrX): Include trailing NUL in + key value. + +2018-03-01 Maciej W. Rozycki + + * nptl_db/td_ta_thr_iter.c (iterate_thread_list): Remove + `match_pid' parameter. + (td_ta_thr_iter): Update accordingly. + +2018-03-01 Florian Weimer + + * nptl/Makefile (install-lib-ldscripts): Remove. + (install): Remove rule. + ($(inst_libdir)/libpthread.so): Likewise. + +2018-03-01 Mike FABIAN + + [BZ #22896] + * localedata/locales/an_ES: update month and day names, + improve d_fmt, improve postal_fmt, add country_post, + add country_isbn + +2018-03-01 Mike FABIAN + + * localedata/locales/bg_BG (LC_COLLATE): The comment mentioned + Ukrainian instead of Bulgarian. + +2018-03-01 Florian Weimer + + * nptl/Makefile (libpthread.so): Drop libpthread_nonshared.a + reference. + +2018-03-01 Florian Weimer + + Move pthread_atfork to libc. Remove libpthread_nonshared.a. + * nptl/Makefile (routines): Add pthread_atfork. + (static-only-routines): Set to pthread_atfork. + (libpthread-routines): Remove pthread_atfork. + (libpthread-static-only-routines): Remove. + (install): Update comment. + (libpthread.so): Do not install libpthread_nonshared.a. + (tests): Do not link with libpthread_nonshared.a. + (generated): Remove libpthread_nonshared.a. + * nptl/pthread_atfork.c (pthread_atfork): Turn into weak alias. + * sysdeps/nptl/Makeconfig (shared-thread-library): Do not link + with libpthread_nonshared.a. + +2018-02-28 Joseph Myers + + [BZ #22902] + * sysdeps/i386/fpu/fenv_private.h [!__x86_64__] + (libc_feholdexcept_setroundf128): New macro. + [!__x86_64__] (libc_feupdateenv_testf128): Likewise. + + [BZ #15105] + * sysdeps/wordsize-32/strtoumax.c (strtoumax): Use + libc_hidden_def. + * sysdeps/wordsize-64/strtoumax.c (strtoumax): Likewise. + * include/inttypes.h: New file. + +2018-02-27 Joseph Myers + + * locale/weightwc.h (findidx): Ignore -Wmaybe-uninitialized for + -Os in two more places. + +2018-02-27 Mike FABIAN + + See this bug https://sourceware.org/bugzilla/show_bug.cgi?id=22898 + * localedata/cmn_TW.UTF-8.in: Remove the lines which cannot + be sorted correctly at the moment because of a bug. + +2018-02-27 Mike FABIAN + + [BZ #22550] - es_ES locale (and other es_* locales): collation should + treat ñ as a primary different character, sync the collation + for Spanish with CLDR. + [BZ #21547] - Tibetan script collation broken (Dzongkha and Tibetan). + * localedata/Makefile: Add new test files. + * localedata/lv_LV.UTF-8.in: Adapt test file to new collation order. + * localedata/sv_SE.ISO-8859-1.in: Adapt test file to new + collation order. + * localedata/uk_UA.UTF-8.in: Adapt test file to new collation order. + * localedata/am_ET.UTF-8.in: New test file. + * localedata/az_AZ.UTF-8.in: Likewise. + * localedata/be_BY.UTF-8.in: Likewise. + * localedata/ber_DZ.UTF-8.in: Likewise. + * localedata/ber_MA.UTF-8.in: Likewise. + * localedata/bg_BG.UTF-8.in: Likewise. + * localedata/br_FR.UTF-8.in: Likewise. + * localedata/cmn_TW.UTF-8.in: Likewise. + * localedata/crh_UA.UTF-8.in: Likewise. + * localedata/csb_PL.UTF-8.in: Likewise. + * localedata/cv_RU.UTF-8.in: Likewise. + * localedata/cy_GB.UTF-8.in: Likewise. + * localedata/dz_BT.UTF-8.in: Likewise. + * localedata/eo.UTF-8.in: Likewise. + * localedata/es_ES.UTF-8.in: Likewise. + * localedata/fa_IR.UTF-8.in: Likewise. + * localedata/fi_FI.UTF-8.in: Likewise. + * localedata/fil_PH.UTF-8.in: Likewise. + * localedata/fur_IT.UTF-8.in: Likewise. + * localedata/gez_ER.UTF-8@abegede.in: Likewise. + * localedata/ha_NG.UTF-8.in: Likewise. + * localedata/ig_NG.UTF-8.in: Likewise. + * localedata/ik_CA.UTF-8.in: Likewise. + * localedata/kk_KZ.UTF-8.in: Likewise. + * localedata/ku_TR.UTF-8.in: Likewise. + * localedata/ky_KG.UTF-8.in: Likewise. + * localedata/ln_CD.UTF-8.in: Likewise. + * localedata/mi_NZ.UTF-8.in: Likewise. + * localedata/ml_IN.UTF-8.in: Likewise. + * localedata/mn_MN.UTF-8.in: Likewise. + * localedata/mr_IN.UTF-8.in: Likewise. + * localedata/mt_MT.UTF-8.in: Likewise. + * localedata/nb_NO.UTF-8.in: Likewise. + * localedata/om_KE.UTF-8.in: Likewise. + * localedata/os_RU.UTF-8.in: Likewise. + * localedata/ps_AF.UTF-8.in: Likewise. + * localedata/ro_RO.UTF-8.in: Likewise. + * localedata/ru_RU.UTF-8.in: Likewise. + * localedata/sc_IT.UTF-8.in: Likewise. + * localedata/se_NO.UTF-8.in: Likewise. + * localedata/sq_AL.UTF-8.in: Likewise. + * localedata/sv_SE.UTF-8.in: Likewise. + * localedata/szl_PL.UTF-8.in: Likewise. + * localedata/tg_TJ.UTF-8.in: Likewise. + * localedata/tk_TM.UTF-8.in: Likewise. + * localedata/tt_RU.UTF-8.in: Likewise. + * localedata/tt_RU.UTF-8@iqtelif.in: Likewise. + * localedata/ug_CN.UTF-8.in: Likewise. + * localedata/uz_UZ.UTF-8.in: Likewise. + * localedata/vi_VN.UTF-8.in: Likewise. + * localedata/yi_US.UTF-8.in: Likewise. + * localedata/yo_NG.UTF-8.in: Likewise. + * localedata/zh_CN.UTF-8.in: Likewise. + * localedata/locales/am_ET: Adapt collation rules to new iso14651_t1_common + file and fix bugs in the collation. + * localedata/locales/az_AZ: Likewise. + * localedata/locales/be_BY: Likewise. + * localedata/locales/ber_DZ: Likewise. + * localedata/locales/ber_MA: Likewise. + * localedata/locales/bg_BG: Likewise. + * localedata/locales/br_FR: Likewise. + * localedata/locales/br_FR@euro: Likewise. + * localedata/locales/ca_ES: Likewise. + * localedata/locales/cns11643_stroke: Likewise. + * localedata/locales/crh_UA: Likewise. + * localedata/locales/cs_CZ: Likewise. + * localedata/locales/csb_PL: Likewise. + * localedata/locales/cv_RU: Likewise. + * localedata/locales/cy_GB: Likewise. + * localedata/locales/da_DK: Likewise. + * localedata/locales/dz_BT: Likewise. + * localedata/locales/en_CA: Likewise. + * localedata/locales/eo: Likewise. + * localedata/locales/es_CU: Likewise. + * localedata/locales/es_EC: Likewise. + * localedata/locales/es_ES: Likewise. + * localedata/locales/es_US: Likewise. + * localedata/locales/et_EE: Likewise. + * localedata/locales/fa_IR: Likewise. + * localedata/locales/fi_FI: Likewise. + * localedata/locales/fil_PH: Likewise. + * localedata/locales/fur_IT: Likewise. + * localedata/locales/gez_ER@abegede: Likewise. + * localedata/locales/ha_NG: Likewise. + * localedata/locales/hr_HR: Likewise. + * localedata/locales/hsb_DE: Likewise. + * localedata/locales/hu_HU: Likewise. + * localedata/locales/ig_NG: Likewise. + * localedata/locales/ik_CA: Likewise. + * localedata/locales/is_IS: Likewise. + * localedata/locales/iso14651_t1_pinyin: Likewise. + * localedata/locales/kk_KZ: Likewise. + * localedata/locales/ku_TR: Likewise. + * localedata/locales/ky_KG: Likewise. + * localedata/locales/ln_CD: Likewise. + * localedata/locales/lt_LT: Likewise. + * localedata/locales/lv_LV: Likewise. + * localedata/locales/mi_NZ: Likewise. + * localedata/locales/ml_IN: Likewise. + * localedata/locales/mn_MN: Likewise. + * localedata/locales/mr_IN: Likewise. + * localedata/locales/mt_MT: Likewise. + * localedata/locales/nb_NO: Likewise. + * localedata/locales/om_KE: Likewise. + * localedata/locales/os_RU: Likewise. + * localedata/locales/pl_PL: Likewise. + * localedata/locales/ps_AF: Likewise. + * localedata/locales/ro_RO: Likewise. + * localedata/locales/ru_RU: Likewise. + * localedata/locales/ru_UA: Likewise. + * localedata/locales/sc_IT: Likewise. + * localedata/locales/se_NO: Likewise. + * localedata/locales/si_LK: Likewise. + * localedata/locales/sq_AL: Likewise. + * localedata/locales/sv_FI: Likewise. + * localedata/locales/sv_FI@euro: Likewise. + * localedata/locales/sv_SE: Likewise. + * localedata/locales/szl_PL: Likewise. + * localedata/locales/tg_TJ: Likewise. + * localedata/locales/ti_ER: Likewise. + * localedata/locales/tk_TM: Likewise. + * localedata/locales/tl_PH: Likewise. + * localedata/locales/tr_TR: Likewise. + * localedata/locales/tt_RU: Likewise. + * localedata/locales/tt_RU@iqtelif: Likewise. + * localedata/locales/ug_CN: Likewise. + * localedata/locales/uk_UA: Likewise. + * localedata/locales/uz_UZ: Likewise. + * localedata/locales/uz_UZ@cyrillic: Likewise. + * localedata/locales/vi_VN: Likewise. + * localedata/locales/yi_US: Likewise. + * localedata/locales/yo_NG: Likewise. + +2018-02-27 Mike FABIAN + + * gen-locales.mk: Make test files which contain @ modifiers in their + name work. + * localedata/gen-locale.sh: Likewise. + +2018-02-27 Mike FABIAN + + * posix/tst-fnmatch.input: Fix results for range expressions + for non C locales. + * posix/tst-regexloc.c: Do not use a range expression for + de_DE.ISO-8859-1 locale. + +2018-02-27 Mike FABIAN + + * posix/bug-regex5.c: Fix test case because with the new + iso14651_t1_common file, the da_DK locale now has 6 collating elements + in the ISO-8859-1 range instead of 4 with the old iso14651_t1_common + file. + +2018-02-27 Mike FABIAN + + * localedata/da_DK.ISO-8859-1.in: In the new iso14651_t1_common file + downloaded from ISO, the collation order of @-. and space has changed. + Therefore, this test file needed to be adapted. + * localedata/fr_CA.UTF-8.in: Likewise. + * localedata/fr_FR.UTF-8.in: Likewise. + * localedata/uk_UA.UTF-8.in: Likewise. + +2018-02-27 Mike FABIAN + + * localedata/cs_CZ.UTF-8.in: adapt this test file to the collation + order of ȥ in the new iso14651_t1_common file. + * localedata/pl_PL.UTF-8.in: Likewise. + +2018-02-27 Mike FABIAN + + * localedata/locales/iso14651_t1_common: Add sections for various + scripts to the iso14651_t1_common file. + +2018-02-27 Mike FABIAN + + * localedata/locales/iso14651_t1_common: Use the code point of a + character in the fourth collation level instead of IGNORE for all + entries which have IGNORE on all 4 levels. + +2018-02-27 Mike FABIAN + + * localedata/locales/iso14651_t1_common: Add some convenient collation + symbols like , to make tailoring easier using + rules similar to those in CLDR. + +2018-02-27 Mike FABIAN + + * localedata/locales/iso14651_t1_common: The new version of this + file downloaded from ISO contained several syntax errors which + are fixed by this patch. + +2018-02-27 Mike FABIAN + + * localedata/locales/iso14651_t1_common: replace all + with because glibc understands only 4 digit or 8 digit + +2018-02-27 Mike FABIAN + + * localedata/locales/iso14651_t1_common: Necessary changes + to make the file downloaded from ISO usable by glibc. + +2018-02-27 Mike FABIAN + + [BZ #14095] + * localedata/locales/iso14651_t1_common: Update file to + latest version from ISO (ISO14651_2016_TABLE1_en.txt). + +2018-02-27 Samuel Thibault + + * sysdeps/pthread/timer_routines.c: Include instead + of + (thread_attr_compare): Move function to... + [!defined DELAYTIMER_MAX] (DELAYTIMER_MAX): Define to INT_MAX. + * sysdeps/nptl/timer_routines.h: ... new header. + * sysdeps/mach/hurd/gai_misc.h: New file. + +2018-02-26 Joseph Myers + + * string/strcoll_l.c: Include . + (STRCOLL): Ignore -Wmaybe-uninitialized for -Os around + declarations of seq1 and seq2. + + [BZ #15105] + * stdlib/atoi.c (atoi): Use libc_hidden_def. + * include/stdlib.h [!_ISOMAC] (atoi): Use libc_hidden_proto. + +2018-02-26 Dmitry V. Levin + + [BZ #22433] + [BZ #22807] + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (__ptrace_request): Add + PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS, + PTRACE_GETVRREGS, PTRACE_SETVRREGS, PTRACE_GETEVRREGS, + PTRACE_SETEVRREGS, PTRACE_GETREGS64, PTRACE_SETREGS64, + PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG, PTRACE_GETVSRREGS, + PTRACE_SETVSRREGS, and PTRACE_SINGLEBLOCK. + +2018-02-26 Tulio Magno Quites Machado Filho + + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux + macros used in __ptrace_request. + +2018-02-23 H.J. Lu + + [BZ #22792] + * Makerules ($(common-objpfx)%.h): Pass -DGEN_AS_CONST_HEADERS + to $(CC). + * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Include + only if GEN_AS_CONST_HEADERS isn't defined. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Don't include + . + +2018-02-23 Joseph Myers + + [BZ #15105] + * ctype/ctype.c (tolower): Use libc_hidden_def. + (toupper): Likewise. + * include/ctype.h [!_ISOMAC] (tolower): Use libc_hidden_proto. + [!_ISOMAC] (toupper): Likewise. + +2018-02-23 Mike FABIAN + + * localedata/Makefile: Remove --quiet argument when + installing locales + +2018-02-23 Mike FABIAN + + [BZ #17438] + * localedata/locales/pt_BR (LC_TIME): use / instead of - + in d_fmt. + * localedata/locales/pt_PT (LC_TIME): likewise + +2018-02-23 Mike FABIAN + + [BZ #22646] + * localedata/locales/es_CL (LC_TIME): copy "es_BO". + * localedata/locales/es_CU (LC_TIME): copy "es_BO". + * localedata/locales/es_EC (LC_TIME): copy "es_BO". + +2018-02-22 Adhemerval Zanella + + * sysdeps/sparc/fpu/libm-test-ulps: Update. + + * nptl/Makefile (routines): Remove unregister-atfork. + * nptl/register-atfork.c (fork_handler_pool): Remove variable. + (fork_handler_alloc): Remove function. + (fork_handlers, fork_handler_init): New variables. + (__fork_lock): Rename to atfork_lock. + (__register_atfork, __unregister_atfork, libc_freeres_fn): Rewrite + to use a dynamic array to add/remove atfork handlers. + * sysdeps/nptl/fork.c (__libc_fork): Likewise. + * sysdeps/nptl/fork.h (__fork_lock, __fork_handlers, __linkin_atfork): + Remove declaration. + (fork_handler): Remove next, refcntr, and need_signal member. + (__run_fork_handler_type): New enum. + (__run_fork_handlers): New prototype. + * nptl/register-atfork.c: Remove file. + * sysdeps/nptl/libc-lockP.h (__libc_atfork): Remove declaration. + + * sysdeps/nptl/nptl-signals.h: Move to ... + * sysdeps/generic/internal-signals.h: ... here. Adjust internal + comments. + * sysdeps/unix/sysv/linux/internal-signals.h: Add include guards. + (__nptl_is_internal_signal): Rename to __is_internal_signal and remove + unnecessary check for SIGTIMER. + (__nptl_clear_internal_signals): Rename to __clear_internal_signals and + remove unnecessary removal of SIGTIMER. + * sysdeps/unix/sysv/linux/raise.c: Adjust nptl-signal.h to + include-signals.h rename. + * nptl/pthreadP.h: Likewise. + * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Call + __is_internal_signal instead of __nptl_is_internal_signal. + +2018-02-22 Andrew Waterman + + [BZ # 22884] + * sysdeps/riscv/rvd/s_fmax.c (__fmax): Handle sNaNs correctly. + * sysdeps/riscv/rvd/s_fmin.c (__fmin): Likewise. + * sysdeps/riscv/rvf/s_fmaxf.c (__fmaxf): Likewise. + * sysdeps/riscv/rvf/s_fminf.c (__fminf): Likewise. + +2018-02-22 DJ Delorie + + * sysdeps/riscv/tls-macros.h: Do not initialize $gp. + +2018-02-22 Siddhesh Poyarekar + + * sysdeps/aarch64/strcmp.S (do_misaligned): Jump back to + do_misaligned, not misaligned8. + +2018-02-22 Steve Ellcey + + * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): + Add memcpy_thunderx2. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC): + Increment to 4. + (__libc_ifunc_impl_list): Add __memcpy_thunderx2. + * sysdeps/aarch64/multiarch/memcpy.c (libc_ifunc): Add IS_THUNDERX2 + and IS_THUNDERX2PA checks. + * sysdeps/aarch64/multiarch/memcpy_thunderx.S (USE_THUNDERX2): + Use macro to set name appropriately. + (memcpy): Use USE_THUNDERX2 macro to modify prefetches. + * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: New file. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_THUNDERX2PA): + New macro. + (IS_THUNDERX2): New macro. + +2018-02-22 Stefan Liebler + + * sysdeps/s390/fpu/libm-test-ulps: Regenerated. + +2018-02-21 Zack Weinberg + + * libio/libio.h (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust): + Define here, unconditionally. + * libio/iolibio.h (_IO_pos_BAD): Don't define here. + * libio/libioP.h: Remove #if 0 blocks. + (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust): Don't define here. + (_IO_va_start, COERCE_FILE, MAYBE_SET_EINVAL): Don't define. + (CHECK_FILE): Don't use MAYBE_SET_EINVAL or COERCE_FILE. Fix style. + + * libio/clearerr.c, libio/fputc.c, libio/getchar.c: + Assume weak_alias is always defined. + + * libio/fileops.c, libio/genops.c, libio/oldfileops.c + * libio/oldpclose.c, libio/pclose.c, libio/wfileops.c: + Remove #if 0 and #ifdef TODO blocks. + Assume text_set_element is always defined. + + * libio/iofdopen.c, libio/iogetdelim.c, libio/oldiofdopen.c + Use __set_errno (EINVAL) instead of MAYBE_SET_EINVAL. + * libio/tst-mmap-eofsync.c: Make #if 1 block unconditional. + + * libio/libio.h (_IOS_ATEND, _IOS_APPEND, _IOS_TRUNC) + (_IOS_NOCREATE, _IOS_NOREPLACE, _IOS_BIN, _OLD_STDIO_MAGIC) + (_IO_SKIPWS, _IO_LEFT, _IO_RIGHT, _IO_INTERNAL, _IO_DEC) + (_IO_OCT, _IO_HEX, _IO_SHOWBASE, _IO_SHOWPOINT, _IO_UPPERCASE) + (_IO_SHOWPOS, _IO_SCIENTIFIC, _IO_FIXED, _IO_UNITBUF, _IO_STDIO) + (_IO_DONT_CLOSE, _IO_BOOLALPHA, _IO_BAD_SEEN): Remove, unused. + Reformat bit flags for _flags field to make occupancy clearer. + Update commentary. + * libio/bits/types/struct_FILE.h (_IO_EOF_SEEN, _IO_ERR_SEEN): + Keep definitions consistent with those in libio/libio.h. + + * libio/libio.h (_IO_file_flags): Remove macro. + All uses changed to _flags. + + * libio/libio.h (_IO_UNIFIED_JUMPTABLES, _STDIO_USES_IOSTREAM) + (__HAVE_COLUMN, _IO_BE): Don't define. + (_IO_peekc_unlocked, _IO_getwc_unlocked, _IO_putwc_unlocked) + (_IO_fwide_maybe_incompatible): Use __glibc_unlikely. + * libio/libioP.h (EOF): Don't define. + * libio/iofdopen.c, libio/iofopen.c, libio/iopopen.c + * libio/iovdprintf.c, libio/oldiofdopen.c, libio/oldiofopen.c + * libio/oldiopopen.c, debug/vdprintf_chk.c: Remove #if block + testing _IO_UNIFIED_JUMPTABLES. + + * libio/libio.h (_IO_FILE): Delete; all uses changed to FILE. + (_IO_fpos_t): Delete; all uses changed to __fpos_t. + (_IO_fpos64_t): Delete; all uses changed to __fpos64_t. + (_IO_size_t): Delete; all uses changed to size_t. + (_IO_ssize_t): Delete; all uses changed to ssize_t or __ssize_t. + (_IO_off_t): Delete; all uses changed to off_t. + (_IO_off64_t): Delete; all uses changed to off64_t. + (_IO_pid_t): Delete; all uses changed to pid_t. + (_IO_uid_t): Delete; all uses changed to uid_t. + (_IO_wint_t): Delete; all uses changed to wint_t. + (_IO_va_list): Delete; all uses changed to va_list or __gnuc_va_list. + (_IO_BUFSIZ): Delete; all uses changed to BUFSIZ. + (_IO_cookie_io_functions_t): Delete; all uses changed to + cookie_io_functions_t. + (__io_read_fn): Delete; all uses changed to cookie_read_function_t. + (__io_write_fn): Delete; all uses changed to cookie_write_function_t. + (__io_seek_fn): Delete; all uses changed to cookie_seek_function_t. + (__io_close_fn): Delete: all uses changed to cookie_close_function_t. + + * libio/iofopncook.c: Remove unnecessary forward declarations. + * libio/iolibio.h: Correct outdated commentary. + * malloc/malloc.c (__malloc_stats): Remove unnecessary casts. + * stdio-common/fxprintf.c (__fxprintf_nocancel): + Remove unnecessary casts. + * stdio-common/getline.c: Use _IO_getdelim directly. + Don't redefine ssize_t. + * stdio-common/printf_fp.c, stdio_common/printf_fphex.c + * stdio-common/printf_size.c: Don't redefine size_t or FILE. + Remove outdated comments. + * stdio-common/vfscanf.c: Don't redefine va_list. + + * libio/iolibio.h, libio/libioP.h: Remove extern "C". + * libio/libio.h: Remove __BEGIN_DECLS and __END_DECLS. + Remove preprocessor conditionals on _LIBC and __USE_GNU, + which are always true, and __cplusplus, which is always false. + +2018-02-21 Joseph Myers + + [BZ #15105] + [BZ #19463] + * libio/fputc_u.c (fputc_unlocked): Use libc_hidden_def. + * libio/putc_u.c (putc_unlocked): Rename to __putc_unlocked and + define as weak alias of __putc_unlocked. Use libc_hidden_weak. + * include/stdio.h [!_ISOMAC] (fputc_unlocked): Use + libc_hidden_proto. + [!_ISOMAC] (putc_unlocked): Likewise. + [!_ISOMAC] (__putc_unlocked): Declare as hidden function, and + define inline if [__USE_EXTERN_INLINES]. + * misc/syslog.c (__vsyslog_chk): Call __putc_unlocked instead of + putc_unlocked. + + [BZ #15105] + [BZ #19463] + * libio/getc_u.c (getc_unlocked): Use libc_hidden_weak. + * include/stdio.h [!_ISOMAC] (__getc_unlocked): Use + attribute_hidden, and define inline if [__USE_EXTERN_INLINES]. + [!_ISOMAC] (getc_unlocked): Use libc_hidden_proto. + * misc/getttyent.c (__getttyent): Call __getc_unlocked instead of + getc_unlocked. + * time/tzfile.c (__tzfile_read): Likewise. + +2018-02-21 Mike FABIAN + + [BZ #22517] + * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end” + +2018-02-21 Rical Jasan + + * io/fcntl.h: Fix a typo in a comment. + +2018-02-21 Rical Jasan + + [BZ #22862] + * include/features.h: Add _ISOC11_SOURCE to test for whether to + define _DEFAULT_SOURCE. + * manual/creature.texi (_DEFAULT_SOURCE): Improve documentation. + +2018-02-21 Florian Weimer + + [BZ #20890] + * elf/cache.c (save_cache): Call fsync on temporary file before + renaming it. + (save_aux_cache): Call fdatasync on temporary file before renaming + it. + +2018-02-21 Florian Weimer + + [BZ #22787] + * include/caller.h: Remove file. + * elf/dl-caller.c: Likewise. + * elf/Makefile (dl-routines): Remove dl-caller. + (shared-only-routines): Do not add dl-caller. + * elf/dl-load.c (_dl_map_object_from_fd): Do not call + __check_caller. + * elf/dl-open.c (struct dl_open_args): Remove caller_dl_open + member. + (dl_open_worker): Do not call __check_caller. + (_dl_open): Do not set caller_dl_open member. + * elf/rtld.c (_rtld_global_ro): Do not initialize + _dl_check_caller member. + * sysdeps/generic/ldsodefs.h (rtld_global): Remove + _dl_check_caller member. + (_dl_check_caller): Remove declaration. + * sysdeps/unix/sysv/linux/dl-execstack.c + (_dl_make_stack_executable): Do not call __check_caller. + +2018-02-21 Samuel Thibault + + * sysdeps/mach/hurd/dl-sysdep.c (_dl_random): New variable. + * sysdeps/mach/hurd/sysdep-cancel.h: New file. + +2018-02-20 Rical Jasan + + * manual/creature.texi (_ISOC99_SOURCE): Update the dated + description. + +2018-02-20 Rical Jasan + + [BZ #16335] + * manual/creature.texi (_POSIX_C_SOURCE): Document special values + of 199606L, 200112L, and 200809L. + (_XOPEN_SOURCE): Document special values of 600 and 700. + (_ISOC11_SOURCE): Document macro. + (_ATFILE_SOURCE): Likewise. + (_FORTIFY_SOURCE): Likewise. + +2018-02-19 Joseph Myers + + [BZ #15105] + [BZ #19463] + * libio/ferror_u.c (ferror_unlocked): Rename to __ferror_unlocked + and define as weak alias of __ferror_unlocked. Use + libc_hidden_weak. + * include/stdio.h [!_ISOMAC] (ferror_unlocked): Use + libc_hidden_proto. + [!_ISOMAC] (__ferror_unlocked) New declaration, and inline + function if [__USE_EXTERN_INLINES]. + * time/getdate.c (__getdate_r): Call __ferror_unlocked instead of + ferror_unlocked. + +2018-02-19 Rical Jasan + + [BZ #6889] + * manual/filesys.texi (get_current_dir_name): Clarify behaviour. + +2018-02-18 Aurelien Jarno + + [BZ #22818] + * posix/tst-glob_lstat_compat.c [__alpha__] (glob): Access + the GLIBC_2.1 version. + +2018-02-18 Aurelien Jarno + + [BZ #21508] + * catgets/xopen-msg.awk: Ignore POT-Creation-Date line. + * intl/Makefile ($(objpfx)tst-gettext-de.po): Generate + intl/tst-gettext-de.po from po/de.po by removing the + POT-Creation-Date line. + ($(objpfx)msgs.h): Depend on $(objpfx)tst-gettext-de.po instead of + ../po/de.po. + * intl/tst-gettext.sh: Use ${objpfx}tst-gettext-de.po instead of + ../po/de.po. + +2018-02-17 Samuel Thibault + + * mach/Makefile (headers): Add mach/param.h. + * sysdeps/mach/hurd/bits/param.h: Include . + * sysdeps/mach/i386/mach/param.h: New file, defines EXEC_PAGESIZE + * sysdeps/mach/hurd/ptsname.c: Include . + (__ptsname_r): Move implementation to... + (__ptsname_internal): ... new function. Add filling the STP + structure. + +2018-02-17 John David Anglin + + * sysdeps/hppa/fpu/libm-test-ulps (pow): Increase double and + idouble to 1 ULP. + +2018-02-16 Rical Jasan + + * manual/platform.texi (__riscv_flush_icache): Fix @deftypefun + syntax. + +2018-02-16 Stefan Liebler + + * nptl/Makefile (tst-mutex8-ENV): Delete. + * nptl/tst-mutex8.c (check_type): + Add runtime check if mutex will be elided. + +2018-02-15 Joseph Myers + + [BZ #20980] + [BZ #21234] + * manual/install.texi (Configuring and compiling): Describe + passing CC and CFLAGS on configure command line, not as + environment variables. Use @code markup on those variables. + Specify what options go in CC and what go in CFLAGS. Note the + requirement to compile with optimization. + * INSTALL: Regenerated. + + [BZ #18124] + * sysdeps/hppa/bsd-setjmp.S: Include . + (setjmp): Use HIDDEN_JUMPTARGET with __sigsetjmp. + * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Call + __sigprocmask instead of sigprocmask. + * sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext): + Likewise. + * sysdeps/unix/sysv/linux/hppa/localplt.data: Remove entries for + __sigsetjmp and sigprocmask. + + [BZ #15105] + * include/argz.h (argz_next): Use libc_hidden_proto. + (__argz_next): Likewise. + * string-argz-next.c (__argz_next): Use libc_hidden_def. + (argz_next): Use libc_hidden_weak. + + [BZ #15105] + * include/sys/socket.h [!_ISOMAC] (__cmsg_nxthdr): Use + libc_hidden_proto. + * sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Use + libc_hidden_def. + + [BZ #15105] + * include/stdio.h [!_ISOMAC && IS_IN (libc)] (fputs): Use + libc_hidden_proto. + * libio/iofputs.c (fputs): Use libc_hidden_weak. + + [BZ #15105] + [BZ #19463] + * libio/feof_u.c (feof_unlocked): Rename to __feof_unlocked and + define as weak alias of __feof_unlocked. Use libc_hidden_weak. + * include/stdio.h (feof_unlocked): Use libc_hidden_proto. + (__feof_unlocked): New declaration, and inline function if + [__USE_EXTERN_INLINES]. + * iconv/gconv_conf.c (read_conf_file): Call __feof_unlocked + instead of feof_unlocked. + * intl/localealias.c [_LIBC] (FEOF): Likewise. + * nss/nsswitch.c (nss_parse_file): Likewise. + * sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): + Likewise. + * time/getdate.c (__getdate_r): Likewise. + * sysdeps/posix/getaddrinfo.c [IS_IN (libc)] (feof_unlocked): + Define as macro to call __feof_unlocked. + +2018-02-15 Wilco Dijkstra + + * sysdeps/aarch64/fpu/fpu_control.h: Use <> in include. + +2018-02-15 Wilco Dijkstra + + * math/Makefile: Remove mpexp.c and mplog.c + * sysdeps/i386/fpu/mpexp.c: Delete file. + * sysdeps/i386/fpu/mplog.c: Likewise. + * sysdeps/ia64/fpu/mpexp.c: Likewise. + * sysdeps/ia64/fpu/mplog.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c: Remove mention of mpexp and mplog. + * sysdeps/ieee754/dbl-64/mpa.h (__pow_mp): Remove unused function. + * sysdeps/ieee754/dbl-64/mpexp.c: Delete file. + * sysdeps/ieee754/dbl-64/mplog.c: Likewise. + * sysdeps/m68k/m680x0/fpu/mpexp.c: Likewise. + * sysdeps/m68k/m680x0/fpu/mplog.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/Makefile: Remove mpexp* and mplog*. + * sysdeps/x86_64/fpu/multiarch/e_log-avx.c: Remove unused defines. + * sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_log-fma4.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mpexp-avx.c: Delete file. + * sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mpexp-fma4.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mplog-avx.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mplog-fma4.c: Likewise. + +2018-02-15 Stefan Liebler + + * sysdeps/s390/fpu/libm-test-ulps: Regenerated. + +2018-02-14 Adhemerval Zanella + + * sysdeps/sh/libm-test-ulps: Update. + +2018-02-12 Tulio Magno Quites Machado Filho + + * sysdeps/powerpc/fpu/libm-test-ulps (pow): Increase double and + idouble to 1 ULP. + +2018-02-12 Zack Weinberg + + [BZ #19239] + * posix/sys/types.h: Don't include sys/sysmacros.h. + * misc/sys/sysmacros.h: Remove the conditional deprecation + warnings for the macros defined by this header. + +2018-02-12 Szabolcs Nagy + + * manual/probes.texi: Remove slowexp probes. + * math/Makefile: Remove slowexp. + * sysdeps/generic/math_private.h (__slowexp): Remove. + * sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Remove __slowexp and + document error bounds. + * sysdeps/i386/fpu/slowexp.c: Remove. + * sysdeps/ia64/fpu/slowexp.c: Remove. + * sysdeps/ieee754/dbl-64/slowexp.c: Remove. + * sysdeps/ieee754/dbl-64/uexp.h (err_0): Remove. + * sysdeps/m68k/m680x0/fpu/slowexp.c: Remove. + * sysdeps/powerpc/power4/fpu/Makefile (CPPFLAGS-slowexp.c): Remove. + * sysdeps/x86_64/fpu/multiarch/Makefile: Remove slowexp-fma. + * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Remove. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Remove. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Remove. + * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Remove. + * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Remove. + * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Remove. + +2018-02-12 Wilco Dijkstra + + [BZ #13932] + * sysdeps/ieee754/dbl-64/uexp.h (err_1): Remove. + * benchtests/pow-inputs: Update comment for slow path cases. + * manual/probes.texi (slowpow_p10): Delete removed probe. + (slowpow_p10): Likewise. + * math/Makefile: Remove halfulp.c and slowpow.c. + * sysdeps/aarch64/libm-test-ulps: Set ULP of pow to 1. + * sysdeps/generic/math_private.h (__exp1): Remove error argument. + (__halfulp): Remove. + (__slowpow): Remove. + * sysdeps/i386/fpu/halfulp.c: Delete file. + * sysdeps/i386/fpu/slowpow.c: Likewise. + * sysdeps/ia64/fpu/halfulp.c: Likewise. + * sysdeps/ia64/fpu/slowpow.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c (__exp1): Remove error argument, + improve comments and add error analysis. + * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Add error analysis. + (power1): Remove function: + (log1): Remove error argument, add error analysis. + (my_log2): Remove function. + * sysdeps/ieee754/dbl-64/halfulp.c: Delete file. + * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. + * sysdeps/m68k/m680x0/fpu/halfulp.c: Likewise. + * sysdeps/m68k/m680x0/fpu/slowpow.c: Likewise. + * sysdeps/powerpc/power4/fpu/Makefile: Remove CPPFLAGS-slowpow.c. + * sysdeps/x86_64/fpu/libm-test-ulps: Set ULP of pow to 1. + * sysdeps/x86_64/fpu/multiarch/Makefile: Remove slowpow-fma.c, + slowpow-fma4.c, halfulp-fma.c, halfulp-fma4.c. + * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c (__slowpow): Remove define. + * sysdeps/x86_64/fpu/multiarch/e_pow-fma4.c (__slowpow): Likewise. + * sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Delete file. + * sysdeps/x86_64/fpu/multiarch/halfulp-fma4.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowpow-fma4.c: Likewise. + +2018-02-11 Samuel Thibault + + * nscd/connections.c (RWLOCK_INITIALIZER): Define to + PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP or + +2018-02-10 Dmitry V. Levin + + [BZ #22433] + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (__ptrace_request): + Remove arm-specific PTRACE_GET_THREAD_AREA, PTRACE_GETHBPREGS, + and PTRACE_SETHBPREGS. + +2018-02-10 Zack Weinberg + + [BZ #22830] + * malloc/malloc.c (__malloc_stats): Restore stderr->_flags2 + correctly. + * malloc/tst-malloc-stats-cancellation.c: New test case. + * malloc/Makefile: Add new test case. + +2018-02-10 Wilco Dijkstra + + * sysdeps/aarch64/fpu/fpu_control.h: Add features.h to fix build error. + +2018-02-10 Joseph Myers + + * math/Makefile (libm-narrow-fns): Add add. + (libm-test-funcs-narrow): Likewise. + * math/Versions (GLIBC_2.28): Add narrowing add functions. + * math/bits/mathcalls-narrow.h (add): Use __MATHCALL_NARROW . + * math/gen-auto-libm-tests.c (test_functions): Add add. + * math/math-narrow.h (CHECK_NARROW_ADD): New macro. + (NARROW_ADD_ROUND_TO_ODD): Likewise. + (NARROW_ADD_TRIVIAL): Likewise. + * sysdeps/ieee754/float128/float128_private.h (__faddl): New + macro. + (__daddl): Likewise. + * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fadd and + dadd. + (CFLAGS-nldbl-dadd.c): New variable. + (CFLAGS-nldbl-fadd.c): Likewise. + * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add + __nldbl_daddl. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_daddl): New + prototype. + * manual/arith.texi (Misc FP Arithmetic): Document fadd, faddl, + daddl, fMaddfN, fMaddfNx, fMxaddfN and fMxaddfNx. + * math/auto-libm-test-in: Add tests of add. + * math/auto-libm-test-out-narrow-add: New generated file. + * math/libm-test-narrow-add.inc: New file. + * sysdeps/i386/fpu/s_f32xaddf64.c: Likewise. + * sysdeps/ieee754/dbl-64/s_f32xaddf64.c: Likewise. + * sysdeps/ieee754/dbl-64/s_fadd.c: Likewise. + * sysdeps/ieee754/float128/s_f32addf128.c: Likewise. + * sysdeps/ieee754/float128/s_f64addf128.c: Likewise. + * sysdeps/ieee754/float128/s_f64xaddf128.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_daddl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_f64xaddf128.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_faddl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_daddl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_faddl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_daddl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_faddl.c: Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-dadd.c: Likewise. + * sysdeps/ieee754/ldbl-opt/nldbl-fadd.c: Likewise. + * sysdeps/ieee754/soft-fp/s_daddl.c: Likewise. + * sysdeps/ieee754/soft-fp/s_fadd.c: Likewise. + * sysdeps/ieee754/soft-fp/s_faddl.c: Likewise. + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + * sysdeps/mach/hurd/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + + * sysdeps/powerpc/powerpc64le/Makefile [$(subdir) = math] + (f128-pairs): New variable. + [$(subdir) = math] ($(foreach suf,$(all-object-suffixes),$(foreach + pair,$(f128-pairs),$(objpfx)test-$(pair)%$(suf)))): Add -mfloat128 + to CFLAGS. + [$(subdir) = math] ($(foreach pair,$(f128-pairs),test-$(pair)%)): + Also make tests add $(f128-loader-link) to gnulib-tests. + +2018-02-09 DJ Delorie + + [BZ #22827] + * sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use + 64-bit ELF type for 64-bit ELF objects. + +2018-02-09 Joseph Myers + + * math/libm-test-driver.c (snan_tests_arg): New variable. + * math/libm-test-support.h (snan_tests_arg): New declaration. + * math/libm-test-support.c (enable_test): Check snan_tests_arg. + + * math/Makefile (test-type-pairs): New variable. + (test-type-pairs-f64xf128-yes): Likewise. + (tests): Add test-narrow-macros. + (libm-test-funcs-narrow): New variable. + (libm-test-c-narrow): Likewise. + (generated): Add $(libm-test-c-narrow). + (libm-tests-base-narrow): New variable. + (libm-tests-narrow): Likewise. + (libm-tests): Add $(libm-tests-narrow). + (libm-tests-for-type): Handle $(libm-tests-narrow). + (libm-test-c-narrow-obj): New variable. + ($(libm-test-c-narrow-obj)): New rule. + ($(foreach t,$(libm-tests-narrow),$(objpfx)$(t).c)): Likewise. + ($(foreach f,$(libm-test-funcs-narrow),$(objpfx)$(o)-$(f).o)): Use + $(o-iterator) to set dependencies and CFLAGS. + * math/gen-auto-libm-tests.c: Document use for narrowing + functions. + (output_for_one_input_case): Take argument NARROW. + (generate_output): Likewise. Update call to + output_for_one_input_case. + (main): Take --narrow option. Update call to generate_output. + * math/gen-libm-test.pl (_apply_lit): Take macro name as argument. + (apply_lit): Update call to _apply_lit. + (apply_arglit): New function. + (parse_args): Handle "a" arguments. + (parse_auto_input): Handle format names using ":". + * math/README.libm-test: Document "a" parameter type. + * math/libm-test-support.h (ARG_TYPE_MIN): New macro. + (ARG_TYPE_TRUE_MIN): Likewise. + (ARG_TYPE_MAX): Likwise. + (ARG_MIN_EXP): Likewise. + (ARG_MAX_EXP): Likewise. + (ARG_MANT_DIG): Likewise. + (TEST_COND_arg_ibm128): Likewise. + (TEST_COND_ibm128_libgcc): Define conditional on [ARG_FLOAT]. + (TEST_COND_arg_fmt): New macro. + (init_max_error): Update prototype. + * math/libm-test-support.c (test_ibm128): New variable. + (init_max_error): Take argument testing_ibm128 and set test_ibm128 + instead of using [TEST_COND_ibm128] conditional. + (test_exceptions): Use test_ibm128 instead of TEST_COND_ibm128. + * math/libm-test-driver.c (STR_ARG_FLOAT): New macro. + [TEST_NARROW] (TEST_MSG): New definition. + (arg_plus_zero): New macro. + (arg_minus_zero): Likewise. + (arg_plus_infty): Likewise. + (arg_minus_infty): Likewise. + (arg_qnan_value_pl): Likewise. + (arg_qnan_value): Likewise. + (arg_snan_value_pl): Likewise. + (arg_snan_value): Likewise. + (arg_max_value): Likewise. + (arg_min_value): Likewise. + (arg_min_subnorm_value): Likewise. + [ARG_FLOAT] (struct test_aa_f_data): New struct type. + (RUN_TEST_LOOP_aa_f): New macro. + (TEST_SUFF): New macro. + (TEST_SUFF_STR): Likewise. + [!TEST_MATHVEC] (VEC_SUFF): Don't define. + (TEST_COND_any_ibm128): New macro. + (START): Use TEST_SUFF and TEST_SUFF_STR in initializer for + this_func. Update call to init_max_error. + * math/test-double.h (FUNC_NARROW_PREFIX): New macro. + * math/test-float.h (FUNC_NARROW_PREFIX): Likewise. + * math/test-float128.h (FUNC_NARROW_PREFIX): Likewise. + * math/test-float32.h (FUNC_NARROW_PREFIX): Likewise. + * math/test-float32x.h (FUNC_NARROW_PREFIX): Likewise. + * math/test-float64.h (FUNC_NARROW_PREFIX): Likewise. + * math/test-float64x.h (FUNC_NARROW_PREFIX): Likewise. + * math/test-math-scalar.h (TEST_NARROW): Likewise. + * math/test-math-vector.h (TEST_NARROW): Likewise. + * math/test-arg-double.h: New file. + * math/test-arg-float128.h: Likewise. + * math/test-arg-float32x.h: Likewise. + * math/test-arg-float64.h: Likewise. + * math/test-arg-float64x.h: Likewise. + * math/test-arg-ldouble.h: Likewise. + * math/test-math-narrow.h: Likewise. + * math/test-narrow-macros.c: Likewise. + * sysdeps/ieee754/ldbl-opt/test-narrow-macros-ldbl-64.c: Likewise. + * sysdeps/ieee754/ldbl-opt/Makefile (tests): Add + test-narrow-macros-ldbl-64. + (CFLAGS-test-narrow-macros-ldbl-64.c): New variable. + + * math/bits/mathcalls-narrow.h: New file. + * include/bits/mathcalls-narrow.h: Likewise. + * math/math-narrow.h: Likewise. + * math/math.h (__MATHCALL_NARROW_ARGS_1): New macro. + (__MATHCALL_NARROW_ARGS_2): Likewise. + (__MATHCALL_NARROW_ARGS_3): Likewise. + (__MATHCALL_NARROW_NORMAL): Likewise. + (__MATHCALL_NARROW_REDIR): Likewise. + (__MATHCALL_NARROW): Likewise. + [__GLIBC_USE (IEC_60559_BFP_EXT)]: Repeatedly include + with _Mret_, _Marg_ and __MATHCALL_NAME + defined. + [__GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + * math/Makefile (headers): Add bits/mathcalls-narrow.h. + (libm-narrow-fns): New variable. + (libm-narrow-types-basic): Likewise. + (libm-narrow-types-ldouble-yes): Likewise. + (libm-narrow-types-float128-yes): Likewise. + (libm-narrow-types-float128-alias-yes): Likewise. + (libm-narrow-types): Likewise. + (libm-routines): Add narrowing functions. + * sysdeps/i386/fpu/fenv_private.h [__x86_64__] + (libc_feholdexcept_setroundf128): New macro. + [__x86_64__] (libc_feupdateenv_testf128): Likewise. + * sysdeps/ieee754/float128/float128_private.h: Include + . + [libc_feholdexcept_setroundf128] (libc_feholdexcept_setroundl): + Undefine and redefine. + [libc_feupdateenv_testf128] (libc_feupdateenv_testl): Likewise. + (libm_alias_float_ldouble): Undefine and redefine. + (libm_alias_double_ldouble): Likewise. + + * math/Makefile [$(PERL) != no] (libm-test-incs): Remove variable. + +2018-02-09 Wilco Dijkstra + + * sysdeps/aarch64/fpu/fpu_control.h: Use builtins for accessing + FPCR/FPSR. + +2018-02-09 Rical Jasan + + * manual/creature.texi: Convert references to gcc.info to gcc. + * manual/stdio.texi: Likewise. + * manual/string.texi: Likewise. + +2018-02-07 Joseph Myers + + [BZ #17979] + * posix/bits/types.h (__int_least8_t): New typedef. + (__uint_least8_t): Likewise. + (__int_least16_t): Likewise. + (__uint_least16_t): Likewise. + (__int_least32_t): Likewise. + (__uint_least32_t): Likewise. + (__int_least64_t): Likewise. + (__uint_least64_t): Likewise. + * sysdeps/generic/stdint.h (int_least8_t): Define using + __int_least8_t. + (int_least16_t): Define using __int_least16_t. + (int_least32_t): Define using __int_least32_t. + (int_least64_t): Define using __int_least64_t. + (uint_least8_t): Define using __uint_least8_t. + (uint_least16_t): Define using __uint_least16_t. + (uint_least32_t): Define using __uint_least32_t. + (uint_least64_t): Define using __uint_least64_t. + * wcsmbs/uchar.h: Include . + (char16_t): Define using __uint_least16_t conditional only on + [!__USE_ISOCXX11]. + (char32_t): Define using __uint_least32_t conditional only on + [!__USE_ISOCXX11]. + * wcsmbs/test-char-types.c: New file. + * wcsmbs/Makefile (tests): Add test-char-types. + + * scripts/build-many-glibcs.py (Context.checkout): Default MPFR + version to 4.0.1. + +2018-02-07 Zack Weinberg + + * bits/_G_config.h: Move back to sysdeps/generic/_G_config.h. + Delete all contents except for definitions of _G_HAVE_MMAP and + _G_HAVE_MREMAP. Add commentary explaining those two symbols. + * sysdeps/unix/sysv/linux/bits/_G_config.h: Move back to + sysdeps/unix/sysv/linux/_G_config.h. Make same content + change as above. + + * libio/libio.h: Don't include bits/_G_config.h here. + Include stddef.h with __need_wchar_t defined. Include + bits/types/__mbstate_t.h, bits/types/wint_t.h, and gconv.h. + Define _IO_iconv_t here, directly. + Don't define _IO_HAVE_ST_BLKSIZE. + * libio/libioP.h: Include _G_config.h here. Move include of + shlib-compat.h up with rest of includes. Simplify conditionals + controlling definition of _IO_JUMPS_OFFSET. + + * csu/init.c: Remove always-true #if around entire file. + Don't include stdio.h. Set _IO_stdin_used to hardwired + constant 0x20001, and update commentary. + * include/stdio.h, sysdeps/ieee754/ldbl-opt/nldbl-compat.h: + Replace all uses of _G_va_list with __gnuc_va_list. + * libio/filedoalloc.c: Use #if defined _STATBUF_ST_BLKSIZE + instead of #if _IO_HAVE_ST_BLKSIZE. + * libio/fileops.c: Test _G_HAVE_MREMAP with #if, not #ifdef. + * libio/iofdopen.c, libio/iofopen.c: Test _G_HAVE_MMAP with #if, + not #ifdef. + + * libio/bits/libio.h: Move back to libio/libio.h and adjust + multiple-include guard to match. + Merge contents of libio/bits/libio-ldbl.h and include/libio.h + into this file. + Remove preprocessor conditionals that are always true and/or + redundant to other preprocessor conditionals in the same nest. + Include shlib-compat.h unconditionally. + Error out if _LIBC is not defined, or if _ISOMAC is defined, + or if _IO_MTSAFE_IO is defined but _IO_lock_t_defined is not + defined after including stdio.h. + Use __BEGIN_DECLS/__END_DECLS. + + * libio/bits/libio-ldbl.h, include/bits/libio.h: Delete file. + * include/stdio.h, libio/iolibio.h, libio/libioP.h: Include + libio.h as rather than as . + +2018-02-07 Zack Weinberg + + * libio/bits/types/__fpos_t.h, libio/bits/types/__fpos64_t.h: + New single-type headers split from _G_config.h. + * libio/bits/types/cookie_io_functions_t.h + * libio/bits/types/struct_FILE.h + New single-type headers split from libio.h. + + * libio/Makefile: Install the above new headers. Don't install + libio.h, _G_config.h, bits/libio.h, bits/_G_config.h, or + bits/libio-ldbl.h. + * libio/_G_config.h, libio/libio.h: Delete file. + + * libio/bits/libio.h: Remove improper-inclusion guard. + Include stdio.h and don't repeat anything that it does. + Define _IO_fpos_t as __fpos_t, _IO_fpos64_t as __fpos64_t, + _IO_BUFSIZ as BUFSIZ, _IO_va_list as __gnuc_va_list, + __io_read_fn as cookie_read_function_t, + __io_write_fn as cookie_write_function_t, + __io_seek_fn as cookie_seek_function_t, + __io_close_fn as cookie_close_function_t, + and _IO_cookie_io_functions_t as cookie_io_functions_t. + Define _STDIO_USES_IOSTREAM, __HAVE_COLUMN, and _IO_file_flags + here, in the "compatibility defines" section. Remove an #if 0 + block. Use the "body" macros from bits/types/struct_FILE.h to + define _IO_getc_unlocked, _IO_putc_unlocked, _IO_feof_unlocked, + and _IO_ferror_unlocked. + Move prototypes of __uflow and __overflow... + + * libio/stdio.h: ...here. Don't include bits/libio.h. + Don't define _STDIO_USES_IOSTREAM. Get __gnuc_va_list + directly from stdarg.h. Include bits/types/__fpos_t.h, + bits/types/__fpos64_t.h, bits/types/struct_FILE.h, + and, when __USE_GNU, bits/types/cookie_io_functions_t.h. + Use __gnuc_va_list, not _G_va_list; __fpos_t, not _G_fpos_t; + __fpos64_t, not _G_fpos64_t; FILE, not struct _IO_FILE; + cookie_io_functions_t, not _IO_cookie_io_functions_t; + __ssize_t, not _IO_ssize_t. Unconditionally define + BUFSIZ as 8192 and EOF as (-1). + + * libio/bits/stdio.h: Add multiple-include guard. Use the "body" + macros from bits/types/struct_FILE.h instead of _IO_* macros + from libio.h; use __gnuc_va_list instead of va_list and __ssize_t + instead of _IO_ssize_t. + * libio/bits/stdio2.h: Similarly. + + * libio/iolibio.h: Add multiple-include guard. + Include bits/libio.h after stdio.h. + * libio/libioP.h: Add multiple-include guard. + Include stdio.h and bits/libio.h before iolibio.h. + + * include/bits/types/__fpos_t.h, include/bits/types/__fpos64_t.h + * include/bits/types/cookie_io_functions_t.h + * include/bits/types/struct_FILE.h: New wrappers. + + * bits/_G_config.h, sysdeps/unix/sysv/linux/_G_config.h: + Get definitions of _G_fpos_t and _G_fpos64_t from + bits/types/__fpos_t.h and bits/types/__fpos64_t.h + respectively. Remove improper-inclusion guards. + + * conform/data/stdio.h-data: Update expectations of va_list. + * scripts/check-installed-headers.sh: Remove special case for + libio.h and _G_config.h. + +2018-02-07 Joseph Myers + + [BZ #15105] + [BZ #19463] + * include/sys/sysmacros.h [!_ISOMAC] + (__SYSMACROS_NEED_IMPLEMENTATION): Define macro. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] + (_SYS_SYSMACROS_H_WRAPPER): Likewise. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_major): Use + libc_hidden_proto. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_minor): Likewise. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_makedev): + Likewise. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__SYSMACROS_DECL_TEMPL): + Undefine and redefine to add use __gnu_dev_ prefix. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__SYSMACROS_IMPL_TEMPL): + Likewise. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_major): Declare + and define as hidden inline function. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_minor): + Likewise. + [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_makedev): + Likewise. + * misc/makedev.c (OUT_OF_LINE_IMPL_TEMPL): Use __gnu_dev_ prefix. + (gnu_dev_major): Use weak_alias and libc_hidden_weak. + (gnu_dev_minor): Likewise. + (gnu_dev_makedev): Likewise. + * csu/check_fds.c (check_one_fd): Use __gnu_dev_makedev instead of + makedev. + * posix/wordexp.c (exec_comm_child): Likewise. + * sysdeps/mach/hurd/xmknodat.c (__xmknodat): Use __gnu_dev_minor + instead of minor and __gnu_dev_major instead of major. + * sysdeps/unix/sysv/linux/device-nrs.h (DEV_TTY_P): Use + __gnu_dev_major instead of major. + * sysdeps/unix/sysv/linux/pathconf.c (distinguish_extX): Use + __gnu_dev_major instead of gnu_dev_major and __gnu_dev_minor + instead of gnu_dev_minor. + * sysdeps/unix/sysv/linux/ptsname.c (MASTER_P): Likewise. + (SLAVE_P): Likewise. + (__ptsname_internal): Use __gnu_dev_minor instead of minor. + * sysdeps/unix/sysv/linux/ttyname.h (is_pty): Use __gnu_dev_major + instead of major. + + [BZ #21313] + * locale/weight.h (findidx): Disable -Wmaybe-uninitialized for -Os + in another place. + * locale/weightwc.h (findidx): Likewise. + +2018-02-07 Wilco Dijkstra + + * manual/probes.texi (slowlog): Delete documentation of removed probe. + (slowlog_inexact): Likewise + * sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Remove slow paths. + * sysdeps/ieee754/dbl-64/ulog.h: Remove unused declarations. + +2018-02-07 Igor Gnatenko + + [BZ #22797] + * sysdeps/unix/sysv/linux/bits/mman-shared.h (pkey_get): Add + missing second underscore to parameter name. + +2018-02-06 Joseph Myers + + [BZ #14508] + [BZ #15512] + [BZ #17082] + [BZ #20530] + * bits/byteswap.h: Update file comment. Do not include + . + (__bswap_constant_16): Cast result to __uint16_t. Use signed 0xff + constant. + (__bswap_16): Define as inline function. + (__bswap_constant_32): Reformat definition. + (__bswap_32): Always define as inline function, not macro, using + __uint32_t. Use __builtin_bswap32 if [__GNUC_PREREQ (4, 3)], + otherwise __bswap_constant_32. + (__bswap_constant_64): Reformat definition. Do not use + __extension__ here. + (__bswap_64): Always define as inline function, not macro. Use + __extension__ on function definition. Use __builtin_bswap64 if + [__GNUC_PREREQ (4, 3)], otherwise __bswap_constant_64. + * string/test-endian-file-scope.c: New file. + * string/test-endian-sign-conversion.c: Likewise. + * string/Makefile (headers): Remove bits/byteswap-16.h. + (tests): Add test-endian-file-scope and + test-endian-sign-conversion. + (CFLAGS-test-endian-sign-conversion.c): New variable. + * bits/byteswap-16.h: Remove file. + * sysdeps/ia64/bits/byteswap-16.h: Likewise. + * sysdeps/ia64/bits/byteswap.h: Likewise. + * sysdeps/m68k/bits/byteswap.h: Likewise. + * sysdeps/s390/bits/byteswap-16.h: Likewise. + * sysdeps/s390/bits/byteswap.h: Likewise. + * sysdeps/tile/bits/byteswap.h: Likewise. + * sysdeps/x86/bits/byteswap-16.h: Likewise. + * sysdeps/x86/bits/byteswap.h: Likewise. + + [BZ #17721] + * misc/sys/cdefs.h [!__GNUC__ && (__cplusplus || (__STDC_VERSION__ + && __STDC_VERSION__ >= 199901L))] (__inline): Define to inline. + [!__GNUC_PREREQ (2,92) && __STDC_VERSION__ && __STDC_VERSION__ >= + 199901L] (__restrict): Define to restrict. + + [BZ #19667] + * string/testcopy.c: Include . Do not include + . Use . + (main): Rename to do_test. Make static. Use xmalloc instead of + malloc. + + [BZ #13575] + * posix/bits/posix1_lim.h: Include . + [!SSIZE_MAX && !(__WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG)] + (SSIZE_MAX): Define to INT_MAX. + * posix/test-ssize-max.c: New file. + * posix/Makefile (tests): Add test-ssize-max. + + [BZ #19668] + * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c: Include + . Do not include . + (query_auxv): Use xmalloc instead of malloc. + + [BZ #14553] + * posix/sys/types.h (loff_t): Only define for [__USE_MISC]. + * sysdeps/unix/sysv/linux/sys/quota.h (dqoff): Use __loff_t + instead of loff_t. + +2018-02-06 Florian Weimer + + [BZ #18023] + * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): + Use scratch_buffer instead of extend_alloca. + +2018-02-06 Zack Weinberg + + * libio/stdio.h: Don't define getc or putc as macros. + * libio/bits/stdio.h (getchar, putchar): Use getc and putc, + not _IO_getc and _IO_putc. + + * stdio-common/tstgetln.c: Don't redefine FILE, va_list, or BUFSIZ. + * stdio-common/tstgetln.c: Don't redefine ssize_t. + +2018-02-06 Joseph Myers + + * sysdeps/gnu/netinet/tcp.h (TCP_FASTOPEN_KEY): New macro. + (TCP_FASTOPEN_NO_COOKIE): Likewise. + + * sysdeps/unix/sysv/linux/bits/in.h (IPV6_FREEBIND): New macro. + + [BZ #14890] + * elf/elf.h (NT_PRFPREG): New macro. + (NT_S390_VXRS_LOW): Likewise. + (NT_S390_VXRS_HIGH): Likewise. + (NT_S390_GS_CB): Likewise. + (NT_S390_GS_BC): Likewise. + (NT_S390_RI_CB): Likewise. + + * sysdeps/unix/sysv/linux/aarch64/bits/mman.h [__USE_MISC] + (MAP_SYNC): New macro. + * sysdeps/unix/sysv/linux/arm/bits/mman.h [__USE_MISC] (MAP_SYNC): + Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/mman.h [__USE_MISC] + (MAP_SYNC): Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/mman.h [__USE_MISC] + (MAP_SYNC): Likewise. + * sysdeps/unix/sysv/linux/microblaze/bits/mman.h [__USE_MISC] + (MAP_SYNC): Likewise. + * sysdeps/unix/sysv/linux/nios2/bits/mman.h [__USE_MISC] + (MAP_SYNC): Likewise. + * sysdeps/unix/sysv/linux/riscv/bits/mman.h [__USE_MISC] + (MAP_SYNC): Likewise. + * sysdeps/unix/sysv/linux/s390/bits/mman.h [__USE_MISC] + (MAP_SYNC): Likewise. + * sysdeps/unix/sysv/linux/sh/bits/mman.h [__USE_MISC] (MAP_SYNC): + Likewise. + * sysdeps/unix/sysv/linux/x86/bits/mman.h [__USE_MISC] (MAP_SYNC): + Likewise. + + * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_MISC] + (MAP_SHARED_VALIDATE): New macro. + * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] + (MAP_SHARED_VALIDATE): Likewise. + +2018-02-05 H.J. Lu + + * elf/dl-addr.c (determine_info): Use ADDRIDX with DT_GNU_HASH. + * elf/dl-lookup.c (_dl_setup_hash): Likewise. + * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise. + +2018-02-05 H.J. Lu + + * elf/elf.h (DT_SYMTAB_SHNDX): New. Set to 34. + (DT_NUM): Updated to 35. + +2018-02-05 H.J. Lu + + * sysdeps/i386/dl-machine.h (elf_machine_rel): Replace + __builtin_expect with __glibc_likely and __glibc_unlikely. + (elf_machine_rela): Likewise. + (elf_machine_lazy_rel): Likewise. + +2018-02-05 H.J. Lu + + * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Replace + __builtin_expect with __glibc_likely and __glibc_unlikely. + (elf_machine_lazy_rel): Likewise. + +2018-02-05 H.J. Lu + + [BZ #22638] + * sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of + SHARED. + * sysdeps/sparc/sparc64/start.S (_start): Likewise. + +2018-02-05 Andreas Schwab + + [BZ #22761] + * assert/assert-perr.c (__assert_perror_fail): Append %n to format + string. + +2018-02-04 Samuel Thibault + + * stdlib/test-atexit-race-common.c [!defined PTHREAD_STACK_MIN]: Do + not check against PTHREAD_STACK_MIN. + +2018-02-02 Sean McKean + + [BZ #22735] + * time/time.h (clock): Reference CLOCKS_PER_SEC in comment. + +2018-02-02 Florian Weimer + + [BZ #22753] + * sysdeps/posix/preadv2.c (preadv2): Handle offset == -1. + * sysdeps/posix/preadv64v2.c (preadv64v2): Likewise. + * sysdeps/posix/pwritev2.c (pwritev2): Likewise. + * sysdeps/posix/pwritev64v2.c (pwritev64v2): Likweise. + * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise. + * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise. + * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise. + * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likweise. + * manual/llio.texi (Scatter-Gather): Mention offset -1. + * misc/tst-preadvwritev-common.c (do_test_without_offset): New. + * misc/tst-preadvwritev2.c (do_test): Call it. + * misc/tst-preadvwritev64v2.c (do_test): Likewise. + +2018-02-02 Siddhesh Poyarekar + + * sysdeps/aarch64/memcmp.S: Use L() macro for labels. + + * benchtests/bench-memcmp.c: Print json instead of plain text. + + * benchtests/bench-memcmp.c (do_test): Call realloc_buf for + every test run. + +2018-02-01 Joseph Myers + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 4.15. + (s390_sthyi): New syscall. + + * sysdeps/generic/ldbl-classify-compat.h: New file. + * sysdeps/arm/ldbl-classify-compat.h: Likewise. + * sysdeps/m68k/coldfire/ldbl-classify-compat.h: Likewise. + * sysdeps/microblaze/ldbl-classify-compat.h: Likewise. + * sysdeps/mips/ldbl-classify-compat.h: Likewise. + * sysdeps/nios2/ldbl-classify-compat.h: Likewise. + * sysdeps/sh/ldbl-classify-compat.h: Likewise. + * sysdeps/ieee754/dbl-64/s_finite.c: Include + . + [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. + * sysdeps/ieee754/dbl-64/s_isinf.c: Include + . + [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. + * sysdeps/ieee754/dbl-64/s_isnan.c: Include + . + [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. + * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Include + . + [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. + * sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: Include + . + [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. + * sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Include + . + [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined. + * sysdeps/arm/math_private.h (LDBL_CLASSIFY_COMPAT): Remove macro. + * sysdeps/mips/math_private.h (LDBL_CLASSIFY_COMPAT): Likewise. + * sysdeps/m68k/coldfire/math_private.h: Remove file. + * sysdeps/microblaze/math_private.h: Likewise. + * sysdeps/nios2/math_private.h: Likewise. + * sysdeps/sh/math_private.h: Likewise. + + * sysdeps/m68k/coldfire/fpu/math_private.h: Move to .... + * sysdeps/m68k/coldfire/math_private.h: ... here. + * sysdeps/m68k/coldfire/nofpu/math_private.h: Remove file. + * sysdeps/tile/math_private.h: Likewise. + * sysdeps/microblaze/math_private.h (libc_feholdexcept_setround): + Remove macro. + * sysdeps/nios2/math_private.h (libc_feholdexcept_setround): + Likewise. + + * sysdeps/m68k/coldfire/nofpu/math_private.h (libc_fesetround): + Remove macro. + (libc_fetestexcept): Likewise. + (libc_feupdateenv_test): Likewise. + * sysdeps/microblaze/math_private.h (libc_fesetround): Likewise. + (libc_fetestexcept): Likewise. + (libc_feupdateenv_test): Likewise. + * sysdeps/nios2/math_private.h (libc_fesetround): Likewise. + (libc_fetestexcept): Likewise. + (libc_feupdateenv_test): Likewise. + * sysdeps/tile/math_private.h (libc_fesetround): Likewise. + (libc_fetestexcept): Likewise. + (libc_feupdateenv_test): Likewise. + + * sysdeps/generic/math_private.h + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept): + New inline function. + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feholdexcept): + Likewise. + + * include/fenv.h [!_ISOMAC && !FE_TONEAREST]: Give #error. + [!_ISOMAC] (FE_HAVE_ROUNDING_MODES): New macro. + * sysdeps/generic/math_private.h + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (fegetenv): New + inline function. + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__fegetenv): + Likewise. + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (fesetenv): + Likewise. + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__fesetenv): + Likewise. + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feupdateenv): + Likewise. + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feupdateenv): + Likewise. + [!FE_HAVE_ROUNDING_MODES] (fegetround): Likewise. + [!FE_HAVE_ROUNDING_MODES] (__fegetround): Likewise. + [!FE_HAVE_ROUNDING_MODES] (fesetround): Likewise. + [!FE_HAVE_ROUNDING_MODES] (__fesetround): Likewise. + * sysdeps/tile/math_private.h (fegetenv): Remove inline function. + (__fegetenv): Likewise. + (fesetenv): Likewise. + (__fesetenv): Likewise. + (feupdateenv): Likewise. + (__feupdateenv): Likewise. + (fegetround): Likewise. + (__fegetround): Likewise. + (fesetround): Likewise. + (__fesetround): Likewise. + + * sysdeps/generic/math_private.h [FE_ALL_EXCEPT == 0] + (feraiseexcept): New macro. + [FE_ALL_EXCEPT == 0] (__feraiseexcept): Likewise. + * sysdeps/m68k/coldfire/nofpu/math_private.h (feraiseexcept): + Remove macro. + (__feraiseexcept): Likewise. + (feclearexcept): Likewise. + * sysdeps/microblaze/math_private.h (feraiseexcept): Likewise. + (__feraiseexcept): Likewise. + (feclearexcept): Likewise. + * sysdeps/nios2/math_private.h (feraiseexcept): Likewise. + (__feraiseexcept): Likewise. + (feclearexcept): Likewise. + * sysdeps/tile/math_private.h (feraiseexcept): Likewise. + (__feraiseexcept): Likewise. + (feclearexcept): Likewise. + (fetestexcept): Likewise. + + * sysdeps/m68k/coldfire/math-tests.h: New file. + + * sysdeps/m68k/fpu/bits/fenv.h: Move to .... + * sysdeps/m68k/bits/fenv.h: ... here. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_INEXACT): Do + not define. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_DIVBYZERO): + Likewise. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_UNDERFLOW): + Likewise. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_OVERFLOW): + Likewise. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_INVALID): + Likewise. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_ALL_EXCEPT): + Define to 0. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] + (__FE_UNDEFINED): New enum constant. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_TOWARDZERO): + Do not define. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_DOWNWARD): + Likewise. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_UPWARD): + Likewise. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (fenv_t): Define + to match generic bits/fenv.h. + [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_NOMASK_ENV): + Do not define. + + * soft-fp/double.h (union _FP_UNION_D): Do not use attribute + packed on bits. + * soft-fp/extended.h (union _FP_UNION_E): Likewise. + * soft-fp/half.h (union _FP_UNION_H): Likewise. + * soft-fp/quad.h (union _FP_UNION_Q): Likewise. + * soft-fp/single.h (union _FP_UNION_S): Likewise. + +2018-02-01 Carlos O'Donell + Ramin Seyed-Moussavi + Joseph Myers + + [BZ #21314] + * sysdeps/ieee754/dbl-64/s_log1p.c: Include . + (__log1p): Disable -Wmaybe-uninitialized for -Os around + computation using c. + * sysdeps/ieee754/flt-32/s_log1pf.c: Include . + (__log1pf): Disable -Wmaybe-uninitialized for -Os around + computation using c. + +2018-02-01 Dmitry V. Levin + + * version.h (RELEASE): Set to "development". + (VERSION): Set to "2.27.9000". + * NEWS (2.28): New section. + + * version.h (RELEASE): Set to "stable". + (VERSION): Set to "2.27". + * include/features.h (__GLIBC_MINOR__): Set to 2.27. + + * NEWS: Add the list of bugs fixed in 2.27. + +2018-02-01 Adhemerval Zanella + + * stdlib/test-atexit-race-common.c (do_test): Check stack size + against PTHREAD_STACK_MIN. + +2018-02-01 Dmitry V. Levin + + * manual/contrib.texi (Palmer Dabbelt, Arjun Shankar, Florian Weimer): + New entries. + (Rafał Lużyński, Andreas Schwab): Update. + +2018-02-01 Rafał Lużyński + + [BZ #10871] + * NEWS: List the languages which actually use the alternative + months feature in this release. Also explain that "alt_mon" and + "ab_alt_mon" are optional. + +2018-01-31 Il'ya Malakhov + + [BZ #22765] + * crypt/badsalttest.c (do_test): Set cd.initialized to 0. + +2018-01-31 Dmitry V. Levin + + * manual/install.texi (Tools for Compilation): Update the newest + versions of gcc, binutils, texinfo, gawk, bison, and sed. + * INSTALL: Regenerated. + +2018-01-30 Samuel Thibault + + * sysdeps/pthread/allocalim.h (__libc_use_alloca): Use __glibc_likely + instead of __builtin_expect. + +2018-01-30 Florian Weimer + + * nss/bug17079.c (do_test): Use nss_files only for reading passwd + data. + * nss/tst-nss-getpwent.c (do_test): Likewise. + +2018-01-30 Rafał Lużyński + + [BZ #10871] + * localedata/locales/hr_HR (mon): Rename to... + (alt_mon): This. + (mon): Import from CLDR (genitive case). + (d_t_fmt): Update the comment. + +2018-01-29 Andreas Schwab + + * sysdeps/posix/fpathconf.c (__fpathconf): Verify the values of + _POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, _POSIX_VDISABLE. + * sysdeps/posix/pathconf.c (__pathconf): Likewise. + +2018-01-29 Samuel Thibault + + * mach/Versions: Fix version when __mach_host_self_ was added. + * hurd/Versions: Fix version when _hurd_exec_paths was added. + * sysdeps/mach/hurd/i386/ld.abilist: New file. + * sysdeps/mach/hurd/i386/libBrokenLocale.abilist: New file. + * sysdeps/mach/hurd/i386/libanl.abilist: New file. + * sysdeps/mach/hurd/i386/libc.abilist: New file. + * sysdeps/mach/hurd/i386/libcrypt.abilist: New file. + * sysdeps/mach/hurd/i386/libdl.abilist: New file. + * sysdeps/mach/hurd/i386/libm.abilist: New file. + * sysdeps/mach/hurd/i386/libnsl.abilist: New file. + * sysdeps/mach/hurd/i386/libresolv.abilist: New file. + * sysdeps/mach/hurd/i386/librt.abilist: New file. + * sysdeps/mach/hurd/i386/libutil.abilist: New file. + * sysdeps/pthread/allocalim.h (__libc_use_alloca): Commute operands of + || to respect codestyle. + * libio/tst-memstream3.c (_FWRITE): Rename to FWRITE_FUNC. + (do_test_bz20181): Rename accordingly. + * malloc/malloc.c: Include . + (assert): Do not define. + [!defined NDEBUG] (__assert_fail): Define to __malloc_assert. + * bits/fcntl.h: Fix comment for FREAD and FWRITE. + * sysdeps/mach/hurd/bits/fcntl.h: Likewise. + * sysdeps/mach/hurd/hp-timing.h: New file. + * sysdeps/mach/hurd/i386/tlsdesc.sym: New file. + +2018-01-29 Darius Rad + + * sysdeps/unix/sysv/linux/riscv/ipc_priv.h: New file. + +2018-01-29 Palmer Dabbelt + + * sysdeps/init_array/crti.S (.section .init_array): Add + PREINIT_FUNCTION when defined. + * manual/math.texi: RISC-V supports _Float128 and _Float64x. + * config.h.in: Regenerate. + * manual/platform.texi: Add RISC-V documenation for + __riscv_flush_icache. + * sysdeps/riscv/__longjmp.S: New file. + * sysdeps/riscv/backtrace.c: Likewise. + * sysdeps/riscv/bits/endian.h: Likewise. + * sysdeps/riscv/bits/setjmp.h: Likewise. + * sysdeps/riscv/bits/wordsize.h: Likewise. + * sysdeps/riscv/bsd-_setjmp.c: Likewise. + * sysdeps/riscv/bsd-setjmp.c: Likewise. + * sysdeps/riscv/dl-trampoline.S: Likewise. + * sysdeps/riscv/gccframe.h: Likewise. + * sysdeps/riscv/jmpbuf-offsets.h: Likewise. + * sysdeps/riscv/jmpbuf-unwind.h: Likewise. + * sysdeps/riscv/machine-gmon.h: Likewise. + * sysdeps/riscv/memusage.h: Likewise. + * sysdeps/riscv/setjmp.S: Likewise. + * sysdeps/riscv/sys/asm.h: Likewise. + * sysdeps/riscv/tls-macros.h: Likewise. + * sysdeps/riscv/dl-tls.h: New file. + * sysdeps/riscv/libc-tls.c: Likewise. + * sysdeps/riscv/nptl/tcb-offsets.sym: Likewise. + * sysdeps/riscv/nptl/tls.h: Likewise. + * sysdeps/riscv/stackinfo.h: Likewise. + * sysdeps/riscv/bits/fenv.h: New file. + * sysdeps/riscv/e_sqrtl.c: Likewise. + * sysdeps/riscv/fpu_control.h: Likewise. + * sysdeps/riscv/math-tests.h: Likewise. + * sysdeps/riscv/nofpu/Implies: Likewise. + * sysdeps/riscv/sfp-machine.h: Likewise. + * sysdeps/riscv/tininess.h: Likewise. + * sysdeps/riscv/rv64/rvd/s_ceil.c: New file. + * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_llrint.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_llround.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_lrint.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_lround.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_nearbyint.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_rint.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_round.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_roundeven.c: Likewise. + * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise. + * sysdeps/riscv/rv64/rvf/s_llrintf.c: Likewise. + * sysdeps/riscv/rv64/rvf/s_llroundf.c: Likewise. + * sysdeps/riscv/rv64/rvf/s_lrintf.c: Likewise. + * sysdeps/riscv/rv64/rvf/s_lroundf.c: Likewise. + * sysdeps/riscv/rvd/e_sqrt.c: Likewise. + * sysdeps/riscv/rvd/s_copysign.c: Likewise. + * sysdeps/riscv/rvd/s_finite.c: Likewise. + * sysdeps/riscv/rvd/s_fma.c: Likewise. + * sysdeps/riscv/rvd/s_fmax.c: Likewise. + * sysdeps/riscv/rvd/s_fmin.c: Likewise. + * sysdeps/riscv/rvd/s_fpclassify.c: Likewise. + * sysdeps/riscv/rvd/s_isinf.c: Likewise. + * sysdeps/riscv/rvd/s_isnan.c: Likewise. + * sysdeps/riscv/rvd/s_issignaling.c: Likewise. + * sysdeps/riscv/rvf/e_sqrtf.c: Likewise. + * sysdeps/riscv/rvf/fclrexcpt.c: Likewise. + * sysdeps/riscv/rvf/fegetenv.c: Likewise. + * sysdeps/riscv/rvf/fegetmode.c: Likewise. + * sysdeps/riscv/rvf/fegetround.c: Likewise. + * sysdeps/riscv/rvf/feholdexcpt.c: Likewise. + * sysdeps/riscv/rvf/fesetenv.c: Likewise. + * sysdeps/riscv/rvf/fesetexcept.c: Likewise. + * sysdeps/riscv/rvf/fesetmode.c: Likewise. + * sysdeps/riscv/rvf/fesetround.c: Likewise. + * sysdeps/riscv/rvf/feupdateenv.c: Likewise. + * sysdeps/riscv/rvf/fgetexcptflg.c: Likewise. + * sysdeps/riscv/rvf/fraiseexcpt.c: Likewise. + * sysdeps/riscv/rvf/fsetexcptflg.c: Likewise. + * sysdeps/riscv/rvf/ftestexcept.c: Likewise. + * sysdeps/riscv/rvf/get-rounding-mode.h: Likewise. + * sysdeps/riscv/rvf/math_private.h: Likewise. + * sysdeps/riscv/rvf/s_ceilf.c: Likewise. + * sysdeps/riscv/rvf/s_copysignf.c: Likewise. + * sysdeps/riscv/rvf/s_finitef.c: Likewise. + * sysdeps/riscv/rvf/s_floorf.c: Likewise. + * sysdeps/riscv/rvf/s_fmaf.c: Likewise. + * sysdeps/riscv/rvf/s_fmaxf.c: Likewise. + * sysdeps/riscv/rvf/s_fminf.c: Likewise. + * sysdeps/riscv/rvf/s_fpclassifyf.c: Likewise. + * sysdeps/riscv/rvf/s_isinff.c: Likewise. + * sysdeps/riscv/rvf/s_isnanf.c: Likewise. + * sysdeps/riscv/rvf/s_issignalingf.c: Likewise. + * sysdeps/riscv/rvf/s_nearbyintf.c: Likewise. + * sysdeps/riscv/rvf/s_rintf.c: Likewise. + * sysdeps/riscv/rvf/s_roundevenf.c: Likewise. + * sysdeps/riscv/rvf/s_roundf.c: Likewise. + * sysdeps/riscv/rvf/s_truncf.c: Likewise. + * sysdeps/riscv/nptl/bits/pthreadtypes-arch.h: New file. + * sysdeps/riscv/nptl/bits/semaphore.h: Likewise. + * sysdeps/riscv/nptl/libc-lowlevellock.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/atomic-machine.h: Likewise. + * sysdeps/riscv/nptl/nptl-sysdep.S: New file. + * sysdeps/unix/sysv/linux/riscv/arch-fork.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/clone.S: Likewise. + * sysdeps/unix/sysv/linux/riscv/profil-counter.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/pt-vfork.S: Likewise. + * sysdeps/unix/sysv/linux/riscv/syscall.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/riscv/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/vfork.S: Likewise. + * sysdeps/riscv/nptl/pthread-offsets.h: New file. + * sysdeps/riscv/nptl/pthreaddef.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/bits/sigcontext.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/dl-cache.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/flush-icache.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/riscv/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/libc-vdso.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/makecontext.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/readelflib.c: Likewise. + * sysdeps/unix/sysv/linux/riscv/register-dump.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/swapcontext.S: Likewise. + * sysdeps/unix/sysv/linux/riscv/sys/cachectl.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/sys/ucontext.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/sys/user.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/ucontext-macros.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/ucontext_i.sym: Likewise. + * sysdeps/unix/sysv/linux/riscv/dl-static.c: New file. + * sysdeps/unix/sysv/linux/riscv/ldconfig.h: Likewise. + * sysdeps/unix/sysv/linux/riscv/ldsodefs.h: Likewise. + * sysdeps/riscv/nofpu/libm-test-ulps: New file. + * sysdeps/riscv/nofpu/libm-test-ulps-name: Likewise. + * sysdeps/riscv/rv64/rvd/libm-test-ulps: Likewise. + * sysdeps/riscv/rv64/rvd/libm-test-ulps-name: Likewise. + * sysdeps/unix/sysv/linux/riscv/localplt.data: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/c++-types.data: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist: Likewise. + * sysdeps/riscv/Implies: New file. + * sysdeps/riscv/Makefile: Likewise. + * sysdeps/riscv/configure: Likewise. + * sysdeps/riscv/configure.ac: Likewise. + * sysdeps/riscv/nptl/Makefile: Likewise. + * sysdeps/riscv/preconfigure: Likewise. + * sysdeps/riscv/rv64/Implies-after: Likewise. + * sysdeps/riscv/rv64/rvd/Implies: Likewise. + * sysdeps/riscv/rv64/rvf/Implies: Likewise. + * sysdeps/unix/sysv/linux/riscv/Implies: Likewise. + * sysdeps/unix/sysv/linux/riscv/Makefile: Likewise. + * sysdeps/unix/sysv/linux/riscv/Versions: Likewise. + * sysdeps/unix/sysv/linux/riscv/configure: Likewise. + * sysdeps/unix/sysv/linux/riscv/configure.ac: Likewise. + * sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/Implies: Likewise. + * sysdeps/unix/sysv/linux/riscv/rv64/Makefile: Likewise. + * sysdeps/unix/sysv/linux/riscv/shlib-versions: Likewise. + * scripts/build-many-glibcs.py (Context): Add RISC-V targets. + (Config): Likewise. + +2018-01-29 Florian Weimer + + [BZ #22701] + * include/rpcsvc/nislib.h (__nis_default_ttl): Add + libnsl_hidden_proto. + * include/rpcsvc/yp.h (yp_xdrall): Declare with + libnsl_hidden_proto. + * include/rpcsvc/ypclnt.h (yp_maplist): Likewise. + * nis/Makefile (libnsl-routines): Add nss-default only for + build-obsolete-nsl. + * nis/nis_defaults.c (__nis_default_ttl): Add + libnsl_hidden_nolink_def. + * nis/rpcsvc/ypclnt.h (yp_maplist): Remove #ifdef'ed-out + declaration. + * nis/yp_xdr.c (xdr_ypall): Add libnsl_hidden_nolink_def. + * nis/ypclnt.c (yp_maplist): Likewise. + +2018-01-29 Romain Naour (tiny change) + + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + (__ASSUME_COPY_FILE_RANGE) [__LINUX_KERNEL_VERSION < 0x040A00]: Undef. + +2018-01-29 Joseph Myers + + * scripts/build-many-glibcs.py (Context.git_checkout): Use git + clean -dxfq for git updates when replacing sources. + + * scripts/build-many-glibcs.py (Config.build_gcc): Use + --disable-libcilkrts unconditionally, not just for the final GCC + build for Hurd. + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + version to 4.15. + +2018-01-29 Rafał Lużyński + + [BZ #10871] + * localedata/locales/lt_LT (alt_mon): Import from CLDR (nominative + case). + +2018-01-29 Rafał Lużyński + + [BZ #10871] + * localedata/locales/be_BY (mon): Rename to... + (alt_mon): This, then synchronize with CLDR (nominative case). + (abmon): Rename to... + (ab_alt_mon): This, then synchronize with CLDR (nominative case). + (mon): Import from CLDR (genitive case). + (abmon): Likewise. + * localedata/locales/be_BY@latin (mon): Rename to... + (alt_mon): This. + (mon): Add, proper genitive forms provided by Viktar Siarheichyk. + + * localedata/locales/be_BY@latin (lang_name): Reworded to + "biełaruskaja mova". + +2018-01-29 Rafał Lużyński + + [BZ #10871] + * localedata/locales/el_CY (mon): Renamed to... + (alt_mon): This. + (mon): Import from CLDR (genitive case). + * localedata/locales/el_GR: Likewise. + +2018-01-29 Rafał Lużyński + + [BZ #10871] + * localedata/locales/ru_RU (mon): Rename to... + (alt_mon): This. + (abmon): Rename to... + (ab_alt_mon): This. + (mon): Import from CLDR (genitive case). + (abmon): Copy from the old content except the 5th month which is + now in the genitive case, even when abbreviated. + * localedata/locales/ru_UA: Likewise. + * time/tst-strptime.c (day_tests): Add an actual example of + a difference between %b and %Ob in Russian. + +2018-01-27 Samuel Thibault + + * sysdeps/mach/hurd/xmknodat.c: Include . + * sysdeps/mach/hurd/profil.c: Reuse `a' variable instead of introducing + a `c' variable. + * resolv/res-close.c: Include . + * sysdeps/generic/not-cancel.h: Include , , + , , . + (NOT_CANCEL_H): Add inclusion guard. + * sysdeps/generic/sigset-cvt-mask.h: Include . + * sysdeps/generic/sigsetops.h (__sigemptyset, __sigfillset, + __sigandset, __sigorset, __sigaddset, __sigdelset): Make them really + return 0. + * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Cast + vm_address_t * to ElfW(Addr) * for dl_main parameter. + * sysdeps/pthread/posix-timer.h (timer_ptr2id): Cast to timer_t + instead of void *. + * sysdeps/pthread/timer_create.c (timer_create): Do not use + timer_ptr2id to cast struct timer_node * to void *. + * scripts/build-many-glibcs.py [os == gnu] (build_gcc): Pass + --disable-libcilkrts to gcc configure. + (checkout_vcs): Add mig and gnumach repository URLs, run autoreconf, + and make them the default for now. + * sysdeps/mach/hurd/Makefile [$(subdir)==nis]: Add + -DUSE_BINDINGDIR=1 to CFLAGS-ypclnt.c. + * mach/Machrules (MIGFLAGS): Do not set -DMACH_IPC_COMPAT=0. + * mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT. + * sysdeps/mach/hurd/fork.c (__fork): Drop special casing + MACH_IPC_COMPAT. + * sysdeps/mach/hurd/dl-sysdep.c (_exit): Call LOSE and abort() if + __task_terminate would ever return successfully. + * sysdeps/mach/hurd/profil.c (special_profil_failure): Move variable + to global scope. + * sysdeps/mach/pagecopy.h (PAGE_THRESHOLD): Rename to + PAGE_COPY_THRESHOLD and set to benchmarked 16384. + * sysdeps/mach/hurd/getresgid.c (__getresgid): Set result from + critical section to make code simpler and avoid warning. + * sysdeps/mach/hurd/getresuid.c (__getresuid): Set result from + critical section to make code simpler and avoid warning. + * sysdeps/mach/hurd/spawni.c (__spawni): Make relpath and abspath + const char * instead of char *. + * hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup, + __hurd_file_name_split, hurd_file_name_split, + __hurd_directory_name_split, hurd_directory_name_split, + __hurd_file_name_lookup_retry, hurd_file_name_lookup_retry, + hurd_file_name_path_lookup): Make lookup function parameter take a + const char *name instead of char *name. + * hurd/hurdlookup.c (__hurd_file_name_lookup, __hurd_file_name_split, + __hurd_directory_name_split): Likewise. + * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise. + * hurd/path-lookup.c (hurd_file_name_path_lookup): Likewise. + * sysdeps/mach/hurd/check_native.c: New file. + * sysdeps/mach/hurd/check_pf.c: New file. + * nscd/gai.c (__getifaddrs): Define macro to getifaddrs. + (__freeifaddrs): Define macro to freeifaddrs. + * sysdeps/mach/hurd/libhurduser.abilist: New file. + * sysdeps/mach/libmachuser.abilist: New file. + * libio/tst-memstream3.c (FWRITE): Rename to _FWRITE. + (do_test_bz20181): Rename accordingly. + * libio/tst-wmemstream3.c (FWRITE): Rename accordingly. + * io/tst-copy_file_range.c [!defined CLONE_NEWNS]: Do not include + . + * hurd/hurd.h (__hurd_fail): Always declare function, and provide inline + version only if __USE_EXTERN_INLINES is defined. + * hurd/hurd/fd.h (_hurd_fd_error_signal, _hurd_fd_error, __hurd_dfail, + __hurd_sockfail): Likewise. + (_hurd_fd_get): Always declare functions, and provide inline versions + only if __USE_EXTERN_INLINES and _LIBC are defined and IS_IN(libc). + * hurd/hurd/port.h (_hurd_port_init, _hurd_port_locked_get, + _hurd_port_get, _hurd_port_free, _hurd_port_locked_set, + _hurd_port_set): Always declare functions, and provide inline versions + only if __USE_EXTERN_INLINES and _LIBC are defined and + IS_IN(libc). + * hurd/hurd/signal.h (_hurd_self_sigstate, _hurd_critical_section_lock, + _hurd_critical_section_unlock): Likewise. + * hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp, + * __hurd_threadvar_location): Likewise. + * hurd/hurd/userlink.h (_hurd_userlink_link, _hurd_userlink_unlink, + _hurd_userlink_clear): Likewise. + * mach/lock-intern.h (__spin_lock_init, __spin_lock, __mutex_lock, + __mutex_unlock, __mutex_trylock): Always declare functions, and provide + inline versions only if __USE_EXTERN_INLINES and _LIBC are defined. + * mach/mach/mig_support.h (__mig_strncpy): Likewise. + * sysdeps/generic/machine-lock.h (__spin_unlock, __spin_try_lock, + __spin_lock_locked): Likewise. + * sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock, + __spin_lock_locked): Likewise. + * mach/spin-lock.c (__USE_EXTERN_INLINES): Define to 1. + * hurd/Versions (libc: GLIBC_2.27): Add _hurd_fd_error_signal, + _hurd_fd_error, __hurd_dfail, __hurd_sockfail, _hurd_port_locked_set, + __hurd_threadvar_location_from_sp, __hurd_threadvar_location, + _hurd_userlink_link, _hurd_userlink_unlink, _hurd_userlink_clear. + * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_CHOWN_RESTRICTED, + _POSIX_NO_TRUNC): Define to 0. + * sysdeps/pthread/allocalim.h [!defined PTHREAD_STACK_MIN]: Do not + check size against PTHREAD_STACK_MIN. + * hurd/hurd/signal.h [__USE_EXTERN_INLINES][_LIBC][IS_IN(libc) || + IS_IN(libpthread)]: Include . + * mach/Makefile (user-interfaces): Add mach/gnumach. + * sysdeps/mach/configure.ac (mach_interface_list): Add gnumach. + * sysdeps/mach/configure (mach_interface_list): Regenerate. + * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_VDISABLE): Set to '\0' + instead of invalid -1. + * sysdeps/mach/hurd/net/ethernet.h: Include . + * sysdeps/mach/hurd/net/if_arp.h: Include . + * sysdeps/mach/hurd/net/if_ppp.h: Do not include non-existing + . + +2018-01-27 Thomas Schwinge + + * hurd/fcntl-internal.h: New file. + +2018-01-27 James Clarke + + * sysdeps/hppa/fpu/libm-test-ulps: Update. + + * sysdeps/alpha/fpu/libm-test-ulps: Update. + +2018-01-26 Andreas Schwab + + [BZ #22701] + * nis/Makefile (libnsl-inhibit-o) [$(build-obsolete-nsl) != yes]: + Build only shared objects. + +2018-01-26 Carlos O'Donell + + * README: Update for hppa. + +2018-01-26 Patrick McGehearty + + * sysdeps/sparc/fpu/libm-test-ulps: Update + cpow, ctan, ctanh, j0, j1, y0, yn ulps. + +2018-01-26 Carlos O'Donell + + Revert: + + 2017-12-19 H.J. Lu + + [BZ #22563] + * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. + * sysdeps/i386/nptl/tls.h (tcbhead_t): Add feature_1. + * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. + * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Rename __glibc_unused1 + to feature_1. + + 2017-12-19 H.J. Lu + + [BZ #22563] + * bits/types/__cancel_jmp_buf_tag.h: New file. + * sysdeps/unix/sysv/linux/x86/bits/types/__cancel_jmp_buf_tag.h + * sysdeps/unix/sysv/linux/x86/pthreaddef.h: Likewise. + * sysdeps/unix/sysv/linux/x86/nptl/pthreadP.h: Likewise. + * nptl/Makefile (headers): Add + bits/types/__cancel_jmp_buf_tag.h. + * nptl/descr.h [NEED_SAVED_MASK_IN_CANCEL_JMP_BUF] + (pthread_unwind_buf): Add saved_mask to cancel_jmp_buf. + * sysdeps/nptl/pthread.h: Include + . + (__pthread_unwind_buf_t): Use struct __cancel_jmp_buf_tag with + __cancel_jmp_buf. + * sysdeps/unix/sysv/linux/hppa/pthread.h: Likewise. + +2018-01-25 Rafał Lużyński + + [BZ #10871] + * localedata/locales/uk_UA (mon): Renamed to... + (alt_mon): This. + (alt_digits): "0" removed and then renamed to... + (mon): This. + (date_fmt): Definition changed not to use the alternative + digits hack. + +2018-01-25 Palmer Dabbelt + + * elf/cache.c (print_entry): Add FLAG_RISCV_FLOAT_ABI_SOFT and + FLAG_RISCV_FLOAT_ABI_DOUBLE. + * elf/elf.h (EF_RISCV_RVC): New define. + (EF_RISCV_FLOAT_ABI): Likewise. + (EF_RISCV_FLOAT_ABI_SOFT): Likewise. + (EF_RISCV_FLOAT_ABI_SINGLE): Likewise. + (EF_RISCV_FLOAT_ABI_DOUBLE): Likewise. + (EF_RISCV_FLOAT_ABI_QUAD): Likewise. + * sysdeps/generic/ldconfig.h (FLAG_RISCV_FLOAT_ABI_SOFT): New + define. + (FLAG_RISCV_FLOAT_ABI_DOUBLE): Likewise. + +2018-01-25 Andreas Schwab + + * aclocal.m4 (LIBC_SLIBDIR_RTLDDIR): Consistently put arguments in + single quotes. + * sysdeps/gnu/configure: Regenerate. + * sysdeps/unix/sysv/linux/aarch64/configure: Regenerate. + * sysdeps/unix/sysv/linux/mips/configure: Regenerate. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/configure: Regenerate. + * sysdeps/unix/sysv/linux/s390/s390-64/configure: Regenerate. + * sysdeps/unix/sysv/linux/sparc/sparc64/configure: Regenerate. + * sysdeps/unix/sysv/linux/tile/configure: Regenerate. + * sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerate. + * sysdeps/unix/sysv/linux/x86_64/x32/configure: Regenerate. + +2018-01-25 Samuel Thibault + + * scripts/build-many-glibcs.py (checkout_vcs): Add hurd repository + URL, and run autoconf, make it the default for now. + +2018-01-24 Joseph Myers + + * scripts/build-many-glibcs.py (Context.add_all_configs): Add + soft-float ColdFire configuration. + + * sysdeps/unix/sysv/linux/m68k/localplt.data: Move to .... + * sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data: ... here. + * sysdeps/unix/sysv/linux/m68k/coldfire/localplt.data: New file. + + * sysdeps/m68k/coldfire/nofpu/math_private.h: New file. Based on + MicroBlaze file. + + * sysdeps/unix/sysv/linux/m68k/coldfire/jmp_buf-macros.h: Move to + .... + * sysdeps/unix/sysv/linux/m68k/coldfire/fpu/jmp_buf-macros.h: + ... here. + * sysdeps/unix/sysv/linux/m68k/coldfire/nofpu/jmp_buf-macros.h: + New file. + + * sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h: Move to .... + * sysdeps/unix/sysv/linux/m68k/m680x0/jmp_buf-macros.h: ... here. + * sysdeps/unix/sysv/linux/m68k/coldfire/jmp_buf-macros.h: New + file. + +2018-01-24 Szabolcs Nagy + + [BZ #22742] + * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__glibc_reserved1): + Rename to __reserved and add comment. + * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (__glibc_reserved1): + Rename to __reserved. + +2018-01-24 Joseph Myers + + * scripts/build-many-glibcs.py (Context.add_all_configs): Add + i686-gnu configurations. + (Context.run_builds): Include mig, gnumach and hurd in components + considered. + (Context.checkout): Add mig, gnumach and hurd to components. + (Context.checkout_tar): Add URL mappings for mig, gnumach and + hurd. + (Context.bot_cycle): Check for changes to mig, gnumach and hurd. + (Config.build): Install gnumach headers, build mig and install + hurd headers for 'gnu' OS. + (Config.install_gnumach_headers): New function. + (Config.install_hurd_headers): Likewise. + (Glibc.build_glibc): Do not use /usr for 'gnu' OS. Specifiy MIG + when building for 'gnu' OS. + +2018-01-23 Tobias Klauser + + * manual/tunables.texi (Hardware Capability Tunables): Fix + spelling. + +2018-01-22 Rical Jasan + + * manual/locale.texi (ALTMON_1, ALTMON_2, ALTMON_3, ALTMON_4) + (ALTMON_5, ALTMON_6, ALTMON_7, ALTMON_8, ALTMON_9, ALTMON_10) + (ALTMON_11, ALTMON_12): Improve documentation. + * manual/time.texi (strftime): Likewise. + +2018-01-22 Rafał Lużyński + + [BZ #10871] + * localedata/locales/pl_PL: Alternative month names added, + primary month names are genitive now. + * time/tst-strptime.c (day_tests): Actually use a genitive case + of a month name in Polish language. + +2018-01-22 Rafał Lużyński + + [BZ #10871] + * manual/locale.texi: Document ALTMON_1..12 constants for + nl_langinfo. Specify when to use ALTMON instead of MON. + * manual/time.texi (strftime, strptime): Document GNU extension + permitting O modifier with %B and %b. Specify when to use + %OB instead of %B. + +2018-01-22 Rafał Lużyński + + [BZ #10871] + * locale/C-time.c (_nl_C_LC_TIME): Add abbreviated alternative month + names, define them as the same as abbreviated month names explicitly. + * locale/categories.def (LC_TIME): Add ab_alt_mon and wide-ab_alt_mon. + * locale/langinfo.h: (_NL_ABALTMON_1, _NL_ABALTMON_2, _NL_ABALTMON_3, + _NL_ABALTMON_4, _NL_ABALTMON_5, _NL_ABALTMON_6, _NL_ABALTMON_7, + _NL_ABALTMON_8, _NL_ABALTMON_9, _NL_ABALTMON_10, _NL_ABALTMON_11, + _NL_ABALTMON_12, _NL_WABALTMON_1, _NL_WABALTMON_2, _NL_WABALTMON_3, + _NL_WABALTMON_4, _NL_WABALTMON_5, _NL_WABALTMON_6, _NL_WABALTMON_7, + _NL_WABALTMON_8, _NL_WABALTMON_9, _NL_WABALTMON_10, _NL_WABALTMON_11, + _NL_WABALTMON_12): New enum constants. + * locale/programs/ld-time.c (struct locale_time_t): Add ab_alt_mon, + wab_alt_mon, and ab_alt_mon_defined members. + (time_output): Output ab_alt_mon and wab_alt_mon members. + (time_read): Read them, initialize them as copies of abmon and wabmon + respectively if they are missing, initialize ab_alt_mon_defined. + * locale/programs/locfile-kw.gperf (ab_alt_mon): Define. + * locale/programs/locfile-kw.h: Regenerate. + * locale/programs/locfile-token.h (tok_ab_alt_mon): New enum constant. + * time/Makefile [$(run-built-tests) = yes] (LOCALES): Add es_ES.UTF-8 + and ru_RU.UTF-8. + * time/strftime_l.c (a_altmonth, aam_len): New macros. + [!COMPILE_WIDE] (ABALTMON_1): New macro. + (__strftime_internal): Handle %Ob and %Oh formats. + * time/strptime_l.c [_LIBC] (ab_alt_month_name): New macro. + (__strptime_internal): Handle %Ob and %Oh formats. + * time/tst-strptime.c (day_tests): Add more tests to parse different + forms of month names including the new %Ob format specifier. + +2018-01-22 Rafał Lużyński + + [BZ #10871] + * locale/C-time.c (_nl_C_LC_TIME): Add alternative month names, + define them as the same as primary full month names explicitly. + * locale/categories.def (LC_TIME): Add alt_mon and wide-alt_mon. + * locale/langinfo.h (__ALTMON_1, __ALTMON_2, __ALTMON_3, __ALTMON_4, + __ALTMON_5, __ALTMON_6, __ALTMON_7, __ALTMON_8, __ALTMON_9, __ALTMON_10, + __ALTMON_11, __ALTMON_12, _NL_WALTMON_1, _NL_WALTMON_2, _NL_WALTMON_3, + _NL_WALTMON_4, _NL_WALTMON_5, _NL_WALTMON_6, _NL_WALTMON_7, + _NL_WALTMON_8, _NL_WALTMON_9, _NL_WALTMON_10, _NL_WALTMON_11, + _NL_WALTMON_12): New enum constants. + [__USE_GNU] (ALTMON_1, ALTMON_2, ALTMON_3, ALTMON_4, ALTMON_5, ALTMON_6, + ALTMON_7, ALTMON_8, ALTMON_9, ALTMON_10, ALTMON_11, ALTMON_12): New + macros. + * locale/programs/ld-time.c (struct locale_time_t): Add alt_mon, + walt_mon, and alt_mon_defined members. + (time_output): Output alt_mon and walt_mon members. + (time_read): Read them, initialize them as copies of mon and wmon + respectively if they are missing, initialize alt_mon_defined. + * locale/programs/locfile-kw.gperf (alt_mon): Define. + * locale/programs/locfile-kw.h: Regenerate. + * locale/programs/locfile-token.h (tok_alt_mon): New enum constant. + * localedata/tst-langinfo.c (map): Add tests for the new constants + ALTMON_1 .. ALTMON_12. + * time/Makefile [$(run-built-tests) = yes] (LOCALES): Add fr_FR.UTF-8 + and pl_PL.UTF-8. + * time/strftime_l.c (f_altmonth): New macro. + (__strftime_internal): Handle %OB format. + * time/strptime_l.c [_LIBC] (alt_month_name): New macro. + (__strptime_internal): Handle %OB format. + * time/tst-strptime.c (day_tests): Add tests to parse different forms + of month names including the new %OB format specifier. + +2018-01-19 Tulio Magno Quites Machado Filho + + [BZ #22685] + * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Renamed + from ABORT_TRANSACTION. + (ABORT_TRANSACTION): Redirect to ABORT_TRANSACTION_IMPL. + * sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION, + ABORT_TRANSACTION_IMPL): Likewise. + * sysdeps/unix/sysv/linux/powerpc/not-errno.h: New file. Reuse + Linux code, but remove the code that aborts transactions. + +2018-01-19 Samuel Thibault + + * sysdeps/generic/netinet/if_ether.h: Include . + +2018-01-19 Rafał Lużyński + + * localedata/locales/gu_IN (LC_IDENTIFICATION): Fix an obvious typo + in date: "2004-14-09" should be "2004-09-14". + * localedata/locales/lo_LA: Fix an obvious typo in date in the header: + "2003-15-09" should be "2003-09-15". + +2018-01-18 Arjun Shankar + + [BZ #22343] + [BZ #22774] + CVE-2018-6485 + CVE-2018-6551 + * malloc/malloc.c (checked_request2size): call REQUEST_OUT_OF_RANGE + after padding. + (_int_memalign): check for integer overflow before calling + _int_malloc. + * malloc/tst-malloc-too-large.c: New test. + * malloc/Makefile: Add tst-malloc-too-large. + +2018-01-18 Rafał Lużyński + + * localedata/locales/bho_NP (LC_IDENTIFICATION): Fix an obvious typo + in date: "2017-24-07" should be "2017-07-24". + * localedata/locales/mai_IN: Likewise. + * localedata/locales/mai_NP: Likewise. + +2018-01-17 Dmitry V. Levin + + * po/ru.po: Update translations. + +2018-01-17 Joseph Myers + + [BZ #22719] + * sysdeps/hppa/backtrace.c: New file. + +2018-01-17 H.J. Lu + + [BZ #22715] + * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_profile): Properly + align La_x86_64_retval to VEC_SIZE. + +2018-01-16 Joseph Myers + + * sysdeps/x86_64/backtrace.c: Include . + (init): Use LIBGCC_S_SO not hardcoded "libgcc_s.so.1". + +2018-01-16 Florian Weimer + + * nptl/Makefile [$(have-cxx-thread_local)] (tests-unsupported): + Move tst-thread-exit-clobber ... + [$(CXX)] (tests-unsupported): ... to here. + +2018-01-16 Szabolcs Nagy + + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SHA3): Define. + (HWCAP_SM3, HWCAP_SM4, HWCAP_ASIMDDP, HWCAP_SHA512, HWCAP_SVE): Define. + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c + (_dl_aarch64_cap_flags): Update. + (_DL_HWCAP_COUNT): Update. + +2018-01-16 Szabolcs Nagy + + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h + (_DL_HWCAP_LAST): Remove. + (_DL_HWCAP_COUNT): Move to ... + * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c + (_DL_HWCAP_COUNT): ... here. + +2018-01-16 Florian Weimer + + * nptl/Makefile (CFLAGS-tst-minstack-throw.o): Compile in C++11 + mode with GNU extensions. + +2018-01-15 Alan Hayward + + * elf/elf.h (NT_ARM_SVE): Define. + +2018-01-15 Florian Weimer + + [BZ #22636] + * nptl/tst-minstack-throw.cc: New file. + * nptl/Makefile (tests): Add tst-minstack-throw. + (LDLIBS-tst-minstack-throw): Link with libstdc++. + [!CXX] (tests-unsupported): Add tst-minstack-throw. + +2018-01-15 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default + binutils version to 2.30 branch, MPFR version to 4.0.0 and MPC + version to 1.1.0. + +2018-01-13 Carlos O'Donell + + [BZ #22707] + * elf/elf.h (DF_1_STUB): Define. + (DF_1_PIE): Define. + +2018-01-12 Tulio Magno Quites Machado Filho + + [BZ #22697] + * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround): + Do not add 0.5 to integer or out-of-range arguments. + +2018-01-12 Dmitry V. Levin + + * po/bg.po: Update translations. + * po/cs.po: Likewise. + * po/de.po: Likewise. + * po/ko.po: Likewise. + * po/pl.po: Likewise. + * po/sv.po: Likewise. + * po/uk.po: Likewise. + * po/vi.po: Likewise. + +2018-01-12 Szabolcs Nagy + + * aarch64/start.S (_start): Use __wrap_main. + (__wrap_main): New local symbol. + +2018-01-12 Dmitry V. Levin + + [BZ #22679] + CVE-2018-1000001 + * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Fall back to + generic_getcwd if the path returned by getcwd syscall is not absolute. + * io/tst-getcwd-abspath.c: New test. + * io/Makefile (tests): Add tst-getcwd-abspath. + +2018-01-12 Istvan Kurucsai + + * malloc/malloc.c (malloc_consolidate): Add size check. + +2018-01-12 Florian Weimer + + * support/write_message.c (write_message): Preserve errno. + * support/check.c (print_failure): Likewise. + * support/support_test_verify_impl.c (support_test_verify_impl): + Likewise. + * support/support_test_compare_failure.c + (support_test_compare_failure): Likewise. + +2018-01-12 Florian Weimer + + [BZ #22701] + * nis/Makefile (install-lib-ldscripts, $(inst_libdir)/libnsl.so): + Prevent installation of libnsl.so. + (libnsl-inhibit-o): Do not build (or install) static libraries. + +2018-01-12 Egmont Koblinger + + [BZ #22657] + * localedata/locales/hu_HU (d_t_fmt): Avoid a leading space + before the day number which may produce a double space. + (date_fmt): Likewise. + +2018-01-12 Joseph Myers + + * sysdeps/s390/fpu/feholdexcpt.c (__feholdexcept): Call __fegetenv + instead of fegetenv. + +2018-01-11 Joseph Myers + + [BZ #22702] + * sysdeps/generic/math_private.h (libc_feresetround_noex): Update + comment to say exceptions are discarded. + (libc_feholdsetround_noex_ctx): Use __feholdexcept instead of + __fegetenv. + (SET_RESTORE_ROUND_NOEX): Update comment to say non-stop mode must + be enabled. + +2018-01-11 Florian Weimer + + * sysdeps/gnu/unwind-resume.c (__libgcc_s_init): Update comment + and error message. + +2018-01-11 Florian Weimer + + [BZ #22636] + * nptl/Makefile (tests): Add tst-minstack-cancel, tst-minstack-exit. + * nptl/tst-minstack-cancel.c, nptl/tst-minstack-exit.c: New files. + +2018-01-10 Joseph Myers + + [BZ #22693] + * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Handle + negative arguments in test for NaN or infinity argument. + +2018-01-10 Dmitry V. Levin + + * po/libc.pot: Regenerate. + +2018-01-10 Florian Weimer + + [BZ #22636] + * sysdeps/nptl/unwind-forcedunwind.c (pthread_cancel_init): Open + libgcc.so with RTLD_NOW, to avoid lazy binding during unwind. + +2018-01-10 Samuel Thibault + + * hurd/hurd/fd.h: Include + (__hurd_at_flags): New function. + * hurd/lookup-at.c (__file_name_lookup_at): Replace flag computation + with call to __hurd_at_flags. + * include/unistd.h (__faccessat, __faccessat_noerrno): Add declaration. + * sysdeps/mach/hurd/access.c (access_common): Move implementation to + __faccessat + (hurd_fail_seterrno, hurd_fail_noerrno): Move to sysdeps/mach/hurd/faccessat.c. + (__access_noerrno): Use __faccessat_common instead of access_common. + (__access): Likewise. + * sysdeps/mach/hurd/euidaccess.c (__euidaccess): Replace implementation + with a call to __faccessat. + * sysdeps/mach/hurd/faccessat.c (faccessat): Rename into... + (__faccessat_common): ... this. Move implementation of __access into it when + AT_FLAGS does not contain AT_EACCESS. Make it call __hurd_at_flags, add + reauthenticate_cwdir_at helper to implement AT mechanism. + (__faccessat_noerrno): New function, just calls __faccessat_common. + (__faccessat): New function, just calls __faccessat_common. + (faccessat): Define weak alias. + +2018-01-10 Joseph Myers + + [BZ #22691] + * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math] + (CFLAGS-s_fmaxmagl.c): New variable. + [$(subdir) = math] (CFLAGS-s_fminmagl.c: Likewise. + + [BZ #22690] + * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c (__lrintl): Use unsigned + long int for arguments of possibly overflowing addition or + subtraction. + * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c (__lroundl): Likewise. + +2018-01-09 Joseph Myers + + [BZ #22688] + * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math] + (CFLAGS-e_remainderl.c): New variable. + + [BZ #22687] + * sysdeps/powerpc/nofpu/Makefile (CFLAGS-s_cacosl.c): New + variable. + (CFLAGS-s_cacoshl.c): Likewise. + (CFLAGS-s_casinhl.c): Likewise. + (CFLAGS-s_catanl.c): Likewise. + (CFLAGS-s_catanhl.c): Likewise. + (CFLAGS-s_cexpl.c): Likewise. + (CFLAGS-s_ccoshl.c): Add -fsignaling-nans. + (CFLAGS-s_csinhl.c): Likewise. + (CFLAGS-s_clogl.c): Likewise. + (CFLAGS-s_clog10l.c): Likewise. + (CFLAGS-s_csinl.c): Likewise. + (CFLAGS-s_csqrtl.c): Likewise. + +2017-01-09 Emilio Pozuelo Monfort +2017-01-09 Svante Signell + + * hurd/hurdexec.c (_hurd_exec): Deprecate function. + (_hurd_exec_paths): New function. + * hurd/hurd.h (_hurd_exec): Deprecate function. + (_hurd_exec_paths): Declare function. + * hurd/Versions: Export _hurd_exec_paths. + * sysdeps/mach/hurd/execve.c: Include and + (__execve): Use __getcwd to build absolute path, and use + _hurd_exec_paths instead of _hurd_exec. + * sysdeps/mach/hurd/spawni.c: Likewise. + * sysdeps/mach/hurd/fexecve.c: Use _hurd_exec_paths instead of + _hurd_exec. + +2018-01-08 Dmitry V. Levin + + * sysdeps/unix/sysv/linux/tst-ttyname.c (do_in_chroot_1): Skip the + test instead of failing in case of ENOENT returned by posix_openpt. + +2018-01-08 Florian Weimer + + resolv: Support binary labels in test framework. + * support/resolv_test.c (struct to_be_freed): Remove. + (struct compressed_name): New. + (allocate_compressed_name, ascii_tolower) + (compare_compressed_name): New functions. + (struct resolv_response_builder): Update type of + compression_offsets for use with tsearch. Rempve to_be_freed. + (response_push_pointer_to_free): Remove function. + (resolv_response_add_name): Rewrite using struct compressed_name + and tsearch instead of hsearch_r. + (response_builder_allocate): Remove initialization of + compression_offsets. + (response_builder_free): Update for removal of to_be_freed. Use + tdestroy instead of hdestroy_r. + * resolv/Makefile (tests): Add tst-resolv-binary. + (tst-resolv-binary): Link with -lresolv -lpthread. + +2018-01-08 Florian Weimer + + * support/check.h (TEST_COMPARE): Allow sign mismatch at compile + time. Pass positive flag instead of negative flag to + support_test_compare_failure. + (support_test_compare_failure): Change negative parameter to + positive. + * support/support_test_compare_failure.c (report) + (support_test_compare_failure): Likewise. + * support/tst-test_compare.c (return_ssize_t, return_int): New. + (do_test): Check int/size_t, ssize_t/size_t comparisons. + +2018-01-08 Szabolcs Nagy + + [BZ #22637] + * nptl/descr.h (stackblock, stackblock_size): Update comments. + * nptl/allocatestack.c (allocate_stack): Add guardsize to stacksize. + * nptl/nptl-init.c (__pthread_get_minstack): Remove guardsize from + stacksize. + * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. + +2018-01-08 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add s_sincosf-sse2 and s_sincosf-fma. + (CFLAGS-s_sincosf-fma.c): New. + * sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/s_sincosf-sse2.S: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_sincosf.c: Likewise. + * sysdeps/x86_64/fpu/s_sincosf.S: Don't add alias if + __sincosf is defined. + +2018-01-08 Florian Weimer + + * nptl/tst-thread-exit-clobber.cc: New file. + * nptl/Makefile (CFLAGS-tst-thread-exit-clobber.o): Compile in + C++11 mode. + (LDLIBS-tst-thread-exit-clobber): Link with libstdc++. + (tests): Add tst-thread-exit-clobber. + [!CXX] (tests-unsupported): Add tst-thread-exit-clobber. + +2018-01-08 Florian Weimer + + * support/check.h (support_static_assert): Define. + (TEST_COMPARE): Use it. + +2018-01-07 Aurelien Jarno + + * sysdeps/unix/sysv/linux/getrlimit64 (getrlimit64) + [!__RLIM_T_MATCHES_RLIM64_T] + [!SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)]: Define as weak alias of + __getrlimit64. Add libc_hidden_weak. + +2018-01-06 Palmer Dabbelt + + * elf/elf.h (R_RISCV_NONE): New define. + (R_RISCV_32): Likewise. + (R_RISCV_64): Likewise. + (R_RISCV_RELATIVE): Likewise. + (R_RISCV_COPY): Likewise. + (R_RISCV_JUMP_SLOT): Likewise. + (R_RISCV_TLS_DTPMOD32): Likewise. + (R_RISCV_TLS_DTPMOD64): Likewise. + (R_RISCV_TLS_DTPREL32): Likewise. + (R_RISCV_TLS_DTPREL64): Likewise. + (R_RISCV_TLS_TPREL32): Likewise. + (R_RISCV_TLS_TPREL64): Likewise. + * Makerules (make-link-multidir): Make directories before linking into + them. + * sysdeps/unix/sysv/linux/dl-vdso.h (VDSO_NAME_LINUX_4_15): New + define. + (VDSO_HASH_LINUX_4_15): Likewise. + * scripts/build-many-glibcs.py (class Glibc): Strip shared objects + in subdirectories of lib. + * nptl/Makefile (/librt.so): Always depend on + "$(shared-thread-library)". + +2018-01-06 Samuel Thibault + + * sysdeps/mach/hurd/i386/jmp_buf-macros.h: New file. + * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic) [NO_RTLD_HIDDEN]: Call + JUMPTARGET (___tls_get_addr) instead of HIDDEN_JUMPTARGET + (___tls_get_addr). + * sysdeps/x86_64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Regenerated for GCC 7 with + "-O2 -march=i686". + * posix/tst-glob_symlinks.c [!PATH_MAX]: Define PATH_MAX macro. + * sysdeps/gnu/glob64.c (__glob): Define macro instead of glob macro. + (__glob64): Define GLIBC_2_27 versioned symbol instead of glob64. + * sysdeps/gnu/glob-lstat-compat.c: New file. + * sysdeps/gnu/glob64-lstat-compat.c: New file. + * sysdeps/posix/pwritev_common.c: Add PROT_READ to __mmap prot. + +2018-01-05 Tulio Magno Quites Machado Filho + + * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow): + Reserve 16 chars to reloc_addr before calling _itoa_word. + +2018-01-05 Aurelien Jarno + + [BZ #22678] + * sysdeps/unix/sysv/linux/prlimit.c (prlimit): Translate + old_rlimit from RLIM64_INFINITY to RLIM_INFINITY. + + * sysdeps/unix/sysv/linux/tst-rlimit-infinity.c: New file. + * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-rlimit-infinity. + + * resource/tst-getrlimit.c: Add copyright header. + +2018-01-05 Aurelien Jarno + Adhemerval Zanella + + * sysdeps/unix/sysv/linux/getrlimit64.c [USE_VERSIONED_RLIMIT]: Do not + define getrlimit and getrlimit64 as weak aliases of __getrlimit64. + Define __GI_getrlimit64 as weak alias of __getrlimit64. + [__RLIM_T_MATCHES_RLIM64_T]: Do not redefine SHLIB_COMPAT, use #elif + instead. + * sysdeps/unix/sysv/linux/setrlimit64.c [USE_VERSIONED_RLIMIT]: Do not + define setrlimit and setrlimit64 as weak aliases of __setrlimit64. + * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIM_INFINITY, + RLIM64_INFINITY): Fix values to match the kernel ones. + * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Define + USE_VERSIONED_RLIMIT. Rename __getrlimit64 into __old_getrlimit64 and + provide it as getrlimit@@GLIBC_2_0 and getrlimit64@@GLIBC_2_1. Add a + __getrlimit64 function and provide it as getrlimit@@GLIBC_2_27 and + getrlimit64@@GLIBC_2_27. + * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Ditto with setrlimit + and setrlimit64. + * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.27): Add + getrlimit, setrlimit, getrlimit64 and setrlimit64. + * sysdeps/unix/sysv/linux/alpha/Versions (libc): Add getrlimit, + setrlimit, getrlimit64 and setrlimit64. + +2018-01-05 Aurelien Jarno + + [BZ #22648] + * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: New file. + * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Ditto. + +2018-01-04 Joseph Myers + + * malloc/tst-malloc-tcache-leak.c (TIMEOUT): Define to 50. + * posix/tst-glob-tilde.c (TIMEOUT): Define to 200. + * resolv/tst-resolv-res_ninit.c (TIMEOUT): Define to 50. + +2018-01-03 Adhemerval Zanella + + [BZ #15479] + [BZ #22666] + * sysdeps/alpha/fpu/s_trunc.c: Remove file. + * sysdeps/alpha/fpu/s_truncf.c: Likewise. + + [BZ #15479] + [BZ #22665] + * sysdeps/alpha/fpu/s_ceil.c: Remove file. + * sysdeps/alpha/fpu/s_ceilf.c: Likewise. + * sysdeps/alpha/fpu/s_floor.c: Likewise. + * sysdeps/alpha/fpu/s_floorf.c: Likewise. + +2018-01-04 Florian Weimer + + [BZ #22667] + * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): + Align the stack before calling exit. + * stdlib/tst-makecontext-align.c: New file. + * stdlib/Makefile (tests): Add tst-makecontext-align. + +2018-01-04 Florian Weimer + + Add support for calling dlvsym from libc.so. + * include/dlfcn.h (__libc_dlvsym): Declare. + * elf/Makefile (tests-static-internal): Add + tst-libc_dlvsym-static. + (tests-internal): Add tst-libc_dlvsym. + (modules-names): Add tst-libc_dlvsym-dso. + (tst-libc_dlvsym, tst-libc_dlvsym-static): Link with libdl. + (tst-libc_dlvsym-dso.so): Link with libdl, libsupport. + (tst-libc_dlvsym.out, tst-libc_dlvsym-static.out): The shared + object tst-libc_dlvsym-dso.so needs to be built before running + these tests. + (tst-libc_dlvsym-static-ENV): Set LD_LIBRARY_PATH. + * elf/Versions: Export __libc_dlvsym. + * elf/dl-libc.c (struct do_dlvsym_args): New. + (do_dlvsym, __libc_dlvsym): New functions. + (struct dl_open_hook, _dl_open_hook): Add dlvsym member. + (_dl_open_hook2): New variable. + (__libc_register_dl_open_hook): Set it. + * elf/tst-libc_dlvsym-dso.c: New file. + * elf/tst-libc_dlvsym-static.c: Likewise. + * elf/tst-libc_dlvsym.c: Likewise. + * elf/tst-libc_dlvsym.h: Likewise. + +2018-01-03 Samuel Thibault + + * support/support_enter_mount_namespace.c [!CLONE_NEWNS]: Do not + include . + +2018-01-02 Wilco Dijkstra + + * math/math.h (math_errhandling): Set to 0 with __FAST_MATH__. + Add __NO_MATH_ERRNO__ check. + +2018-01-02 Joseph Myers + + * sysdeps/mips/mips32/libm-test-ulps: Update. + * sysdeps/mips/mips64/libm-test-ulps: Likewise. + +2018-01-02 Florian Weimer + + * misc/tst-pselect.c: Add copyright header. + +2018-01-02 Aurelien Jarno + + * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Fix a typo in the + comment. + * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Fix a typo in the + comment. + (settrlimit): Rename into setrlimit. + (__sttrlimit): Rename into __setrlimit. + + * sysdeps/unix/sysv/linux/alpha/getrlimit64.c (__old_getrlimit64): + Drop __RLIM_T_MATCHES_RLIM64_T conditional as __old_getrlimit64 is + never defined in that case. + +2018-01-02 Joseph Myers + + * sysdeps/powerpc/nofpu/libm-test-ulps: Update. + + * sysdeps/arm/libm-test-ulps: Update. + + * math/Makefile (run-regen-ulps): Add $(objpfx) to test name here. + (regen-ulps): Use $(libm-tests) not $^ in shell loop. + +2018-01-02 Rajalakshmi Srinivasaraghavan + + * NEWS: Add cosf and sincosf to list of optimized functions. + +2018-01-02 Aurelien Jarno + + [BZ #22660] + * sysdeps/alpha/fpu/s_fmax.S: Remove file. + * sysdeps/alpha/fpu/s_fmaxf.S: Likewise. + * sysdeps/alpha/fpu/s_fmin.S: Likewise. + * sysdeps/alpha/fpu/s_fminf.S: Likewise. + +2018-01-01 Dmitry V. Levin + + [BZ #22433] + * sysdeps/unix/sysv/linux/arm/sys/ptrace.h: New file. + + * elf/dl-load.c (decompose_rpath): Check for rpath emptiness before + making a copy of it. + +2018-01-01 Joseph Myers + + * manual/texinfo.tex: Update to version 2017-12-26.21 with + trailing whitespace removed. + * scripts/config.guess: Update to version 2018-01-01. + * scripts/config.sub: Update to version 2018-01-01. + * scripts/move-if-change: Update from gnulib. + + * NEWS: Update copyright dates. + * catgets/gencat.c (print_version): Likewise. + * csu/version.c (banner): Likewise. + * debug/catchsegv.sh: Likewise. + * debug/pcprofiledump.c (print_version): Likewise. + * debug/xtrace.sh (do_version): Likewise. + * elf/ldconfig.c (print_version): Likewise. + * elf/ldd.bash.in: Likewise. + * elf/pldd.c (print_version): Likewise. + * elf/sotruss.sh: Likewise. + * elf/sprof.c (print_version): Likewise. + * iconv/iconv_prog.c (print_version): Likewise. + * iconv/iconvconfig.c (print_version): Likewise. + * locale/programs/locale.c (print_version): Likewise. + * locale/programs/localedef.c (print_version): Likewise. + * login/programs/pt_chown.c (print_version): Likewise. + * malloc/memusage.sh (do_version): Likewise. + * malloc/memusagestat.c (print_version): Likewise. + * malloc/mtrace.pl: Likewise. + * manual/libc.texinfo: Likewise. + * nptl/version.c (banner): Likewise. + * nscd/nscd.c (print_version): Likewise. + * nss/getent.c (print_version): Likewise. + * nss/makedb.c (print_version): Likewise. + * posix/getconf.c (main): Likewise. + * scripts/test-installation.pl: Likewise. + * sysdeps/unix/sysv/linux/lddlibc4.c (main): Likewise. + + * All files with FSF copyright notices: Update copyright dates + using scripts/update-copyrights. + * locale/programs/charmap-kw.h: Regenerated. + * locale/programs/locfile-kw.h: Likewise. + +2017-12-31 Zack Weinberg + + * libio/bits/libio-ldbl.h: Correct check for improper + inclusion. Add own multiple include guard. + +2017-12-30 Aurelien Jarno + Dmitry V. Levin + + [BZ #22625] + CVE-2017-16997 + * elf/dl-load.c (fillin_rpath): Check for empty tokens before dynamic + string token expansion. Check for NULL pointer or empty string possibly + returned by expand_dynamic_string_token. + (decompose_rpath): Check for empty path after dynamic string + token expansion. + +2017-12-29 Dmitry V. Levin + + [BZ #22433] + * sysdeps/unix/sysv/linux/x86/sys/ptrace.h: New file. + + * sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Add comments + about PTRACE_PEEKSIGINFO, PTRACE_GETSIGMASK, PTRACE_SETSIGMASK, and + PTRACE_SECCOMP_GET_FILTER. Update comments about PTRACE_SINGLESTEP + and PTRACE_SYSCALL. + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise. + + * sysdeps/unix/sysv/linux/sys/ptrace.h: Include . + (__ptrace_setoptions, __ptrace_eventcodes, __ptrace_peeksiginfo_args, + __ptrace_peeksiginfo_flags, ptrace): Move to ... + * sysdeps/unix/sysv/linux/bits/ptrace-shared.h: ... new file. + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/ptrace-shared.h. + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Include + . + (__ptrace_setoptions, __ptrace_eventcodes, __ptrace_peeksiginfo_args, + __ptrace_peeksiginfo_flags, ptrace): Remove. + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise. + +2017-12-29 Aurelien Jarno + + [BZ #17804] + * dirent/scandir-tail.c (SCANDIR_TAIL): Move __set_errno (0) at the + end of the loop. Improve comments. + +2017-12-29 Zack Weinberg + + [BZ #22615] + * manual/errno.texi (Checking for Errors): Explicitly say that errno + might be set on success. + +2017-12-29 Aurelien Jarno + + [BZ #22611] + * malloc/tst-realloc.c (do_test): Remove the test checking that errno + is unchanged on success. + +2017-12-27 Dmitry V. Levin + + * elf/dl-dst.h (DL_DST_COUNT): Remove is_path argument, all callers + updated. + * elf/dl-load.c (is_dst, _dl_dst_count, _dl_dst_substitute, + expand_dynamic_string_token): Likewise. + * sysdeps/generic/ldsodefs.h (_dl_dst_count, _dl_dst_substitute): Remove + is_path argument. + + * elf/dl-load.c (is_dst): Remove checks that is_path is set and name + contains ':'. + + * elf/dl-load.c (_dl_dst_substitute): Remove checks that is_path + is set and name contains ':', and all code depending on these checks. + +2017-12-24 Zack Weinberg + + * libio/libio.h, libio/_G_config.h: New stub headers which issue a + deprecation warning and then include , + respectively. + * libio/libio.h: Rename the original version of this file to + libio/bits/libio.h. Error out if not included by stdio.h or the + stub libio.h. + * include/libio.h: Move to include/bits. Forward to libio/bits/libio.h. + * sysdeps/generic/_G_config.h: Move to top-level bits/. Error out + if not included by bits/libio.h or the stub _G_config.h. + * sysdeps/unix/sysv/linux/_G_config.h: Move to + sysdeps/unix/sysv/linux/bits. Error out if not included by + bits/libio.h or the stub _G_config.h. + * libio/stdio.h: Include bits/libio.h, not libio.h. + * libio/Makefile: Install bits/libio.h and bits/_G_config.h as + well as libio.h and _G_config.h. + + * csu/init.c, libio/fmemopen.c, libio/iolibio.h, libio/oldfmemopen.c + * libio/strfile.h, stdio-common/vfscanf.c + * sysdeps/pthread/flockfile.c, sysdeps/pthread/funlockfile.c + Include stdio.h, not _G_config.h nor libio.h. + * libio/iofgetpos.c: Also rename fgetpos64 out of the way. + * libio/iofsetpos.c: Also rename fsetpos64 out of the way. + + * scripts/check-installed-headers.sh: Skip libio.h and _G_config.h. + +2017-12-23 Dmitry V. Levin + + [BZ #22347] + * stdlib/getrandom.c (getrandom): Fix comment. + * sysdeps/unix/sysv/linux/getrandom.c (getrandom): Likewise. + +2017-12-23 Aurelien Jarno + + [BZ #21161] + * manual/arith.texi (strtoul): Fix a typo. + + [BZ #22596] + * manual/arith.texi (finite): Fix the description of the return + value. + +2017-12-22 Eric Blake + + Avoid gcc warnings on cygwin + * posix/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]: + * posix/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]: + Avoid unused variable. + +2017-12-22 Florian Weimer + + * io/Makefile (routines): Add copy_file_range. + (tests): Add tst-copy_file_range. + (tests-static, tests-internal): Add tst-copy_file_range-compat. + * io/Versions (GLIBC_2.27): Export copy_file_range. + * io/copy_file_range-compat.c: New file. + * io/copy_file_range.c: Likewise. + * io/tst-copy_file_range-compat.c: Likewise. + * io/tst-copy_file_range.c: Likewise. + * manual/llio.texi (Copying File Data): New section. + * posix/unistd.h [__USE_GNU] (copy_file_range): Declare. + * support/Makefile (libsupport-routines): Add support-xfstat, + xftruncate, xlseek. + * support/support-xfstat.c: New file. + * support/xftruncate.c: Likewise. + * support/xlseek.c: Likewise. + * support/xunistd.h (xfstat, xftruncate, xlseek): Declare. + * sysdeps/unix/sysv/linux/**.abilist: Update. + * sysdeps/unix/sysv/linux/copy_file_range.c: New file. + +2017-12-21 Szabolcs Nagy + + * scripts/build-many-glibcs.py (Context.add_all_configs): Add + disable-multi-arch variant to aarch64-linux-gnu. + +2017-12-20 Joseph Myers + + * manual/texinfo.tex: Update to version 2017-12-18.20 with + trailing whitespace removed. + * scripts/config.guess: Update to version 2017-12-17. + * scripts/config.sub: Update to version 2017-11-23. + * scripts/install-sh: Update to version 2017-09-23.17. + * scripts/move-if-change: Update to version 2017-09-13 06:45. + +2017-12-20 Adhemerval Zanella + + * sysdeps/tile/__longjmp.S (__longjmp): Use lowercase instructions. + * sysdeps/tile/__tls_get_addr.S (__tls_get_addr): Likewise. + * sysdeps/tile/_mcount.S (__mcount): Likewise. + * sysdeps/tile/crti.S (_init, _fini): Likewise. + * sysdeps/tile/crtn.S: Likewise. + * sysdeps/tile/dl-start.S (_start): Likewise. + * sysdeps/tile/dl-trampoline.S: Likewise. + * sysdeps/tile/setjmp.S (__sigsetjmp): Likewise. + * sysdeps/tile/start.S (_start): Likewise. + * sysdeps/unix/sysv/linux/tile/clone.S (_clone): Likewise. + * sysdeps/unix/sysv/linux/tile/getcontext.S (__getcontext): Likewise. + * sysdeps/unix/sysv/linux/tile/ioctl.S (__ioctl): Likewise. + * sysdeps/unix/sysv/linux/tile/setcontext.S (__setcontext): Likewise. + * sysdeps/unix/sysv/linux/tile/swapcontext.S (__swapcontext): Likewise. + * sysdeps/unix/sysv/linux/tile/syscall.S (syscall): Likewise. + * sysdeps/unix/sysv/linux/tile/vfork.S (__vfork): Likewise. + + * stdlib/bug-getcontext.c (do_test): Remove tilepro mention in + comment. + * sysdeps/tile/preconfigure: Remove tilegx folder. + * sysdeps/tile/tilegx/Implies: Move definitions to ... + * sysdeps/tile/Implies: ... here. + * sysdeps/tile/tilegx/Makefile: Move rules to ... + * sysdeps/tile/Makefile: ... here. + * sysdeps/tile/tilegx/atomic-machine.h: Move definitions to ... + * sysdeps/tile/atomic-machine.h: ... here. Add include guards. + * sysdeps/tile/tilegx/bits/wordsize.h: Move to ... + * sysdeps/tile/bits/wordsize.h: ... here. + * sysdeps/tile/tilegx/*: Move to ... + * sysdeps/tile/*: ... here. + * sysdeps/tile/tilegx/tilegx32/Implies: Move to ... + * sysdeps/tile/tilegx32/Implies: ... here. + * sysdeps/tile/tilegx/tilegx64/Implies: Move to ... + * sysdeps/tile/tilegx64/Implies: ... here. + * sysdeps/unix/sysv/linux/tile/tilegx/Makefile: Move definitions + to ... + * sysdeps/unix/sysv/linux/tile/Makefile: ... here. + * sysdeps/unix/sysv/linux/tile/tilegx/*: Move to ... + * sysdeps/unix/sysv/linux/tile/*: ... here. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/*: Move to ... + * sysdeps/unix/sysv/linux/tile/tilegx32/*: ... here. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/*: Move to ... + * sysdeps/unix/sysv/linux/tile/tilegx64/*: ... here. + + * README: Remove tilepro-*-linux-gnu from supported architecture. + * scripts/build-many-glibcs.py: Likewise. + * sysdeps/tile/__tls_get_addr.S (__tls_get_addr): Likewise. + * sysdeps/tile/crti.S (PREINIT_FUNCTION): Likewise. + * sysdeps/tile/dl-machine.h (ELF_MACHINE_NAME, + elf_machine_matches_host, elf_machine_dynamic, + elf_machine_load_address, elf_machine_runtime_setup, reloc_howto + howto, elf_machine_rela): Likewise. + * sysdeps/tile/dl-start.S (_start): Likewise. + * sysdeps/tile/memcmp.c (DBLALIGN, REVBYTES): Likewise. + * sysdeps/tile/memcopy.h (MEMCPY_OK_FOR_FWD_MEMMOVE, + MEMCPY_OK_FOR_FWD_MEMMOVE, op_t): Likewise. + * sysdeps/tile/nptl/pthread_spin_lock.c (TNS, CMPTNS): Likewise. + * sysdeps/tile/nptl/pthread_spin_trylock.c (TNS): Likewise. + * sysdeps/tile/nptl/pthread_spin_unlock.c (pthread_spin_unlock): + Likewise. + * sysdeps/tile/nptl/tls.h (DB_THREAD_SELF): Likewise. + * sysdeps/tile/preconfigure: Likewise. + * sysdeps/tile/stackguard-macros.h (STACK_CHK_GUARD, + POINTER_CHK_GUARD): Likewise. + * sysdeps/tile/stackinfo.h (__stackinfo_sub): Likewise. + * sysdeps/tile/start.S (_start): Likewise. + * sysdeps/tile/tls-macros.h (TLS_GD_OFFSET, TLS_IE_OFFSET, _TLS_LE): + Likewise. + * sysdeps/tile/sysdep.h (REGSIZE): Likewise. + (LD, LD4U, ST, ST4, BNEZ, BEQZ, BEQZT, BGTZ, CMPEQI, CMPEQ, CMOVEQZ, + CMOVNEZ): Remove. + * sysdeps/unix/sysv/linux/tile/bits/environments.h + (__ILP32_OFF32_CFLAGS, __ILP32_OFFBIG_CFLAGS, __ILP32_OFF32_LDFLAGS, + __ILP32_OFFBIG_LDFLAGS, __LP64_OFF64_CFLAGS, __LP64_OFF64_LDFLAGS): + Likewise. + * sysdeps/tile/wordcopy.c (DBLALIGN): Likewise. + * sysdeps/tile/tilepro/Implies: Remove file. + * sysdeps/tile/tilepro/atomic-machine.h: Likewise. + * sysdeps/tile/tilepro/bits/wordsize.h: Likewise. + * sysdeps/tile/tilepro/memchr.c: Likewise. + * sysdeps/tile/tilepro/memcpy.S: Likewise. + * sysdeps/tile/tilepro/memset.c: Likewise. + * sysdeps/tile/tilepro/memusage.h: Likewise. + * sysdeps/tile/tilepro/rawmemchr.c: Likewise. + * sysdeps/tile/tilepro/strchr.c: Likewise. + * sysdeps/tile/tilepro/strchrnul.c: Likewise. + * sysdeps/tile/tilepro/strlen.c: Likewise. + * sysdeps/tile/tilepro/strrchr.c: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/Implies: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h: Likewise. + * sysdeps/unix/sysv/linux/tile/sysconf.c (linux_sysconf): Remove + tilepro mention in comment. + + * nptl/Makefile (libpthread-routines): Add pthread_join_common. + * nptl/pthreadP.h (__pthread_timedjoin_ex): New prototype. + * nptl/pthread_join_common.c: New file: common function used on + pthread_join, pthread_timedjoin_np, pthread_tryjoin_np. + * nptl/pthread_join.c (pthread_join): Use __pthread_timedjoin_ex. + * nptl/pthread_tryjoin.c (pthread_tryjoin): Likewise. + * nptl/pthread_timedjoin.c (pthread_timedjoin_np): Likewise. + (cleanup): Move definition to pthread_join_common.c. + * sysdeps/unix/sysv/linux/i386/lowlevellock.h (__lll_timedwait_tid): + Remove superflous checks. + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_timedwait_tid): + Likewise. + +2017-12-20 Szabolcs Nagy + + * sysdeps/aarch64/libm-test-ulps: Update. + +2017-12-20 Adhemerval Zanella + + * sysdeps/aarch64/memset.S (MEMSET): Define. + +2017-12-20 Florian Weimer + + [BZ #22635] + nptl: Provide full implementation of pthread_self in libc.so. + * nptl/Makefile (routines): Add pthread_self. + (libpthread-routines): Replace pthread_self with + compat-pthread_self. + * nptl/forward.c (pthread_self): Remove. + * nptl/nptl-init.c (pthread_functions): Do not initialize + ptr_pthread_self. + * nptl/pthread_self.c (pthread_self): Remove weak alias. + * nptl/compat-pthread_self.c: New file. + * sysdeps/nptl/pthread-functions.h (struct pthread_functions): + Remove ptr_pthread_self. + +2017-12-19 Arnold D. Robbins + + * posix/regcomp.c: Fix spelling in comments. + * posix/regex.h: Likewise. + * posix/regex_internal.c: Likewise. + * posix/regexec.c: Likewise. + +2017-12-19 Gabriel F. T. Gomes + + [BZ #22377] + * math/Makefile [C++] (tests): Add test for iseqsig. + * math/math.h [C++] (iseqsig): New implementation, which does + not rely on __MATH_TG/__builtin_types_compatible_p. + * math/test-math-iseqsig.cc: New file. + * sysdeps/powerpc/powerpc64le/Makefile + (CFLAGS-test-math-iseqsig.cc): New variable. + +2017-12-19 Dmitry V. Levin + + * elf/dl-load.c (is_trusted_path): Remove. + (fillin_rpath): Remove check_trusted argument and its use, + all callers changed. + +2017-12-19 H.J. Lu + + [BZ #22630] + * Makeconfig (link-pie-before-libc): Replace -pie with + $(if $($(@F)-no-pie),$(no-pie-ldflag),-pie). + * elf/Makefile (LDFLAGS-tst-dlopen-aout): Removed. + (tst-dlopen-aout-no-pie): New. + (LDFLAGS-tst-prelink): Removed. + (tst-prelink-no-pie): New. + (LDFLAGS-tst-main1): Removed. + (tst-main1-no-pie): New. + * gmon/Makefile (LDFLAGS-tst-gmon): Removed. + (tst-gmon-no-pie): New. + +2017-12-19 H.J. Lu + + * manual/install.texi: Document that --enable-static-pie + implies PIE. + * INSTALL: Regenerated. + +2017-12-19 Bernd Edlinger + + [BZ #21309] + * sysdeps/ieee754/dbl-64/e_pow.c (checkint): Make m and n + unsigned. + +2017-12-19 Joseph Myers + + Revert: + + 2017-12-19 Joseph Myers + + * sysdeps/x86_64/fpu/libm-test-ulps: Update. + + 2017-12-19 Patrick McGehearty + + * sysdeps/ieee754/dbl-64/e_exp.c: Include and + . Include "eexp.tbl". + (half): New constant. + (one): Likewise. + (__ieee754_exp): Rewrite. + (__slowexp): Remove prototype. + * sysdeps/ieee754/dbl-64/eexp.tbl: New file. + * sysdeps/ieee754/dbl-64/slowexp.c: Remove file. + * sysdeps/i386/fpu/slowexp.c: Likewise. + * sysdeps/ia64/fpu/slowexp.c: Likewise. + * sysdeps/m68k/m680x0/fpu/slowexp.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Likewise. + * sysdeps/generic/math_private.h (__slowexp): Remove prototype. + * sysdeps/ieee754/dbl-64/e_pow.c: Remove mention of slowexp.c in + comment. + * sysdeps/powerpc/power4/fpu/Makefile [$(subdir) = math] + (CPPFLAGS-slowexp.c): Remove variable. + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Remove slowexp-fma, slowexp-fma4 and slowexp-avx. + (CFLAGS-slowexp-fma.c): Remove variable. + (CFLAGS-slowexp-fma4.c): Likewise. + (CFLAGS-slowexp-avx.c): Likewise. + * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Do not + define as macro. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Likewise. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Likewise. + * math/Makefile (type-double-routines): Remove slowexp. + * manual/probes.texi (slowexp_p6): Remove. + (slowexp_p32): Likewise. + +2017-12-19 Adhemerval Zanella + + * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer + arithmetic. + + * lib/glob.c (glob): Do not pass NULL to mempcpy. + +2017-12-19 Joseph Myers + + * sysdeps/x86_64/fpu/libm-test-ulps: Update. + +2017-12-19 Patrick McGehearty + + * sysdeps/ieee754/dbl-64/e_exp.c: Include and + . Include "eexp.tbl". + (half): New constant. + (one): Likewise. + (__ieee754_exp): Rewrite. + (__slowexp): Remove prototype. + * sysdeps/ieee754/dbl-64/eexp.tbl: New file. + * sysdeps/ieee754/dbl-64/slowexp.c: Remove file. + * sysdeps/i386/fpu/slowexp.c: Likewise. + * sysdeps/ia64/fpu/slowexp.c: Likewise. + * sysdeps/m68k/m680x0/fpu/slowexp.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Likewise. + * sysdeps/generic/math_private.h (__slowexp): Remove prototype. + * sysdeps/ieee754/dbl-64/e_pow.c: Remove mention of slowexp.c in + comment. + * sysdeps/powerpc/power4/fpu/Makefile [$(subdir) = math] + (CPPFLAGS-slowexp.c): Remove variable. + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Remove slowexp-fma, slowexp-fma4 and slowexp-avx. + (CFLAGS-slowexp-fma.c): Remove variable. + (CFLAGS-slowexp-fma4.c): Likewise. + (CFLAGS-slowexp-avx.c): Likewise. + * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Do not + define as macro. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Likewise. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Likewise. + * math/Makefile (type-double-routines): Remove slowexp. + * manual/probes.texi (slowexp_p6): Remove. + (slowexp_p32): Likewise. + +2017-12-19 Adhemerval Zanella + James Clarke + + [BZ #22603] + * sysdeps/ia64/memchr.S (__memchr): Avoid overflow in pointer + addition. + +2017-12-19 Adhemerval Zanella + + [BZ #22605] + * sysdeps/unix/sysv/linux/sh/clone.S (__clone): Fix exit return + code. + +2017-12-19 H.J. Lu + + [BZ #22563] + * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. + * sysdeps/i386/nptl/tls.h (tcbhead_t): Add feature_1. + * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. + * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Rename __glibc_unused1 + to feature_1. + +2017-12-19 H.J. Lu + + [BZ #22563] + * bits/types/__cancel_jmp_buf_tag.h: New file. + * sysdeps/unix/sysv/linux/x86/bits/types/__cancel_jmp_buf_tag.h + * sysdeps/unix/sysv/linux/x86/pthreaddef.h: Likewise. + * sysdeps/unix/sysv/linux/x86/nptl/pthreadP.h: Likewise. + * nptl/Makefile (headers): Add + bits/types/__cancel_jmp_buf_tag.h. + * nptl/descr.h [NEED_SAVED_MASK_IN_CANCEL_JMP_BUF] + (pthread_unwind_buf): Add saved_mask to cancel_jmp_buf. + * sysdeps/nptl/pthread.h: Include + . + (__pthread_unwind_buf_t): Use struct __cancel_jmp_buf_tag with + __cancel_jmp_buf. + * sysdeps/unix/sysv/linux/hppa/pthread.h: Likewise. + +2017-12-18 H.J. Lu + + * scripts/build-many-glibcs.py (Context.add_all_configs): Add + --enable-static-pie variants to x86_64, x32 and i686. + +2017-12-19 Joseph Myers + + [BZ #22631] + * sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__m81_defun): Add + argument for attrubutes. All callers changed. + (__inline_mathop1): Likewise. All callers changed. + (__inline_mathop): Likewise. All callers changed. + [__USE_MISC] (scalbn): Use __inline_forward instead of + __inline_forward_c. + [__USE_ISOC99] (scalbln): Likewise. + [__USE_ISOC99] (nearbyint): Likewise. + [__USE_ISOC99] (lrint): Likewise. + [__USE_MISC] (scalbnf): Likewise. + [__USE_ISOC99] (scalblnf): Likewise. + [__USE_ISOC99] (nearbyintf): Likewise. + [__USE_ISOC99] (lrintf): Likewise. + [__USE_MISC] (scalbnl): Likewise. + [__USE_ISOC99] (scalblnl): Likewise. + [__USE_ISOC99] (nearbyintl): Likewise. + [__USE_ISOC99] (lrintl): Likewise. + * sysdeps/m68k/m680x0/fpu/mathimpl.h: All callers of + __inline_mathop and __m81_defun changed. + + * scripts/build-many-glibcs.py (Context.add_all_configs): Specify + CPU or FPU for ARM hard-float configurations. + +2017-12-18 Joseph Myers + + * nptl/tst-attr3.c: Include . + (do_test) [__GNUC_PREREQ (7, 0)]: Ignore -Wrestrict for two tests. + + * posix/tst-glob_symlinks.c (do_test): Increase size of buf. + + * string/tester.c (test_strncat): Also disable -Warray-bounds + warnings for two tests. + +2017-12-18 H.J. Lu + + [BZ #22614] + * Makeconfig (no-pie-ldflag): Set to -no-pie only if + $(cc-pie-default) == yes. + * config.make.in (cc-pie-default): New. + * configure.ac (libc_cv_pie_default): Renamed to ... + (libc_cv_cc_pie_default): This. + (libc_cv_pie_default): Set to $libc_cv_cc_pie_default. + * configure: Regenerated. + +2017-12-18 Florian Weimer + + [BZ #20204] + ld.so: Harden dl-libc/libdl hooks. + * sysdeps/generic/ldsodefs.h (_dl_init_all_dirs): Update comment. + (rtld_active): New function. + * dlfcn/dladdr.c (__dladdr): Call it. + * dlfcn/dladdr1.c (__dladdr1): Likewise. + * dlfcn/dlclose.c (__dlcose): Likewise. + * dlfcn/dlerror.c (__dlerror): Likewise. + * dlfcn/dlinfo.c (__dlinfo): Likewise. + * dlfcn/dlmopen.c (__dlmopen): Likewise. + * dlfcn/dlopen.c (__dlopen): Likewise. + * dlfcn/dlopenold.c (__dlopen_nocheck): Likewise. + * dlfcn/dlsym.c (__dlsym): Likewise. + * dlfcn/dlvsym.c (__dlvsym): Likewise. + * libio/vtables.c (_IO_vtable_check): Likewise. + * elf/dl-libc.c (__libc_dlopen_mode, __libc_dlsym) + (__libc_dlclose): Likewise. + * elf/rtld.c (dl_main): Update comment on the _dl_init_all_dirs + assignment. + +2017-12-18 Joseph Myers + + [BZ #22446] + * nscd/connections.c (handle_request) [SO_PEERCRED]: Use separate + buffers for readlink input and output. + +2017-12-18 Sergei Trofimovich + + [BZ #22624] + * sysdeps/mips/setjmp_aux.c (__sigsetjmp_aux): Use + inhibit_stack_protector. + + [BZ #22624] + * sysdeps/mips/mips64/setjmp_aux.c (__sigsetjmp_aux): Use + inhibit_stack_protector. + +2017-12-18 Dmitry V. Levin + + [BZ #22627] + * elf/dl-load.c (_dl_init_paths): Remove _dl_dst_substitute preparatory + code and invocation. + +2017-12-18 Szabolcs Nagy + + * sysdeps/aarch64/start.S (_start): Handle PIC && !SHARED case. + +2017-12-16 Aurelien Jarno + + [BZ #22505] + * elf/ldconfig.c (main): Call setlocale to force LC_COLLATE to C. + +2017-12-16 Rajalakshmi Srinivasaraghavan + + * sysdeps/s390/fpu/libm-test-ulps: Update. + +2017-12-16 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + +2017-12-16 Rajalakshmi Srinivasaraghavan + + * sysdeps/ieee754/flt-32/s_cosf.c: Move reduced() and + constants to s_sincosf.h file. + * sysdeps/ieee754/flt-32/s_sinf.c: Likewise. + * sysdeps/ieee754/flt-32/s_sincosf.c: New + implementation. + * sysdeps/ieee754/flt-32/s_sincosf.h: + New file. + +2017-12-12 Carlos O'Donell + + [BZ #14681] + * elf/tst-leaks1.c (do_test): Call one dlopen with $ORIGIN expansion + before mtrace. + +2017-12-15 H.J. Lu + + [BZ #19574] + * INSTALL: Regenerated. + * Makeconfig (real-static-start-installed-name): New. + (pic-default): Updated for --enable-static-pie. + (pie-default): New for --enable-static-pie. + (default-pie-ldflag): Likewise. + (+link-static-before-libc): Replace $(DEFAULT-LDFLAGS-$(@F)) + with $(if $($(@F)-no-pie),$(no-pie-ldflag),$(default-pie-ldflag)). + Replace $(static-start-installed-name) with + $(real-static-start-installed-name). + (+prectorT): Updated for --enable-static-pie. + (+postctorT): Likewise. + (CFLAGS-.o): Add $(pie-default). + (CFLAGS-.op): Likewise. + * NEWS: Mention --enable-static-pie. + * config.h.in (ENABLE_STATIC_PIE): New. + * configure.ac (--enable-static-pie): New configure option. + (have-no-dynamic-linker): New LIBC_CONFIG_VAR. + (have-static-pie): Likewise. + Enable static PIE if linker supports --no-dynamic-linker. + (ENABLE_STATIC_PIE): New AC_DEFINE. + (enable-static-pie): New LIBC_CONFIG_VAR. + * configure: Regenerated. + * csu/Makefile (omit-deps): Add r$(start-installed-name) and + gr$(start-installed-name) for --enable-static-pie. + (extra-objs): Likewise. + (install-lib): Likewise. + (extra-objs): Add static-reloc.o and static-reloc.os + ($(objpfx)$(start-installed-name)): Also depend on + $(objpfx)static-reloc.o. + ($(objpfx)r$(start-installed-name)): New. + ($(objpfx)g$(start-installed-name)): Also depend on + $(objpfx)static-reloc.os. + ($(objpfx)gr$(start-installed-name)): New. + * csu/libc-start.c (LIBC_START_MAIN): Call _dl_relocate_static_pie + in libc.a. + * csu/libc-tls.c (__libc_setup_tls): Add main_map->l_addr to + initimage. + * csu/static-reloc.c: New file. + * elf/Makefile (routines): Add dl-reloc-static-pie. + (elide-routines.os): Likewise. + (DEFAULT-LDFLAGS-tst-tls1-static-non-pie): Removed. + (tst-tls1-static-non-pie-no-pie): New. + * elf/dl-reloc-static-pie.c: New file. + * elf/dl-support.c (_dl_get_dl_main_map): New function. + * elf/dynamic-link.h (ELF_DURING_STARTUP): Also check + STATIC_PIE_BOOTSTRAP. + * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise. + * gmon/Makefile (tests): Add tst-gmon-static-pie. + (tests-static): Likewise. + (DEFAULT-LDFLAGS-tst-gmon-static): Removed. + (tst-gmon-static-no-pie): New. + (CFLAGS-tst-gmon-static-pie.c): Likewise. + (CRT-tst-gmon-static-pie): Likewise. + (tst-gmon-static-pie-ENV): Likewise. + (tests-special): Likewise. + ($(objpfx)tst-gmon-static-pie.out): Likewise. + (clean-tst-gmon-static-pie-data): Likewise. + ($(objpfx)tst-gmon-static-pie-gprof.out): Likewise. + * gmon/tst-gmon-static-pie.c: New file. + * manual/install.texi: Document --enable-static-pie. + * sysdeps/generic/ldsodefs.h (_dl_relocate_static_pie): New. + (_dl_get_dl_main_map): Likewise. + * sysdeps/i386/configure.ac: Check if linker supports static PIE. + * sysdeps/x86_64/configure.ac: Likewise. + * sysdeps/i386/configure: Regenerated. + * sysdeps/x86_64/configure: Likewise. + * sysdeps/mips/Makefile (ASFLAGS-.o): Add $(pie-default). + (ASFLAGS-.op): Likewise. + +2017-12-15 Joseph Myers + + * io/Makefile (tst-open-tmpfile-ARGS): New variable. + * posix/tst-mmap-offset.c (fname): Use /tmp. + * stdlib/tst-setcontext3.sh (tempfile): Use ${objpfx}. + +2017-12-15 Steve Ellcey + + * nscd/dbg_log.c (dbg_log): Increase msg buffer size. + +2017-12-15 Thomas Schwinge + + * sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno): Don't set + errno. + +2017-12-15 Joseph Myers + + * scripts/build-many-glibcs.py (Context.add_all_configs): Use + --with-float=hard for arm-linux-gnueabihf configurations. + + [BZ #14121] + * po/Makefile (generated): Add $(ALL_LINGUAS:%=%.mo). + (%.mo): Change to $(objpfx)%.mo. Use $(make-target-directory). + ($(mo-installed)): Use $(objpfx)%.mo. + (realclean): Remove rule. + + * po/Makefile (linguas): Remove rule and dependencies. + (linguas.mo): Likewise. + (.PHONY): Do not depend on linguas and linguas.mo. + (podir): Remove variable. + (pofiles): Likewise. + [$(pofiles)] (%.po): Remove rule. + + * sysdeps/sparc/sparc32/Makefile + ($(divrem:%=$(sysdep_dir)/sparc/sparc32/%.S)): Do not include + start-of-line whitespace in argument of echo. + * sysdeps/sparc/sparc32/divrem.m4: Avoid generating lines starting + with whitespace. Generate __wrap_.udiv alias. + * sysdeps/sparc/sparc32/rem.S: Regenerated. + * sysdeps/sparc/sparc32/sdiv.S: Likewise. + * sysdeps/sparc/sparc32/udiv.S: Likewise. + * sysdeps/sparc/sparc32/urem.S: Likewise. + +2017-12-15 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/power8/strcpy.S: Use vectors + for aligned inputs. + +2017-12-14 Siddhesh Poyarekar + + * benchtests/bench-strcmp.c: Print output in JSON format. + + * elf/dl-tunables.list: Remove redundant SXID_ERASE. + +2017-12-14 Florian Weimer + + [BZ #22607] + CVE-2017-1000409 + * elf/dl-load.c (_dl_init_paths): Compute number of components in + the expanded path string. + +2017-12-14 Florian Weimer + + [BZ #22606] + CVE-2017-1000408 + * elf/dl-load.c (system_dirs): Update comment. + (nsystem_dirs_len): Use array_length. + (_dl_init_paths): Use nsystem_dirs_len to compute the array size. + +2017-12-14 Florian Weimer + + Simplify compiling most of support/ outside of glibc. + * support/check_addrinfo.c: Include . + * support/check_dns_packet.c: Likewise. + * support/check_hostent.c: Likewise. + * support/support_can_chroot.c: Include . + * support/support_format_addrinfo.c: Include + * support/support_format_dns_packet.c: Include . + * support/support_format_hostent.c: Include . + * support/support_format_netent.c: Likewise. + * support/support_write_string.c: Include . + * support/xdlfcn.c: Include . + +2017-12-14 H.J. Lu + + * sysdeps/x86_64/fpu/s_cosf.S: Removed. + +2017-12-14 Patrick McGehearty + Adhemerval Zanella + + * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile + (sysdeps_routines): Add memset-niagara7. + * sysdeps/sparc/sparc64/multiarch/Makefile (sysdes_rotuines): + Likewise. + * sysdeps/sparc/sparc32/sparcv9/multiarch/memset-niagara7.S: New + file. + * sysdeps/sparc/sparc64/multiarch/memset-niagara7.S: Likewise. + * sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add __bzero_niagara7 and __memset_niagara7. + * sysdeps/sparc/sparc64/multiarch/ifunc-memset.h (IFUNC_SELECTOR): + Add niagara7 option. + * NEWS: Mention sparc m7 optimized memcpy, mempcpy, memmove, and + memset. + + * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile + (sysdeps_routines): Add memcpy-memmove-niagara7 and memmove-ultra1. + * sysdeps/sparc/sparc64/multiarch/Makefile (sysdeps_routines): + Likewise. + * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-memmove-niagara7.S: + New file. + * sysdeps/sparc/sparc32/sparcv9/multiarch/memmove-ultra1.S: Likewise. + * sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memmove.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add __memcpy_niagara7, __mempcpy_niagara7, + and __memmove_niagara7. + * sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h (IFUNC_SELECTOR): + Add niagara7 option. + * sysdeps/sparc/sparc64/multiarch/memmove.c: New file. + * sysdeps/sparc/sparc64/multiarch/ifunc-memmove.h: Likewise. + * sysdeps/sparc/sparc64/multiarch/memcpy-memmove-niagara7.S: Likewise. + * sysdeps/sparc/sparc64/multiarch/memmove-ultra1.S: Likewise. + * sysdeps/sparc/sparc64/multiarch/rtld-memmove.c: Likewise. + +2017-12-14 Jose E. Marchesi + + * sysdeps/sparc/sparc32/sparcv9/memmove.S: New file. + * sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c: Likewise. + * sysdeps/sparc/sparc64/memmove.S: Likewise. + * sysdeps/sparc/sparc64/rtld-memmove.c: Likewise. + + * sysdeps/sparc/bits/hwcap.h (HWCAP_SPARC_ADP): Defined. + * sysdeps/sparc/dl-procinfo.c: Added "adp" to the + _dl_sparc_cap_flags array. + * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Increment. + +2017-12-13 Siddhesh Poyarekar + + * sysdeps/aarch64/strcmp.S (misaligned8): Compare dword at a + time whenever possible. + +2017-12-12 Carlos O'Donell + + * elf/Makefile [$(nss-crypt)$(static-nss-crypt) == yesno] + (CFLAGS-tst-linkall-static.c): Undefine USE_CRYPT first. + +2017-12-12 Joseph Myers + + * soft-fp/fmadf4.c: Move to .... + * sysdeps/ieee754/soft-fp/s_fma.c: ... here. + * soft-fp/fmasf4.c: Move to .... + * sysdeps/ieee754/soft-fp/s_fmaf.c: ... here. + * soft-fp/fmatf4.c: Move to .... + * sysdeps/ieee754/soft-fp/s_fmal.c: ... here. + * sysdeps/ieee754/soft-fp/Makefile: New file. + * sysdeps/arm/preconfigure.ac: Define with_fp_cond. + * sysdeps/arm/preconfigure: Regenerated. + * sysdeps/arm/nofpu/Implies: New file. + * sysdeps/arm/s_fma.c: Remove file. + * sysdeps/arm/s_fmaf.c: Likewise. + * sysdeps/m68k/coldfire/nofpu/Implies: New file. + * sysdeps/m68k/coldfire/nofpu/s_fma.c: Remove file. + * sysdeps/m68k/coldfire/nofpu/s_fmaf.c: Likewise. + * sysdeps/microblaze/Implies: Add ieee754/soft-fp. + * sysdeps/microblaze/s_fma.c: Remove file. + * sysdeps/microblaze/s_fmaf.c: Likewise. + * sysdeps/mips/mips32/nofpu/Implies: New file. + * sysdeps/mips/mips64/n32/fpu/s_fma.c: Likewise. + * sysdeps/mips/mips64/n32/nofpu/Implies: Likewise. + * sysdeps/mips/mips64/n64/fpu/s_fma.c: Likewise. + * sysdeps/mips/mips64/n64/nofpu/Implies: Likewise. + * sysdeps/mips/ieee754/s_fma.c: Remove file. + * sysdeps/mips/ieee754/s_fmaf.c: Likewise. + * sysdeps/mips/ieee754/s_fmal.c: Update include for move of fmal + implementation. + * sysdeps/nios2/Implies: Add ieee754/soft-fp. + * sysdeps/nios2/s_fma.c: Remove file. + * sysdeps/nios2/s_fmaf.c: Likewise. + * sysdeps/sh/nofpu/Implies: New file. + * sysdeps/sh/s_fma.c: Remove file. + * sysdeps/sh/s_fmaf.c: Likewise. + * sysdeps/tile/Implies: Add ieee754/soft-fp. + * sysdeps/tile/s_fma.c: Remove file. + * sysdeps/tile/s_fmaf.c: Likewise. + +2017-12-12 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add s_cosf-sse2 and s_cosf-fma. + (CFLAGS-s_cosf-fma.c): New. + * sysdeps/x86_64/fpu/multiarch/s_cosf-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/s_cosf-sse2.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_cosf.c: Likewise. + +2017-12-12 Steve Ellcey + + * nscd/nscd.h (init_traced_file): Change strncpy to memcpy. + +2017-12-12 Adhemerval Zanella + + * libio/Makefile (tests): Add tst-bz22415. + (tst-bz22415-ENV): New rule. + (generated): Add tst-bz22415.mtrace and tst-bz22415.check. + (tests-special): Add tst-bz22415-mem.out. + ($(objpfx)tst-bz22415-mem.out): New rule. + * libio/fileops.c (_IO_new_file_seekoff): Call _IO_free_backup_area + in case of a successful seek operation. + * libio/wfileops.c (_IO_wfile_seekoff): Likewise. + (_IO_wfile_overflow): Call _IO_free_wbackup_area in case a write + buffer is required. + * libio/tst-bz22415.c: New test. + + * sysdeps/ia64/fpu/libm-test-ulps: Update. + +2017-12-12 James Clarke + + * sysdeps/unix/sysv/linux/ia64/ipc_priv.h: New file defining + __IPC_64 to 0 to avoid IPC_64 being set. + +2017-12-12 Szabolcs Nagy + + [BZ #22593] + * math/bits/mathcalls.h (nextafter): Remove const. + (nexttoward): Likewise. + +2017-12-12 Joseph Myers + + * configure.ac (--with-fp): Remove configure option. + (with_fp_cond): New variable. + (libc_cv_with_fp): New configure test. Use this variable instead + of with_fp. + * configure: Regenerated. + * config.make.in (with-fp): Use @libc_cv_with_fp@. + * manual/install.texi (Configuring and compiling): Remove + --without-fp. + * INSTALL: Regenerated. + * sysdeps/m68k/preconfigure (with_fp_cond): Define for ColdFire. + * sysdeps/mips/preconfigure (with_fp_cond): Define. + * sysdeps/powerpc/preconfigure (with_fp_cond): Define for 32-bit. + * sysdeps/sh/preconfigure (with_fp_cond): Define. + * scripts/build-many-glibcs.py (Context.add_all_configs): Do not + use --without-fp to configure glibc. + +2017-12-12 Rical Jasan + + * manual/locale.texi (nl_langinfo): Fix a typo. + +2017-12-12 Aurelien Jarno + + [BZ #22588] + * manual/conf.texi (SC_SSIZE_MAX): Rename into _SC_SSIZE_MAX. + +2017-12-11 H.J. Lu + + * argp/Makefile (CFLAGS-argp-help.c): Replace = with +=. + (CFLAGS-argp-parse.c): Likewise. + (CFLAGS-argp-fmtstream.c): Likewise. + * crypt/Makefile (CPPFLAGS-sha256-crypt.c): Likewise. + (CPPFLAGS-sha512-crypt.c): Likewise. + (CPPFLAGS-md5-crypt.c): Likewise. + * debug/Makefile (CFLAGS-stack_chk_fail.c): Likewise. + (CFLAGS-stack_chk_fail_local.c): Likewise. + (CFLAGS-backtrace.c): Likewise. + (CFLAGS-sprintf_chk.c): Likewise. + (CFLAGS-snprintf_chk.c): Likewise. + (CFLAGS-vsprintf_chk.c): Likewise. + (CFLAGS-vsnprintf_chk.c): Likewise. + (CFLAGS-asprintf_chk.c): Likewise. + (CFLAGS-vasprintf_chk.c): Likewise. + (CFLAGS-obprintf_chk.c): Likewise. + (CFLAGS-dprintf_chk.c): Likewise. + (CFLAGS-vdprintf_chk.c): Likewise. + (CFLAGS-printf_chk.c): Likewise. + (CFLAGS-fprintf_chk.c): Likewise. + (CFLAGS-vprintf_chk.c): Likewise. + (CFLAGS-vfprintf_chk.c): Likewise. + (CFLAGS-gets_chk.c): Likewise. + (CFLAGS-fgets_chk.c): Likewise. + (CFLAGS-fgets_u_chk.c): Likewise. + (CFLAGS-fread_chk.c): Likewise. + (CFLAGS-fread_u_chk.c): Likewise. + (CFLAGS-swprintf_chk.c): Likewise. + (CFLAGS-vswprintf_chk.c): Likewise. + (CFLAGS-wprintf_chk.c): Likewise. + (CFLAGS-fwprintf_chk.c): Likewise. + (CFLAGS-vwprintf_chk.c): Likewise. + (CFLAGS-vfwprintf_chk.c): Likewise. + (CFLAGS-fgetws_chk.c): Likewise. + (CFLAGS-fgetws_u_chk.c): Likewise. + (CFLAGS-read_chk.c): Likewise. + (CFLAGS-pread_chk.c): Likewise. + (CFLAGS-pread64_chk.c): Likewise. + (CFLAGS-recv_chk.c): Likewise. + (CFLAGS-recvfrom_chk.c): Likewise. + (CFLAGS-tst-longjmp_chk.c): Likewise. + (CPPFLAGS-tst-longjmp_chk.c): Likewise. + (CFLAGS-tst-longjmp_chk2.c): Likewise. + (CPPFLAGS-tst-longjmp_chk2.c): Likewise. + (CFLAGS-tst-longjmp_chk3.c): Likewise. + (CPPFLAGS-tst-longjmp_chk3.c): Likewise. + (CFLAGS-tst-chk1.c): Likewise. + (CFLAGS-tst-chk2.c): Likewise. + (CFLAGS-tst-chk3.c): Likewise. + (CFLAGS-tst-chk4.cc): Likewise. + (CFLAGS-tst-chk5.cc): Likewise. + (CFLAGS-tst-chk6.cc): Likewise. + (CFLAGS-tst-lfschk1.c): Likewise. + (CFLAGS-tst-lfschk2.c): Likewise. + (CFLAGS-tst-lfschk3.c): Likewise. + (CFLAGS-tst-lfschk4.cc): Likewise. + (CFLAGS-tst-lfschk5.cc): Likewise. + (CFLAGS-tst-lfschk6.cc): Likewise. + (CFLAGS-tst-ssp-1.c): Likewise. + * dirent/Makefile (CFLAGS-scandir.c): Likewise. + (CFLAGS-scandir64.c): Likewise. + (CFLAGS-scandir-tail.c): Likewise. + (CFLAGS-scandir64-tail.c): Likewise. + * elf/Makefile (CPPFLAGS-dl-tunables.c): Likewise. + (CFLAGS-dl-tunables.c): Likewise. + (CFLAGS-dl-runtime.c): Likewise. + (CFLAGS-dl-lookup.c): Likewise. + (CFLAGS-dl-iterate-phdr.c): Likewise. + (CFLAGS-vismain.c): Likewise. + (CFLAGS-tst-linkall-static.c): Likewise. + (CFLAGS-tst-linkall-static.c): Likewise. + (CPPFLAGS-dl-load.c): Likewise. + (CFLAGS-ldconfig.c): Likewise. + (CFLAGS-dl-cache.c): Likewise. + (CFLAGS-cache.c): Likewise. + (CFLAGS-rtld.c): Likewise. + (CFLAGS-multiload.c): Likewise. + (CFLAGS-filtmod1.c): Likewise. + (CFLAGS-tst-align.c): Likewise. + (CFLAGS-tst-align2.c): Likewise. + (CFLAGS-tst-alignmod.c): Likewise. + (CFLAGS-tst-alignmod2.c): Likewise. + (CPPFLAGS-tst-execstack.c): Likewise. + (CFLAGS-tst-ptrguard1-static.c): Likewise. + (CFLAGS-tst-latepthreadmod.c): Likewise. + * grp/Makefile (CFLAGS-getgrgid_r.c): Likewise. + (CFLAGS-getgrnam_r.c): Likewise. + (CFLAGS-getgrent_r.c): Likewise. + (CFLAGS-getgrent.c): Likewise. + (CFLAGS-fgetgrent.c): Likewise. + (CFLAGS-fgetgrent_r.c): Likewise. + (CFLAGS-putgrent.c): Likewise. + (CFLAGS-initgroups.c): Likewise. + (CFLAGS-getgrgid.c): Likewise. + * gshadow/Makefile (CFLAGS-getsgent_r.c): Likewise. + (CFLAGS-getsgent.c): Likewise. + (CFLAGS-fgetsgent.c): Likewise. + (CFLAGS-fgetsgent_r.c): Likewise. + (CFLAGS-putsgent.c): Likewise. + (CFLAGS-getsgnam.c): Likewise. + (CFLAGS-getsgnam_r.c): Likewise. + * iconv/Makefile (CFLAGS-iconv_prog.c): Likewise. + (CFLAGS-iconv_charmap.c): Likewise. + (CFLAGS-dummy-repertoire.c): Likewise. + (CFLAGS-charmap.c): Likewise. + (CFLAGS-linereader.c): Likewise. + (CFLAGS-simple-hash.c): Likewise. + (CFLAGS-gconv_conf.c): Likewise. + (CFLAGS-iconvconfig.c): Likewise. + * inet/Makefile (CFLAGS-gethstbyad_r.c): Likewise. + (CFLAGS-gethstbyad.c): Likewise. + (CFLAGS-gethstbynm_r.c): Likewise. + (CFLAGS-gethstbynm.c): Likewise. + (CFLAGS-gethstbynm2_r.c): Likewise. + (CFLAGS-gethstbynm2.c): Likewise. + (CFLAGS-gethstent_r.c): Likewise. + (CFLAGS-gethstent.c): Likewise. + (CFLAGS-rcmd.c): Likewise. + (CFLAGS-getnetbynm_r.c): Likewise. + (CFLAGS-getnetbynm.c): Likewise. + (CFLAGS-getnetbyad_r.c): Likewise. + (CFLAGS-getnetbyad.c): Likewise. + (CFLAGS-getnetent_r.c): Likewise. + (CFLAGS-getnetent.c): Likewise. + (CFLAGS-getaliasent_r.c): Likewise. + (CFLAGS-getaliasent.c): Likewise. + (CFLAGS-getrpcent_r.c): Likewise. + (CFLAGS-getrpcent.c): Likewise. + (CFLAGS-getservent_r.c): Likewise. + (CFLAGS-getservent.c): Likewise. + (CFLAGS-getprtent_r.c): Likewise. + (CFLAGS-getprtent.c): Likewise. + (CFLAGS-either_ntoh.c): Likewise. + (CFLAGS-either_hton.c): Likewise. + (CFLAGS-getnetgrent.c): Likewise. + (CFLAGS-getnetgrent_r.c): Likewise. + (CFLAGS-tst-checks-posix.c): Likewise. + (CFLAGS-tst-sockaddr.c): Likewise. + * intl/Makefile (CFLAGS-tst-gettext.c): Likewise. + (CFLAGS-tst-translit.c): Likewise. + (CFLAGS-tst-gettext2.c): Likewise. + (CFLAGS-tst-codeset.c): Likewise. + (CFLAGS-tst-gettext3.c): Likewise. + (CFLAGS-tst-gettext4.c): Likewise. + (CFLAGS-tst-gettext5.c): Likewise. + (CFLAGS-tst-gettext6.c): Likewise. + * io/Makefile (CFLAGS-open.c): Likewise. + (CFLAGS-open64.c): Likewise. + (CFLAGS-creat.c): Likewise. + (CFLAGS-creat64.c): Likewise. + (CFLAGS-fcntl.c): Likewise. + (CFLAGS-poll.c): Likewise. + (CFLAGS-ppoll.c): Likewise. + (CFLAGS-lockf.c): Likewise. + (CFLAGS-statfs.c): Likewise. + (CFLAGS-fstatfs.c): Likewise. + (CFLAGS-statvfs.c): Likewise. + (CFLAGS-fstatvfs.c): Likewise. + (CFLAGS-fts.c): Likewise. + (CFLAGS-fts64.c): Likewise. + (CFLAGS-ftw.c): Likewise. + (CFLAGS-ftw64.c): Likewise. + (CFLAGS-lockf.c): Likewise. + (CFLAGS-posix_fallocate.c): Likewise. + (CFLAGS-posix_fallocate64.c): Likewise. + (CFLAGS-fallocate.c): Likewise. + (CFLAGS-fallocate64.c): Likewise. + (CFLAGS-read.c): Likewise. + (CFLAGS-write.c): Likewise. + (CFLAGS-test-stat.c): Likewise. + (CFLAGS-test-lfs.c): Likewise. + * libio/Makefile (CFLAGS-fileops.c): Likewise. + (CFLAGS-fputc.c): Likewise. + (CFLAGS-fputwc.c): Likewise. + (CFLAGS-freopen64.c): Likewise. + (CFLAGS-freopen.c): Likewise. + (CFLAGS-fseek.c): Likewise. + (CFLAGS-fseeko64.c): Likewise. + (CFLAGS-fseeko.c): Likewise. + (CFLAGS-ftello64.c): Likewise. + (CFLAGS-ftello.c): Likewise. + (CFLAGS-fwide.c): Likewise. + (CFLAGS-genops.c): Likewise. + (CFLAGS-getc.c): Likewise. + (CFLAGS-getchar.c): Likewise. + (CFLAGS-getwc.c): Likewise. + (CFLAGS-getwchar.c): Likewise. + (CFLAGS-iofclose.c): Likewise. + (CFLAGS-iofflush.c): Likewise. + (CFLAGS-iofgetpos64.c): Likewise. + (CFLAGS-iofgetpos.c): Likewise. + (CFLAGS-iofgets.c): Likewise. + (CFLAGS-iofgetws.c): Likewise. + (CFLAGS-iofputs.c): Likewise. + (CFLAGS-iofputws.c): Likewise. + (CFLAGS-iofread.c): Likewise. + (CFLAGS-iofsetpos64.c): Likewise. + (CFLAGS-iofsetpos.c): Likewise. + (CFLAGS-ioftell.c): Likewise. + (CFLAGS-iofwrite.c): Likewise. + (CFLAGS-iogetdelim.c): Likewise. + (CFLAGS-iogetline.c): Likewise. + (CFLAGS-iogets.c): Likewise. + (CFLAGS-iogetwline.c): Likewise. + (CFLAGS-ioputs.c): Likewise. + (CFLAGS-ioseekoff.c): Likewise. + (CFLAGS-ioseekpos.c): Likewise. + (CFLAGS-iosetbuffer.c): Likewise. + (CFLAGS-iosetvbuf.c): Likewise. + (CFLAGS-ioungetc.c): Likewise. + (CFLAGS-ioungetwc.c): Likewise. + (CFLAGS-oldfileops.c): Likewise. + (CFLAGS-oldiofclose.c): Likewise. + (CFLAGS-oldiofgetpos64.c): Likewise. + (CFLAGS-oldiofgetpos.c): Likewise. + (CFLAGS-oldiofsetpos64.c): Likewise. + (CFLAGS-oldiofsetpos.c): Likewise. + (CFLAGS-peekc.c): Likewise. + (CFLAGS-putc.c): Likewise. + (CFLAGS-putchar.c): Likewise. + (CFLAGS-putwc.c): Likewise. + (CFLAGS-putwchar.c): Likewise. + (CFLAGS-rewind.c): Likewise. + (CFLAGS-wfileops.c): Likewise. + (CFLAGS-wgenops.c): Likewise. + (CFLAGS-oldiofopen.c): Likewise. + (CFLAGS-iofopen.c): Likewise. + (CFLAGS-iofopen64.c): Likewise. + (CFLAGS-oldtmpfile.c): Likewise. + (CFLAGS-tst_putwc.c): Likewise. + * locale/Makefile (CFLAGS-md5.c): Likewise. + (CFLAGS-charmap.c): Likewise. + (CFLAGS-locfile.c): Likewise. + (CFLAGS-charmap-dir.c): Likewise. + * login/Makefile (CFLAGS-grantpt.c): Likewise. + (CFLAGS-getpt.c): Likewise. + (CFLAGS-pt_chown.c): Likewise. + * malloc/Makefile (CFLAGS-mcheck-init.c): Likewise. + (CFLAGS-obstack.c): Likewise. + * math/Makefile (CFLAGS-test-tgmath3.c): Likewise. + (CFLAGS-test-double-vlen4-wrappers.c): Likewise. + (CFLAGS-test-double-vlen8-wrappers.c): Likewise. + (CFLAGS-test-float-vlen8-wrappers.c): Likewise. + (CFLAGS-test-float-vlen16-wrappers.c): Likewise. + (CFLAGS-test-tgmath.c): Likewise. + (CFLAGS-test-tgmath2.c): Likewise. + (CFLAGS-test-tgmath-ret.c): Likewise. + (CFLAGS-test-powl.c): Likewise. + (CFLAGS-test-snan.c): Likewise. + (CFLAGS-test-signgam-finite.c): Likewise. + (CFLAGS-test-signgam-finite-c99.c): Likewise. + (CFLAGS-test-signgam-finite-c11.c): Likewise. + (CFLAGS-test-signgam-uchar.c): Likewise. + (CFLAGS-test-signgam-uchar-init.c): Likewise. + (CFLAGS-test-signgam-uchar-static.c): Likewise. + (CFLAGS-test-signgam-uchar-init-static.c): Likewise. + (CFLAGS-test-signgam-uint.c): Likewise. + (CFLAGS-test-signgam-uint-init.c): Likewise. + (CFLAGS-test-signgam-uint-static.c): Likewise. + (CFLAGS-test-signgam-uint-init-static.c): Likewise. + (CFLAGS-test-signgam-ullong.c): Likewise. + (CFLAGS-test-signgam-ullong-init.c): Likewise. + (CFLAGS-test-signgam-ullong-static.c): Likewise. + (CFLAGS-test-signgam-ullong-init-static.c): Likewise. + (CFLAGS-test-math-cxx11.cc): Likewise. + (CFLAGS-test-math-isinff.cc): Likewise. + (CFLAGS-test-math-iszero.cc): Likewise. + (CFLAGS-test-math-issignaling.cc): Likewise. + (CFLAGS-test-math-iscanonical.cc): Likewise. + (CFLAGS-test-iszero-excess-precision.c): Likewise. + (CFLAGS-test-iseqsig-excess-precision.c): Likewise. + (CFLAGS-test-flt-eval-method.c): Likewise. + (CFLAGS-test-fe-snans-always-signal.c): Likewise. + (CFLAGS-test-finite-macros.c): Likewise. + * misc/Makefile (CFLAGS-select.c): Likewise. + (CFLAGS-tsearch.c): Likewise. + (CFLAGS-lsearch.c): Likewise. + (CFLAGS-pselect.c): Likewise. + (CFLAGS-readv.c): Likewise. + (CFLAGS-writev.c): Likewise. + (CFLAGS-preadv.c): Likewise. + (CFLAGS-preadv64.c): Likewise. + (CFLAGS-pwritev.c): Likewise. + (CFLAGS-pwritev64.c): Likewise. + (CFLAGS-preadv2.c): Likewise. + (CFLAGS-preadv64v2.c): Likewise. + (CFLAGS-pwritev2.c): Likewise. + (CFLAGS-pwritev64v2.c): Likewise. + (CFLAGS-usleep.c): Likewise. + (CFLAGS-syslog.c): Likewise. + (CFLAGS-error.c): Likewise. + (CFLAGS-getpass.c): Likewise. + (CFLAGS-mkstemp.c): Likewise. + (CFLAGS-mkstemp64.c): Likewise. + (CFLAGS-getsysstats.c): Likewise. + (CFLAGS-getusershell.c): Likewise. + (CFLAGS-err.c): Likewise. + (CFLAGS-tst-tsearch.c): Likewise. + (CFLAGS-msync.c): Likewise. + (CFLAGS-fdatasync.c): Likewise. + (CFLAGS-fsync.c): Likewise. + * nptl/Makefile (CFLAGS-nptl-init.c): Likewise. + (CFLAGS-unwind.c): Likewise. + (CFLAGS-unwind-forcedunwind.c): Likewise. + (CFLAGS-pthread_cancel.c): Likewise. + (CFLAGS-pthread_setcancelstate.c): Likewise. + (CFLAGS-pthread_setcanceltype.c): Likewise. + (CFLAGS-cancellation.c): Likewise. + (CFLAGS-libc-cancellation.c): Likewise. + (CFLAGS-pthread_exit.c): Likewise. + (CFLAGS-forward.c): Likewise. + (CFLAGS-pthread_testcancel.c): Likewise. + (CFLAGS-pthread_join.c): Likewise. + (CFLAGS-pthread_timedjoin.c): Likewise. + (CFLAGS-pthread_once.c): Likewise. + (CFLAGS-pthread_cond_wait.c): Likewise. + (CFLAGS-sem_wait.c): Likewise. + (CFLAGS-sem_timedwait.c): Likewise. + (CFLAGS-fcntl.c): Likewise. + (CFLAGS-lockf.c): Likewise. + (CFLAGS-pread.c): Likewise. + (CFLAGS-pread64.c): Likewise. + (CFLAGS-pwrite.c): Likewise. + (CFLAGS-pwrite64.c): Likewise. + (CFLAGS-wait.c): Likewise. + (CFLAGS-waitpid.c): Likewise. + (CFLAGS-sigwait.c): Likewise. + (CFLAGS-msgrcv.c): Likewise. + (CFLAGS-msgsnd.c): Likewise. + (CFLAGS-tcdrain.c): Likewise. + (CFLAGS-open.c): Likewise. + (CFLAGS-open64.c): Likewise. + (CFLAGS-pause.c): Likewise. + (CFLAGS-recv.c): Likewise. + (CFLAGS-send.c): Likewise. + (CFLAGS-accept.c): Likewise. + (CFLAGS-sendto.c): Likewise. + (CFLAGS-connect.c): Likewise. + (CFLAGS-recvfrom.c): Likewise. + (CFLAGS-recvmsg.c): Likewise. + (CFLAGS-sendmsg.c): Likewise. + (CFLAGS-close.c): Likewise. + (CFLAGS-read.c): Likewise. + (CFLAGS-write.c): Likewise. + (CFLAGS-nanosleep.c): Likewise. + (CFLAGS-sigsuspend.c): Likewise. + (CFLAGS-msync.c): Likewise. + (CFLAGS-fdatasync.c): Likewise. + (CFLAGS-fsync.c): Likewise. + (CFLAGS-pt-system.c): Likewise. + (CFLAGS-tst-cleanup2.c): Likewise. + (CFLAGS-tst-cleanupx2.c): Likewise. + (CFLAGS-flockfile.c): Likewise. + (CFLAGS-ftrylockfile.c): Likewise. + (CFLAGS-funlockfile.c): Likewise. + (CFLAGS-tst-initializers1.c): Likewise. + (CFLAGS-tst-initializers1-c89.c): Likewise. + (CFLAGS-tst-initializers1-c99.c): Likewise. + (CFLAGS-tst-initializers1-c11.c): Likewise. + (CFLAGS-tst-initializers1-gnu89.c): Likewise. + (CFLAGS-tst-initializers1-gnu99.c): Likewise. + (CFLAGS-tst-initializers1-gnu11.c): Likewise. + * nscd/Makefile (CFLAGS-nscd_getpw_r.c): Likewise. + (CFLAGS-nscd_getgr_r.c): Likewise. + (CFLAGS-nscd_gethst_r.c): Likewise. + (CFLAGS-nscd_getai.c): Likewise. + (CFLAGS-nscd_initgroups.c): Likewise. + * posix/Makefile (CFLAGS-getaddrinfo.c): Likewise. + (CFLAGS-pause.c): Likewise. + (CFLAGS-pread.c): Likewise. + (CFLAGS-pread64.c): Likewise. + (CFLAGS-pwrite.c): Likewise. + (CFLAGS-pwrite64.c): Likewise. + (CFLAGS-sleep.c): Likewise. + (CFLAGS-wait.c): Likewise. + (CFLAGS-waitid.c): Likewise. + (CFLAGS-waitpid.c): Likewise. + (CFLAGS-getopt.c): Likewise. + (CFLAGS-wordexp.c): Likewise. + (CFLAGS-sysconf.c): Likewise. + (CFLAGS-pathconf.c): Likewise. + (CFLAGS-fpathconf.c): Likewise. + (CFLAGS-spawn.c): Likewise. + (CFLAGS-spawnp.c): Likewise. + (CFLAGS-spawni.c): Likewise. + (CFLAGS-glob.c): Likewise. + (CFLAGS-glob64.c): Likewise. + (CFLAGS-getconf.c): Likewise. + (CFLAGS-nanosleep.c): Likewise. + * pwd/Makefile (CFLAGS-getpwent_r.c): Likewise. + (CFLAGS-getpwent.c): Likewise. + (CFLAGS-getpw.c): Likewise. + (CFLAGS-fgetpwent_r.c): Likewise. + * resolv/Makefile (CFLAGS-res_hconf.c): Likewise. + * rt/Makefile (CFLAGS-aio_suspend.c): Likewise. + (CFLAGS-mq_timedreceive.c): Likewise. + (CFLAGS-mq_timedsend.c): Likewise. + (CFLAGS-clock_nanosleep.c): Likewise. + (CFLAGS-librt-cancellation.c): Likewise. + * shadow/Makefile (CFLAGS-getspent_r.c): Likewise. + (CFLAGS-getspent.c): Likewise. + (CFLAGS-fgetspent.c): Likewise. + (CFLAGS-fgetspent_r.c): Likewise. + (CFLAGS-putspent.c): Likewise. + (CFLAGS-getspnam.c): Likewise. + (CFLAGS-getspnam_r.c): Likewise. + * signal/Makefile (CFLAGS-sigpause.c): Likewise. + (CFLAGS-sigsuspend.c): Likewise. + (CFLAGS-sigtimedwait.c): Likewise. + (CFLAGS-sigwait.c): Likewise. + (CFLAGS-sigwaitinfo.c): Likewise. + (CFLAGS-sigreturn.c): Likewise. + * stdio-common/Makefile (CFLAGS-vfprintf.c): Likewise. + (CFLAGS-vfwprintf.c): Likewise. + (CFLAGS-tmpfile.c): Likewise. + (CFLAGS-tmpfile64.c): Likewise. + (CFLAGS-tempname.c): Likewise. + (CFLAGS-psignal.c): Likewise. + (CFLAGS-vprintf.c): Likewise. + (CFLAGS-cuserid.c): Likewise. + (CFLAGS-errlist.c): Likewise. + (CFLAGS-siglist.c): Likewise. + (CFLAGS-scanf15.c): Likewise. + (CFLAGS-scanf17.c): Likewise. + * stdlib/Makefile (CFLAGS-bsearch.c): Likewise. + (CFLAGS-msort.c): Likewise. + (CFLAGS-qsort.c): Likewise. + (CFLAGS-system.c): Likewise. + (CFLAGS-fmtmsg.c): Likewise. + (CFLAGS-strfmon.c): Likewise. + (CFLAGS-strfmon_l.c): Likewise. + (CFLAGS-strfromd.c): Likewise. + (CFLAGS-strfromf.c): Likewise. + (CFLAGS-strfroml.c): Likewise. + (CFLAGS-tst-bsearch.c): Likewise. + (CFLAGS-tst-qsort.c): Likewise. + (CFLAGS-tst-makecontext2.c): Likewise. + * sunrpc/Makefile (CFLAGS-xbootparam_prot.c): Likewise. + (CFLAGS-xnlm_prot.c): Likewise. + (CFLAGS-xrstat.c): Likewise. + (CFLAGS-xyppasswd.c): Likewise. + (CFLAGS-xklm_prot.c): Likewise. + (CFLAGS-xrex.c): Likewise. + (CFLAGS-xsm_inter.c): Likewise. + (CFLAGS-xmount.c): Likewise. + (CFLAGS-xrusers.c): Likewise. + (CFLAGS-xspray.c): Likewise. + (CFLAGS-xnfs_prot.c): Likewise. + (CFLAGS-xrquota.c): Likewise. + (CFLAGS-xkey_prot.c): Likewise. + (CFLAGS-auth_unix.c): Likewise. + (CFLAGS-key_call.c): Likewise. + (CFLAGS-pmap_rmt.c): Likewise. + (CFLAGS-clnt_perr.c): Likewise. + (CFLAGS-openchild.c): Likewise. + * sysvipc/Makefile (CFLAGS-msgrcv.c): Likewise. + (CFLAGS-msgsnd.c): Likewise. + * termios/Makefile (CFLAGS-tcdrain.c): Likewise. + * time/Makefile (CFLAGS-tzfile.c): Likewise. + (CFLAGS-tzset.c): Likewise. + (CFLAGS-getdate.c): Likewise. + (CFLAGS-test_time.c): Likewise. + (CPPFLAGS-tst-tzname.c): Likewise. + * timezone/Makefile (CFLAGS-zdump.c): Likewise. + (CFLAGS-zic.c): Likewise. + * wcsmbs/Makefile (CFLAGS-wcwidth.c): Likewise. + (CFLAGS-wcswidth.c): Likewise. + (CFLAGS-wcstol.c): Likewise. + (CFLAGS-wcstoul.c): Likewise. + (CFLAGS-wcstoll.c): Likewise. + (CFLAGS-wcstoull.c): Likewise. + (CFLAGS-wcstod.c): Likewise. + (CFLAGS-wcstold.c): Likewise. + (CFLAGS-wcstof128.c): Likewise. + (CFLAGS-wcstof.c): Likewise. + (CFLAGS-wcstol_l.c): Likewise. + (CFLAGS-wcstoul_l.c): Likewise. + (CFLAGS-wcstoll_l.c): Likewise. + (CFLAGS-wcstoull_l.c): Likewise. + (CFLAGS-wcstod_l.c): Likewise. + (CFLAGS-wcstold_l.c): Likewise. + (CFLAGS-wcstof128_l.c): Likewise. + (CFLAGS-wcstof_l.c): Likewise. + (CPPFLAGS-tst-wchar-h.c): Likewise. + (CPPFLAGS-wcstold_l.c): Likewise. + +2017-12-11 Paul A. Clarke + + * sysdeps/ieee754/flt-32/s_cosf.c: New implementation. + +2017-12-11 Adhemerval Zanella + Tulio Magno Quites Machado Filho + + * manual/tunables.texi (Hardware Capability Tunables): Document + glibc.tune.cached_memopt. + * sysdeps/powerpc/cpu-features.c: New file. + * sysdeps/powerpc/cpu-features.h: New file. + * sysdeps/powerpc/dl-procinfo.c [!IS_IN(ldconfig)]: Add + _dl_powerpc_cpu_features. + * sysdeps/powerpc/dl-tunables.list: New file. + * sysdeps/powerpc/ldsodefs.h: Include cpu-features.h. + * sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h + (INIT_ARCH): Initialize use_aligned_memopt. + * sysdeps/powerpc/powerpc64/dl-machine.h [defined(SHARED && + IS_IN(rtld))]: Restrict dl_platform_init availability and + initialize CPU features used by tunables. + * sysdeps/powerpc/powerpc64/multiarch/Makefile (sysdep_routines): + Add memcpy-power8-cached. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Add + __memcpy_power8_cached. + * sysdeps/powerpc/powerpc64/multiarch/memcpy.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcpy-power8-cached.S: + New file. + +2017-12-11 H.J. Lu + + * string/Makefile (CFLAGS-inl-tester.c): Replace = with +=. + (CFLAGS-noinl-tester.c): Likewise. + (CFLAGS-tst-strlen.c): Likewise. + (CFLAGS-stratcliff.c): Likewise. + (CFLAGS-test-ffs.c): Likewise. + (CFLAGS-tst-inlcall.c): Likewise. + (CFLAGS-tst-xbzero-opt.c): Likewise. + (CFLAGS-memcpy.c): Likewise. + (CFLAGS-wordcopy.c): Likewise. + +2017-12-11 Stefan Liebler + + * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve): + Store r15 on stack and add cfi rule. + * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve): + Likewise. + +2017-12-10 Aurelien Jarno + + [BZ #22577] + * elf/rtld.c (init_tls): Add missing new line to the _dl_fatal_printf + call. + +2017-12-07 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add s_sinf-sse2 and s_sinf-fma. + (CFLAGS-s_sinf-fma.c): New. + * sysdeps/x86_64/fpu/multiarch/s_sinf-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/s_sinf-sse2.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_sinf.c: Likewise. + +2017-12-07 H.J. Lu + + * sysdeps/x86_64/fpu/s_sinf.S: Removed. + +2017-12-07 Joseph Myers + + [BZ #22568] + * math/s_ctan_template.c (M_DECL_FUNC (__ctan)): Set imaginary + part of result to imaginary part of argument if it is zero and the + real part of the argument is not finite. + * math/s_ctanh_template.c (M_DECL_FUNC (__ctanh)): Set real part + of result to real part of argument if it is zero and the imaginary + part of the argument is not finite. + +2017-12-07 Mike FABIAN + + [BZ #22524] + * localedata/Makefile: Add lt_LT.UTF-8 to test-input + and to the list of locales to be built for testing. + * localedata/lt_LT.UTF-8.in: New file for testing the collation. + * localedata/locales/lt_LT (LC_COLLATE): Use “copy "iso14651_t1"” + and build the collation rules upon that. + +2017-12-07 Joseph Myers + + * bits/floatn-common.h (__HAVE_FLOAT32): Define to 1. + * manual/math.texi (Mathematics): Document support for _Float32. + * math/Makefile (test-types): Add float32. + * math/Versions (GLIBC_2.27): Add _Float32 functions. + * stdlib/Versions (GLIBC_2.27): Likewise. + * wcsmbs/Versions (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: + Likewise. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + +2017-12-06 Joseph Myers + + * stdlib/strtof.c: Include + [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strtof32): Define + and later undefine as macro. Define as weak alias if + [!USE_WIDE_CHAR]. + [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (wcstof32): Define + and later undefine as macro. Define as weak alias if + [USE_WIDE_CHAR]. + * stdlib/strtof_l.c: Include + [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strtof32_l): Define + and later undefine as macro. Define as weak alias if + [!USE_WIDE_CHAR]. + [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (wcstof32_l): Define + and later undefine as macro. Define as weak alias if + [USE_WIDE_CHAR]. + + * stdlib/strfromf.c: Include . + [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strfromf32): Define + and later undefine as macro and define as weak alias. + + * math/test-float32.h: New file. + + * sysdeps/generic/libm-alias-float.h: Include . + [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] + (libm_alias_float_other_r): Create f32 alias. + (libm_alias_float_r): Use semicolon before call to + libm_alias_float_other_r. + + * sysdeps/ia64/fpu/e_exp2f.S (__exp2f): Use exp2 not __exp2 as + second argument to libm_alias_float_other. + * sysdeps/ia64/fpu/e_log2f.S (__log2f): Use log2 not __log2 as + second argument to libm_alias_float_other. + * sysdeps/ia64/fpu/e_powf.S (__powf): Use pow not __pow as second + argument to libm_alias_float_other. + + [BZ #22561] + * math/s_cacosh_template.c (M_DECL_FUNC (__cacosh)): Use pi/2 for + real part of result for argument 0 + i * NaN. + * math/libm-test-cacosh.inc (cacosh_test_data): Update expected + results for tests of 0 + i * NaN. + +2017-12-06 Adhemerval Zanella + + * sysdeps/alpha/fpu/libm-test-ulps: Update. + +2017-12-06 David S. Miller + + * sysdeps/sparc/fpu/libm-test-ulps: Update + exp_{downward,towardzero,upward} ulps. + +2017-12-06 Joseph Myers + + * sysdeps/ieee754/ldbl-96/e_j1l.c (qone): Don't make local + variables static. + + * sysdeps/ieee754/ldbl-128/e_j0l.c (Y0_2N): Make const. + (Y0_2D): Likewise. + * sysdeps/ieee754/ldbl-128/e_j1l.c (Y0_2N): Likewise. + (Y0_2D): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_j0l.c (Y0_2N): Likewise. + (Y0_2D): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_j1l.c (Y0_2N): Likewise. + (Y0_2D): Likewise. + +2017-12-06 Mike FABIAN + + [BZ #22515] + * localedata/Makefile: Add hsb_DE.UTF-8 to test-input + and to the list of locales to be built for testing. + * localedata/hsb_DE.UTF-8.in: New file for testing the collation. + * localedata/locales/hsb_DE (LC_COLLATE): Use “copy "iso14651_t1"” + and build the collation rules upon that. + +2017-12-06 Rajalakshmi Srinivasaraghavan + + * NEWS: Add sinf to list of optimized functions. + +2017-12-06 Joseph Myers + + * bits/floatn-common.h (__HAVE_FLOAT64): Define to 1. + (__HAVE_FLOAT32X): Likewise. + * manual/math.texi (Mathematics): Document support for _Float64 + and _Float32x. + * math/Makefile (test-types): Add float64 and float32x. + * math/Versions (GLIBC_2.27): Add _Float64 and _Float32x + functions. + * stdlib/Versions (GLIBC_2.27): Likewise. + * wcsmbs/Versions (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + +2017-12-05 Joseph Myers + + * bits/floatn-common.h: Include . + [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus) + && __NO_LONG_DOUBLE_MATH] (__f64): Use suffix 'l'. + [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus) + && __NO_LONG_DOUBLE_MATH] (__CFLOAT64): Use _Complex long double. + [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus) + && __NO_LONG_DOUBLE_MATH] (_Float64): Use long double. + [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH] + (__builtin_huge_valf64): Use __builtin_huge_vall. + [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH] + (__builtin_inff64): Use __builtin_infl. + [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH] + (__builtin_nanf64): Use __builtin_nanl. + [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH] + (__builtin_nansf64): Use __builtin_nansl. + +2017-12-05 Rogerio A. Cardoso + Paul E. Murphy + Carlos O'Donell + + * elf/dl-tunables.list: Add elision parameters. + * manual/tunables.texi: Add entries about elision tunable. + * sysdeps/unix/sysv/linux/powerpc/elision-conf.c: + Add callback functions to dynamically enable/disable elision. + Add multiple callbacks functions to set elision parameters. + Deleted __libc_enable_secure check. + * sysdeps/unix/sysv/linux/s390/elision-conf.c: Likewise. + * sysdeps/unix/sysv/linux/x86/elision-conf.c: Likewise. + * configure: Regenerated. + * configure.ac: Option enable_lock_elision was deleted. + * config.h.in: ENABLE_LOCK_ELISION flag was deleted. + * config.make.in: Remove references to enable_lock_elision. + * manual/install.texi: Elision configure option was removed. + * INSTALL: Regenerated to remove enable_lock_elision. + * nptl/Makefile: + Disable elision so it can verify error case for destroying a mutex. + * sysdeps/powerpc/nptl/elide.h: + Cleanup ENABLE_LOCK_ELISION check. + Deleted macros for the case when ENABLE_LOCK_ELISION was not defined. + * sysdeps/s390/configure: Regenerated. + * sysdeps/s390/configure.ac: Remove references to enable_lock_elision.. + * nptl/tst-mutex8.c: + Deleted all #ifndef ENABLE_LOCK_ELISION from the test. + * sysdeps/powerpc/powerpc32/sysdep.h: + Deleted all ENABLE_LOCK_ELISION checks. + * sysdeps/powerpc/powerpc64/sysdep.h: Likewise. + * sysdeps/powerpc/sysdep.h: Likewise. + * sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/force-elision.h: Likewise. + * sysdeps/unix/sysv/linux/s390/elision-conf.h: Likewise. + * sysdeps/unix/sysv/linux/s390/force-elision.h: Likewise. + * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. + * sysdeps/unix/sysv/linux/s390/Makefile: Remove references to + enable-lock-elision. + +2017-12-05 Joseph Myers + + * stdlib/strtod.c: Include . + (BUILD_DOUBLE): New macro. + [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] + (strtof64): Define and later undefine as macro. Define as weak + alias if [!USE_WIDE_CHAR]. + [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] + (wcstof64): Define and later undefine as macro. Define as weak + alias if [USE_WIDE_CHAR]. + [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] + (strtof32x): Define and later undefine as macro. Define as weak + alias if [!USE_WIDE_CHAR]. + [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] + (wcstof32x): Define and later undefine as macro. Define as weak + alias if [USE_WIDE_CHAR]. + * stdlib/strtod_l.c: Include . + (BUILD_DOUBLE): New macro. + [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] + (strtof64_l): Define and later undefine as macro. Define as weak + alias if [!USE_WIDE_CHAR]. + [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] + (wcstof64_l): Define and later undefine as macro. Define as weak + alias if [USE_WIDE_CHAR]. + [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] + (strtof32x_l): Define and later undefine as macro. Define as weak + alias if [!USE_WIDE_CHAR]. + [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] + (wcstof32x_l): Define and later undefine as macro. Define as weak + alias if [USE_WIDE_CHAR]. + +2017-12-05 Adhemerval Zanella + + * sysdeps/ieee754/flt-32/s_sinf.c (ones): Define as double. + (reduced): Use ones as double instead of integer. + +2017-12-05 Szabolcs Nagy + + * sysdeps/ieee754/flt-32/s_sinf.c (sinf): Use isless. + +2017-12-05 Joseph Myers + + * stdlib/strfromd.c: Include . + [__HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] (strfromf64): Define + and later undefine as macro and define as weak alias. + [__HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] (strfromf32x): + Likewise. + + * math/test-float32x.h: New file. + * math/test-float64.h: Likewise. + + * sysdeps/generic/libm-alias-double.h: Include . + (libm_alias_double_other_r_f64): New macro. + (libm_alias_double_other_r_f32x): Likewise. + (libm_alias_double_other_r): Use libm_alias_double_other_r_f64 and + libm_alias_double_other_r_f32x. + (libm_alias_double_r): Use semicolon before call to + libm_alias_double_other_r. + * sysdeps/ieee754/ldbl-opt/libm-alias-double.h: Include + . + (libm_alias_double_other_r_f64): New macro. + (libm_alias_double_other_r_f32x): Likewise. + (libm_alias_double_other_r): Use libm_alias_double_other_r_f64 and + libm_alias_double_other_r_f32x. + +2017-12-05 H.J. Lu + + * sysdeps/ieee754/flt-32/s_sinf.c (reduced): Replace long with + int. + (SINF_FUNC): Likewise. Replace floor with simple casts. + +2017-12-05 Mike FABIAN + + [BZ #22517] + * localedata/Makefile: Add et_EE.UTF-8 to test-input + and to the list of locales to be built for testing. + * localedata/et_EE.UTF-8.in: New file for testing the collation. + * localedata/locales/et_EE (LC_COLLATE): Use “copy "iso14651_t1"” + and build the collation rules upon that. + +2017-12-05 Chris Metcalf + + * sysdeps/tile/tilegx/string-endian.h (VECOP): Provide working + replacements for __insn_xxx builtins for v1cmpeq, v1cmpltu, + v1cmpne, v1add, v1shru, v1shl (register and immediate versions). + * sysdeps/tile/tilegx/memchr.c (__memchr): Use VECOP function + instead of __insn__xxx. + * sysdeps/tile/tilegx/rawmemchr.c (__rawmemchr): Likewise. + * sysdeps/tile/tilegx/strstr.c (strcasechr): Likewise. + * sysdeps/tile/tilegx/strrchr.c (strrchr): Likewise. + * sysdeps/tile/tilegx/strlen.c (strlen): Likewise. + * sysdeps/tile/tilegx/strchrnul.c (__strchrnul): Likewise. + * sysdeps/tile/tilegx/strchr.c (strchr): Likewise. + +2017-12-05 Florian Weimer + + Linux: Implement interfaces for memory protection keys + * support/Makefile (libsupport-routines): Add xraise, xsigaction, + xsignal, xsysconf. + * support/xsignal.h (xraise, xsignal, xsigaction): Declare. + * support/xunistd.h (xsysconf): Declare. + * support/xraise.c: New file. + * support/xsigaction.c: Likewise. + * support/xsignal.c: Likewise. + * support/xsysconf.c: Likewise. + * sysdeps/unix/sysv/linux/Makefile [misc] (routines): Add + pkey_set, pkey_get, pkey_mprotect. + [misc] (tests): Add tst-pkey. + (tst-pkey): Link with -lpthread. + * sysdeps/unix/sysv/linux/Versions (GLIBC_2.27): Add pkey_alloc, + pkey_free, pkey_set, pkey_get, pkey_mprotect. + * sysdeps/unix/sysv/linux/bits/mman-linux.h (PKEY_DISABLE_ACCESS) + (PKEY_DISABLE_WRITE): Define. + (pkey_alloc, pkey_free, pkey_set, pkey_get, pkey_mprotect): + Declare. + * sysdeps/unix/sysv/linux/bits/siginfo-consts.h (SEGV_BNDERR) + (SEGV_PKUERR): Add. + * sysdeps/unix/sysv/linux/pkey_get.c: New file. + * sysdeps/unix/sysv/linux/pkey_set.c: Likewise. + * sysdeps/unix/sysv/linux/pkey_mprotect.c: Likewise. + * sysdeps/unix/sysv/linux/syscalls.list (pkey_alloc, pkey_free): + Add. + * sysdeps/unix/sysv/linux/tst-pkey.c: New file. + * sysdeps/unix/sysv/linux/x86/arch-pkey.h: Likewise. + * sysdeps/unix/sysv/linux/x86/pkey_get.c: Likewise. + * sysdeps/unix/sysv/linux/x86/pkey_set.c: Likewise. + * sysdeps/unix/sysv/linux/**.abilist: Update. + +2017-12-05 Florian Weimer + + * support/tst-test_compare.c (subprocess): Use long long instead + of long argument for consistent type width across 32-bit and + 64-bit architectures. + (do_test): Adjust expected output. + +2017-12-05 Joseph Myers + + * sysdeps/powerpc/fpu/s_cosf.c: Include . + (cosf): Define using libm_alias_float. + * sysdeps/powerpc/fpu/s_fabs.S: Include . + (fabsf): Define using libm_alias_float. + * sysdeps/powerpc/fpu/s_fmaf.S: Include . + (fmaf): Define using libm_alias_float. + * sysdeps/powerpc/fpu/s_rintf.c: Include . + (rintf): Define using libm_alias_float. + * sysdeps/powerpc/fpu/s_sinf.c: Include . + (sinf): Define using libm_alias_float. + * sysdeps/powerpc/power5+/fpu/s_modff.c: Include + . + (modff): Define using libm_alias_float. + * sysdeps/powerpc/power7/fpu/s_logbf.c: Include + . + (logbf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Include + . + (ceilf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include + . + (copysignf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Include + . + (floorf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_llroundf.c: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include + . + (lrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include + . + (lroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_nearbyintf.S: Include + . + (nearbyintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Include + . + (rintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Include + . + (roundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Include + . + (truncf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf.c: + Include . + (ceilf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c: + Include . + (copysignf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf.c: + Include . + (floorf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf.c: + Include . + (llrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llroundf.c: + Include . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logbf.c: + Include . + (logbf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrintf.c: + Include . + (lrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lroundf.c: + Include . + (lroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff.c: + Include . + (modff): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_roundf.c: + Include . + (roundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_truncf.c: + Include . + (truncf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceilf.S: Include + . + (ceilf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_floorf.S: Include + . + (floorf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include + . + (lroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_roundf.S: Include + . + (roundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_truncf.S: Include + . + (truncf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include + . + (copysignf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include + . + (lrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include + . + (lroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Include + . + (ceilf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Include + . + (copysignf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf.c: Include + . + (cosf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Include + . + (floorf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrintf.c: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf.c: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf.c: Include + . + (logbf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c: Include + . + (modff): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Include + . + (roundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf.c: Include + . + (sinf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: Include + . + (truncf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Include + . + (ceilf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include + . + (copysignf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Include + . + (floorf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S: Include + . + (nearbyintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Include + . + (rintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Include + . + (roundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Include + . + (truncf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: Include + . + (ceilf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: Include + . + (floorf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_roundf.S: Include + . + (roundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_truncf.S: Include + . + (truncf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include + . + (copysignf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power8/fpu/s_cosf.S: Include + . + (cosf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/powerpc/powerpc64/power8/fpu/s_sinf.S: Include + . + (sinf): Define using libm_alias_float. + +2017-12-04 Florian Weimer + + * support/check.h (TEST_COMPARE): Define. + (support_test_compare_failure): Declare. + * support/Makefile (libsupport-routines): Add + support_test_compare_failure. + (tests): Add tst-test_compare. + * support /support_test_compare_failure.c: New file. + * support/tst-test_compare.c: Likewise. + +2017-12-04 Mike FABIAN + + [BZ #22527] + * localedata/locales/tr_TR (LC_COLLATE): Base collation rules + on iso14651_t1. A test file localedata/tr_TR.UTF-8.in is already + available, this rewrite of the collation rules does reproduce + the test file in the same order. + +2017-12-04 Mike FABIAN + + [BZ #10580] + * localedata/locales/hr_HR (LC_TIME): Use two letters for the + digraphs in the month and day names. Using single code points for + digraphs is deprecated. While there are dedicated Unicode + codepoints, for the digraphs, these are included for backwards + compatibility and modern texts use a sequence of Basic Latin + characters. See: https://www.unicode.org/faq/ligature_digraph.html + This makes the month and day names agree exactly with CLDR now, + CLDR does not use the single code points for the digraphs either. + +2017-12-04 Chris Metcalf + + * sysdeps/tile/libm-test-ulps: Update ca{cos,sin,tan}{,h} ulps. + +2017-12-04 Joseph Myers + + * sysdeps/ieee754/flt-32/s_sinf.c (SINF_FUNC): Use __floor instead + of floor. + +2017-12-04 Siddhesh Poyarekar + + * sysdeps/aarch64/multiarch/memcpy_generic.S (__GI_memcpy): + Define only for libc.so. + +2017-12-04 Stefan Liebler + + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h + (INTERNAL_VSYSCALL_CALL, CLOBBER_0, CLOBBER_1, CLOBBER_2, + CLOBBER_3, CLOBBER_4, CLOBBER_5, CLOBBER_6, + INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK): Remove. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. + +2017-12-04 Rajalakshmi Srinivasaraghavan + + [BZ #5997] + * sysdeps/ieee754/flt-32/s_sinf.c: New implementation. + +2017-12-02 John David Anglin + + [BZ libc/19170] + * sysdeps/hppa/crti.S: Declare PREINIT_FUNCTION weak_extern when + PREINIT_FUNCTION_WEAK is nonzero. + (gmon_initializer): New function. Put procedure label for it in + .init_array section. + (_init): Don't call PREINIT_FUNCTION. + * sysdeps/hppa/crtn.S (__gmon_start__): Remove. + * sysdeps/hppa/dl-lookupcfg.h (DL_FIXUP_MAKE_VALUE): Create null fixup + value when map argument is null. + + * sysdeps/hppa/dl-fptr.c (elf_machine_resolve): Remove unnecessary + depi instruction from PIC pc-relative sequence. + * sysdeps/hppa/dl-fptr.h (ELF_MACHINE_LOAD_ADDRESS): Likewise. + * sysdeps/hppa/dl-machine.h (elf_machine_dynamic): Likewise. + (elf_machine_load_address): Likewise. + (elf_machine_runtime_setup): Likewise. + +2017-12-02 Joseph Myers + + * sysdeps/powerpc/power7/fpu/s_logb.c: Include + . + (logb): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include + . + (copysign): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include + . + (llrint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_llround.c: Include + . + (llround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include + . + (lrint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include + . + (lround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c: + Include . + (copysign): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c: + Include . + (llrint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c: + Include . + (llround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c: Include + . + (logb): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c: + Include . + (lrint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c: + Include . + (lround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Include + . + (llrint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include + . + (llround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include + . + (llround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include + . + (lround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include + . + (copysign): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Include + . + (llrint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include + . + (llround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include + . + (lrint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include + . + (lround): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Include + . + (copysign): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Include + . + (llrint): Define using libm_alias_double. + (lrint): Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Include + . + (llround): Define using libm_alias_double. + (lround): Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Include + . + (logb): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include + . + (copysign): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include + . + (llrint): Define using libm_alias_double. + (lrint): Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Include + . + (llround): Define using libm_alias_double. + (lround): Likewise. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include + . + (llround): Define using libm_alias_double. + (lround): Likewise. + * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include + . + (copysign): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include + . + (llrint): Define using libm_alias_double. + (lrint): Likewise. + * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include + . + (llround): Define using libm_alias_double. + (lround): Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include + . + (llrint): Define using libm_alias_double. + (lrint): Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include + . + (llround): Define using libm_alias_double. + (lround): Likewise. + +2017-12-01 Joseph Myers + + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c + [LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (lroundl): Do not define + compat symbol based on llround. + + * sysdeps/powerpc/power7/fpu/s_logb.c + [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Define as compat + symbol based on __logb, not on logb. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c + [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c + [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Likewise. + + * sysdeps/powerpc/fpu/s_rint.c: Include . + (rint): Define using libm_alias_double. + * sysdeps/powerpc/power5+/fpu/s_modf.c: Include + . + (modf): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Include + . + (floor): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_nearbyint.S: Include + . + (nearbyint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Include + . + (rint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_round.S: Include + . + (round): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Include + . + (trunc): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil.c: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor.c: + Include . + (floor): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf.c: Include + . + (modf): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_round.c: + Include . + (round): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_trunc.c: + Include . + (trunc): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceil.S: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_floor.S: Include + . + (floor): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_round.S: Include + . + (round): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/power5+/fpu/s_trunc.S: Include + . + (trunc): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Include + . + (floor): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c: Include + . + (modf): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Include + . + (round): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: Include + . + (trunc): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Include + . + (floor): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/s_nearbyint.S: Include + . + (nearbyint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Include + . + (rint): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/s_round.S: Include + . + (round): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Include + . + (trunc): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: Include + . + (floor): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_round.S: Include + . + (round): Define using libm_alias_double. + * sysdeps/powerpc/powerpc64/power5+/fpu/s_trunc.S: Include + . + (trunc): Define using libm_alias_double. + + * sysdeps/powerpc/fpu/s_fabs.S: Include . + (fabs): Define using libm_alias_double. + * sysdeps/powerpc/fpu/s_fma.S: Include . + (fma): Define using libm_alias_double. + * sysdeps/powerpc/powerpc32/fpu/s_fabs.S: Remove file. + * sysdeps/powerpc/powerpc32/fpu/s_fma.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_fabs.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/s_fma.S: Likewise. + +2017-12-01 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c: Remove file. + + * sysdeps/sparc/sparc-ifunc.h (SPARC_ASM_IFUNC_DFLT, + SPARC_ASM_IFUNC1, SPARC_ASM_IFUNC2, SET, SPARC_ASM_VIS2_IFUNC, + SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros. + + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c: Fix build + due redirect macro. + +2017-12-01 Andreas Schwab + + * intl/Makefile ($(objpfx)plural.c): Add $(make-target-directory). + +2017-12-01 Adhemerval Zanella + + * sysdeps/sparc/sparc64/cpu_relax.c: New file. + * sysdeps/sparc/sparc32/sparcv9/cpu_relax.c: Likewise. + * sysdeps/sparc/sparc64/cpu_relax.S: Remove file. + * sysdeps/sparc/sparc32/sparcv9/cpu_relax.S: Likewise. + + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_nearbyintf-generic and + s_nearbyint-generic. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-generic.S: + New file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-generic.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.c: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S: Remove + file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S: + Likewise. + + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_rintf-generic and s_rint-generic. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-generic.S: New + file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-generic.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Remove file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Likewise. + + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_llrintf-generic and s_llrint-generic. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-generic.S: New + file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-generic.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Remove file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Likewise. + + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_fabsf-generic and s_fabs-generic. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-generic.S: New + file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-generic.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Remove file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Likewise. + + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile + (sysdep_calls): New rule. + (sysdep_routines): Use sysdep_calls as base. + (libm-sysdep_routines): Add generic rule for symbols shared with + libc. Add s_copysign-generic and s_copysign-generic objects. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-generic.S: + New file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-generic.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: Remove file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: Likewise. + +2017-12-01 Mike FABIAN + + [BZ #22519] + * localedata/Makefile: Add is_IS.UTF-8 to test-input and to + the list of locales to be built for testing. + * localedata/is_IS.UTF-8.in: New file. + * localedata/locales/is_IS (LC_COLLATE): Base collation rules + on iso14651_t1. + +2017-12-01 Joseph Myers + + * sysdeps/powerpc/powerpc32/e500/nofpu/s_fabsf.S: Include + . + (fabsf): Define using libm_alias_float. + +2017-11-30 H.J. Lu + + * sysdeps/mips/dl-machine.h (elf_machine_reloc): Expand MIN. + +2017-11-30 Joseph Myers + + * sysdeps/m68k/coldfire/fpu/s_fabsf.c: Include + . + (fabsf): Define using libm_alias_float. + * sysdeps/m68k/coldfire/fpu/s_lrintf.c: Include + . + (lrintf): Define using libm_alias_float. + * sysdeps/m68k/coldfire/fpu/s_rintf.c: Include + . + (rintf): Define using libm_alias_float. + + * sysdeps/m68k/coldfire/fpu/s_fabs.c: Include + . + (fabs): Define using libm_alias_double. + * sysdeps/m68k/coldfire/fpu/s_lrint.c: Include + . + (lrint): Define using libm_alias_double. + * sysdeps/m68k/coldfire/fpu/s_rint.c: Include + . + (rint): Define using libm_alias_double. + + * sysdeps/m68k/m680x0/fpu/s_atan_template.c: New file. + * sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_cos_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_expm1_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_fabs_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_floor_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_frexp_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_lrint_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_modf_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_nearbyint_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_remquo_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_rint_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_sin_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_sincos_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_tan_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_tanh_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_trunc_template.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_atan.c: Reimplement to use + s_atan_template.c. + * sysdeps/m68k/m680x0/fpu/s_atanf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_atanl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_ceil.c: Reimplement to use + s_ceil_template.c. + * sysdeps/m68k/m680x0/fpu/s_ceilf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_ceill.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_cos.c: Reimplement to use + s_cos_template.c. + * sysdeps/m68k/m680x0/fpu/s_cosf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_cosl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_expm1.c: Reimplement to use + s_expm1_template.c. + * sysdeps/m68k/m680x0/fpu/s_expm1f.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_expm1l.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_fabs.c: Reimplement to use + s_fabs_template.c. + * sysdeps/m68k/m680x0/fpu/s_fabsf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_fabsl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_floor.c: Reimplement to use + s_floor_template.c. + * sysdeps/m68k/m680x0/fpu/s_floorf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_floorl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_frexp.c: Reimplement to use + s_frexp_template.c. + * sysdeps/m68k/m680x0/fpu/s_frexpf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_lrint.c: Reimplement to use + s_lrint_template.c. + * sysdeps/m68k/m680x0/fpu/s_lrintf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_lrintl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_modf.c: Reimplement to use + s_modf_template.c. + * sysdeps/m68k/m680x0/fpu/s_modff.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_modfl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_nearbyint.c: Reimplement to use + s_nearbyint_template.c. + * sysdeps/m68k/m680x0/fpu/s_nearbyintf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_nearbyintl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_remquo.c: Reimplement to use + s_remquo_template.c. + * sysdeps/m68k/m680x0/fpu/s_remquof.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_remquol.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_rint.c: Reimplement to use + s_rint_template.c. + * sysdeps/m68k/m680x0/fpu/s_rintf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_rintl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_sin.c: Reimplement to use + s_sin_template.c. + * sysdeps/m68k/m680x0/fpu/s_sinf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_sinl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_sincos.c: Reimplement to use + s_sincos_template.c. + * sysdeps/m68k/m680x0/fpu/s_sincosf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_sincosl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_tan.c: Reimplement to use + s_tan_template.c. + * sysdeps/m68k/m680x0/fpu/s_tanf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_tanl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_tanh.c: Reimplement to use + s_tanh_template.c. + * sysdeps/m68k/m680x0/fpu/s_tanhf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_tanhl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_trunc.c: Reimplement to use + s_trunc_template.c. + * sysdeps/m68k/m680x0/fpu/s_truncf.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_truncl.c: Likewise. + * sysdeps/m68k/m680x0/fpu/s_significand.c: Reimplement based on + s_atan.c instead of including s_atan.c. + * sysdeps/m68k/m680x0/fpu/s_significandf.c: Reimplement based on + s_atanf.c instead of including s_atanf.c. + * sysdeps/m68k/m680x0/fpu/s_significandl.c: Reimplement based on + s_atanl.c instead of including s_atanl.c. + * sysdeps/m68k/m680x0/fpu/s_log1p.c: Include s_significand.c + instead of s_atan.c. + * sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_significandf.c + instead of s_atanf.c. + * sysdeps/m68k/m680x0/fpu/s_log1pl.c: Include s_significandl.c + instead of s_atanl.c. + + * scripts/update-copyrights: Do not handle intl/plural.c + specially. + +2017-11-30 Juro Bystricky + + [BZ #22432] + * configure.ac (BISON): Require to be present. + * configure: Regenerated. + * intl/Makefile (generated): Add plural.c. + [$(BISON) != no]: Make code unconditional. + (plural.c): Change rule to $(objpfx)plural.c. + ($(objpfx)plural.o): Depend on $(objpfx)plural.c. + * intl/plural.c: Remove. + * manual/install.texi (Tools for Compilation): Document bison as + required. + * INSTALL: Regenerated. + +2017-11-30 Joseph Myers + + * sysdeps/m68k/m680x0/fpu/s_llrint.c: Include + . + (llrint): Define using libm_alias_double. + * sysdeps/m68k/m680x0/fpu/s_llrintf.c: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/m68k/m680x0/fpu/s_llrintl.c: Include + . + (llrintl): Define using libm_alias_ldouble. + + * sysdeps/m68k/m680x0/fpu/s_ccosh_template.c (ccosh): Use + declare_mgen_alias instead of weak_alias. + * sysdeps/m68k/m680x0/fpu/s_cexp_template.c (cexp): Likewise. + * sysdeps/m68k/m680x0/fpu/s_csin_template.c (csin): Likewise. + * sysdeps/m68k/m680x0/fpu/s_csinh_template.c (csinh): Likewise. + +2017-11-30 Adhemerval Zanella + + * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): + Add add_n-generic. + * sysdeps/sparc/sparc64/multiarch/add_n-generic.S: New file. + * sysdeps/sparc/sparc64/multiarch/add_n.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/add_n.S: Remove file. + + * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): + Add submul_1-generic. + * sysdeps/sparc/sparc64/multiarch/submul_1-generic.S: New file. + * sysdeps/sparc/sparc64/multiarch/submul_1.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/submul_1.S: Remove file. + + * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): + Add addmul_1-generic. + * sysdeps/sparc/sparc64/multiarch/addmul_1-generic.S: New file. + * sysdeps/sparc/sparc64/multiarch/addmul_1.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/addmul_1.S: Remove file. + + * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): + Add sub_n-generic. + * sysdeps/sparc/sparc64/multiarch/sub_n-generic.S: New file. + * sysdeps/sparc/sparc64/multiarch/sub_n.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/sub_n.S: Remove file. + + * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines): + Add mul_1-generic. + * sysdeps/sparc/sparc64/multiarch/mul_1-generic.S: New file. + * sysdeps/sparc/sparc64/multiarch/mul_1.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/mul_1.S: Remove file. + +2017-11-30 Mike FABIAN + + According to CLDR, collation rules for Serbian and Bosnian + should be the same as for Croatian. + + [BZ #22534] + * localedata/Makefile: Add sr_RS.UTF-8 and bs_BA.UTF-8 to test-input + and to the list of locales to be built for testing. + * localedata/bs_BA.UTF-8.in: New file (same as hr_HR.UTF-8.in). + * localedata/sr_RS.UTF-8.in: New file (same as hr_HR.UTF-8.in). + * localedata/locales/bs_BA (LC_COLLATE): Use “copy "hr_HR"”. + * localedata/locales/sr_RS (LC_COLLATE): Use “copy "hr_HR"”. + +2017-11-30 Mike FABIAN + + * localedata/locales/hr_HR (LC_COLLATE): Fix collation + to make test case pass. + * localedata/hr_HR.UTF-8.in: Add more test strings. + +2017-11-30 Mike FABIAN + + * stdlib/tst-strfmon_l.c: Fix testcase. Needed because of [BZ #10580] + +2017-11-30 Dragan Stanojević - Nevidljivi + + * localedata/Makefile: Add hr_HR.UTF-8 to test-input and to + the list of locales to built for testing. + * localedata/hr_HR.UTF-8.in: New file. + +2017-11-30 Dragan Stanojević - Nevidljivi + + [BZ #10580] + * localedata/locales/hr_HR (LC_COLLATE): Base collation rules on + iso14651_t1. + * localedata/locales/hr_HR (LC_TIME): Sync month and day names with + CLDR (except use ligatures for the digraphs, CLDR does not use + the ligatures), add first_workday, some fixes in the date and time + formats. + * localedata/locales/hr_HR (LC_CTYPE): Add transliteration rules + for Đ and đ. + * localedata/locales/hr_HR (LC_MONETARY): Change currency_symbol to + lower case. p_cs_precedes and n_cs_precedes should be 0 instead of 1. + Add int_p_cs_precedes and int_n_cs_precedes. + * localedata/locales/hr_HR (LC_NUMERIC): Change thousands_sep to + "" (NARROW NO-BREAK SPACE) and grouping to 3;3 (Agrees with + LC_MONETARY now). + * localedata/locales/hr_HR (LC_TELEPHONE): Add tel_dom_fmt. + * localedata/locales/hr_HR (LC_NAME): Add name_mr, name_mrs, and + name_miss. + * localedata/locales/hr_HR (LC_ADDRESS): Add country_post, country_isbn, + and lang_lib. Change postal_fmt. + +2017-11-30 H.J. Lu + + * debug/longjmp_chk.c: Include instead of + . + * setjmp/longjmp.c: Include instead of . + (__libc_siglongjmp): Cast &env[0].__saved_mask to "sigset_t *". + * setjmp/sigjmp.c: Include instead of . + (__sigjmp_save): Cast &env[0].__saved_mask to "sigset_t *". + * sysdeps/generic/setjmpP.h: New file. + * sysdeps/unix/sysv/linux/x86/jmp_buf-ssp.sym: Likewise. + * sysdeps/unix/sysv/linux/x86/setjmpP.h: Likewise. + * sysdeps/unix/sysv/linux/x86/tst-saved_mask-1.c: Likewise. + * sysdeps/unix/sysv/linux/x86/Makefile (gen-as-const-headers): + Add jmp_buf-ssp.sym. + (tests): Add tst-saved_mask-1. + +2017-11-30 Arjun Shankar + + [BZ #22375] + CVE-2017-17426 + * malloc/malloc.c (__libc_malloc): Use checked_request2size + instead of request2size. + +2017-11-30 Joseph Myers + + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S + (__lllrint): Remove alias. + (lllrint): Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S + (__lllrintf): Likewise. + (lllrintf): Likewise. + + * sysdeps/sparc/sparc32/fpu/s_copysignf.S: Include + . + (copysignf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/fpu/s_fabsf.S: Include + . + (fabsf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: + Include . + (copysignf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Include + . + (fabsf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c: Include + . + (fdimf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: Include + . + (fmaf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S: + Include . + (nearbyintf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Include + . + (rintf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S: Include + . + (lrintf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S: Include + . + (nearbyintf): Define using libm_alias_float. + * sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S: Include + . + (rintf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Include + . + (ceilf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Include + . + (floorf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: Include + . + (fmaf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c: Include + . + (lrintf): Define using libm_alias_float. + (llrintf): Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c: Include + . + (nearbyintf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Include + . + (rintf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Include + . + (truncf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/s_copysignf.S: Include + . + (copysignf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/s_fabsf.c: Include + . + (fabsf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/s_lrintf.S: Include + . + (lrintf): Define using libm_alias_float. + (llrintf): Likewise. + * sysdeps/sparc/sparc64/fpu/s_nearbyintf.S: Include + . + (nearbyintf): Define using libm_alias_float. + * sysdeps/sparc/sparc64/fpu/s_rintf.S: Include + . + (rintf): Define using libm_alias_float. + +2017-11-29 Joseph Myers + + * sysdeps/sparc/sparc32/fpu/s_copysign.S: Include + . + (copysign): Define using libm_alias_double. + * sysdeps/sparc/sparc32/fpu/s_fabs.S: Include + . + (fabs): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: + Include . + (copysign): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include + . + (fabs): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Include + . + (fdim): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Include + . + (fma): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Include + . + (llrint): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S: + Include . + (nearbyint): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Include + . + (rint): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include + . + (fabs): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: Include + . + (llrint): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S: Include + . + (nearbyint): Define using libm_alias_double. + * sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: Include + . + (rint): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Include + . + (floor): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Include + . + (fma): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.c: Include + . + (lrint): Define using libm_alias_double. + (llrint): Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.c: Include + . + (nearbyint): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Include + . + (rint): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Include + . + (trunc): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/s_copysign.S: Include + . + (copysign): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/s_fabs.c: Include + . + (fabs): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/s_lrint.S: Include + . + (lrint): Define using libm_alias_double. + (llrint): Likewise. + * sysdeps/sparc/sparc64/fpu/s_nearbyint.S: Include + . + (nearbyint): Define using libm_alias_double. + * sysdeps/sparc/sparc64/fpu/s_rint.S: Include + . + (rint): Define using libm_alias_double. + + [BZ #22229] + * sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include + . + (fabsl): Define as compat symbol at version GLIBC_2_0 for libm. + + * scripts/build-many-glibcs.py (Context.add_all_configs): Add + SPARC --disable-multi-arch glibc variants. + + * sysdeps/x86_64/fpu/multiarch/e_exp2f.c: Include + . + (exp2f): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/x86_64/fpu/multiarch/e_expf.c: Include + . + (exp2f): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/x86_64/fpu/multiarch/e_log2f.c: Include + . + (exp2f): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/x86_64/fpu/multiarch/e_logf.c: Include + . + (exp2f): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/x86_64/fpu/multiarch/e_powf.c: Include + . + (exp2f): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Include + . + (ceilf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Include + . + (floorf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/multiarch/s_fmaf.c: Include + . + (fmaf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Include + . + (nearbyintf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Include + . + (rintf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Include + . + (truncf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/s_copysignf.S: Include . + (copysignf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/s_cosf.S: Include . + (cosf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/s_fabsf.c: Include . + (fabsf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/s_fmaxf.S: Include . + (fmaxf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/s_fminf.S: Include . + (fminf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/s_llrintf.S: Include . + (llrintf): Define using libm_alias_float. + [!__ILP32__] (lrintf): Likewise. + * sysdeps/x86_64/fpu/s_sincosf.S: Include . + (sincosf): Define using libm_alias_float. + * sysdeps/x86_64/fpu/s_sinf.S: Include . + (sinf): Define using libm_alias_float. + * sysdeps/x86_64/x32/fpu/s_lrintf.S: Include . + (lrintf): Define using libm_alias_float. + + * sysdeps/x86_64/fpu/multiarch/s_atan.c: Include + . + (atan): Define using libm_alias_double. + * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/x86_64/fpu/multiarch/s_floor.c: Include + . + (floor): Define using libm_alias_double. + * sysdeps/x86_64/fpu/multiarch/s_fma.c: Include + . + (fma): Define using libm_alias_double. + * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Include + . + (nearbyint): Define using libm_alias_double. + * sysdeps/x86_64/fpu/multiarch/s_rint.c: Include + . + (rint): Define using libm_alias_double. + * sysdeps/x86_64/fpu/multiarch/s_sin.c: Include + . + (sin): Define using libm_alias_double. + (cos): Likewise. + * sysdeps/x86_64/fpu/multiarch/s_tan.c: Include + . + (tan): Define using libm_alias_double. + * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Include + . + (trunc): Define using libm_alias_double. + * sysdeps/x86_64/fpu/s_copysign.S: Include . + (copysign): Define using libm_alias_double. + * sysdeps/x86_64/fpu/s_fabs.c: Include . + (fabs): Define using libm_alias_double. + * sysdeps/x86_64/fpu/s_fmax.S: Include . + (fmax): Define using libm_alias_double. + * sysdeps/x86_64/fpu/s_fmin.S: Include . + (fmin): Define using libm_alias_double. + * sysdeps/x86_64/fpu/s_llrint.S: Include . + (llrint): Define using libm_alias_double. + [!__ILP32__] (lrint): Likewise. + * sysdeps/x86_64/x32/fpu/s_lrint.S: Include . + (lrint): Define using libm_alias_double. + +2017-11-29 Adhemerval Zanella + + * sysdeps/sparc/sparc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_rintf-generic and s_rint-generic + objects. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rint-generic.S: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-generic.S: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: Remove file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: Likewise. + + * sysdeps/sparc/sparc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_lrint-generic and s_lrintf-generic + objects. + * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-generic.S: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-generic.S: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S: Remove file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S: Likewise. + + * sysdeps/sparc/sparc64/fpu/multiarch/Makefile + (libm-sysdep_routines): Add s_nearbyint-generic and + s_nearbyintf-generic objects. + * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-generic.S: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-generic.S: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.S: Remove file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.S: Likewise. + + * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls): + Add s_finitef-generic and s_finite-generic objects. + * sysdeps/sparc/sparc64/fpu/multiarch/s_finite-generic.S: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-generic.S: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S: Remove file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S: Remove file. + + * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls): + Add s_isinff-generic and s_isinf-generic objects. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-generic.S: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-generic.S: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S: Remove file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S: Likewise. + + * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls): + Add s_isnanf-generic and s_isnan-generic objects. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-generic.S: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-generic.S: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S: Remove file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S: Likewise. + + * sysdeps/sparc/sparc-ifunc.h (sparc_libm_ifunc_redirected): New + macro. + * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdep_calls): New + rule. + (sysdep_routines): Use sysdep_calls as base. + (libm-sysdep_routines): Add generic rule for symbols shared with + libc. Add s_signbit-generic and s_signbitf-generic objects. + * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.c: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-generic.S: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-generic.S: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: Remove file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: Likewise. + +2017-11-29 Joseph Myers + + * sysdeps/ia64/fpu/libm-symbols.h: Include . + * sysdeps/ia64/fpu/e_acosf.S (acosf): Use libm_alias_float_other. + * sysdeps/ia64/fpu/e_acoshf.S (acoshf): Likewise. + * sysdeps/ia64/fpu/e_asinf.S (asinf): Likewise. + * sysdeps/ia64/fpu/e_atan2f.S (atan2f): Likewise. + * sysdeps/ia64/fpu/e_atanhf.S (atanhf): Likewise. + * sysdeps/ia64/fpu/e_coshf.S (coshf): Likewise. + * sysdeps/ia64/fpu/e_exp10f.S (exp10f): Likewise. + * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Likewise. + * sysdeps/ia64/fpu/e_expf.S (expf): Likewise. + * sysdeps/ia64/fpu/e_fmodf.S (fmodf): Likewise. + * sysdeps/ia64/fpu/e_hypotf.S (hypotf): Likewise. + * sysdeps/ia64/fpu/e_lgammaf_r.c (lgammaf_r): Define using + libm_alias_float_r. + * sysdeps/ia64/fpu/e_log2f.S (log2f): Use libm_alias_float_other. + * sysdeps/ia64/fpu/e_logf.S (log10f): Likewise. + (logf): Likewise. + * sysdeps/ia64/fpu/e_powf.S (powf): Likewise. + * sysdeps/ia64/fpu/e_remainderf.S (remainderf): Likewise. + * sysdeps/ia64/fpu/e_sinhf.S (sinhf): Likewise. + * sysdeps/ia64/fpu/e_sqrtf.S (sqrtf): Likewise. + * sysdeps/ia64/fpu/libm_sincosf.S (sincosf): Likewise. + * sysdeps/ia64/fpu/s_asinhf.S (asinhf): Likewise. + * sysdeps/ia64/fpu/s_atanf.S (atanf): Likewise. + * sysdeps/ia64/fpu/s_cbrtf.S (cbrtf): Likewise. + * sysdeps/ia64/fpu/s_ceilf.S (ceilf): Likewise. + * sysdeps/ia64/fpu/s_copysign.S (copysignf): Define using + libm_alias_float. + * sysdeps/ia64/fpu/s_cosf.S (sinf): Use libm_alias_float_other. + (cosf): Likewise. + * sysdeps/ia64/fpu/s_erfcf.S (erfcf): Likewise. + * sysdeps/ia64/fpu/s_erff.S (erff): Likewise. + * sysdeps/ia64/fpu/s_expm1f.S (expm1f): Likewise. + * sysdeps/ia64/fpu/s_fabsf.S (fabsf): Likewise. + * sysdeps/ia64/fpu/s_fdimf.S (fdimf): Likewise. + * sysdeps/ia64/fpu/s_floorf.S (floorf): Likewise. + * sysdeps/ia64/fpu/s_fmaf.S (fmaf): Likewise. + * sysdeps/ia64/fpu/s_fmaxf.S (fmaxf): Likewise. + * sysdeps/ia64/fpu/s_frexpf.c (frexpf): Likewise. + * sysdeps/ia64/fpu/s_ldexpf.c (ldexpf): Likewise. + * sysdeps/ia64/fpu/s_log1pf.S (log1pf): Likewise. + * sysdeps/ia64/fpu/s_logbf.S (logbf): Likewise. + * sysdeps/ia64/fpu/s_modff.S (modff): Likewise. + * sysdeps/ia64/fpu/s_nearbyintf.S (nearbyintf): Likewise. + * sysdeps/ia64/fpu/s_nextafterf.S (nextafterf): Likewise. + * sysdeps/ia64/fpu/s_rintf.S (rintf): Likewise. + * sysdeps/ia64/fpu/s_roundf.S (roundf): Likewise. + * sysdeps/ia64/fpu/s_scalblnf.c (scalblnf): Likewise. + * sysdeps/ia64/fpu/s_scalbnf.c (scalbnf): Define using + libm_alias_float. + * sysdeps/ia64/fpu/s_tanf.S (tanf): Use libm_alias_float_other. + * sysdeps/ia64/fpu/s_tanhf.S (tanhf): Likewise. + * sysdeps/ia64/fpu/s_truncf.S (truncf): Likewise. + * sysdeps/ia64/fpu/w_lgammaf_main.c + [BUILD_LGAMMA && !USE_AS_COMPAT] (lgammaf): Likewise. + * sysdeps/ia64/fpu/w_tgammaf_compat.S (tgammaf): Likewise. + +2017-11-28 Mike FABIAN + Alexandre Oliva + + [BZ #17750] + * Makefile: add fr_CA.UTF-8 to test-input and LOCALES. + * localedata/fr_CA.UTF-8.in: New file with test data for backward + accents sorting. + * localedata/fr_FR.UTF-8.in: Fix test data for forward accents + sorting. + * localedata/locales/cs_CZ (LC_COLLATE): Remove “define DIACRIT_FORWARD” + * localedata/locales/de_DE (LC_COLLATE): Likewise. + * localedata/locales/hu_HU (LC_COLLATE): Likewise. + * localedata/locales/lb_LU (LC_COLLATE): Likewise. + * localedata/locales/yuw_PG (LC_COLLATE): Likewise. + * localedata/locales/fr_CA (LC_COLLATE): Add “define DIACRIT_BACKWARD” + * localedata/locales/iso14651_t1_common: Use “ifdef DIACRIT_FORWARD” + instead of “ifdef DIACRIT_BACKWARD”. + +2017-11-29 Adhemerval Zanella + + * config.h.in (HAVE_AS_VIS3_SUPPORT): Remove check for VIS3 support. + * sysdeps/sparc/configure.ac (HAVE_AS_VIS3_SUPPORT): Likewise. + * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Likewise. + * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c: Likewise. + * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Likewise. + * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Likewise. + * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Likewise. + * sysdeps/sparc/sparc-ifunc.h [!HAVE_AS_VIS3_SUPPORT] + (SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros. + * sysdeps/sparc/sparc32/sparcv9/Makefile [$(have-as-vis3) != yes] + (ASFLAGS.o, ASFLAGS-.os, ASFLAGS-.op, ASFLAGS-.oS): Remove rules. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile + ($(have-as-vis3) == yes): Remove conditional. + * sysdeps/sparc/sparc64/Makefile (($(have-as-vis3) == yes)): + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-generic.c: New + file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-generic.c: New + file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-generic.c: New + file. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-generic.c: New + file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-generic.c: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-generic.c: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floor-generic.c: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-generic.c: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_fma-generic.c: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-generic.c: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-generic.c: New file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-generic.c: New file. + +2017-11-29 Joseph Myers + + * sysdeps/ia64/fpu/libm-symbols.h: Include . + * sysdeps/ia64/fpu/e_acos.S (acos): Use libm_alias_double_other. + * sysdeps/ia64/fpu/e_acosh.S (acosh): Likewise. + * sysdeps/ia64/fpu/e_asin.S (asin): Likewise. + * sysdeps/ia64/fpu/e_atan2.S (atan2): Likewise. + * sysdeps/ia64/fpu/e_atanh.S (atanh): Likewise. + * sysdeps/ia64/fpu/e_cosh.S (cosh): Likewise. + * sysdeps/ia64/fpu/e_exp.S (exp): Likewise. + * sysdeps/ia64/fpu/e_exp10.S (exp10): Likewise. + * sysdeps/ia64/fpu/e_exp2.S (exp2): Likewise. + * sysdeps/ia64/fpu/e_fmod.S (fmod): Likewise. + * sysdeps/ia64/fpu/e_hypot.S (hypot): Likewise. + * sysdeps/ia64/fpu/e_lgamma_r.c (lgamma_r): Define using + libm_alias_double_r. + * sysdeps/ia64/fpu/e_log.S (log10): Use libm_alias_double_other. + (log): Likewise. + * sysdeps/ia64/fpu/e_log2.S (log2): Likewise. + * sysdeps/ia64/fpu/e_pow.S (pow): Likewise. + * sysdeps/ia64/fpu/e_remainder.S (remainder): Likewise. + * sysdeps/ia64/fpu/e_sinh.S (sinh): Likewise. + * sysdeps/ia64/fpu/e_sqrt.S (sqrt): Likewise. + * sysdeps/ia64/fpu/libm_sincos.S (sincos): Likewise. + * sysdeps/ia64/fpu/s_asinh.S (asinh): Likewise. + * sysdeps/ia64/fpu/s_atan.S (atan): Likewise. + * sysdeps/ia64/fpu/s_cbrt.S (cbrt): Likewise. + * sysdeps/ia64/fpu/s_ceil.S (ceil): Likewise. + * sysdeps/ia64/fpu/s_copysign.S (copysign): Define using + libm_alias_double. + * sysdeps/ia64/fpu/s_cos.S (sin): Use libm_alias_double_other. + (cos): Likewise. + * sysdeps/ia64/fpu/s_erf.S (erf): Likewise. + * sysdeps/ia64/fpu/s_erfc.S (erfc): Likewise. + * sysdeps/ia64/fpu/s_expm1.S (expm1): Likewise. + * sysdeps/ia64/fpu/s_fabs.S (fabs): Likewise. + * sysdeps/ia64/fpu/s_fdim.S (fdim): Likewise. + * sysdeps/ia64/fpu/s_floor.S (floor): Likewise. + * sysdeps/ia64/fpu/s_fma.S (fma): Likewise. + * sysdeps/ia64/fpu/s_fmax.S (fmax): Likewise. + * sysdeps/ia64/fpu/s_frexp.c (frexp): Likewise. + * sysdeps/ia64/fpu/s_ldexp.c (ldexp): Likewise. + * sysdeps/ia64/fpu/s_log1p.S (log1p): Likewise. + * sysdeps/ia64/fpu/s_logb.S (logb): Likewise. + * sysdeps/ia64/fpu/s_modf.S (modf): Likewise. + * sysdeps/ia64/fpu/s_nearbyint.S (nearbyint): Likewise. + * sysdeps/ia64/fpu/s_nextafter.S (nextafter): Likewise. + * sysdeps/ia64/fpu/s_rint.S (rint): Likewise. + * sysdeps/ia64/fpu/s_round.S (round): Likewise. + * sysdeps/ia64/fpu/s_scalbn.c (scalbn): Define using + libm_alias_double. + * sysdeps/ia64/fpu/s_tan.S (tan): Use libm_alias_double_other. + * sysdeps/ia64/fpu/s_tanh.S (tanh): Likewise. + * sysdeps/ia64/fpu/s_trunc.S (trunc): Likewise. + * sysdeps/ia64/fpu/w_lgamma_main.c + [BUILD_LGAMMA && !USE_AS_COMPAT] (lgamma): Likewise. + * sysdeps/ia64/fpu/w_tgamma_compat.S (tgamma): Likewise. + +2017-11-28 John David Anglin + + * sysdeps/hppa/start.S (_start): Check PIC instead of SHARED. Load + address of $global$ into %dp register earlier. Use pc-relative + instruction sequence for PIC case. + +2017-11-28 Joseph Myers + + * sysdeps/i386/fpu/s_asinhf.S: Include . + (asinhf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_atanf.S: Include . + (atanf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_cbrtf.S: Include . + (cbrtf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_ceilf.S: Include . + (ceilf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_copysignf.S: Include . + (copysignf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_expm1f.S: Include . + (expm1f): Define using libm_alias_float. + * sysdeps/i386/fpu/s_fabsf.S: Include . + (fabsf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_floorf.S: Include . + (floorf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_fmaxf.S: Include . + (fmaxf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_fminf.S: Include . + (fminf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_frexpf.S: Include . + (frexpf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_llrintf.S: Include . + (llrintf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_logbf.S: Include . + (logbf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_lrintf.S: Include . + (lrintf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_nearbyintf.S: Include . + (nearbyintf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_remquof.S: Include . + (remquof): Define using libm_alias_float. + * sysdeps/i386/fpu/s_rintf.S: Include . + (rintf): Define using libm_alias_float. + * sysdeps/i386/fpu/s_truncf.S: Include . + (truncf): Define using libm_alias_float. + * sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Include + . + (exp2f): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Include + . + (expf): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Include + . + (log2f): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Include + . + (logf): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Include + . + (powf): Define using libm_alias_float, or libm_alias_float_other + if [SHARED]. + * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include + . + (cosf): Define using libm_alias_float. + * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include + . + (sincosf): Define using libm_alias_float. + * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include + . + (sinf): Define using libm_alias_float. + * sysdeps/i386/i686/fpu/s_fmaxf.S: Include . + (fmaxf): Define using libm_alias_float. + * sysdeps/i386/i686/fpu/s_fminf.S: Include . + (fminf): Define using libm_alias_float. + * sysdeps/i386/i686/multiarch/s_fmaf.c: Include + . + (fmaf): Define using libm_alias_float. + + * sysdeps/i386/fpu/s_asinh.S: Include . + (asinh): Define using libm_alias_double. + * sysdeps/i386/fpu/s_atan.S: Include . + (atan): Define using libm_alias_double. + * sysdeps/i386/fpu/s_cbrt.S: Include . + (cbrt): Define using libm_alias_double. + * sysdeps/i386/fpu/s_ceil.S: Include . + (ceil): Define using libm_alias_double. + * sysdeps/i386/fpu/s_copysign.S: Include . + (copysign): Define using libm_alias_double. + * sysdeps/i386/fpu/s_expm1.S: Include . + (expm1): Define using libm_alias_double. + * sysdeps/i386/fpu/s_fabs.S: Include . + (fabs): Define using libm_alias_double. + * sysdeps/i386/fpu/s_fdim.c: Include . + (fdim): Define using libm_alias_double. + * sysdeps/i386/fpu/s_floor.S: Include . + (floor): Define using libm_alias_double. + * sysdeps/i386/fpu/s_fmax.S: Include . + (fmax): Define using libm_alias_double. + * sysdeps/i386/fpu/s_fmin.S: Include . + (fmin): Define using libm_alias_double. + * sysdeps/i386/fpu/s_frexp.S: Include . + (frexp): Define using libm_alias_double. + * sysdeps/i386/fpu/s_llrint.S: Include . + (llrint): Define using libm_alias_double. + * sysdeps/i386/fpu/s_logb.S: Include . + (logb): Define using libm_alias_double. + * sysdeps/i386/fpu/s_lrint.S: Include . + (lrint): Define using libm_alias_double. + * sysdeps/i386/fpu/s_nearbyint.S: Include . + (nearbyint): Define using libm_alias_double. + * sysdeps/i386/fpu/s_remquo.S: Include . + (remquo): Define using libm_alias_double. + * sysdeps/i386/fpu/s_rint.S: Include . + (rint): Define using libm_alias_double. + * sysdeps/i386/fpu/s_trunc.S: Include . + (trunc): Define using libm_alias_double. + * sysdeps/i386/i686/fpu/s_fmax.S: Include . + (fmax): Define using libm_alias_double. + * sysdeps/i386/i686/fpu/s_fmin.S: Include . + (fmin): Define using libm_alias_double. + * sysdeps/i386/i686/multiarch/s_fma.c: Include . + (fma): Define using libm_alias_double. + +2017-11-28 H.J. Lu + + [BZ #22370] + * elf/dl-hwcaps.c (ROUND): Removed. + (_dl_important_hwcaps): Replace ROUND with ELF_NOTE_DESC_OFFSET + and ELF_NOTE_NEXT_OFFSET. + * elf/dl-load.c (ROUND): Removed. + (open_verify): Replace ROUND with ELF_NOTE_NEXT_OFFSET. + * elf/readelflib.c (ROUND): Removed. + (process_elf_file): Replace ROUND with ELF_NOTE_NEXT_OFFSET. + * include/elf.h [!_ISOMAC]: Include . + [!_ISOMAC] (ELF_NOTE_DESC_OFFSET): New. + [!_ISOMAC] (ELF_NOTE_NEXT_OFFSET): Likewise. + +2017-11-28 Joseph Myers + + * sysdeps/s390/fpu/s_fmaf.c: Include . + [!__fmaf] (fmaf): Define using libm_alias_float. + + * sysdeps/s390/fpu/s_fma.c: Include . + [!__fma] (fma): Define using libm_alias_double. + * sysdeps/unix/sysv/linux/s390/fpu/s_fma.c: Remove. + +2017-11-28 Mike FABIAN + + [BZ #22336] + * localedata/locales/cs_CZ (LC_COLLATE): Use “copy "iso14651_t1"” + and implement the collation rules for cs from CLDR on top of that. + * Makefile: Add cs_CZ.UTF-8 to test-input. + * cs_CZ.UTF-8.in: New file with test data to test the Czech sorting. + +2017-11-28 Siddhesh Poyarekar + + * localedata/Makefile (LOCALES): Remove duplicate cs_CZ.UTF-8. + +2017-11-28 Victor Rodriguez + Icarus Sparry + + * benchtests/Makefile:Add BENCHSET to allow subsets of + benchmarks to be run. + * benchtests/README: Add documentation for: Running subsets of + benchmarks. + +2017-11-28 Victor Rodriguez + + * benchtests/scripts/benchout.schema.json: Fix regex to accept a wider + range of tests names. + + * benchtests/scripts/benchout.schema.json: Add throughput as accepted + result from property and remove "max", min" and "mean" from + required properties based on benchtests/bench-skeleton.c. + +2017-11-28 Florian Weimer + + [BZ #20826] + Turn posix/tst-getaddrinfo4, posix/tst-getaddrinfo5 into xtests + due to Internet requirement. + * posix/Makefile (tests): Remove tst-getaddrinfo4, + tst-getaddrinfo5. + (xtests): Add tst-getaddrinfo4, tst-getaddrinfo5. + +2017-11-28 Adhemerval Zanella + + * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile + [$(subdir) = string] (sysdep_routines): Add memset-ultra1. + * sysdeps/sparc/sparc64/multiarch/Makefile [$(subdir) = string] + (sysdep_routines): Add memset-ultra1. + * sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S: New + file. + * sysdeps/sparc/sparc32/sparcv9/multiarch/memset.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/multiarch/bzero.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/ifunc-memset.h: Likewise. + * sysdeps/sparc/sparc64/multiarch/memset-ultra1.S: Likewise. + * sysdeps/sparc/sparc64/multiarch/memset.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/bzero.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/multiarch/memset.S: Remove file. + * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. + + * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-ultra1.S: New + file. + * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/multiarch/mempcpy.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h: Likewise. + * sysdeps/sparc/sparc64/multiarch/memcpy-ultra1.S: Likewise. + * sysdeps/sparc/sparc64/multiarch/memcpy.c: Likewise. + * sysdeps/sparc/sparc64/multiarch/mempcpy.c: Likewise. + * sysdeps/sparc/sparc-ifunc.h (sparc_libc_ifunc_redirected): New + macro. + * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile + [$(subdir) = string] (sysdep_routines): Add memcpy-ultra1. + * sysdeps/sparc/sparc64/multiarch/Makefile [$(subdir) = string] + (sysdep_routines): Add memcpy-ultra1. + * sysdeps/sparc/sparc64/multiarch/memcpy.S: Remove file. + * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.S: Likewise. + +2017-11-28 Joseph Myers + + * sysdeps/alpha/fpu/cfloat-compat.h: Include . + (cfloat_versions): Take function argument without trailing 'f'. + Call libm_alias_float_other. + * sysdeps/alpha/fpu/cabsf.c: Update call to cfloat_versions. + * sysdeps/alpha/fpu/cargf.c: Likewise. + * sysdeps/alpha/fpu/cimagf.c: Likewise. + * sysdeps/alpha/fpu/conjf.c: Likewise. + * sysdeps/alpha/fpu/crealf.c: Likewise. + * sysdeps/alpha/fpu/s_cacosf.c: Likewise. + * sysdeps/alpha/fpu/s_cacoshf.c: Likewise. + * sysdeps/alpha/fpu/s_casinf.c: Likewise. + * sysdeps/alpha/fpu/s_casinhf.c: Likewise. + * sysdeps/alpha/fpu/s_catanf.c: Likewise. + * sysdeps/alpha/fpu/s_catanhf.c: Likewise. + * sysdeps/alpha/fpu/s_ccosf.c: Likewise. + * sysdeps/alpha/fpu/s_ccoshf.c: Likewise. + * sysdeps/alpha/fpu/s_cexpf.c: Likewise. + * sysdeps/alpha/fpu/s_clogf.c: Likewise. + * sysdeps/alpha/fpu/s_cpowf.c: Likewise. + * sysdeps/alpha/fpu/s_cprojf.c: Likewise. + * sysdeps/alpha/fpu/s_csinf.c: Likewise. + * sysdeps/alpha/fpu/s_csinhf.c: Likewise. + * sysdeps/alpha/fpu/s_csqrtf.c: Likewise. + * sysdeps/alpha/fpu/s_ctanf.c: Likewise. + * sysdeps/alpha/fpu/s_ctanhf.c: Likewise. + * sysdeps/alpha/fpu/s_clog10f.c: Include . + (clog10f): Use libm_alias_float_other. + * sysdeps/alpha/fpu/s_ceilf.c: Include . + (ceilf): Define using libm_alias_float. + * sysdeps/alpha/fpu/s_copysignf.c: Include . + (copysignf): Define using libm_alias_float. + * sysdeps/alpha/fpu/s_fabsf.c: Include . + (fabsf): Define using libm_alias_float. + * sysdeps/alpha/fpu/s_floorf.c: Include . + (floorf): Define using libm_alias_float. + * sysdeps/alpha/fpu/s_fmax.S: Include . + (fmaxf): Define using libm_alias_float. + * sysdeps/alpha/fpu/s_fmin.S: Include . + (fminf): Define using libm_alias_float. + * sysdeps/alpha/fpu/s_lrintf.c: Include . + (lrintf): Define using libm_alias_float. + (llrintf): Likewise. + * sysdeps/alpha/fpu/s_lroundf.c: Include . + (lroundf): Define using libm_alias_float. + (llroundf): Likewise. + * sysdeps/alpha/fpu/s_rintf.c: Include . + (rintf): Define using libm_alias_float. + * sysdeps/alpha/fpu/s_truncf.c: Include . + (truncf): Define using libm_alias_float. + + * sysdeps/aarch64/fpu/s_ceilf.c: Include . + (ceilf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_floorf.c: Include . + (floorf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_fmaf.c: Include . + (fmaf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_fmaxf.c: Include . + (fmaxf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_fminf.c: Include . + (fminf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_llrintf.c: Include . + (llrintf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_llroundf.c: Include . + (llroundf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_lrintf.c: Include . + (lrintf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_lroundf.c: Include . + (lroundf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_nearbyintf.c: Include + . + (nearbyintf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_rintf.c: Include . + (rintf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_roundf.c: Include . + (roundf): Define using libm_alias_float. + * sysdeps/aarch64/fpu/s_truncf.c: Include . + (truncf): Define using libm_alias_float. + + * sysdeps/alpha/fpu/s_ceil.c: Include . + (ceil): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_copysign.c: Include . + (copysign): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_fabs.c: Include . + (fabs): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_floor.c: Include . + (floor): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_fmax.S: Include . + (fmax): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_fmin.S: Include . + (fmin): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_lrint.c: Include . + (lrint): Define using libm_alias_double. + (llrint): Likewise. + * sysdeps/alpha/fpu/s_lround.c: Include . + (lround): Define using libm_alias_double. + (llround): Likewise. + * sysdeps/alpha/fpu/s_rint.c: Include . + (rint): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_trunc.c: Include . + (trunc): Define using libm_alias_double. + + * sysdeps/ieee754/ldbl-opt/libm-alias-double.h + (libm_alias_double_r): Add semicolon after weak_alias call. + +2017-11-27 Joseph Myers + + * sysdeps/aarch64/fpu/s_ceil.c: Include . + (ceil): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_floor.c: Include . + (floor): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_fma.c: Include . + (fma): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_fmax.c: Include . + (fmax): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_fmin.c: Include . + (fmin): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_llrint.c: Include . + (llrint): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_llround.c: Include . + (llround): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_lrint.c: Include . + (lrint): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_lround.c: Include . + (lround): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_nearbyint.c: Include . + (nearbyint): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_rint.c: Include . + (rint): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_round.c: Include . + (round): Define using libm_alias_double. + * sysdeps/aarch64/fpu/s_trunc.c: Include . + (trunc): Define using libm_alias_double. + +2017-11-27 Florian Weimer + + * sysdeps/unix/sysv/linux/mlock2.c: New file. + * sysdeps/unix/sysv/linux/tst-mlock2.c: Likewise. + * sysdeps/unix/sysv/linux/Makefile (routines): Add mlock2. + (tests): Add tst-mlock2. + * sysdeps/unix/sysv/linux/Versions (GLIBC_2.27): Export mlock2. + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_MLOCK2) + [__LINUX_KERNEL_VERSION >= 4.4]: Define. + * sysdeps/unix/sysv/linux/libc**.abilist: Update. + * manual/memory.texi (Page Lock Functions): Move @end deftypefun + for mlock. Document mlock2. + +2017-11-27 Joseph Myers + + * sysdeps/ia64/Makeconfig (float64x-alias-fcts): New variable. + * sysdeps/ieee754/float128/Makeconfig (float64x-alias-fcts): + Likewise. + * sysdeps/ieee754/ldbl-128/Makeconfig (float64x-alias-fcts): + Likewise. + * sysdeps/x86/Makeconfig: New file. + * bits/floatn-common.h (__HAVE_FLOAT64X): Remove macro. + (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. + * bits/floatn.h (__HAVE_FLOAT64X): New macro. + (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. + * sysdeps/ia64/bits/floatn.h (__HAVE_FLOAT64X): Likewise. + (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. + * sysdeps/ieee754/ldbl-128/bits/floatn.h (__HAVE_FLOAT64X): + Likewise. + (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. + * sysdeps/mips/ieee754/bits/floatn.h (__HAVE_FLOAT64X): Likewise. + (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. + * sysdeps/powerpc/bits/floatn.h (__HAVE_FLOAT64X): Likewise. + (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. + * sysdeps/x86/bits/floatn.h (__HAVE_FLOAT64X): Likewise. + (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise. + * manual/math.texi (Mathematics): Document support for _Float64x. + * math/Versions (GLIBC_2.27): Add _Float64x functions. + * stdlib/Versions (GLIBC_2.27): Likewise. + * wcsmbs/Versions (GLIBC_2.27): Likewise. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + +2017-11-27 Andreas Schwab + + * elf/Makefile (dl-routines): Add dl-sort-maps. + * elf/dl-sort-maps.c: New file. + * sysdeps/generic/ldsodefs.h (_dl_sort_fini): Don't declare. + (_dl_sort_maps): Declare. + * elf/dl-fini.c (_dl_sort_fini): Remove. + (_dl_fini): Use _dl_sort_maps instead of _dl_sort_fini. + * elf/dl-close.c (_dl_close_worker): Likewise. + * elf/dl-deps.c (_dl_map_object_deps): Use _dl_sort_maps instead of + open-coding it. + * elf/dl-open.c (dl_open_worker): Likewise. + +2017-11-24 Joseph Myers + + * sysdeps/ieee754/float128/s_fromfpf128.c (fromfpf128): Define + using libm_alias_float128. + * sysdeps/ieee754/float128/s_fromfpxf128.c (fromfpxf128): + Likewise. + * sysdeps/ieee754/float128/s_setpayloadf128.c (setpayloadf128): + Likewise. + * sysdeps/ieee754/float128/s_setpayloadsigf128.c + (setpayloadsigf128): Likewise. + * sysdeps/ieee754/float128/s_ufromfpf128.c (ufromfpf128): + Likewise. + * sysdeps/ieee754/float128/s_ufromfpxf128.c (ufromfpxf128): + Likewise. + + * sysdeps/powerpc/powerpc64le/Makefile ($(foreach + suf,$(all-object-suffixes),$(objpfx)test-float64x%$(suf))): Add + -mfloat128 to CFLAGS. + ($(foreach + suf,$(all-object-suffixes),$(objpfx)test-ifloat64x%$(suf))): + Likewise. + (CFLAGS-libm-test-support-float64x.c): New variable. + ($(objpfx)test-float64x% $(objpfx)test-ifloat64x%): Add + $(f128-loader-link) to gnulib-tests. + + * sysdeps/generic/libm-alias-float128.h: Include . + (libm_alias_float128_other_r): If + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE], define f64x + alias. + (libm_alias_float128_r): Add semicolon after weak_alias call. + * sysdeps/generic/libm-alias-ldouble.h + (libm_alias_ldouble_other_r_f128): New macro. + (libm_alias_ldouble_other_r_f64x): Likewise. + (libm_alias_ldouble_other_r): Use libm_alias_ldouble_other_r_f128 + and libm_alias_ldouble_other_r_f64x. + (libm_alias_ldouble_r): Add semicolon after weak_alias call. + * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h + (libm_alias_ldouble_other_r_f128): New macro. + (libm_alias_ldouble_other_r_f64x): Likewise. + (libm_alias_ldouble_other_r): Use libm_alias_ldouble_other_r_f128 + and libm_alias_ldouble_other_r_f64x. + + * stdlib/strfroml.c: Always include . + [__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): Define and later + undefine as macro and define as weak alias. + * sysdeps/ieee754/float128/strfromf128.c: Include . + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE]: Include + . + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): + Define and later undefine as macro and define as weak alias. + + * stdlib/strtold.c [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x): + Define and later undefine as macro. Define as weak alias if + [!USE_WIDE_CHAR]. + [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x): Define and later + undefine as macro. Define as weak alias if [USE_WIDE_CHAR]. + * sysdeps/ieee754/float128/strtof128.c: Include . + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x): + Define and later undefine as macro. Define as weak alias if + [!USE_WIDE_CHAR]. + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x): + Define and later undefine as macro. Define as weak alias if + [USE_WIDE_CHAR]. + * sysdeps/ieee754/float128/strtof128_l.c + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): + Define and later undefine as macro. Define as weak alias if + [!USE_WIDE_CHAR]. + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): + Define and later undefine as macro. Define as weak alias if + [USE_WIDE_CHAR]. + * sysdeps/ieee754/ldbl-128/strtold_l.c + [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later + undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. + [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later + undefine as macro. Define as weak alias if [USE_WIDE_CHAR]. + * sysdeps/ieee754/ldbl-64-128/strtold_l.c + [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later + undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. + [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later + undefine as macro. Define as weak alias if [USE_WIDE_CHAR]. + * sysdeps/ieee754/ldbl-96/strtold_l.c + [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later + undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. + [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later + undefine as macro. Define as weak alias if [USE_WIDE_CHAR]. + + * math/test-float64x.h: New file. + * math/Makefile (type-float64x-yes): New variable. + (test-types): Add $(type-float64x-$(float64x-alias-fcts)). + + * sysdeps/generic/math_private.h (min_of_type_f): Make into a + function-like macro. + (min_of_type_): Likewise. + (min_of_type_l): Likewise. + (min_of_type_f128): Likewise. + (min_of_type): Pass () as last argument of __MATH_TG. + + * stdlib/tst-strtod-round-skeleton.c + (__STDC_WANT_IEC_60559_TYPES_EXT__): Define before including + headers. + + * math/gen-tgmath-tests.py (Type.init_types): Pass suffix argument + for combinations of long double with _Float64 and _Float64x. + + * bits/libm-simd-decl-stubs.h (__DECL_SIMD_cosf16): New macro. + (__DECL_SIMD_cosf32): Likewise. + (__DECL_SIMD_cosf64): Likewise. + (__DECL_SIMD_cosf32x): Likewise. + (__DECL_SIMD_cosf64x): Likewise. + (__DECL_SIMD_cosf128x): Likewise. + (__DECL_SIMD_sinf16): Likewise. + (__DECL_SIMD_sinf32): Likewise. + (__DECL_SIMD_sinf64): Likewise. + (__DECL_SIMD_sinf32x): Likewise. + (__DECL_SIMD_sinf64x): Likewise. + (__DECL_SIMD_sinf128x): Likewise. + (__DECL_SIMD_sincosf16): Likewise. + (__DECL_SIMD_sincosf32): Likewise. + (__DECL_SIMD_sincosf64): Likewise. + (__DECL_SIMD_sincosf32x): Likewise. + (__DECL_SIMD_sincosf64x): Likewise. + (__DECL_SIMD_sincosf128x): Likewise. + (__DECL_SIMD_logf16): Likewise. + (__DECL_SIMD_logf32): Likewise. + (__DECL_SIMD_logf64): Likewise. + (__DECL_SIMD_logf32x): Likewise. + (__DECL_SIMD_logf64x): Likewise. + (__DECL_SIMD_logf128x): Likewise. + (__DECL_SIMD_expf16): Likewise. + (__DECL_SIMD_expf32): Likewise. + (__DECL_SIMD_expf64): Likewise. + (__DECL_SIMD_expf32x): Likewise. + (__DECL_SIMD_expf64x): Likewise. + (__DECL_SIMD_expf128x): Likewise. + (__DECL_SIMD_powf16): Likewise. + (__DECL_SIMD_powf32): Likewise. + (__DECL_SIMD_powf64): Likewise. + (__DECL_SIMD_powf32x): Likewise. + (__DECL_SIMD_powf64x): Likewise. + (__DECL_SIMD_powf128x): Likewise. + + * stdlib/Versions (libc): Move entries for wcstof128 and + wcstof128_l to .... + * wcsmbs/Versions (libc): ... here. + Include . + +2017-11-24 Florian Weimer + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/mman-shared.h. + * sysdeps/unix/sysv/linux/bits/mman-linux.h: Include + . + (MFD_CLOEXEC, MFD_ALLOW_SEALING, MFD_HUGETLB, memfd_create): Move + to ... + * sysdeps/unix/sysv/linux/bits/mman-shared.h: ... this new file. + Add #ifndef guard for the MFD_* constants based on MFD_CLOEXEC. + * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Include + . + +2017-11-24 Adhemerval Zanella + + [BZ #22457] + * sysdeps/posix/preadv_common.c (PREADV): Use mmap/munmap instead of + posix_memalign/free. + * sysdeps/posix/pwritev_common.c (PWRITEV): Likewise. + +2017-11-22 Mike FABIAN + + [BZ #22469] + * localedata/locales/pl_PL (LC_COLLATE): Use “copy "iso14651_t1"” + and implement the collation rules for pl from CLDR on top of that. + * Makefile: Add pl_PL.UTF-8 to test-input and to the list + of locales to be built for testing. + * pl_PL.UTF-8.in: New file with test data to test the Polish sorting. + +2017-11-23 Joseph Myers + + * sysdeps/ia64/fpu/libm-symbols.h: Include . + * sysdeps/ia64/fpu/e_acoshl.S (acoshl): Use + libm_alias_ldouble_other. + * sysdeps/ia64/fpu/e_acosl.S (acosl): Likewise. + * sysdeps/ia64/fpu/e_asinl.S (asinl): Likewise. + * sysdeps/ia64/fpu/e_atanhl.S (atanhl): Likewise. + * sysdeps/ia64/fpu/e_coshl.S (coshl): Likewise. + * sysdeps/ia64/fpu/e_exp10l.S (exp10l): Likewise. + * sysdeps/ia64/fpu/e_exp2l.S (exp2l): Likewise. + * sysdeps/ia64/fpu/e_fmodl.S (fmodl): Likewise. + * sysdeps/ia64/fpu/e_hypotl.S (hypotl): Likewise. + * sysdeps/ia64/fpu/e_lgammal_r.c (lgammal_r): Define using + libm_alias_ldouble_r. + * sysdeps/ia64/fpu/e_log2l.S (log2l): Use + libm_alias_ldouble_other. + * sysdeps/ia64/fpu/e_logl.S (logl): Likewise. + (log10l): Likewise. + * sysdeps/ia64/fpu/e_powl.S (powl): Likewise. + * sysdeps/ia64/fpu/e_remainderl.S (remainderl): Likewise. + * sysdeps/ia64/fpu/e_sinhl.S (sinhl): Likewise. + * sysdeps/ia64/fpu/e_sqrtl.S (sqrtl): Likewise. + * sysdeps/ia64/fpu/libm_sincosl.S (sincosl): Likewise. + * sysdeps/ia64/fpu/s_asinhl.S (asinhl): Likewise. + * sysdeps/ia64/fpu/s_atanl.S (atanl): Likewise. + (atan2l): Likewise. + * sysdeps/ia64/fpu/s_cbrtl.S (cbrtl): Likewise. + * sysdeps/ia64/fpu/s_ceill.S (ceill): Likewise. + * sysdeps/ia64/fpu/s_copysign.S (copysignl): Define using + libm_alias_ldouble. + * sysdeps/ia64/fpu/s_cosl.S (sinl): Use libm_alias_ldouble_other. + (cosl): Likewise. + * sysdeps/ia64/fpu/s_erfcl.S (erfcl): Likewise. + * sysdeps/ia64/fpu/s_erfl.S (erfl): Likewise. + * sysdeps/ia64/fpu/s_expm1l.S (expm1l): Likewise. + (expl): Likewise. + * sysdeps/ia64/fpu/s_fabsl.S (fabsl): Likewise. + * sysdeps/ia64/fpu/s_fdiml.S (fdiml): Likewise. + * sysdeps/ia64/fpu/s_floorl.S (floorl): Likewise. + * sysdeps/ia64/fpu/s_fmal.S (fmal): Likewise. + * sysdeps/ia64/fpu/s_fmaxl.S (fmaxl): Likewise. + * sysdeps/ia64/fpu/s_frexpl.c (frexpl): Likewise. + * sysdeps/ia64/fpu/s_ldexpl.c (ldexpl): Likewise. + * sysdeps/ia64/fpu/s_log1pl.S (log1pl): Likewise. + * sysdeps/ia64/fpu/s_logbl.S (logbl): Likewise. + * sysdeps/ia64/fpu/s_modfl.S (modfl): Likewise. + * sysdeps/ia64/fpu/s_nearbyintl.S (nearbyintl): Define using + libm_alias_ldouble. + * sysdeps/ia64/fpu/s_nextafterl.S (nextafterl): Use + libm_alias_ldouble_other. + * sysdeps/ia64/fpu/s_rintl.S (rintl): Likewise. + * sysdeps/ia64/fpu/s_roundl.S (roundl): Likewise. + * sysdeps/ia64/fpu/s_scalbnl.c (scalbnl): Define using + libm_alias_ldouble. + * sysdeps/ia64/fpu/s_tanhl.S (tanhl): Use + libm_alias_ldouble_other. + * sysdeps/ia64/fpu/s_tanl.S (tanl): Likewise. + * sysdeps/ia64/fpu/s_truncl.S (truncl): Likewise. + * sysdeps/ia64/fpu/w_lgammal_main.c + [BUILD_LGAMMA && !USE_AS_COMPAT] (lgammal): Likewise. + * sysdeps/ia64/fpu/w_tgammal_compat.S (tgammal): Likewise. + +2017-11-23 Florian Weimer + + * malloc/malloc.c (tcache_thread_shutdown): Rename from + tcache_thread_freeres. Define for USE_TCACHE and !USE_TCACHE + alike. Remove freeres marker. + * malloc/arena.c (arena_thread_freeres): Call + tcache_thread_shutdown. + +2017-11-23 Florian Weimer + + [BZ #22459] + Export nscd hash function as __nss_hash. + * include/nss.h (__nss_hash): Declare. + * nis/nis_hash.c (__nis_hash): Call __nss_hash. Turn into compat + symbol. + * nscd/Makefile (aux, nscd-modules): Remove nscd_hash. + * nscd/cache.c (cache_search, cache_add): Call __nss_hash instead + of __nscd_hash. + * nscd/nscd_helper.c (__nscd_cache_search): Likewise. + * nscd/nscd_hash.h, nscd/nscd_hash.c: Remove files. + * nss/Makefiles (routines): Add nss_hash. + * nss/Versions (GLIBC_PRIVATE): Export __nss_hash. + * nss/nss_hash.c: Rename from nis/nis_hash.c. + (__nss_hash): Rename from __nis_hash. Define hidden alias. + * nis/rpcsvc/nislib.h (__nis_hash): Remove declaration. + +2017-11-23 Florian Weimer + + [BZ #22478] + * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Retry on EINTR. + Return error code, not -1. + * signal/tst-sigwait-eintr.c: New file. + * signal/Makefile (tests): Add tst-sigwait-eintr. + +2017-11-23 Florian Weimer + + Linux: Add memfd_create system call wrapper + * sysdeps/unix/sysv/linux/Makefile [misc] (tests): Add + tst-memfd_create. + * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_GNU] + (MFD_CLOEXEC, MFD_ALLOW_SEALING): Define. + [__USE_GNU] (memfd_create): Declare. + * sysdeps/unix/sysv/linux/Versions (GLIBC_2.27): Add memfd_create. + * sysdeps/unix/sysv/linux/syscalls.list (memfd_create): Add. + * sysdeps/unix/sysv/linux/tst-memfd_create.c: New file. + * sysdeps/unix/sysv/linux/**.abilist: Update. + * manual/llio.texi (Memory-mapped I/O): Document memfd_create. + +2017-11-22 Joseph Myers + + * localedata/gen-locale.sh: Fix typo in variable name. + + * resolv/res_debug.c (p_secstodate): Condition definition on + [SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)]. Define + directly as __p_secstodate, and as a compat symbol. Do not use + libresolv_hidden_def. + * resolv/resolv.h (p_secstodate): Remove macro and function + declaration. + * resolv/ns_print.c (ns_sprintrrf): Print times with %lu, not + using p_secstodate. + * include/resolv.h (__p_secstodate): Do not use + libresolv_hidden_proto. + * resolv/Makefile (tests): Move tst-p_secstodate to .... + (tests-internal): ... here. + * resolv/tst-p_secstodate.c: Include . Condition + all contents on [TEST_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)] + and declare and use __p_secstodate and use compat_symbol_reference + in that case. + [!TEST_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)] (do_test): Add + implementation returning 77. + + [BZ #22463] + * resolv/res_debug.c: Include . + (p_secstodate): Assert time_t at least as wide as u_long. On + overflow, use integer seconds since the epoch as output, or use + "" as output and set errno to EOVERFLOW if integer + seconds since the epoch would be 14 or more characters. + (p_secstodate) [__GNUC_PREREQ (7, 0)]: Disable -Wformat-overflow= + for sprintf call. + * resolv/tst-p_secstodate.c: New file. + * resolv/Makefile (tests): Add tst-p_secstodate. + ($(objpfx)tst-p_secstodate): Depend on $(objpfx)libresolv.so. + + * sysdeps/sparc/sparc64/soft-fp/s_frexpl.c: Remove file. + * sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c: Likewise. + +2017-11-22 Paul Eggert + + * posix/regcomp.c (init_word_char): Add comments. + +2017-11-22 Joseph Myers + + [BZ #22447] + * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not + strlen to compute length of ut_user and set trailing NUL byte of + result explicitly. + +2017-11-21 Mike FABIAN + + [BZ #15537] + * localedata/locales/lv_LV (LC_COLLATE): Fix collation by + using “copy "iso14651_t1"” and then implementing the + collation rules for lv from CLDR on top of that. + * Makefile: Add lv_LV.UTF-8 to test-input and to the list + of locales to be built for testing. + * lv_LV.UTF-8.in: New file with test data to test the Latvian + sorting. + +2017-11-21 Joseph Myers + + * sysdeps/unix/sysv/linux/hppa/bits/mman.h + [__USE_MISC] (MADV_SPACEAVAIL): Remove macro. + [__USE_MISC] (MADV_VPS_PURGE): Likewise. + [__USE_MISC] (MADV_VPS_INHERIT): Likewise. + [__USE_MISC] (MADV_HWPOISON): New macro. + [__USE_MISC] (MADV_SOFT_OFFLINE): Likewise. + +2017-11-21 Adhemerval Zanella + + * nptl/pthreadP.h (ASSERT_PTHREAD_INTERNAL_SIZE): Add workarond for + -Wmissing-braces on GCC 4.9. + +2017-11-21 Stefan Liebler + + * sysdeps/s390/s390-64/start.S (_start): Add cfi information for r14. + * sysdeps/s390/s390-32/start.S (_start): Likewise + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S + (thread_start): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/clone.S + (thread_start): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S + (__makecontext_ret): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S + (__makecontext_ret): Likewise. + +2017-11-21 Stefan Liebler + + * include/wchar.h (__wcsnlen, __wcscat, __wcsncpy, __wcpncpy, + __wcschrnul): Remove attribute_hidden. + +2017-11-20 Paul Eggert + + regex: don't assume uint64_t or uint32_t + This avoids -Werror=overflow errors for 32-bit systems in + the 64-bit case. Problem reported by Joseph Myers in: + https://sourceware.org/ml/libc-alpha/2017-11/msg00694.html + Also, when this code is used in Gnulib it ports to platforms + that lack uint64_t and uint32_t. The C standard doesn't guarantee + them, and on some 32-bit compilers there is no uint64_t. + Problem reported by Gianluigi Tiesi in: + http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html + * posix/regcomp.c (init_word_char): Don't assume that the types + uint64_t and uint32_t exist. Adapted from Gnulib patch + 2012-05-27T06:40:00!eggert@cs.ucla.edu. See: + https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=252b52457da7887667c036d18cc5169777615bb0 + +2017-11-20 Siddhesh Poyarekar + + * sysdeps/aarch64/memset-reg.h: New file. + * sysdeps/aarch64/memset.S: Use it. + (__memset): Rename to MEMSET macro. + [ZVA_MACRO]: Use zva_macro. + * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): + Add memset_generic and memset_falkor. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Add memset ifuncs. + * sysdeps/aarch64/multiarch/init-arch.h (INIT_ARCH): New + local variable zva_size. + * sysdeps/aarch64/multiarch/memset.c: New file. + * sysdeps/aarch64/multiarch/memset_generic.S: New file. + * sysdeps/aarch64/multiarch/memset_falkor.S: New file. + * sysdeps/aarch64/multiarch/rtld-memset.S: New file. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c + (DCZID_DZP_MASK): New macro. + (DCZID_BS_MASK): Likewise. + (init_cpu_features): Read and set zva_size. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h + (struct cpu_features): New member zva_size. + + * benchtests/bench-memcpy-walk.c (START_SIZE): Set to 128. + * benchtests/bench-memmove-walk.c (START_SIZE): Likewise. + * benchtests/bench-memset-walk.c (START_SIZE): Likewise. + + * benchtests/bench-memcpy-walk.c (do_one_test): Copy only + backwards. Fix timing computation. + * benchtests/bench-memmove-walk.c (do_one_test): Likewise. + * benchtests/bench-memset-walk.c (do_one_test): Walk backwards + on memset by N at a time. Fix timing computation. + +2017-11-20 Florian Weimer + + * manual/llio.texi (Memory-mapped I/O): Document MAP_HUGETLB, + MADV_HUGEPAGE, MADV_NOHUGEPAGE. + +2017-11-19 Florian Weimer + + manual: Document mprotect + * manual/memory.texi (Memory Protection): New section. + * manual/llio.texi (Memory-mapped I/O): Remove duplicate + documentation of PROT_* flags and reference the Memory Protection + section instead. + +2017-11-19 Florian Weimer + + * manual/llio.texi (I/O Primitives): Move preadv, preadv64, + pwritev, pwritev64, preadv2, preadv64v2, pwritev2, pwritev64v2 ... + (Scatter-Gather): ... to here. Remove misleading comment. + +2017-11-18 Christian Brauner + + * support/support_become_root.c (setup_uid_gid_mapping): Fix comment + style. + + * support/support_become_root.c (setup_uid_gid_mapping): Don't fail + when /proc//setgroups does not exist. + +2017-11-18 Florian Weimer + + * sysdeps/unix/sysv/linux/tst-ttyname.c + (become_root_in_mount_ns): Remove. + (do_in_chroot_1): Call support_enter_mount_namespace. + (do_in_chroot_2): Likewise. + (do_test): Call support_become_root early. + +2017-11-18 Florian Weimer + + * support/namespace.h (support_enter_mount_namespace): Declare. + * support/support_enter_mount_namespace.c: New file. + * support/Makefile (libsupport-routines): Add + support_enter_mount_namespace. + +2017-11-18 Florian Weimer + + * support/temp_file.c (support_create_temp_directory): Use + test_dir and do not rely on the presence of the XXXXXX suffix. + * support/temp_file.h (support_create_temp_directory): Update + comment. + * support/tst-xreadlink.c (do_test): Adjust. + * support/support_chroot.c (support_chroot_create): Likewise. + +2017-11-17 Tulio Magno Quites Machado Filho + + * sysdeps/powerpc/bits/hwcap.h (PPC_FEATURE2_HTM_NO_SUSPEND): New + macro. + * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add + htm-no-suspend. + +2017-11-17 Joseph Myers + + * sysdeps/x86_64/fpu/e_expl.S: Include . + [USE_AS_EXPM1L] (expm1l): Define using libm_alias_ldouble. + * sysdeps/x86_64/fpu/s_ceill.S: Include . + (ceill): Define using libm_alias_ldouble. + * sysdeps/x86_64/fpu/s_copysignl.S: Include + . + (copysignl): Define using libm_alias_ldouble. + * sysdeps/x86_64/fpu/s_fabsl.S: Include . + (fabsl): Define using libm_alias_ldouble. + * sysdeps/x86_64/fpu/s_floorl.S: Include . + (floorl): Define using libm_alias_ldouble. + * sysdeps/x86_64/fpu/s_fmaxl.S: Include . + (fmaxl): Define using libm_alias_ldouble. + * sysdeps/x86_64/fpu/s_fminl.S: Include . + (fminl): Define using libm_alias_ldouble. + * sysdeps/x86_64/fpu/s_llrintl.S: Include . + (llrintl): Define using libm_alias_ldouble. + (lrintl): Likewise. + * sysdeps/x86_64/fpu/s_nearbyintl.S: Include + . + (nearbyintl): Define using libm_alias_ldouble. + * sysdeps/x86_64/fpu/s_truncl.S: Include . + (truncl): Define using libm_alias_ldouble. + * sysdeps/x86_64/x32/fpu/s_lrintl.S: Include + . + (lrintl): Define using libm_alias_ldouble. + + * sysdeps/i386/fpu/e_expl.S: Include . + [USE_AS_EXPM1L] (expm1l): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_asinhl.S: Include . + (asinhl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_atanl.c: Include . + (atanl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_cbrtl.S: Include . + (cbrtl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_ceill.S: Include . + (ceill): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_copysignl.S: Include . + (copysignl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_fabsl.S: Include . + (fabsl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_floorl.S: Include . + (floorl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_fmaxl.S: Include . + (fmaxl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_fminl.S: Include . + (fminl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_frexpl.S: Include . + (frexpl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_llrintl.S: Include . + (llrintl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_logbl.c: Include . + (logbl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_lrintl.S: Include . + (lrintl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_nearbyintl.S: Include . + (nearbyintl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_nextafterl.c: Include . + (nextafterl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_remquol.S: Include . + (remquol): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_rintl.c: Include . + (rintl): Define using libm_alias_ldouble. + * sysdeps/i386/fpu/s_truncl.S: Include . + (truncl): Define using libm_alias_ldouble. + * sysdeps/i386/i686/fpu/s_fmaxl.S: Include . + (fmaxl): Define using libm_alias_ldouble. + * sysdeps/i386/i686/fpu/s_fminl.S: Include . + (fminl): Define using libm_alias_ldouble. + + * bits/floatn-common.h [!__ASSEMBLER]: Disable everything related + to C syntax instead of availability and properties of types. + * bits/floatn.h [!__ASSEMBLER]: Likewise. + * sysdeps/ia64/bits/floatn.h [!__ASSEMBLER]: Likewise. + * sysdeps/ieee754/ldbl-128/bits/floatn.h [!__ASSEMBLER]: Likewise. + * sysdeps/mips/ieee754/bits/floatn.h [!__ASSEMBLER]: Likewise. + * sysdeps/powerpc/bits/floatn.h [!__ASSEMBLER]: Likewise. + * sysdeps/x86/bits/floatn.h [!__ASSEMBLER]: Likewise. + +2017-11-17 Florian Weimer + + support_become_root: Enable file creation in namespaces. + * support/support_become_root.c (setup_mapping): New function. + (support_become_root): Call it. + +2017-11-17 Joseph Myers + + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_DCPOP): New + macro. + +2017-11-16 Adhemerval Zanella + + * sysdeps/aarch64/fpu/Makefile (CFLAGS-s_fmax.c, CFLAGS-s_fmaxf.c, + CFLAGS-s_fmin.c, CFLAGS-s_fminf.c): New rule: add -ffinite-math-only. + +2017-11-16 Joseph Myers + + * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_RAWIP): New macro. + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 4.14. + +2017-11-16 Siddhesh Poyarekar + + * INSTALL: Fix botched up regeneration. + + * NEWS: Update sourceare link to https. + * configure.ac: Likewise. + * crypt/md5test-giant.c: Likewise. + * dlfcn/bug-atexit1.c: Likewise. + * dlfcn/bug-atexit2.c: Likewise. + * localedata/README: Likewise. + * malloc/tst-mallocfork.c: Likewise. + * manual/install.texi: Likewise. + * nptl/tst-pthread-getattr.c: Likewise. + * stdio-common/tst-fgets.c: Likewise. + * stdio-common/tst-fwrite.c: Likewise. + * sunrpc/Makefile: Likewise. + * sysdeps/arm/armv7/multiarch/memcpy_impl.S: Likewise. + * wcsmbs/tst-mbrtowc2.c: Likewise. + * configure: Regenerate. + * INSTALL: Regenerate. + +2017-11-15 Martin Sebor + + * misc/sys/cdefs.h (__attribute_nonstring__): New macro. + * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. + * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. + +2017-11-15 Luke Shumaker + + [BZ #22145] + * sysdeps/unix/sysv/linux/tst-ttyname.c: New file. + * sysdeps/unix/sysv/linux/Makefile: Add tst-ttyname to tests. + + [BZ #22145] + * sysdeps/unix/sysv/linux/ttyname.c (ttyname): + Defer is_pty check until end of the function. + * sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Likewise. + + [BZ #22145] + * sysdeps/unix/sysv/linux/ttyname.h (is_mytty): New function. + * sysdeps/unix/sysv/linux/ttyname.c (getttyname): Call is_mytty. + (ttyname): Likewise. + * sysdeps/unix/sysv/linux/ttyname_r.c (getttyname_r): Likewise. + (__ttyname_r): Likewise. + + * sysdeps/unix/sysv/linux/ttyname.h (is_pty): Change return type from + int to bool. + + * sysdeps/unix/sysv/linux/ttyname.h (is_pty): Update doc reference. + + * manual/terminal.texi (Is It a Terminal): + Mention ENODEV for ttyname and ttyname_r. + +2017-11-15 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/socket.h (MSG_ZEROCOPY): New enum + constant and macro. + + * sysdeps/unix/sysv/linux/bits/mman-linux.h + [__USE_MISC] (MADV_WIPEONFORK): New macro. + [__USE_MISC] (MADV_KEEPONFORK): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/mman.h + [__USE_MISC] (MADV_WIPEONFORK): Likewise. + [__USE_MISC] (MADV_KEEPONFORK): Likewise. + +2017-11-15 Adhemerval Zanella + + * signal/sigrelse.c (sigrelse): Optimize implementation. + + * sysdeps/posix/sigpause.c (do_sigpause): Remove. + (__sigpause): Rely on __sigsuspend to implement single thread + optimization. Add LIBC_CANCEL_HANDLED for cancellation marking. + +2017-11-15 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + kernel version to 4.14. + +2017-11-15 Steve Ellcey + + [BZ #22442] + * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): + Check if ifname is too long. + +2017-11-15 Luke Shumaker + + * sysdeps/unix/sysv/linux/epoll_wait.c: Include . + +2017-11-15 Mike FABIAN + + * localedata/locales/ka_GE (LC_MESSAGES): Add “X” back to yesexpr, + was accidentally lost. + +2017-11-15 Mike FABIAN + + * localedata/locales/az_IR: Add standard copyright header. + +2017-11-15 Florian Weimer + + [BZ #22439] + * malloc/malloc.c (__malloc_info): Count all heaps in an arena, + not just the top one. Output a new "subheaps" statistic. + +2017-11-15 Florian Weimer + + [BZ #22408] + * malloc/malloc.c (__malloc_info): Obtain arena heap statistics + under the per-arena lock. + * malloc/Makefile (tests): Add tst-malloc_info. + (tst-malloc_info): Link with libpthread. + * malloc/tst-malloc_info.c: New file. + +2017-11-15 Joseph Myers + + [BZ #21660] + * math/tgmath.h (__HAVE_BUILTIN_TGMATH): New macro. + [__HAVE_BUILTIN_TGMATH] (__TG_F16_ARG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TG_F32_ARG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TG_F64_ARG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TG_F128_ARG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TG_F32X_ARG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TG_F64X_ARG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TG_F128X_ARG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_FUNCS): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_RCFUNCS): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_1): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_2): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_2STD): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_3): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_1C): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_2C): Likewise. + (__tgml): Make conditional on [!__HAVE_BUILTIN_TGMATH]. + (__floating_type): Likewise. + (__real_integer_type): Likewise. + (__complex_integer_type): Likewise. + (__expr_is_real): Likewise. + (__tgmath_real_type_sub): Likewise. + (__tgmath_real_type): Likewise. + (__tgmath_complex_type_sub): Likewise. + (__tgmath_complex_type): Likewise. + (__TGMATH_F128): Likewise. + (__TGMATH_CF128): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_ONLY): Define using + new macros. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_RET_ONLY): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_FIRST_REAL_ONLY): + Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_FIRST_REAL_STD_ONLY): + Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_ONLY): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_STD_ONLY): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_RET_ONLY): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): + Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_REAL_ONLY): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): + Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_IMAG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_IMAG): Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_IMAG_RET_REAL): + Likewise. + [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_IMAG): Likewise. + (__TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME): New macro. + (carg): Use __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME. + (cimag): Likewise. + (creal): Likewise. + +2017-11-14 Joseph Myers + + * string/tester.c (test_stpncpy): Disable -Wstringop-truncation + for stpncpy calls for GCC 8. + (test_strncat): Disable -Wstringop-truncation warning for strncat + calls for GCC 8. Disable -Wstringop-overflow= warning for one + strncat call for GCC 7. + (test_strncpy): Disable -Wstringop-truncation warning for strncpy + calls for GCC 8. + (test_memcmp): Use memcpy instead of strncpy for calls not copying + trailing NUL. + + * string/bug-strncat1.c: Include . + (main): Disable -Wstringop-truncation for strncat call for GCC 8. + +2017-11-13 Claude Paroz + + [BZ #22387] + * localedata/locales/aa_DJ: Improved readibility by replacing + sequences in the ASCII printable range by their ASCII + character equivalents. + * localedata/locales/aa_ER: Likewise. + * localedata/locales/aa_ER@saaho: Likewise. + * localedata/locales/aa_ET: Likewise. + * localedata/locales/af_ZA: Likewise. + * localedata/locales/agr_PE: Likewise. + * localedata/locales/ak_GH: Likewise. + * localedata/locales/am_ET: Likewise. + * localedata/locales/anp_IN: Likewise. + * localedata/locales/ar_AE: Likewise. + * localedata/locales/ar_BH: Likewise. + * localedata/locales/ar_DZ: Likewise. + * localedata/locales/ar_EG: Likewise. + * localedata/locales/ar_IN: Likewise. + * localedata/locales/ar_IQ: Likewise. + * localedata/locales/ar_JO: Likewise. + * localedata/locales/ar_KW: Likewise. + * localedata/locales/ar_LB: Likewise. + * localedata/locales/ar_LY: Likewise. + * localedata/locales/ar_MA: Likewise. + * localedata/locales/ar_OM: Likewise. + * localedata/locales/ar_QA: Likewise. + * localedata/locales/ar_SA: Likewise. + * localedata/locales/ar_SD: Likewise. + * localedata/locales/ar_SS: Likewise. + * localedata/locales/ar_SY: Likewise. + * localedata/locales/ar_TN: Likewise. + * localedata/locales/ar_YE: Likewise. + * localedata/locales/as_IN: Likewise. + * localedata/locales/ast_ES: Likewise. + * localedata/locales/ayc_PE: Likewise. + * localedata/locales/az_AZ: Likewise. + * localedata/locales/az_IR: Likewise. + * localedata/locales/be_BY: Likewise. + * localedata/locales/be_BY@latin: Likewise. + * localedata/locales/bem_ZM: Likewise. + * localedata/locales/ber_DZ: Likewise. + * localedata/locales/ber_MA: Likewise. + * localedata/locales/bg_BG: Likewise. + * localedata/locales/bhb_IN: Likewise. + * localedata/locales/bho_IN: Likewise. + * localedata/locales/bi_VU: Likewise. + * localedata/locales/bn_BD: Likewise. + * localedata/locales/bn_IN: Likewise. + * localedata/locales/bo_CN: Likewise. + * localedata/locales/bo_IN: Likewise. + * localedata/locales/br_FR: Likewise. + * localedata/locales/brx_IN: Likewise. + * localedata/locales/bs_BA: Likewise. + * localedata/locales/byn_ER: Likewise. + * localedata/locales/ca_AD: Likewise. + * localedata/locales/ca_ES: Likewise. + * localedata/locales/ca_FR: Likewise. + * localedata/locales/ca_IT: Likewise. + * localedata/locales/ce_RU: Likewise. + * localedata/locales/chr_US: Likewise. + * localedata/locales/cmn_TW: Likewise. + * localedata/locales/crh_UA: Likewise. + * localedata/locales/cs_CZ: Likewise. + * localedata/locales/csb_PL: Likewise. + * localedata/locales/cv_RU: Likewise. + * localedata/locales/cy_GB: Likewise. + * localedata/locales/da_DK: Likewise. + * localedata/locales/de_AT: Likewise. + * localedata/locales/de_BE: Likewise. + * localedata/locales/de_CH: Likewise. + * localedata/locales/de_DE: Likewise. + * localedata/locales/de_IT: Likewise. + * localedata/locales/de_LI: Likewise. + * localedata/locales/de_LU: Likewise. + * localedata/locales/doi_IN: Likewise. + * localedata/locales/dv_MV: Likewise. + * localedata/locales/dz_BT: Likewise. + * localedata/locales/el_CY: Likewise. + * localedata/locales/el_GR: Likewise. + * localedata/locales/en_AG: Likewise. + * localedata/locales/en_AU: Likewise. + * localedata/locales/en_BW: Likewise. + * localedata/locales/en_CA: Likewise. + * localedata/locales/en_DK: Likewise. + * localedata/locales/en_GB: Likewise. + * localedata/locales/en_HK: Likewise. + * localedata/locales/en_IE: Likewise. + * localedata/locales/en_IL: Likewise. + * localedata/locales/en_IN: Likewise. + * localedata/locales/en_NG: Likewise. + * localedata/locales/en_NZ: Likewise. + * localedata/locales/en_PH: Likewise. + * localedata/locales/en_SG: Likewise. + * localedata/locales/en_US: Likewise. + * localedata/locales/en_ZA: Likewise. + * localedata/locales/en_ZM: Likewise. + * localedata/locales/en_ZW: Likewise. + * localedata/locales/eo: Likewise. + * localedata/locales/es_AR: Likewise. + * localedata/locales/es_BO: Likewise. + * localedata/locales/es_CL: Likewise. + * localedata/locales/es_CO: Likewise. + * localedata/locales/es_CR: Likewise. + * localedata/locales/es_CU: Likewise. + * localedata/locales/es_DO: Likewise. + * localedata/locales/es_EC: Likewise. + * localedata/locales/es_ES: Likewise. + * localedata/locales/es_GT: Likewise. + * localedata/locales/es_HN: Likewise. + * localedata/locales/es_MX: Likewise. + * localedata/locales/es_NI: Likewise. + * localedata/locales/es_PA: Likewise. + * localedata/locales/es_PE: Likewise. + * localedata/locales/es_PR: Likewise. + * localedata/locales/es_PY: Likewise. + * localedata/locales/es_SV: Likewise. + * localedata/locales/es_US: Likewise. + * localedata/locales/es_UY: Likewise. + * localedata/locales/es_VE: Likewise. + * localedata/locales/et_EE: Likewise. + * localedata/locales/eu_ES: Likewise. + * localedata/locales/eu_ES@euro: Likewise. + * localedata/locales/fa_IR: Likewise. + * localedata/locales/ff_SN: Likewise. + * localedata/locales/fi_FI: Likewise. + * localedata/locales/fil_PH: Likewise. + * localedata/locales/fo_FO: Likewise. + * localedata/locales/fr_BE: Likewise. + * localedata/locales/fr_CA: Likewise. + * localedata/locales/fr_CH: Likewise. + * localedata/locales/fr_FR: Likewise. + * localedata/locales/fr_LU: Likewise. + * localedata/locales/fur_IT: Likewise. + * localedata/locales/fy_DE: Likewise. + * localedata/locales/fy_NL: Likewise. + * localedata/locales/ga_IE: Likewise. + * localedata/locales/gd_GB: Likewise. + * localedata/locales/gez_ER: Likewise. + * localedata/locales/gez_ET: Likewise. + * localedata/locales/gl_ES: Likewise. + * localedata/locales/gu_IN: Likewise. + * localedata/locales/gv_GB: Likewise. + * localedata/locales/ha_NG: Likewise. + * localedata/locales/hak_TW: Likewise. + * localedata/locales/he_IL: Likewise. + * localedata/locales/hi_IN: Likewise. + * localedata/locales/hif_FJ: Likewise. + * localedata/locales/hne_IN: Likewise. + * localedata/locales/hr_HR: Likewise. + * localedata/locales/hsb_DE: Likewise. + * localedata/locales/ht_HT: Likewise. + * localedata/locales/hu_HU: Likewise. + * localedata/locales/hy_AM: Likewise. + * localedata/locales/i18n: Likewise. + * localedata/locales/ia_FR: Likewise. + * localedata/locales/id_ID: Likewise. + * localedata/locales/ig_NG: Likewise. + * localedata/locales/ik_CA: Likewise. + * localedata/locales/is_IS: Likewise. + * localedata/locales/it_CH: Likewise. + * localedata/locales/it_IT: Likewise. + * localedata/locales/iu_CA: Likewise. + * localedata/locales/ja_JP: Likewise. + * localedata/locales/ka_GE: Likewise. + * localedata/locales/kk_KZ: Likewise. + * localedata/locales/kl_GL: Likewise. + * localedata/locales/kn_IN: Likewise. + * localedata/locales/ko_KR: Likewise. + * localedata/locales/kok_IN: Likewise. + * localedata/locales/ks_IN: Likewise. + * localedata/locales/ks_IN@devanagari: Likewise. + * localedata/locales/ku_TR: Likewise. + * localedata/locales/kw_GB: Likewise. + * localedata/locales/ky_KG: Likewise. + * localedata/locales/lb_LU: Likewise. + * localedata/locales/lg_UG: Likewise. + * localedata/locales/li_BE: Likewise. + * localedata/locales/li_NL: Likewise. + * localedata/locales/lij_IT: Likewise. + * localedata/locales/ln_CD: Likewise. + * localedata/locales/lo_LA: Likewise. + * localedata/locales/lt_LT: Likewise. + * localedata/locales/lv_LV: Likewise. + * localedata/locales/lzh_TW: Likewise. + * localedata/locales/mag_IN: Likewise. + * localedata/locales/mai_IN: Likewise. + * localedata/locales/mg_MG: Likewise. + * localedata/locales/mhr_RU: Likewise. + * localedata/locales/mi_NZ: Likewise. + * localedata/locales/mk_MK: Likewise. + * localedata/locales/ml_IN: Likewise. + * localedata/locales/mn_MN: Likewise. + * localedata/locales/mni_IN: Likewise. + * localedata/locales/mr_IN: Likewise. + * localedata/locales/ms_MY: Likewise. + * localedata/locales/mt_MT: Likewise. + * localedata/locales/my_MM: Likewise. + * localedata/locales/nan_TW: Likewise. + * localedata/locales/nan_TW@latin: Likewise. + * localedata/locales/nb_NO: Likewise. + * localedata/locales/nds_DE: Likewise. + * localedata/locales/nds_NL: Likewise. + * localedata/locales/ne_NP: Likewise. + * localedata/locales/nhn_MX: Likewise. + * localedata/locales/niu_NU: Likewise. + * localedata/locales/niu_NZ: Likewise. + * localedata/locales/nl_AW: Likewise. + * localedata/locales/nl_BE: Likewise. + * localedata/locales/nl_NL: Likewise. + * localedata/locales/nn_NO: Likewise. + * localedata/locales/nr_ZA: Likewise. + * localedata/locales/nso_ZA: Likewise. + * localedata/locales/oc_FR: Likewise. + * localedata/locales/om_ET: Likewise. + * localedata/locales/om_KE: Likewise. + * localedata/locales/or_IN: Likewise. + * localedata/locales/os_RU: Likewise. + * localedata/locales/pa_IN: Likewise. + * localedata/locales/pa_PK: Likewise. + * localedata/locales/pap_AW: Likewise. + * localedata/locales/pap_CW: Likewise. + * localedata/locales/pl_PL: Likewise. + * localedata/locales/ps_AF: Likewise. + * localedata/locales/pt_BR: Likewise. + * localedata/locales/pt_PT: Likewise. + * localedata/locales/quz_PE: Likewise. + * localedata/locales/raj_IN: Likewise. + * localedata/locales/ro_RO: Likewise. + * localedata/locales/ru_RU: Likewise. + * localedata/locales/ru_UA: Likewise. + * localedata/locales/rw_RW: Likewise. + * localedata/locales/sa_IN: Likewise. + * localedata/locales/sat_IN: Likewise. + * localedata/locales/sc_IT: Likewise. + * localedata/locales/sd_IN: Likewise. + * localedata/locales/sd_IN@devanagari: Likewise. + * localedata/locales/se_NO: Likewise. + * localedata/locales/sgs_LT: Likewise. + * localedata/locales/shs_CA: Likewise. + * localedata/locales/si_LK: Likewise. + * localedata/locales/sid_ET: Likewise. + * localedata/locales/sk_SK: Likewise. + * localedata/locales/sl_SI: Likewise. + * localedata/locales/sm_WS: Likewise. + * localedata/locales/so_DJ: Likewise. + * localedata/locales/so_ET: Likewise. + * localedata/locales/so_KE: Likewise. + * localedata/locales/so_SO: Likewise. + * localedata/locales/sq_AL: Likewise. + * localedata/locales/sq_MK: Likewise. + * localedata/locales/sr_ME: Likewise. + * localedata/locales/sr_RS: Likewise. + * localedata/locales/sr_RS@latin: Likewise. + * localedata/locales/ss_ZA: Likewise. + * localedata/locales/st_ZA: Likewise. + * localedata/locales/sv_FI: Likewise. + * localedata/locales/sv_SE: Likewise. + * localedata/locales/sw_KE: Likewise. + * localedata/locales/sw_TZ: Likewise. + * localedata/locales/szl_PL: Likewise. + * localedata/locales/ta_IN: Likewise. + * localedata/locales/ta_LK: Likewise. + * localedata/locales/tcy_IN: Likewise. + * localedata/locales/te_IN: Likewise. + * localedata/locales/tg_TJ: Likewise. + * localedata/locales/th_TH: Likewise. + * localedata/locales/the_NP: Likewise. + * localedata/locales/ti_ER: Likewise. + * localedata/locales/ti_ET: Likewise. + * localedata/locales/tig_ER: Likewise. + * localedata/locales/tk_TM: Likewise. + * localedata/locales/tl_PH: Likewise. + * localedata/locales/tn_ZA: Likewise. + * localedata/locales/to_TO: Likewise. + * localedata/locales/tpi_PG: Likewise. + * localedata/locales/tr_CY: Likewise. + * localedata/locales/tr_TR: Likewise. + * localedata/locales/ts_ZA: Likewise. + * localedata/locales/tt_RU: Likewise. + * localedata/locales/tt_RU@iqtelif: Likewise. + * localedata/locales/ug_CN: Likewise. + * localedata/locales/uk_UA: Likewise. + * localedata/locales/unm_US: Likewise. + * localedata/locales/ur_IN: Likewise. + * localedata/locales/ur_PK: Likewise. + * localedata/locales/uz_UZ: Likewise. + * localedata/locales/uz_UZ@cyrillic: Likewise. + * localedata/locales/ve_ZA: Likewise. + * localedata/locales/vi_VN: Likewise. + * localedata/locales/wa_BE: Likewise. + * localedata/locales/wae_CH: Likewise. + * localedata/locales/wal_ET: Likewise. + * localedata/locales/wo_SN: Likewise. + * localedata/locales/xh_ZA: Likewise. + * localedata/locales/yi_US: Likewise. + * localedata/locales/yo_NG: Likewise. + * localedata/locales/yue_HK: Likewise. + * localedata/locales/yuw_PG: Likewise. + * localedata/locales/zh_CN: Likewise. + * localedata/locales/zh_HK: Likewise. + * localedata/locales/zh_SG: Likewise. + * localedata/locales/zh_TW: Likewise. + * localedata/locales/zu_ZA: Likewise. + +2017-11-13 Florian Weimer + + * support/next_to_fault.h, support/next_to_fault.c: New files. + * support/Makefile (libsupport-routines): Add next_to_fault. + * resolv/tst-inet_pton.c (struct next_to_fault) + (next_to_fault_allocate, next_to_fault_free): Remove. + (run_one_test): Switch to interfaces. + +2017-11-13 H.J. Lu + + * elf/dl-support.c: Include . + * include/link.h: Include . + * sysdeps/generic/dl-procruntime.c: New file. + * sysdeps/generic/link_map.h: Likewise. + * sysdeps/generic/ldsodefs.h: Include in + the writable ld.so namespace. + +2017-11-12 Paul Eggert + + timezone: pacify GCC -Wstringop-truncation + Problem reported by Martin Sebor in: + https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html + * timezone/zic.c (writezone): Use memcpy, not strncpy. + +2017-11-12 Florian Weimer + + * support/Makefile (libsupport-routines): Add xreadlink, xstrndup, + tst-xreadlink. + (tests): Add tst-xreadlink. + * support/support.h (xstrndup): Declare. + * support/xunistd.h (xunlink, xreadlink): Declare. + * support/temp_file.h (support_create_temp_directory): Declare. + * support/temp_file.c (support_create_temp_directory): New function. + * support/support_chroot.c (support_chroot_create): Use it. + * support/xreadlink.c: New file. + * support/xstrndup.c: Likewise. + * support/xunlink.c: Likewise. + * support/tst-xreadlink.c: Likewise. + +2017-11-11 John David Anglin + + * sysdeps/hppa/fpu/libm-test-ulps: Update clog10_downward ulps. + +2017-11-11 Florian Weimer + + [BZ #22409] + [BZ #22412] + * resolv/res_comp.c (printable_string, binary_hnok) + (binary_leading_dash): New functions. + (res_hnok): Reimplement using these functions and ns_name_pton. + (res_ownok): Likewise. + (res_mailok): Reimplement using printable_string, ns_name_pton and + binary_hnok. + (res_dnok): Reimplement using printable_string and ns_name_pton. + * resolv/tst-res_hnok.c (tests): Add additional tests. + (LETTERDIGITS, PRINTABLE): Define. + (do_test): Adjust one_char results. + +2017-11-11 Florian Weimer + + [BZ #22413] + * resolv/ns_name.c (ns_name_pton): Treat trailing backslash as error. + * resolv/tst-ns_name_pton.c (tests): Add trailing backslash tests. + +2017-11-11 Florian Weimer + + * resolv/tst-ns_name_pton.c: New file. + * resolv/Makefile (tests): Add tst-ns_name_pton. + (tst-ns_name_pton): Link against libresolv. + +2017-11-11 Florian Weimer + + * resolv/tst-res_hnok.c: New file. + * resolv/Makefile (tests): Add tst-res_hnok. + (tst-res_hnok): Link against libresolv. + +2017-11-11 Florian Weimer + + * resolv/tst-resolv-network.c: Use test framework instead explicit + main function. + +2017-11-09 H.J. Lu + + * include/setjmp.h [!_ISOMAC]: Include and + . + [!_ISOMAC] (STR_HELPER): New. + [!_ISOMAC] (STR): Likewise. + [!_ISOMAC] (TEST_SIZE): Likewise. + [!_ISOMAC] (TEST_ALIGN): Likewise. + [!_ISOMAC] (TEST_OFFSET): Likewise. + [!_ISOMAC] Add _Static_assert to check sizes, alignments and + field offsets of jmp_buf as well as sigjmp_buf. + * sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/microblaze/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/jmp_buf-macros.h: + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h: + Likewise. + * sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/jmp_buf-macros.h: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/jmp_buf-macros.h: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/jmp_buf-macros.h: Likewise. + +2017-11-07 Joseph Myers + + * include/float.h + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_MANT_DIG): New macro. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_DECIMAL_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_MIN_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_MIN_10_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_MAX_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_MAX_10_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_MAX): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_EPSILON): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_MIN): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32] (FLT32_TRUE_MIN): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_MANT_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_DECIMAL_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_MIN_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_MIN_10_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_MAX_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_MAX_10_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_MAX): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_EPSILON): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_MIN): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64] (FLT64_TRUE_MIN): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_MANT_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_DECIMAL_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_MIN_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_MIN_10_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_MAX_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_MAX_10_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_MAX): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_EPSILON): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_MIN): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT32X] (FLT32X_TRUE_MIN): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_MANT_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_DECIMAL_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_DIG): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_MIN_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_MIN_10_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_MAX_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_MAX_10_EXP): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_MAX): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_EPSILON): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_MIN): Likewise. + [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X] (FLT64X_TRUE_MIN): Likewise. + + * stdlib/tst-strtod.h (F16): New macro. + (F32): Likewise. + (F64): Likewise. + (F32X): Likewise. + (F64X): Likewise. + (F128X): Likewise. + (IF_FLOAT16): Likewise. + (IF_FLOAT32): Likewise. + (IF_FLOAT64): Likewise. + (IF_FLOAT32X): Likewise. + (IF_FLOAT64X): Likewise. + (IF_FLOAT128X): Likewise. + (GEN_TEST_STRTOD_FOREACH): Conditionally call macros for _Float16, + _Float32, _Float64, _Float32x, _Float64x and _Float128x. + (STRTOD_TEST_FOREACH): Likewise. + * stdlib/tst-strtod-round-skeleton.c (CHOOSE_f32): New macro. + (CHOOSE_f64): Likewise. + (CHOOSE_f32x): Likewise. + (CHOOSE_f64x): Likewise. + +2017-11-07 Andreas Schwab + + * nptl/Makefile (tests-internal): Remove tst-typesizes. + +2017-11-07 Mike FABIAN + + [BZ #22403] + * localedata/locales/mfe_MU (LC_TIME): Fix wrong d_fmt, / needs + to be escaped. + * localedata/locales/miq_NI (LC_TIME): Fix wrong d_fmt, / needs + to be escaped. + +2017-11-07 Claude Paroz + + [BZ #22403] + * localedata/locales/an_ES (LC_TIME): Fix wrong d_fmt, / needs + to be escaped. + * localedata/locales/kab_DZ (LC_TIME): Fix wrong d_fmt, / needs + to be escaped. + * localedata/locales/om_ET (LC_TIME): Fix wrong d_fmt, / needs + to be escaped. + +2017-11-07 Adhemerval Zanella + + [BZ #22298] + * nptl/allocatestack.c (allocate_stack): Check if + __PTHREAD_MUTEX_HAVE_PREV is non-zero, instead if + __PTHREAD_MUTEX_HAVE_PREV is defined. + * nptl/descr.h (pthread): Likewise. + * nptl/nptl-init.c (__pthread_initialize_minimal_internal): + Likewise. + * nptl/pthread_create.c (START_THREAD_DEFN): Likewise. + * sysdeps/nptl/fork.c (__libc_fork): Likewise. + * sysdeps/nptl/pthread.h (PTHREAD_MUTEX_INITIALIZER): Likewise. + * sysdeps/nptl/bits/thread-shared-types.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): New + defines. + (__pthread_internal_list): Check __PTHREAD_MUTEX_USE_UNION instead + of __WORDSIZE for internal layout. + (__pthread_mutex_s): Check __PTHREAD_MUTEX_NUSERS_AFTER_KIND instead + of __WORDSIZE for internal __nusers layout and __PTHREAD_MUTEX_USE_UNION + instead of __WORDSIZE whether to use an union for __spins and __list + fields. + (__PTHREAD_MUTEX_HAVE_PREV): Define also for __PTHREAD_MUTEX_USE_UNION + case. + * sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): New + defines. + * sysdeps/alpha/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/arm/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/hppa/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/ia64/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/m68k/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/mips/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/nios2/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/s390/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/sh/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/sparc/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/tile/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + * sysdeps/x86/nptl/bits/pthreadtypes-arch.h + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): + Likewise. + + * nptl/pthreadP.h (ASSERT_TYPE_SIZE, ASSERT_PTHREAD_INTERNAL_SIZE): + New macros. + * nptl/pthread_attr_init.c (__pthread_mutex_init): Add build time + checks for expected input type size. + * nptl/pthread_barrier_init.c (__pthread_barrier_init): Likewise. + * nptl/pthread_barrierattr_init.c (pthread_barrierattr_init): + Likewise. + * nptl/pthread_cond_init.c (__pthread_cond_init): Likewise. + * nptl/pthread_condattr_init.c (__pthread_condattr_init): Likewise. + * nptl/pthread_mutex_init.c (__pthread_mutex_init): Likewise. + * nptl/pthread_mutexattr_init.c (__pthread_mutexattr_init): Likewise. + * nptl/pthread_rwlock_init.c (__pthread_rwlock_init): Likewise. + * nptl/pthread_rwlockattr_init.c (pthread_rwlockattr_init): Likewise. + * nptl/sem_init.c (__new_sem_init, __old_sem_init): Likewise + * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Remove + superflous runtime assert check. + * nptl/pthread_attr_getaffinity.c (__pthread_attr_getaffinity_new): + Likewise. + * nptl/pthread_attr_getdetachstate.c (__pthread_attr_getdetachstate): + Likewise. + * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): + Likewise. + * nptl/pthread_attr_getinheritsched.c (__pthread_attr_getinheritsched): + Likewise. + * nptl/pthread_attr_getschedparam.c (__pthread_attr_getschedparam): + Likewise. + * nptl/pthread_attr_getschedpolicy.c (__pthread_attr_getschedpolicy): + Likewise. + * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): Likewise. + * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): Likewise. + * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): + Likewise. + * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): + Likewise. + * nptl/pthread_attr_setaffinity.c (__pthread_attr_setaffinity_new): + Likewise. + * nptl/pthread_attr_setdetachstate.c (__pthread_attr_setdetachstate): + Likewise. + * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): + Likewise. + * nptl/pthread_attr_setinheritsched.c + (__pthread_attr_setinheritsched): Likewise. + * nptl/pthread_attr_setschedparam.c (__pthread_attr_setschedparam): + Likewise. + * nptl/pthread_attr_setschedpolicy.c (__pthread_attr_setschedpolicy): + Likewise. + * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): Likewise. + * nptl/pthread_attr_setstack.c (__pthread_attr_setstack, + __old_pthread_attr_setstack): Likewise. + * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): + Likewise. + * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): + Likewise. + * nptl/pthread_getattr_default_np.c (pthread_getattr_default_np): + Likewise. + * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. + * nptl/pthread_setattr_default_np.c (pthread_setattr_default_np): + Likewise. + * nptl/tst-typesizes.c: Remove file. + + * nptl/pthreadP.h (ASSERT_PTHREAD_STRING, + ASSERT_PTHREAD_INTERNAL_OFFSET): New macro. + * nptl/pthread_mutex_init.c (__pthread_mutex_init): Add build time + checks for internal pthread_mutex_t offsets. + * sysdeps/aarch64/nptl/pthread-offsets.h + (__PTHREAD_MUTEX_NUSERS_OFFSET, __PTHREAD_MUTEX_KIND_OFFSET, + __PTHREAD_MUTEX_SPINS_OFFSET, __PTHREAD_MUTEX_ELISION_OFFSET, + __PTHREAD_MUTEX_LIST_OFFSET): New macro. + * sysdeps/alpha/nptl/pthread-offsets.h: Likewise. + * sysdeps/arm/nptl/pthread-offsets.h: Likewise. + * sysdeps/hppa/nptl/pthread-offsets.h: Likewise. + * sysdeps/i386/nptl/pthread-offsets.h: Likewise. + * sysdeps/ia64/nptl/pthread-offsets.h: Likewise. + * sysdeps/m68k/nptl/pthread-offsets.h: Likewise. + * sysdeps/microblaze/nptl/pthread-offsets.h: Likewise. + * sysdeps/mips/nptl/pthread-offsets.h: Likewise. + * sysdeps/nios2/nptl/pthread-offsets.h: Likewise. + * sysdeps/powerpc/nptl/pthread-offsets.h: Likewise. + * sysdeps/s390/nptl/pthread-offsets.h: Likewise. + * sysdeps/sh/nptl/pthread-offsets.h: Likewise. + * sysdeps/sparc/nptl/pthread-offsets.h: Likewise. + * sysdeps/tile/nptl/pthread-offsets.h: Likewise. + * sysdeps/x86_64/nptl/pthread-offsets.h: Likewise. + +2017-11-07 Florian Weimer + + * bits/mman-linux.h: Move ... + * sysdeps/unix/sysv/linux/bits/mman-linux.h: ... here. Update + comment. + * sysdeps/unix/sysv/linux/bits/Makefile (sysdep_headers): Remove + outdated comment. + +2017-11-07 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S (STRNLEN): + Redefine STRNLEN as __strnlen_power8. + +2017-11-06 Adhemerval Zanella + + * signal/sighold.c (sighold): Optimize implementation. + + * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Asssume + __NR_rt_sigqueueinfo. + + * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add + __sigtimedwait. + * sysdeps/unix/sysv/linux/sigtimedwait.c: Simplify includes and + assume __NR_rt_sigtimedwait. + * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Call __sigtimedwait + and add LIBC_CANCEL_HANDLED for cancellation marking. + * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise. + + * sysdeps/arm/armv7/multiarch/Makefile [$(subdir) = string] + (sysdeps_routines): Add memchr_noneon. + * sysdeps/arm/armv7/multiarch/ifunc-memchr.h: New file. + * sysdeps/arm/armv7/multiarch/memchr_noneon.S: Likewise. + * sysdeps/arm/armv7/multiarch/rtld-memchr.S: Likewise. + * sysdeps/arm/armv7/multiarch/memchr.S: Remove file. + * sysdeps/arm/armv7/multiarch/memchr.c: New file. + * sysdeps/arm/armv7/multiarch/memchr_impl.S: Move to ... + * sysdeps/arm/armv7/multiarch/memchr_neon.S: ... here. + + * sysdeps/arm/arm-ifunc.h: New file. + * sysdeps/arm/armv7/multiarch/ifunc-memcpy.h: Likewise. + * sysdeps/arm/armv7/multiarch/memcpy.c: Likewise. + * sysdeps/arm/armv7/multiarch/memcpy_arm.S: Likewise. + * sysdeps/arm/armv7/multiarch/rtld-memcpy.S: Likewise. + * sysdeps/arm/armv7/multiarch/memcpy_neon.S [!__ARM_NEON__] + (__memcpy_neon): Avoid create hidden alias. + * sysdeps/arm/armv7/multiarch/memcpy_vfp.S [!__ARM_NEON_] + (__memcpy_vfp): Likewise. + * sysdeps/arm/armv7/multiarch/Makefile [$(subdir) = string] + (sysdep_routines): Add memcpy_arm. + * sysdeps/arm/armv7/multiarch/memcpy.S: Remove file. + +2017-11-06 H.J. Lu + + [BZ #22362] + * Makerules (make-link-multidir): New. + * config.make.in (multidir): New. + * configure.ac (libc_cv_multidir): New. AC_SUBST. + * configure: Regenerated. + * csu/Makefile [$(multidir) != .](multilib-extra-objs): New. + [$(multidir) != .](extra-objs): Add $(multilib-extra-objs). + [$(multidir) != .]($(addprefix $(objpfx)$(multidir)/, $(install-lib))): + New target. + +2017-11-06 Joseph Myers + + [BZ #22402] + * sysdeps/powerpc/bits/floatn.h: Include . + [__NO_LONG_DOUBLE_MATH] (__HAVE_FLOAT128): Define to 0. + +2017-11-04 Mike FABIAN + + * localedata/locales/tpi_PG (LC_TIME): Fix wrong d_fmt, / needs + to be escaped. + +2017-11-04 Florian Weimer + + * manual/llio.texi (Open-time Flags): Document O_TMPFILE. + +2017-11-03 Joseph Myers + + * math/math.h [__HAVE_DISTINCT_FLOAT16 + || __HAVE_DISTINCT_FLOAT32 || __HAVE_DISTINCT_FLOAT64 + || __HAVE_DISTINCT_FLOAT32X || __HAVE_DISTINCT_FLOAT64X + || __HAVE_DISTINCT_FLOAT128X]: Use #error. + [__NO_LONG_DOUBLE_MATH && __HAVE_DISTINCT_FLOAT128]: Likewise. + [__HAVE_DISTINCT_FLOAT128 && !__HAVE_GENERIC_SELECTION + && __HAVE_FLOATN_NOT_TYPEDEF]: Likewise. + [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION] + (__MATH_TG_F32): New macro. + [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION] + (__MATH_TG_F64X): Likewise. + [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION] + (__MATH_TG): Use __MATH_TG_F32 and __MATH_TG_F64X. + +2017-11-03 Dmitry V. Levin + + * po/de.po: Update translations. + * po/ru.po: Likewise. + +2017-11-03 Florian Weimer + + * manual/filesys.texi (Hard Links): Document linkat. + +2017-11-03 Joseph Myers + + * math/tgmath.h [__HAVE_DISTINCT_FLOAT16 + || __HAVE_DISTINCT_FLOAT32 || __HAVE_DISTINCT_FLOAT64 + || __HAVE_DISTINCT_FLOAT32X || __HAVE_DISTINCT_FLOAT64X + || __HAVE_DISTINCT_FLOAT128X]: Use #error. + [__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE + && __HAVE_FLOATN_NOT_TYPEDEF] (__TGMATH_F128): Handle _Float64x + the same as _Float128. + [__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) + && __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE + && __HAVE_FLOATN_NOT_TYPEDEF] (__TGMATH_CF128): Likewise. + + * stdlib/stdlib.h + [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof16): + Declare. + [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof32): + Likewise. + [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof64): + Likewise. + [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strtof32x): Likewise. + [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strtof64x): Likewise. + [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strtof128x): Likewise. + [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strfromf16): Likewise. + [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strfromf32): Likewise. + [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strfromf64): Likewise. + [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strfromf32x): Likewise. + [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strfromf64x): Likewise. + [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (strfromf128x): Likewise. + [__USE_GNU && __HAVE_FLOAT16] (strtof16_l): Likewise. + [__USE_GNU && __HAVE_FLOAT32] (strtof32_l): Likewise. + [__USE_GNU && __HAVE_FLOAT64] (strtof64_l): Likewise. + [__USE_GNU && __HAVE_FLOAT32X] (strtof32x_l): Likewise. + [__USE_GNU && __HAVE_FLOAT64X] (strtof64x_l): Likewise. + [__USE_GNU && __HAVE_FLOAT128X] (strtof128x_l): Likewise. + +2017-11-03 Richard Henderson + + * sysdeps/unix/sysv/linux/aarch64/sysconf.c: New file. + +2017-11-03 Szabolcs Nagy + + * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Optimize. + +2017-11-03 Szabolcs Nagy + + * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Remove + DT_TLSDESC_GOT initialization. + * sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_lazy_resolver): Remove. + (_dl_tlsdesc_resolve_hold): Likewise. + * sysdeps/aarch64/dl-tlsdesc.h (_dl_tlsdesc_lazy_resolver): Remove. + (_dl_tlsdesc_resolve_hold): Likewise. + * sysdeps/aarch64/tlsdesc.c (_dl_tlsdesc_lazy_resolver_fixup): Remove. + (_dl_tlsdesc_resolve_hold_fixup): Likewise. + +2017-11-03 Szabolcs Nagy + + * sysdeps/arm/dl-machine.h (elf_machine_rel): Remove volatile. + +2017-11-03 Szabolcs Nagy + + [BZ #18572] + * sysdeps/arm/dl-machine.h (elf_machine_lazy_rel): Do symbol binding + non-lazily for R_ARM_TLS_DESC. + +2017-11-03 Szabolcs Nagy + + [BZ #17078] + * sysdeps/arm/dl-machine.h (elf_machine_rela): Remove the + R_ARM_TLS_DESC case. + (elf_machine_lazy_rel): Remove the prelink check. + +2017-11-03 Szabolcs Nagy + + * sysdeps/aarch64/dl-machine.h (elf_machine_runtime_setup): Remove + DT_TLSDESC_GOT initialization. + * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_return_lazy): Remove. + (_dl_tlsdesc_resolve_rela): Likewise. + (_dl_tlsdesc_resolve_hold): Likewise. + (_dl_tlsdesc_undefweak): Remove ldar. + (_dl_tlsdesc_dynamic): Likewise. + * sysdeps/aarch64/dl-tlsdesc.h (_dl_tlsdesc_return_lazy): Remove. + (_dl_tlsdesc_resolve_rela): Likewise. + (_dl_tlsdesc_resolve_hold): Likewise. + * sysdeps/aarch64/tlsdesc.c (_dl_tlsdesc_resolve_rela_fixup): Remove. + (_dl_tlsdesc_resolve_hold_fixup): Likewise. + (_dl_tlsdesc_resolve_rela): Likewise. + (_dl_tlsdesc_resolve_hold): Likewise. + +2017-11-03 Szabolcs Nagy + + * sysdeps/aarch64/dl-machine.h (elf_machine_lazy_rel): Do symbol + binding and initialization non-lazily for R_AARCH64_TLSDESC. + +2017-11-03 Szabolcs Nagy + + * elf/tlsdeschtab.h (_dl_tls_resolve_early_return_p): Mark unused. + (_dl_tlsdesc_wake_up_held_fixups): Likewise. + +2017-11-02 Joseph Myers + + * wcsmbs/wchar.h [__HAVE_FLOAT16 && __USE_GNU] (wcstof16): + Declare. + [__HAVE_FLOAT32 && __USE_GNU] (wcstof32): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (wcstof64): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (wcstof32x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (wcstof64x): Likewise. + [__HAVE_FLOAT128X && __USE_GNU] (wcstof128x): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (wcstof16_l): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (wcstof32_l): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (wcstof64_l): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (wcstof32x_l): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (wcstof64x_l): Likewise. + [__HAVE_FLOAT128X && __USE_GNU] (wcstof128x_l): Likewise. + +2017-11-02 Mike FABIAN + + [BZ #22382] + * localedata/locales/tpi_PG (LC_TIME): Fix syntax error. + * localedata/locales/tpi_PG: Add standard header. + +2017-11-02 Florian Weimer + + test-errno-linux: quotactl can fail with EPERM in containers. + * sysdeps/unix/sysv/linux/test-errno-linux.c + (LIST, LIST_FORWARD): New macros. + (check_error_in_list): New function. + (test_wrp_rv): Accept list of permitted error codes. + (test_wrp_rv2): Remove. + (test_wrp): Call test_wrp_rv with list of error codes. + (test_wrp2): Accept list of error codes. + (do_test): Adjust. Allow EPERM for quotactl. + +2017-11-02 Florian Weimer + + * stdio-common/bug16.c (do_test): Use array_length. + * stdio-common/errlist.c (_sys_nerr): Likewise. + * stdio-common/printf_fp.c (PRINTF_FP_FETCH): Likewise. + * stdio-common/printf_fphex.c (__printf_fphex): Use array_end. + * stdio-common/psiginfo.c (psiginfo): Use array_length. + * stdio-common/test-vfprintf.c (nlocs): Remove definition. + (do_test): Use array_length. + * stdio-common/tst-fphex.c (do_test): Use array_end, array_length. + * stdio-common/tst-long-dbl-fphex.c (do_test): Use array_length. + * stdio-common/tst-printf-round.c (do_test): Likewise. + * stdio-common/tst-swprintf.c (nbuf): Remove definition. + (CHECK): Use array_length. + * stdio-common/tstdiomisc.c (t3, F): Likewise. + * stdio-common/tstscanf.c (main): Likewise. + * stdio-common/vfprintf.c (process_string_arg): Likewise. + +2017-11-02 Florian Weimer + + Add array_length and array_end macros. + * include/array_length.h: New file. + +2017-11-02 Florian Weimer + + [BZ #22332] + * posix/tst-glob-tilde.c (do_noescape): New variable. + (one_test): Process it. + (do_test): Set do_noescape. Add unescaping test case. + +2017-11-01 Joseph Myers + + * math/complex.h + [(__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Include + with appropriate macros defined and undefined. + [(__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + [(__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + [(__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + [(__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + [(__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + + * math/complex.h + [(__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Move conditional code after + that for long double. Do not condition define and undefine of + _Mdouble_complex_ on [__CFLOAT128]. + +2017-11-01 H.J. Lu + + * sysdeps/i386/sysdep.h: Include instead + of . + (ALIGNARG): Removed. + (ASM_SIZE_DIRECTIVE): Likewise. + (ENTRY): Likewise. + (END): Likewise. + (ENTRY_CHK): Likewise. + (END_CHK): Likewise. + (syscall_error): Likewise. + (mcount): Likewise. + (PSEUDO_END): Likewise. + (L): Likewise. + (atom_text_section): Likewise. + * sysdeps/x86/sysdep.h: New file. + * sysdeps/x86_64/sysdep.h: Include instead + of . + (ALIGNARG): Removed. + (ASM_SIZE_DIRECTIVE): Likewise. + (ENTRY): Likewise. + (END): Likewise. + (ENTRY_CHK): Likewise. + (END_CHK): Likewise. + (syscall_error): Likewise. + (mcount): Likewise. + (PSEUDO_END): Likewise. + (L): Likewise. + (atom_text_section): Likewise. + +2017-10-31 Rafał Lużyński + + * localedata/unicode-gen/gen_unicode_ctype.py (output_head): + category of LC_CTYPE set to "i18n:2012". + * localedata/locales/i18n_ctype: Regenerate. + +2017-10-31 Yury Norov + + * sysdeps/unix/sysv/linux/sigprocmask.c: Remove useless #ifdefs. + * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. + * sysdeps/unix/sysv/linux/sigwait.c: Likewise. + * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. + + * sysdeps/unix/sysv/linux/ia64/sigpending.c: Remove file. + * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigpending.c: Likewise. + +2017-10-31 Joseph Myers + + * math/complex.h + [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF16): + New macro. + [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF32): + Likewise. + [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF64): + Likewise. + [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (CMPLXF32X): Likewise. + [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (CMPLXF64X): Likewise. + [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (CMPLXF128X): Likewise. + + * math/math.h + [__FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 32] + (__MATH_EVAL_FMT2): Define to add 0.0f. + +2017-10-31 Alan Modra + + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-power8.S: Don't + include sysdep.h. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memchr-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memchr-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcmp-power4.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcmp-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcmp-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcpy-a2.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcpy-cell.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcpy-power4.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcpy-power6.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcpy-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memcpy-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memmove-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/mempcpy-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memrchr-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memrchr-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memset-power4.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memset-power6.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memset-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/memset-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/rawmemchr-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strchr-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strchr-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strchr-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strchrnul-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strchrnul-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcspn-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strlen-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strlen-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strlen-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncase-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strnlen-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strnlen-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strrchr-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strspn-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strstr-power7.S: Likewise. + + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S: Don't + include sysdep.h and math_ldbl_opt.h. + + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S: Don't + include sysdep.h and math_ldbl_opt.h. Include shlib-compat.h. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power6x.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-ppc64.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-power5+.S: Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-ppc64.S: Likewise. + +2017-10-31 Alan Modra + + * sysdeps/powerpc/powerpc64/multiarch/strncase_l-power7.c: Include + string/strncase_l.c, not string/strncase.c. + (USE_IN_EXTENDED_LOCALE_MODEL): Don't define. + (libc_hidden_def): Redefine. + +2017-10-31 Alan Modra + + * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: + (__STRCMP, STRCMP, __strcasecmp_l): Define. + (__strcasecmp): Don't define. + +2017-10-31 Alan Modra + + * sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S: Wrap in + IS_IN (libc). + * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: Likewise. + +2017-10-31 Alan Modra + + * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Don't define + USE_AS_STPNCPY. + +2017-10-31 Alan Modra + + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S (hidden_def): + Redefine only when SHARED. + +2017-10-30 Joseph Myers + + * math/math.h [__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)]: + Include with appropriate macros defined and + undefined. + [__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)]: Likewise. + [__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)]: Likewise. + [__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)]: Likewise. + [__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)]: Likewise. + [__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)]: Likewise. + + * math/math.h [!_Mfloat_] (_Mfloat_): Do not define. + [!_Mlong_double_] (_Mlong_double_): Likewise. + [!_Mfloat16_] (_Mfloat16_): Likewise. + [!_Mfloat32_] (_Mfloat32_): Likewise. + [!_Mfloat64_] (_Mfloat64_): Likewise. + [!_Mfloat128_] (_Mfloat128_): Likewise. + [!_Mfloat32x_] (_Mfloat32x_): Likewise. + [!_Mfloat64x_] (_Mfloat64x_): Likewise. + [!_Mfloat128x_] (_Mfloat128x_): Likewise. + (_Mdouble_): Define without indirection through those macros. + * math/complex.h [!_Mfloat_] (_Mfloat_): Do not define. + [!_Mfloat128_] (_Mfloat128_): Likewise. + [_Mlong_double_] (_Mlong_double_): Likewise. + (_Mdouble_): Define without indirection through those macros. + * math/Makefile [$(long-double-fcts) != yes] (math-CPPFLAGS): Do + not add -D_Mlong_double_=double. + * include/math.h [_ISOMAC] (_Mlong_double_): Do not undefine. + * math/test-signgam-finite-c99.c (_Mlong_double_): Likewise. + +2017-10-30 H.J. Lu + + * sysdeps/x86/libc-start.c: Add /* !SHARED */. + +2017-10-30 H.J. Lu + + * sysdeps/x86/libc-start.c: Reformat. + +2017-10-30 H.J. Lu + + [BZ #22353] + * sysdeps/i386/i586/strcpy.S (STRCPY): Use conditional branches. + (1): Renamed to ... + (L(Src0)): This. + (L(Src1)): New. + (L(Src2)): Likewise. + (L(1)): Renamed to ... + (L(Src3)): This. + +2017-10-30 Joseph Myers + + * math/math.h [__HAVE_FLOAT16 && __USE_GNU] (M_Ef16): New macro. + [__HAVE_FLOAT16 && __USE_GNU] (M_LOG2Ef16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_LOG10Ef16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_LN2f16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_LN10f16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_PIf16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_PI_2f16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_PI_4f16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_1_PIf16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_2_PIf16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_2_SQRTPIf16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_SQRT2f16): Likewise. + [__HAVE_FLOAT16 && __USE_GNU] (M_SQRT1_2f16): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_Ef32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_LOG2Ef32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_LOG10Ef32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_LN2f32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_LN10f32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_PIf32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_PI_2f32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_PI_4f32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_1_PIf32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_2_PIf32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_2_SQRTPIf32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_SQRT2f32): Likewise. + [__HAVE_FLOAT32 && __USE_GNU] (M_SQRT1_2f32): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_Ef64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_LOG2Ef64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_LOG10Ef64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_LN2f64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_LN10f64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_PIf64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_PI_2f64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_PI_4f64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_1_PIf64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_2_PIf64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_2_SQRTPIf64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_SQRT2f64): Likewise. + [__HAVE_FLOAT64 && __USE_GNU] (M_SQRT1_2f64): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_Ef32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_LOG2Ef32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_LOG10Ef32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_LN2f32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_LN10f32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_PIf32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_PI_2f32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_PI_4f32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_1_PIf32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_2_PIf32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_2_SQRTPIf32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_SQRT2f32x): Likewise. + [__HAVE_FLOAT32X && __USE_GNU] (M_SQRT1_2f32x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_Ef64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_LOG2Ef64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_LOG10Ef64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_LN2f64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_LN10f64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_PIf64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_PI_2f64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_PI_4f64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_1_PIf64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_2_PIf64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_2_SQRTPIf64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_SQRT2f64x): Likewise. + [__HAVE_FLOAT64X && __USE_GNU] (M_SQRT1_2f64x): Likewise. + [__HAVE_FLOAT128X && __USE_GNU]: Use #error. + +2017-10-30 Florian Weimer + + * elf/ldconfig.c (search_dir): Assume that _DIRENT_HAVE_D_TYPE is + always defined. + * io/tst-mkdirat.c (do_test): Likewise. + * io/tst-mkfifoat.c (do_test): Likewise. + * io/tst-mknodat.c (do_test): Likewise. + * locale/programs/charmap-dir.c (charmap_readdir): Likewise. + * locale/programs/locale.c (select_dirs): Likewise. + * locale/programs/locarchive.c (add_locales_to_archive): Likewise. + * posix/bug-glob2.c (my_readdir): Likewise. + * posix/tst-dir.c (main): Likewise. + * posix/tst-glob_lstat_compat.c (my_readdir): Likewise. + * posix/tst-gnuglob-skeleton.c (my_readdir): Likewise. + +2017-10-30 Florian Weimer + + * string/strings.h (ffsl, ffsll): Declare under __USE_MISC, not + just __USE_GNU. + +2017-10-30 Florian Weimer + + * posix/tst-gnuglob-skeleton.c: Renamed from tst-gnuglob.c. + Convert to support/test-driver.c. + (GLOB_FUNC, GLOB_TYPE, GLOBFREE_FUNC, DIRENT_STRUCT, STAT_STRUCT): + New macro parameters. + (PRINTF): Remove macro. Use test_verbose conditionals instead. + * posix/tst-gnuglob.c: New file. + * posix/tst-gnuglob64.c: Likewise. + * posix/Makefile (tests): Add tst-gnuglob64. + +2017-10-30 Michal Ostrowski + + [BZ #19485] + * localedata/locales/csb_PL (LC_TIME): Fix “abmon” for March + and use a better translation for March in “mon”. + * localedata/locales/csb_PL: Use more ASCII to improve the + readability of the source. + +2017-10-30 Mike FABIAN + + [BZ #13953] + * localedata/locales/km_KH: Use ASCII as much + as possible for better readability of the source and + remove useless comments. + * localedata/locales/km_KH (LC_TIME): Remove era stuff, it + was commented out and apparently wrong anyway because it was + using Lao characters. If Buddhist era should be used + for km_KH, a native speaker should write the correct formaat + for Khmer. + * localedata/locales/km_KH (LC_TIME): Add first_weekday 1 + (According to CLDR, the first weekday for Cambodia is Sunday). + * localedata/locales/km_KH (LC_NAME): Remove name_mr and name_mrs + (These were using Lao characters which must be wrong. If we get + the correct data from a native speaker, we could add it back, until + then it is better not to have name_mr and name_mrs at all than + having it wrong). + +2017-10-27 Rafał Lużyński + + * locale/loadlocale.c: Correct size of + _nl_value_type_LC_ arrays. + +2017-10-27 Joseph Myers + + * math/math.h [__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)]: + Include and + with appropriate macros defined and undefined. + [__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)]: Likewise. + [__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)]: Likewise. + [__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)]: Likewise. + [__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)]: Likewise. + [__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)]: Likewise. + +2017-10-27 H.J. Lu + + * sysdeps/i386/fpu/libm-test-ulps: Regenerated for GCC 7 with + "-O2 -march=i586". + +2017-10-27 Mike FABIAN + + * localedata/locales/tt_RU (LC_MESSAGES): Start yesstr and nostr + with lowercase letters to make it agree with CLDR. + +2017-10-27 Mike FABIAN + + [BZ #15260] + * localedata/locales/doi_IN (LC_MESSAGES): Match only for the + first letters of yesstr and nostr in yesexpr and noexpr, + not for the full words. + * localedata/locales/hne_IN (LC_MESSAGES): Likewise. + * localedata/locales/kok_IN (LC_MESSAGES): Likewise. + * localedata/locales/mr_IN (LC_MESSAGES): Likewise. + * localedata/locales/sat_IN (LC_MESSAGES): Likewise. + * localedata/locales/km_KH (LC_MESSAGES): Match also for the + first letters of yesstr and nostr in yesexpr and noexpr, + until now only English was matched in yesexpr and noexpr. + * localedata/locales/tl_PH (LC_MESSAGES): Use “copy "fil_PH"” + instead of “copy "en_US"”. CLDR has yesstr and nostr data for + fil but not for tl. As tl and fil are very similar, using fil + is probably better than using English. + +2017-10-27 Thierry Vignaud + + [BZ #21706] + * localedata/locales/br_FR (LC_MESSAGES): Use all lowercase + in yesstr and nostr. + +2017-10-26 Joseph Myers + + * math/math.h [__HAVE_FLOAT16 && __GLIBC_USE + (IEC_60559_TYPES_EXT)] (SNANF16): New macro. + [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32): + Likewise. + [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64): + Likewise. + [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32X): + Likewise. + [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64X): + Likewise. + [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (SNANF128X): Likewise. + + * math/math.h [__HAVE_FLOAT16 && __GLIBC_USE + (IEC_60559_TYPES_EXT)] (HUGE_VAL_F16): New macro. + [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (HUGE_VAL_F32): Likewise. + [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (HUGE_VAL_F64): Likewise. + [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (HUGE_VAL_F32X): Likewise. + [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (HUGE_VAL_F64X): Likewise. + [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (HUGE_VAL_F128X): Likewise. + +2017-10-26 Thierry Vignaud + + * localedata/locales/br_FR (LC_IDENTIFICATON): Add + Thierry Vignaud as the contact + for the br_FR locale. + +2017-10-26 Thierry Vignaud + + [BZ #21706] + * localedata/locales/br_FR (LC_MESSAGES): Fix nostr. + +2017-10-25 Carlos O'Donell + + * locale/programs/record-status.h: Define globals, and function + prototypes. Move function bodies... + * locale/programs/record-status.c: ... to here. New file. + * iconv/Makefile (iconv_prog-modules): Add record-status. + * locale/Makefile (lib-modules): Likewise. + * iconv/iconv_prog.c: Remove verbose. + * iconv/iconv_prog.h: Include record-status.h (defines verbose). + * locale/programs/charmap.c (charmap_read): If warn_ascii is true then + record a warning about ASCII compatibility. + * locale/programs/ld-monetary.c (monetary_finish): If + warn_int_curr_symbol is true then record a warning about the symbol + not being in our ISO 4217 list. + * locale/programs/locale.c: Include record-status.h. Remove verbose. + * locale/programs/localedef.c: Include ctype.h. Remove delcaration of + verbose, recorded_warning_count, recorded_error_count, and be_quiet. + (OPT_NO_WARN): Define. + (OPT_WARN): Define. + (options): Add entry for --no-warnings, and --warnings. + (set_warnings): New function to enable/disable warnings. + (parse_opt): Call set_warnings for OPT_NO_WARN and OPT_WARN. + * locale/programs/localedef.h: Remove warn_int_curr_symbol. + * localedata/gen-locale.sh: Default flags to `--quiet -c'. + Add `--no-warnings=ascii' to locales using SHIFT_JIS or SHIFT_JIXX0213. + Pass flags to generate_locale. + (generate_locale): Accept new flag argument and pass it to localedef + invocation. + * localedata/Makefile (INSTALL-SUPPORTED-LOCALES): Use + --no-warnings=ascii for SHIFT_JIS and SHIFT_JISX0213 charmaps. + + * localedata/Makefile (test-input-data): Use full file name. + * localedata/da_DK.in: Rename to... + * localedata/da_DK.ISO-8859-1.in: ...this. + * localedata/de_DE.in: Rename to... + * localedata/de_DE.ISO-8859-1.in: ...this. + * localedata/en_US.in: Rename to... + * localedata/en_US.ISO-8859-1.in: ...this. + * localedata/fr_FR.in: Rename to... + * localedata/fr_FR.UTF-8.in: ... this. + * localedata/hr_HR.in: Rename to... + * localedata/hr_HR.ISO-8859-2.in: ...this. + * localedata/hu_HU.in: Rename to... + * localedata/hu_HU.UTF-8.in: ...this. + * localedata/si_LK.in: Rename to... + * localedata/si_LK.UTF-8.in: ...this. + * localedata/sv_SE.in: Rename to... + * localedata/sv_SE.ISO-8859-1.in: ...this. + * localedata/tr_TR.in: Rename to... + * localedata/tr_TR.UTF-8.in: ...this. + * localedata/uk_UA.in: Rename to... + * localedata/uk_UA.UTF-8.in: ...this. + * localedata/sort-test.sh: Test file is locale name with the + suffix. + + * localedata/unicode-gen/Makefile (check_i18n): Rename to + check_i18n_ctype. Depend on i18n_ctype-report. Check i18n_ctype-report + file. + * localedata/locales/i18n_ctype: Regenerate. + * localedata/locales/tr_TR: Likewise. + * localedata/locales/translit_circle: Likewise. + * localedata/locales/translit_cjk_compat: Likewise. + * localedata/locales/translit_combining: Likewise. + * localedata/locales/translit_compat: Likewise. + * localedata/locales/translit_font: Likewise. + * localedata/locales/translit_fraction: Likewise. + +2017-10-25 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/power7/memcpy.S: Replace + lxvd2x/stxvd2x with lvx/stvx. + * sysdeps/powerpc/powerpc64/power7/memmove.S: Likewise. + +2017-10-25 H.J. Lu + + * include/alloc_buffer.h: Replace "if if " with "if " in + comments. + * sysdeps/mips/memcpy.S: Likkewise. + * sysdeps/mips/memset.S: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S: + Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf4_core_sse4.S: + Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf8_core_avx2.S: + Likewise. + +2017-10-25 Mike FABIAN + + [BZ #15261] + * localedata/locales/cmn_TW (LC_MESSAGES): Add fullwidth yYnN to + yesexpr and noexpr. + * localedata/locales/hak_TW (LC_MESSAGES): Likewise. + * localedata/locales/ko_KR (LC_MESSAGES): Likewise. + * localedata/locales/lzh_TW (LC_MESSAGES): Likewise. + * localedata/locales/nan_TW (LC_MESSAGES): Likewise. + * localedata/locales/zh_CN (LC_MESSAGES): Likewise. + * localedata/locales/zh_HK (LC_MESSAGES): Likewise. + * localedata/locales/zh_TW (LC_MESSAGES): Likewise. + +2017-10-25 Mike FABIAN + + * localedata/locales/am_ET (LC_MESSAGES): Sync with CLDR. + * localedata/locales/az_AZ (LC_MESSAGES): Likewise. + * localedata/locales/el_GR (LC_MESSAGES): Likewise. + * localedata/locales/ha_NG (LC_MESSAGES): Likewise. + * localedata/locales/ln_CD (LC_MESSAGES): Likewise. + * localedata/locales/mfe_MU (LC_MESSAGES): Likewise. + * localedata/locales/ml_IN (LC_MESSAGES): Likewise. + * localedata/locales/mt_MT (LC_MESSAGES): Likewise. + * localedata/locales/os_RU (LC_MESSAGES): Likewise. + * localedata/locales/tg_TJ (LC_MESSAGES): Likewise. + * localedata/locales/tt_RU (LC_MESSAGES): Likewise. + * localedata/locales/wo_SN (LC_MESSAGES): Likewise. + +2017-10-25 Mike FABIAN + + * localedata/locales/aa_ET (LC_MESSAGES): Use ASCII as much + as possible for better readability of the source. + * localedata/locales/af_ZA (LC_MESSAGES): Likewise. + * localedata/locales/ak_GH (LC_MESSAGES): Likewise. + * localedata/locales/am_ET (LC_MESSAGES): Likewise. + * localedata/locales/anp_IN (LC_MESSAGES): Likewise. + * localedata/locales/ar_EG (LC_MESSAGES): Likewise. + * localedata/locales/as_IN (LC_MESSAGES): Likewise. + * localedata/locales/ast_ES (LC_MESSAGES): Likewise. + * localedata/locales/ayc_PE (LC_MESSAGES): Likewise. + * localedata/locales/az_AZ (LC_MESSAGES): Likewise. + * localedata/locales/az_IR (LC_MESSAGES): Likewise. + * localedata/locales/be_BY (LC_MESSAGES): Likewise. + * localedata/locales/be_BY@latin (LC_MESSAGES): Likewise. + * localedata/locales/bem_ZM (LC_MESSAGES): Likewise. + * localedata/locales/ber_MA (LC_MESSAGES): Likewise. + * localedata/locales/bg_BG (LC_MESSAGES): Likewise. + * localedata/locales/bhb_IN (LC_MESSAGES): Likewise. + * localedata/locales/bi_VU (LC_MESSAGES): Likewise. + * localedata/locales/bo_CN (LC_MESSAGES): Likewise. + * localedata/locales/br_FR (LC_MESSAGES): Likewise. + * localedata/locales/bs_BA (LC_MESSAGES): Likewise. + * localedata/locales/ca_ES (LC_MESSAGES): Likewise. + * localedata/locales/ce_RU (LC_MESSAGES): Likewise. + * localedata/locales/crh_UA (LC_MESSAGES): Likewise. + * localedata/locales/cs_CZ (LC_MESSAGES): Likewise. + * localedata/locales/csb_PL (LC_MESSAGES): Likewise. + * localedata/locales/cv_RU (LC_MESSAGES): Likewise. + * localedata/locales/cy_GB (LC_MESSAGES): Likewise. + * localedata/locales/da_DK (LC_MESSAGES): Likewise. + * localedata/locales/de_DE (LC_MESSAGES): Likewise. + * localedata/locales/dv_MV (LC_MESSAGES): Likewise. + * localedata/locales/dz_BT (LC_MESSAGES): Likewise. + * localedata/locales/el_GR (LC_MESSAGES): Likewise. + * localedata/locales/en_CA (LC_MESSAGES): Likewise. + * localedata/locales/en_US (LC_MESSAGES): Likewise. + * localedata/locales/es_ES (LC_MESSAGES): Likewise. + * localedata/locales/et_EE (LC_MESSAGES): Likewise. + * localedata/locales/eu_ES (LC_MESSAGES): Likewise. + * localedata/locales/fa_IR (LC_MESSAGES): Likewise. + * localedata/locales/ff_SN (LC_MESSAGES): Likewise. + * localedata/locales/fi_FI (LC_MESSAGES): Likewise. + * localedata/locales/fil_PH (LC_MESSAGES): Likewise. + * localedata/locales/fo_FO (LC_MESSAGES): Likewise. + * localedata/locales/fr_BE (LC_MESSAGES): Likewise. + * localedata/locales/fr_CH (LC_MESSAGES): Likewise. + * localedata/locales/fr_FR (LC_MESSAGES): Likewise. + * localedata/locales/fr_LU (LC_MESSAGES): Likewise. + * localedata/locales/fur_IT (LC_MESSAGES): Likewise. + * localedata/locales/fy_DE (LC_MESSAGES): Likewise. + * localedata/locales/ga_IE (LC_MESSAGES): Likewise. + * localedata/locales/gd_GB (LC_MESSAGES): Likewise. + * localedata/locales/gl_ES (LC_MESSAGES): Likewise. + * localedata/locales/gu_IN (LC_MESSAGES): Likewise. + * localedata/locales/gv_GB (LC_MESSAGES): Likewise. + * localedata/locales/ha_NG (LC_MESSAGES): Likewise. + * localedata/locales/hak_TW (LC_MESSAGES): Likewise. + * localedata/locales/he_IL (LC_MESSAGES): Likewise. + * localedata/locales/hif_FJ (LC_MESSAGES): Likewise. + * localedata/locales/hne_IN (LC_MESSAGES): Likewise. + * localedata/locales/hr_HR (LC_MESSAGES): Likewise. + * localedata/locales/hsb_DE (LC_MESSAGES): Likewise. + * localedata/locales/ht_HT (LC_MESSAGES): Likewise. + * localedata/locales/hu_HU (LC_MESSAGES): Likewise. + * localedata/locales/hy_AM (LC_MESSAGES): Likewise. + * localedata/locales/ia_FR (LC_MESSAGES): Likewise. + * localedata/locales/id_ID (LC_MESSAGES): Likewise. + * localedata/locales/ig_NG (LC_MESSAGES): Likewise. + * localedata/locales/ik_CA (LC_MESSAGES): Likewise. + * localedata/locales/is_IS (LC_MESSAGES): Likewise. + * localedata/locales/it_CH (LC_MESSAGES): Likewise. + * localedata/locales/it_IT (LC_MESSAGES): Likewise. + * localedata/locales/iu_CA (LC_MESSAGES): Likewise. + * localedata/locales/ja_JP (LC_MESSAGES): Likewise. + * localedata/locales/kk_KZ (LC_MESSAGES): Likewise. + * localedata/locales/kl_GL (LC_MESSAGES): Likewise. + * localedata/locales/ko_KR (LC_MESSAGES): Likewise. + * localedata/locales/ks_IN (LC_MESSAGES): Likewise. + * localedata/locales/ku_TR (LC_MESSAGES): Likewise. + * localedata/locales/kw_GB (LC_MESSAGES): Likewise. + * localedata/locales/ky_KG (LC_MESSAGES): Likewise. + * localedata/locales/lb_LU (LC_MESSAGES): Likewise. + * localedata/locales/lg_UG (LC_MESSAGES): Likewise. + * localedata/locales/li_NL (LC_MESSAGES): Likewise. + * localedata/locales/lij_IT (LC_MESSAGES): Likewise. + * localedata/locales/ln_CD (LC_MESSAGES): Likewise. + * localedata/locales/lo_LA (LC_MESSAGES): Likewise. + * localedata/locales/lt_LT (LC_MESSAGES): Likewise. + * localedata/locales/lv_LV (LC_MESSAGES): Likewise. + * localedata/locales/lzh_TW (LC_MESSAGES): Likewise. + * localedata/locales/mg_MG (LC_MESSAGES): Likewise. + * localedata/locales/mhr_RU (LC_MESSAGES): Likewise. + * localedata/locales/mi_NZ (LC_MESSAGES): Likewise. + * localedata/locales/mk_MK (LC_MESSAGES): Likewise. + * localedata/locales/ml_IN (LC_MESSAGES): Likewise. + * localedata/locales/mn_MN (LC_MESSAGES): Likewise. + * localedata/locales/ms_MY (LC_MESSAGES): Likewise. + * localedata/locales/mt_MT (LC_MESSAGES): Likewise. + * localedata/locales/my_MM (LC_MESSAGES): Likewise. + * localedata/locales/nan_TW (LC_MESSAGES): Likewise. + * localedata/locales/nan_TW@latin (LC_MESSAGES): Likewise. + * localedata/locales/nb_NO (LC_MESSAGES): Likewise. + * localedata/locales/nds_DE (LC_MESSAGES): Likewise. + * localedata/locales/nds_NL (LC_MESSAGES): Likewise. + * localedata/locales/ne_NP (LC_MESSAGES): Likewise. + * localedata/locales/nhn_MX (LC_MESSAGES): Likewise. + * localedata/locales/niu_NU (LC_MESSAGES): Likewise. + * localedata/locales/nl_NL (LC_MESSAGES): Likewise. + * localedata/locales/nn_NO (LC_MESSAGES): Likewise. + * localedata/locales/nr_ZA (LC_MESSAGES): Likewise. + * localedata/locales/nso_ZA (LC_MESSAGES): Likewise. + * localedata/locales/oc_FR (LC_MESSAGES): Likewise. + * localedata/locales/om_ET (LC_MESSAGES): Likewise. + * localedata/locales/or_IN (LC_MESSAGES): Likewise. + * localedata/locales/os_RU (LC_MESSAGES): Likewise. + * localedata/locales/pa_IN (LC_MESSAGES): Likewise. + * localedata/locales/pa_PK (LC_MESSAGES): Likewise. + * localedata/locales/pap_AW (LC_MESSAGES): Likewise. + * localedata/locales/pap_CW (LC_MESSAGES): Likewise. + * localedata/locales/pl_PL (LC_MESSAGES): Likewise. + * localedata/locales/ps_AF (LC_MESSAGES): Likewise. + * localedata/locales/pt_BR (LC_MESSAGES): Likewise. + * localedata/locales/quz_PE (LC_MESSAGES): Likewise. + * localedata/locales/raj_IN (LC_MESSAGES): Likewise. + * localedata/locales/ro_RO (LC_MESSAGES): Likewise. + * localedata/locales/ru_RU (LC_MESSAGES): Likewise. + * localedata/locales/ru_UA (LC_MESSAGES): Likewise. + * localedata/locales/rw_RW (LC_MESSAGES): Likewise. + * localedata/locales/sa_IN (LC_MESSAGES): Likewise. + * localedata/locales/sc_IT (LC_MESSAGES): Likewise. + * localedata/locales/sd_IN@devanagari (LC_MESSAGES): Likewise. + * localedata/locales/se_NO (LC_MESSAGES): Likewise. + * localedata/locales/sgs_LT (LC_MESSAGES): Likewise. + * localedata/locales/si_LK (LC_MESSAGES): Likewise. + * localedata/locales/sk_SK (LC_MESSAGES): Likewise. + * localedata/locales/sl_SI (LC_MESSAGES): Likewise. + * localedata/locales/sm_WS (LC_MESSAGES): Likewise. + * localedata/locales/so_DJ (LC_MESSAGES): Likewise. + * localedata/locales/sq_AL (LC_MESSAGES): Likewise. + * localedata/locales/sr_RS (LC_MESSAGES): Likewise. + * localedata/locales/sr_RS@latin (LC_MESSAGES): Likewise. + * localedata/locales/ss_ZA (LC_MESSAGES): Likewise. + * localedata/locales/st_ZA (LC_MESSAGES): Likewise. + * localedata/locales/sv_SE (LC_MESSAGES): Likewise. + * localedata/locales/sw_KE (LC_MESSAGES): Likewise. + * localedata/locales/szl_PL (LC_MESSAGES): Likewise. + * localedata/locales/tcy_IN (LC_MESSAGES): Likewise. + * localedata/locales/tg_TJ (LC_MESSAGES): Likewise. + * localedata/locales/th_TH (LC_MESSAGES): Likewise. + * localedata/locales/the_NP (LC_MESSAGES): Likewise. + * localedata/locales/ti_ER (LC_MESSAGES): Likewise. + * localedata/locales/tk_TM (LC_MESSAGES): Likewise. + * localedata/locales/tn_ZA (LC_MESSAGES): Likewise. + * localedata/locales/to_TO (LC_MESSAGES): Likewise. + * localedata/locales/tr_TR (LC_MESSAGES): Likewise. + * localedata/locales/ts_ZA (LC_MESSAGES): Likewise. + * localedata/locales/tt_RU (LC_MESSAGES): Likewise. + * localedata/locales/tt_RU@iqtelif (LC_MESSAGES): Likewise. + * localedata/locales/uk_UA (LC_MESSAGES): Likewise. + * localedata/locales/unm_US (LC_MESSAGES): Likewise. + * localedata/locales/ur_IN (LC_MESSAGES): Likewise. + * localedata/locales/ur_PK (LC_MESSAGES): Likewise. + * localedata/locales/uz_UZ (LC_MESSAGES): Likewise. + * localedata/locales/uz_UZ@cyrillic (LC_MESSAGES): Likewise. + * localedata/locales/ve_ZA (LC_MESSAGES): Likewise. + * localedata/locales/vi_VN (LC_MESSAGES): Likewise. + * localedata/locales/wa_BE (LC_MESSAGES): Likewise. + * localedata/locales/wo_SN (LC_MESSAGES): Likewise. + * localedata/locales/xh_ZA (LC_MESSAGES): Likewise. + * localedata/locales/yi_US (LC_MESSAGES): Likewise. + * localedata/locales/yo_NG (LC_MESSAGES): Likewise. + * localedata/locales/yue_HK (LC_MESSAGES): Likewise. + * localedata/locales/zh_CN (LC_MESSAGES): Likewise. + * localedata/locales/zh_HK (LC_MESSAGES): Likewise. + * localedata/locales/zh_TW (LC_MESSAGES): Likewise. + * localedata/locales/zu_ZA (LC_MESSAGES): Likewise. + +2017-10-25 Mike FABIAN + + * localedata/locales/brx_IN (LC_MESSAGES): Fix yesexpr and noexpr + (Use first letters of yesstr and nostr correctly instead of using + full words). + +2017-10-25 Mike FABIAN + + * localedata/locales/ta_IN (LC_MESSAGES): Fix yesexpr and noexpr + (Use first letters of yesstr and nostr correctly). + +2017-10-25 Mike FABIAN + + * localedata/locales/hi_IN (LC_MESSAGES): In yesexpr and noexpr, + also check for the first characters of yesstr and nostr. + * localedata/locales/kn_IN (LC_MESSAGES): Likewise. + * localedata/locales/ks_IN@devanagari (LC_MESSAGES): Likewise. + +2017-10-25 Mike FABIAN + + * localedata/locales/cmn_TW (LC_MESSAGES): In yesexpr and noexpr, + also check for Chinese characters. + +2017-10-25 Mike FABIAN + + * localedata/locales/chr_US (LC_MESSAGES): In yesexpr and noexpr, + match also for the contents of yesstr and nostr. As the first letter + of yesstr and nostr is equal, checking only for the first letter + is not enough. + +2017-10-25 Mike FABIAN + + * localedata/locales/ber_DZ (LC_MESSAGES): Use copy "kab_DZ", + it is the same according to Belkacem Mohammed . + +2017-10-25 Mike FABIAN + + * localedata/locales/kab_DZ (LC_IDENTIFICATION): Add e-mail + of main contributor. + +2017-10-25 Mike FABIAN + + * localedata/locales/zh_SG (LC_MESSAGES): Use copy "zh_CN" + instead of using English. + +2017-10-25 Mike FABIAN + + * localedata/locales/ug_CN (LC_MESSAGES): Fix noexpr and yesexpr + by including the first letters of nostr and yesexpr in the regexp. + Also make it more readable by using ASCII where possible. + +2017-10-25 Mike FABIAN + + * localedata/locales/te_IN (LC_MESSAGES): Fix noexpr by including + the first letter of nostr in the regexp. It agrees with CLDR now. + Also make it more readable by using ASCII where possible. + +2017-10-24 Mike FABIAN + + * localedata/locales/km_KH (LC_MESSAGES): Fix yestr and nostr. + The yesstr and nostr apparently came from CLDR. And CLDR has a bug there: + these strings contain a U+17D6 (which somewhat looks like a colon) + instead of a real colon to separate the full words for “yes” + and “no” from the single letter responses. + +2017-10-24 Mike FABIAN + + * localedata/locales/ka_GE (LC_MESSAGES): Fix yesexp to make + it agree with CLDR (include the first letter of yesstr). + Also make it more readable by using ASCII where possible. + +2017-10-24 Mike FABIAN + + * localedata/locales/mr_IN (LC_MESSAGES): Fix yesstr and nostr + and improve yesexpr and noexpr. The yesstr and nostr apparently + came from CLDR. And CLDR has a bug there: these strings contain + a U+0903 (which looks like a colon) instead of a real colon + to separate the full words for “yes” and “no” from the single + letter responses. + +2017-10-24 Mike FABIAN + + * localedata/locales/bn_BD (LC_MESSAGES): Use only the first + letters of the full yesstr and nostr in yesexpr and noexpr. + +2017-10-24 Mike FABIAN + + * localedata/locales/an_ES (LC_MESSAGES): Add yesstr and nostr. + * localedata/locales/an_ES (LC_ADDRESS): Add lang_term and lang_lib. + * localedata/locales/an_ES: Make source more readable by using ASCII + where possible. + +2017-10-24 Mike FABIAN + + [BZ #20952] + * localedata/locales/yuw_PG: New file. + * localedata/SUPPORTED: Add yuw_PG/UTF-8. + * locale/iso-639.def: Add Yau (Uruwa). + +2017-10-23 Wilco Dijkstra + + * malloc/malloc.c (_int_malloc): Add SINGLE_THREAD_P path. + +2017-10-23 Wilco Dijkstra + + * malloc/malloc.c (__libc_malloc): Add SINGLE_THREAD_P path. + (__libc_realloc): Likewise. + (_mid_memalign): Likewise. + (__libc_calloc): Likewise. + +2017-10-23 Mike FABIAN + + * localedata/locales/tpi_PG (LC_MESSAGES): Fix yesexpr and noexpr + by adding the generic +1 and -0 as in all other locales. + * localedata/locales/tpi_PG (LC_TIME): Fix some typos in the month and + day names and make it more readable by using ASCII where possible. + +2017-10-24 Joseph Myers + + * sysdeps/x86/fpu/fix-fp-int-compare-invalid.h + (FIX_COMPARE_INVALID): Define to 0 if [__GNUC_PREREQ (8, 0)]. + +2017-10-23 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/spawni.c (__spawnix): Use 0 instead of + WNOHANG in waitpid call. + +2017-10-23 Siddhesh Poyarekar + + * manual/conf.texi (_SC_LEVEL1_DCACHE_LINESIZE, + _SC_LEVEL1_ICACHE_LINESIZE): Document aarch64 caveat. + + * manual/conf.texi (_SC_LEVEL1_ICACHE_SIZE, + _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, + _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, + _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, + _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, + _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, + _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, + _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE): New + variables. + +2017-10-23 Michael Collison + + * sysdeps/aarch64/fpu/e_sqrt.c (ieee754_sqrt): Replace asm statements + with __builtin_sqrt. + * sysdeps/aarch64/fpu/e_sqrtf.c (ieee754_sqrtf): Replace asm statements + with __builtin_sqrtf. + * sysdeps/aarch64/fpu/s_ceil.c (__ceil): Replace asm statements + with __builtin_ceil. + * sysdeps/aarch64/fpu/s_ceilf.c (__ceilf): Replace asm statements + with __builtin_ceilf. + * sysdeps/aarch64/fpu/s_floor.c (__floor): Replace asm statements + with __builtin_floor. + * sysdeps/aarch64/fpu/s_floorf.c (__floorf): Replace asm statements + with __builtin_floorf. + * sysdeps/aarch64/fpu/s_fma.c (__fma): Replace asm statements + with __builtin_fma. + * sysdeps/aarch64/fpu/s_fmaf.c (__fmaf): Replace asm statements + with __builtin_fmaf. + * sysdeps/aarch64/fpu/s_fmax.c (__fmax): Replace asm statements + with __builtin_fmax. + * sysdeps/aarch64/fpu/s_fmaxf.c (__fmaxf): Replace asm statements + with __builtin_fmaxf. + * sysdeps/aarch64/fpu/s_fmin.c (__fmin): Replace asm statements + with __builtin_fmin. + * sysdeps/aarch64/fpu/s_fminf.c (__fminf): Replace asm statements + with __builtin_fminf. + * sysdeps/aarch64/fpu/s_frint.c: Delete file. + * sysdeps/aarch64/fpu/s_frintf.c: Delete file. + * sysdeps/aarch64/fpu/s_llrint.c (__llrint): Replace asm statements + with builtin_rint and conversion to int. + * sysdeps/aarch64/fpu/s_llrintf.c (__llrintf): Likewise. + * sysdeps/aarch64/fpu/s_llround.c (__llround): Replace asm statements + with builtin_llround. + * sysdeps/aarch64/fpu/s_llroundf.c (__llroundf): Likewise. + * sysdeps/aarch64/fpu/s_lrint.c (__lrint): Replace asm statements + with builtin_rint and conversion to long int. + * sysdeps/aarch64/fpu/s_lrintf.c (__lrintf): Likewise. + * sysdeps/aarch64/fpu/s_lround.c (__lround): Replace asm statements + with builtin_lround. + * sysdeps/aarch64/fpu/s_lroundf.c (__lroundf): Replace asm statements + with builtin_lroundf. + * sysdeps/aarch64/fpu/s_nearbyint.c (__nearbyint): Replace asm + statements with __builtin_nearbyint. + * sysdeps/aarch64/fpu/s_nearbyintf.c (__nearbyintf): Replace asm + statements with __builtin_nearbyintf. + * sysdeps/aarch64/fpu/s_rint.c (__rint): Replace asm statements + with __builtin_rint. + * sysdeps/aarch64/fpu/s_rintf.c (__rintf): Replace asm statements + with __builtin_rintf. + * sysdeps/aarch64/fpu/s_round.c (__round): Replace asm statements + with __builtin_round. + * sysdeps/aarch64/fpu/s_roundf.c (__roundf): Replace asm statements + with __builtin_roundf. + * sysdeps/aarch64/fpu/s_trunc.c (__trunc): Replace asm statements + with __builtin_trunc. + * sysdeps/aarch64/fpu/s_truncf.c (__truncf): Replace asm statements + with __builtin_truncf. + * sysdeps/aarch64/fpu/Makefile: Build e_sqrt[f].c with -fno-math-errno, + and s_l[l]round[f].c too. + +2017-10-23 Alan Modra + + * sysdeps/powerpc/powerpc64/power8/strncpy.S: Move LR cfi. + Adjust stack after restoring regs. Add missing LR cfi_restore. + +2017-10-23 Alan Modra + + * sysdeps/powerpc/powerpc64/power7/strncpy.S: Decrease FRAMESIZE. + Move LR save and frame setup/teardown and LR restore to + immediately around memset call. Provide cfi. + +2017-10-22 H.J. Lu + + * sysdeps/i386/fpu/e_powf.S: Removed. + * sysdeps/i386/fpu/e_powf_log2_data.c: Likewise. + * sysdeps/i386/fpu/w_powf.c: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_powf.c. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_powf-sse2. + (CFLAGS-e_powf-sse2.c): New. + * sysdeps/i386/i686/fpu/multiarch/e_powf-sse2.c: New file. + * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Likewise. + +2017-10-22 H.J. Lu + + * sysdeps/i386/fpu/e_log2f.S: Removed. + * sysdeps/i386/fpu/e_log2f_data.c: Likewise. + * sysdeps/i386/fpu/w_log2f.c: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_log2f.c. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_log2f-sse2. + (CFLAGS-e_log2f-sse2.c): New. + * sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c: New file. + * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Likewise. + +2017-10-22 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_powf-fma. + (CFLAGS-e_powf-fma.c): New. + * sysdeps/x86_64/fpu/multiarch/e_powf-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/e_powf.c: Likewise. + +2017-10-22 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_log2f-fma. + (CFLAGS-e_log2f-fma.c): New. + * sysdeps/x86_64/fpu/multiarch/e_log2f-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/e_log2f.c: Likewise. + +2017-10-22 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_logf-fma. + (CFLAGS-e_logf-fma.c): New. + * sysdeps/x86_64/fpu/multiarch/e_logf-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/e_logf.c: Likewise. + +2017-10-22 H.J. Lu + + * sysdeps/i386/fpu/e_logf.S: Removed. + * sysdeps/i386/fpu/e_logf_data.c: Likewise. + * sysdeps/i386/fpu/w_logf.c: Likewise. + * sysdeps/i386/i686/fpu/e_logf.S: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_logf.c. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_logf-sse2. + (CFLAGS-e_logf-sse2.c): New. + * sysdeps/i386/i686/fpu/multiarch/e_logf-sse2.c: New file. + * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Likewise. + +2017-10-22 H.J. Lu + + * sysdeps/i386/fpu/e_exp2f.S: Removed. + * sysdeps/i386/fpu/w_exp2f.c: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_exp2f.c. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_exp2f-sse2. + (CFLAGS-e_exp2f-sse2.c): New. + * sysdeps/i386/i686/fpu/multiarch/e_exp2f-sse2.c: New file. + * sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Likewise. + +2017-10-22 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_exp2f-fma. + (CFLAGS-e_exp2f-fma.c): New. + * sysdeps/x86_64/fpu/multiarch/e_exp2f-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/e_exp2f.c: Likewise. + +2017-10-22 H.J. Lu + + * sysdeps/i386/fpu/e_exp2f_data.c: Removed. + * sysdeps/i386/fpu/e_expf.S: Likewise. + * sysdeps/i386/fpu/math_errf.c: Likewise. + * sysdeps/i386/fpu/w_expf.c: Likewise. + * sysdeps/i386/i686/fpu/multiarch/e_expf-ia32.S: Likewise. + * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Likewise. + * sysdeps/i386/i686/fpu/multiarch/w_expf.c: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_expf.c. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): + Remove e_expf-ia32. + (CFLAGS-e_expf-sse2.c): New. + * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.c: New file. + * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Rewritten. + +2017-10-22 H.J. Lu + + * sysdeps/x86_64/fpu/e_expf.S: Removed. + * sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: Likewise. + * sysdeps/x86_64/fpu/w_expf.c: Likewise. + * sysdeps/x86_64/fpu/libm-test-ulps: Updated for generic + e_expf.c. + * sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_expf-fma.c): + New. + * sysdeps/x86_64/fpu/multiarch/e_expf-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf): + Renamed to ... + (__redirect_expf): This. + (SYMBOL_NAME): Changed to expf. + (__ieee754_expf): Renamed to ... + (__expf): This. + (__GI___expf): This. + (__ieee754_expf): Add strong_alias. + (__expf_finite): Likewise. + (__expf): New. + Include . + +2017-10-22 Paul Eggert + + [BZ #22332] + * posix/glob.c (__glob): Fix buffer overflow during GLOB_TILDE + unescaping. + +2017-10-21 Florian Weimer + + * posix/Makefile (tests): Add tst-glob-tilde. + (tests-special): Add tst-glob-tilde-mem.out + (tst-glob-tilde-ENV): Set MALLOC_TRACE. + (tst-glob-tilde-mem.out): Add mtrace check. + * posix/tst-glob-tilde.c: New file. + +2017-10-20 Joseph Myers + + * bits/floatn-common.h: New file. + * math/Makefile (headers): Add bits/floatn-common.h. + * bits/floatn.h: Include . + * sysdeps/ia64/bits/floatn.h: Likewise. + * sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise. + * sysdeps/mips/ieee754/bits/floatn.h: Likewise. + * sysdeps/powerpc/bits/floatn.h: Likewise. + * sysdeps/x86/bits/floatn.h: Likewise. + +2017-10-20 Adhemerval Zanella + + * configure.ac (libc_cv_gcc_incompatbile_alias): New define: + indicates whether compiler emits an warning for alias for + functions with incompatible types. + + [BZ #22273] + * sysdeps/unix/sysv/linux/spawni.c (__spawnix): Handle the case where + the auxiliary process is terminated by a signal before calling _exit + or execve. + +2017-10-20 H.J. Lu + + [BZ #21265] + * sysdeps/x86/cpu-features-offsets.sym (XSAVE_STATE_SIZE_OFFSET): + New. + * sysdeps/x86/cpu-features.c: Include . + (get_common_indeces): Set xsave_state_size, xsave_state_full_size + and bit_arch_XSAVEC_Usable if needed. + (init_cpu_features): Remove bit_arch_Use_dl_runtime_resolve_slow + and bit_arch_Use_dl_runtime_resolve_opt. + * sysdeps/x86/cpu-features.h (bit_arch_Use_dl_runtime_resolve_opt): + Removed. + (bit_arch_Use_dl_runtime_resolve_slow): Likewise. + (bit_arch_Prefer_No_AVX512): Updated. + (bit_arch_MathVec_Prefer_No_AVX512): Likewise. + (bit_arch_XSAVEC_Usable): New. + (STATE_SAVE_OFFSET): Likewise. + (STATE_SAVE_MASK): Likewise. + [__ASSEMBLER__]: Include . + (cpu_features): Add xsave_state_size and xsave_state_full_size. + (index_arch_Use_dl_runtime_resolve_opt): Removed. + (index_arch_Use_dl_runtime_resolve_slow): Likewise. + (index_arch_XSAVEC_Usable): New. + * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)): + Support XSAVEC_Usable. Remove Use_dl_runtime_resolve_slow. + * sysdeps/x86_64/Makefile (tst-x86_64-1-ENV): New if tunables + is enabled. + * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): + Replace _dl_runtime_resolve_sse, _dl_runtime_resolve_avx, + _dl_runtime_resolve_avx_slow, _dl_runtime_resolve_avx_opt, + _dl_runtime_resolve_avx512 and _dl_runtime_resolve_avx512_opt + with _dl_runtime_resolve_fxsave, _dl_runtime_resolve_xsave and + _dl_runtime_resolve_xsavec. + * sysdeps/x86_64/dl-trampoline.S (DL_RUNTIME_UNALIGNED_VEC_SIZE): + Removed. + (DL_RUNTIME_RESOLVE_REALIGN_STACK): Check STATE_SAVE_ALIGNMENT + instead of VEC_SIZE. + (REGISTER_SAVE_BND0): Removed. + (REGISTER_SAVE_BND1): Likewise. + (REGISTER_SAVE_BND3): Likewise. + (REGISTER_SAVE_RAX): Always defined to 0. + (VMOV): Removed. + (_dl_runtime_resolve_avx): Likewise. + (_dl_runtime_resolve_avx_slow): Likewise. + (_dl_runtime_resolve_avx_opt): Likewise. + (_dl_runtime_resolve_avx512): Likewise. + (_dl_runtime_resolve_avx512_opt): Likewise. + (_dl_runtime_resolve_sse): Likewise. + (_dl_runtime_resolve_sse_vex): Likewise. + (USE_FXSAVE): New. + (_dl_runtime_resolve_fxsave): Likewise. + (USE_XSAVE): Likewise. + (_dl_runtime_resolve_xsave): Likewise. + (USE_XSAVEC): Likewise. + (_dl_runtime_resolve_xsavec): Likewise. + * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve_avx512): + Removed. + (_dl_runtime_resolve_avx512_opt): Likewise. + (_dl_runtime_resolve_avx): Likewise. + (_dl_runtime_resolve_avx_opt): Likewise. + (_dl_runtime_resolve_sse): Likewise. + (_dl_runtime_resolve_sse_vex): Likewise. + (_dl_runtime_resolve_fxsave): New. + (_dl_runtime_resolve_xsave): Likewise. + (_dl_runtime_resolve_xsavec): Likewise. + +2017-10-20 Paul Eggert + + [BZ #22320] + CVE-2017-15670 + * posix/glob.c (__glob): Fix one-byte overflow. + +2017-10-20 Wilco Dijkstra + + * malloc/malloc.c (sysdep-cancel.h): Add include. + +2017-10-20 Wilco Dijkstra + + * malloc/malloc.c (_int_free): Add SINGLE_THREAD_P fast paths. + +2017-10-20 Will Hawkins + + * resolv/Makefile [$(build-shared)$(have-thread-library) == yesyes] + (tests): Remove $(objpfx)ga_test depdendency. + * resolv/ga_test.c: Remove file. + +2017-10-20 Mike FABIAN + + [BZ #18812] + * localedata/SUPPORTED: Add kab_DZ/UTF-8. + * localedata/locales/kab_DZ: New file. + +2017-10-20 H.J. Lu + + * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use + _dl_relocate_static_pie instead of _dl_start to compute load + address in static PIE. + +2017-10-20 H.J. Lu + + * sysdeps/m68k/start.S (_start): Check PIC instead of SHARED. + +2017-10-20 Mike FABIAN + + [BZ #13605] + * localedata/SUPPORTED: Add shn_MM/UTF-8. + * localedata/locales/shn_MM: New file. + +2017-10-20 Florian Weimer + + [BZ #22321] + sysconf: Fix missing definition of UIO_MAXIOV on Linux. + * sysdeps/posix/sysconf.c: Include . + * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-sysconf-iov_max. + (tst-sysconf-iov_max): Link with tst-sysconf-iov_max-uapi.o. + * sysdeps/unix/sysv/linux/tst-sysconf-iov_max.c: New file. + * sysdeps/unix/sysv/linux/tst-sysconf-iov_max-uapi.c: Likewise. + +2017-10-19 H.J. Lu + + * sysdeps/i386/fpu/libm-test-ulps: Regenerated. + +2017-10-19 Joseph Myers + + * sysdeps/mips/ieee754/bits/floatn.h: New file. + + [BZ #22322] + * sysdeps/mips/bits/long-double.h: Move to .... + * sysdeps/mips/ieee754/bits/long-double.h: ... here. + +2017-10-19 Wilco Dijkstra + + * malloc/malloc.c (_int_free): Fix deadlock bug in consistency check. + +2017-10-19 Valery Reznic + H.J. Lu + + [BZ #22299] + * sysdeps/x86/cpu-features.c (init_cpu_features): Don't set + GLRO(dl_platform) to NULL. + * sysdeps/x86_64/Makefile (tests): Add tst-platform-1. + (modules-names): Add tst-platformmod-1 and + x86_64/tst-platformmod-2. + (CFLAGS-tst-platform-1.c): New. + (CFLAGS-tst-platformmod-1.c): Likewise. + (CFLAGS-tst-platformmod-2.c): Likewise. + (LDFLAGS-tst-platformmod-2.so): Likewise. + ($(objpfx)tst-platform-1): Likewise. + ($(objpfx)tst-platform-1.out): Likewise. + (tst-platform-1-ENV): Likewise. + ($(objpfx)x86_64/tst-platformmod-2.os): Likewise. + * sysdeps/x86_64/tst-platform-1.c: New file. + * sysdeps/x86_64/tst-platformmod-1.c: Likewise. + * sysdeps/x86_64/tst-platformmod-2.c: Likewise. + +2017-10-19 Mike FABIAN + + [BZ #13994] + * locale/iso-639.def: Add Karbi. + * localedata/SUPPORTED: Add mjw_IN/UTF-8. + * localedata/locales/mjw_IN: New file. + +2017-10-18 Joseph Myers + + * sysdeps/ieee754/ldbl-128/Makeconfig: New file. + * sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise. + * sysdeps/ieee754/ldbl-128/float128-abi.h: Likewise. + * sysdeps/generic/libm-alias-ldouble.h: Include . + [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] + (libm_alias_ldouble_other_r): Also create _Float128 alias. + * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Include + . + [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] + (libm_alias_ldouble_other_r): Also create _Float128 alias. + * manual/math.texi (Mathematics): Document additional architecture + support for _Float128. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + +2017-10-18 Renlin Li + + * sysdeps/aarch64/dl-machine.h (elf_machine_load_address): Use + _DYNAMIC symbol to calculate load address. + +2017-10-18 Paul A. Clarke + + * sysdeps/powerpc/fpu/fenv_private.h (_FPU_MASK_TRAPS_RN): + (_FPU_MASK_FRAC_INEX_RET_CC): Fix masks to more properly handle + summary bits. + (_FPU_MASK_RN): Expand _FPU_MASK_RN to 64bit hex. + (_FPU_MASK_NOT_RN_NI): Treat bit 52 (left-to-right) as reserved. + +2017-10-18 Mike FABIAN + + [BZ #16777] + * localedata/locales/pl_PL (LC_MONETARY): Use U+202F as mon_thousands_sep + and improve readability by using more ASCII. + * localedata/locales/pl_PL (LC_NUMERIC): Use U+202F as thousands_sep + and improve readability by using more ASCII. + +2017-10-18 Wilco Dijkstra + + * malloc/malloc.c (malloc_state): Use int for have_fastchunks since + not all targets support atomics on bool. + +2017-10-17 Joseph Myers + + * include/float.h [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && + __GLIBC_USE (IEC_60559_TYPES_EXT)] (FLT128_MAX): Define using + __f128. + [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE + (IEC_60559_TYPES_EXT)] (FLT128_EPSILON): Likewise. + [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE + (IEC_60559_TYPES_EXT)] (FLT128_MIN): Likewise. + [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE + (IEC_60559_TYPES_EXT)] (FLT128_TRUE_MIN): Likewise. + +2017-10-17 Adhemerval Zanella + + * bits/uio-ext.h (RWF_HIPRI, RWF_DSYNC, RWF_SYNC, RWF_NOWAIT): New + defines. + +2017-10-17 Wilco Dijkstra + + [BZ #22159] + * malloc/arena.c (ptmalloc_init): Call malloc_init_state. + * malloc/malloc.c (do_check_free_chunk): Fix build bug. + (do_check_remalloced_chunk): Fix build bug. + (do_check_malloc_state): Add assert that checks arena->top. + (malloc_consolidate): Remove initialization. + (int_mallinfo): Remove call to malloc_consolidate. + (__libc_mallopt): Clarify why malloc_consolidate is needed. + +2017-10-17 Wilco Dijkstra + + * malloc/malloc.c (FASTCHUNKS_BIT): Remove. + (have_fastchunks): Remove. + (clear_fastchunks): Remove. + (set_fastchunks): Remove. + (malloc_state): Add have_fastchunks. + (malloc_init_state): Use have_fastchunks. + (do_check_malloc_state): Remove incorrect invariant checks. + (_int_malloc): Use have_fastchunks. + (_int_free): Likewise. + (malloc_consolidate): Likewise. + +2017-10-17 Wilco Dijkstra + + * malloc/malloc.c (tcache_put): Inline. + (tcache_get): Inline. + +2017-10-17 Jordi Mallach + + Aurelien Jarno + [BZ #2522] + * localedata/locales/ca_ES@valencia: New file. + * localedata/SUPPORTED: Add ca_ES@valencia/UTF-8. + +2017-10-17 Romain Naour (tiny change) + + [BZ #22296] + * math/math.h: Let signbit use the builtin in C++ mode with gcc + < 6.x + +2017-10-17 Adhemerval Zanella + + * scripts/build-many-glibcs.py (Context.add_all_configs): + Add arm-linux-gnueabihf multiarch extra_glibcs. + + * sysdeps/generic/ifunc-init.h: New file. + * sysdeps/x86/init-arch.h: Use generic ifunc-init.h. + +2017-10-17 Mike FABIAN + + [BZ #22019] + * localedata/locales/el_GR: Set n_cs_precedes to 0. + * localedata/locales/el_CY: copy "el_GR" because it is identical. + * stdlib/tst-strfmon_l.c: adapt test case. + +2017-10-16 Joseph Myers + + * sysdeps/generic/float128-abi.h: New file. + * sysdeps/ieee754/float128/Versions (FLOAT128_VERSION): Move + non-__prefixed symbols to .... + * math/Versions: ... here. Include . + * stdlib/Versions ... and here. Include + +2017-10-16 Florian Weimer + + * version.h (VERSION): Switch to ".9000" as the development + version suffix. + +2017-10-16 Florian Weimer + + [BZ #22050] + * malloc/mcheck-init.c (__malloc_initialize_hook): Use + compat_symbol_reference to access non-default version. + +2017-10-16 Florian Weimer + + * malloc/Makefile (others-extras): Set to mcheck-init.o. + +2017-10-16 Carlos O'Donell + + * include/shlib-compat.h (compat_symbol_reference): Update + comment. + +2017-10-16 Joseph Myers + + * math/Makefile (test-types): Add + $(type-float128-$(float128-alias-fcts)). + * math/test-float128.h (TYPE_STR): Define conditional on + [FLT128_MANT_DIG == LDBL_MANT_DIG]. + (ULP_IDX): Likewise. + (ULP_I_IDX): Likewise. + + * stdlib/strtold.c: Include + [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strtof128): Define + and later undefine as macro. Define as weak alias if + [!USE_WIDE_CHAR]. + [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128): Define + and later undefine as macro. Define as weak alias if + [USE_WIDE_CHAR]. + * sysdeps/ieee754/ldbl-128/strtold_l.c [__HAVE_FLOAT128 && + !__HAVE_DISTINCT_FLOAT128] (strtof128_l): Define and later + undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. + [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128_l): + Define and later undefine as macro. Define as weak alias if + [USE_WIDE_CHAR]. + * sysdeps/ieee754/ldbl-64-128/strtold_l.c: Include + . + [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strtof128_l): + Define and later undefine as macro. Define as weak alias if + [!USE_WIDE_CHAR]. + [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128_l): + Define and later undefine as macro. Define as weak alias if + [USE_WIDE_CHAR]. + +2017-10-15 Carlos O'Donell + + * localedata/collate-test.c (allocate_arrays): Don't use \n in + record_verbose messages. + +2017-10-15 H.J. Lu + + [BZ #22052] + * malloc/hooks.c (realloc_check): Use DIAG_IGNORE_NEEDS_COMMENT + to silence -O3 -Wall warning with GCC 7. + +2017-10-14 H.J. Lu + + * Makeconfig (+link-static-before-libc): Use the first of + $(CRT-$(@F)) and $(csu-objpfx)$(static-start-installed-name). + * gmon/Makefile (tests): Add tst-gmon-static. + (tests-static): Likewise. + (CFLAGS-tst-gmon-static.c): New. + (CRT-tst-gmon-static): Likewise. + (DEFAULT-LDFLAGS-tst-gmon-static): Likewise. + (tst-gmon-static-ENV): Likewise. + (tests-special): Likewise. + ($(objpfx)tst-gmon-static.out): Likewise. + (clean-tst-gmon-static-data): Likewise. + ($(objpfx)tst-gmon-static-gprof.out): Likewise. + * gmon/tst-gmon-static-gprof.sh: New file. + * gmon/tst-gmon-static.c: Likewise. + +2017-10-13 Carlos O'Donell + + [BZ #22295] + * locale/programs/linereader.c (get_string): Don't warn on + non-symbolic character. + + [BZ #22294] + * locale/programs/ld-monetary.c (monetary_finish): Allow "" + int_curr_symbol. + + [BZ #22292] + * locale/programs/record-status.h: New file + * locale/programs/locale.c: Add comment. + * locale/programs/charmap-dir.c: Don't include error.h. + (charmap_opendir): Use record_error. + * locale/programs/charmap.c: Don't include error.h. + (charmap_read): Use record_error, and record_warning. + (parse_charmap): Likewise. + * locale/programs/ld-address.c: Don't include error.h. + (address_finish): Use record_error, and record_warning. + * locale/programs/ld-collate.c: Don't include error.h. + (collate_finish): Use record_error, and record_error_at_line. + * locale/programs/ld-ctype.c (ctype_finish): Use record_error. + (ctype_class_new): Likewise. + (ctype_map_new): Likewise. + (set_one_default): Likewise. + (set_class_defaults): Likewise. + (translit_flatten): Likewise. + (allocate_arrays): Use record_error, and record_verbose. + * locale/programs/ld-identification.c: Don't include error.h. + (indentation_finish): Use record_error and record_warning. + * locale/programs/ld-measurement.c: Don't include error.h. + (measurement_finish): Use record_error. + * locale/programs/ld-messages.c + (message_finish): Likewise. + * locale/programs/ld-monetary.c + (monetary_finish): Likewise. + * locale/programs/ld-name.c (name_finish): Use record_error + and record_warning. + * locale/programs/ld-numeric.c + (numeric_finish): Use record_error. + * locale/programs/ld-paper.c: Don't include error.h. + (paper_finish): Use record_error. + * locale/programs/ld-telephone.c: Don't include error.h. + (telephone_finish): Use record_error. + * locale/programs/ld-time.c (time_finish): Likewise. + * locale/programs/linereader.h (lr_error): Make inline func. + * locale/programs/localedef.c: Define recorded_warning_count, + and recorded_error_count. + (main): Use record_error. Use recorded_error_count and + recorded_warning_count to issue correct error returns. + (add_to_readlist): Use record_error. + (find_locale): Likewise. + (load_locale): Likewise. + * locale/programs/localedef.h: Remove be_quiet + and WITH_CUR_LOCALE. + * locale/programs/locarchive.c (compare_from_file): Use + record_error. + * locale/programs/locfile.c (write_locale_data): Use + record_error. + * locale/programs/repertoire.c: Dont include error.h. + (repertoire_complain): Use record_error. + * localedata/tst-fmon.sh: Expect failures from localedef. + * localedata/tst-locale.sh: Likewise. + * localedata/gen-locale.sh: Expect failures from SHIFT_JIS. + + * localedata/unicode-gen/Makefile (GENERATED): Use i18n_ctype. + (REPORTS): Likewise. + (check): Likewise. + (i18n): Rename to... + (i18n_ctype): ...this. + (i18n-report): Rename to... + (i18n_ctype-report): ...this. + * localedata/locales/i18n_ctype: Regenerate. + * localedata/locales/i18n: copy i18n_ctype. + +2017-10-13 Joseph Myers + + * stdlib/strfroml.c: Include . + [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strfromf128): + Define before include of and undefine afterwards, then + define as weak alias. + + * sysdeps/ieee754/ldbl-64-128/s_nextafterl.c (weak_alias): + Undefine and restore default definition. Use + libm_alias_ldouble_other. + +2017-10-13 Peter Zelezny + + [BZ #22153] + * nptl/allocatestack.c (__nptl_setxid_error): Preserve error code + in coredumps. + +2017-10-13 James Clarke + + * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): + Assign sym_map to be map for local symbols, as TLS relocations + use sym_map to determine whether the symbol is defined and to + extract the TLS information. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. + +2017-10-13 Tulio Magno Quites Machado Filho + + [BZ #22189] + * sysdeps/powerpc/fpu/math_private.h (math_opt_barrier): + (math_force_eval): Add powerpc version. + + [BZ #22142] + * stdio-common/tst-printf.c (fp_test): Add tests for DBL_MAX and + -DBL_MAX. + (do_test): Likewise. + * stdio-common/tst-printf.sh: Likewise. + * sysdeps/powerpc/powerpc64/power7/add_n.S: Invert the initial + ifdef clause in order to set the carry bit right. Replace r0 by + 0 without changing the behavior. + +2017-10-13 Joseph Myers + + * sysdeps/sparc/sparc32/fpu/s_fabsl.c: Include + . + (fabsl): Define using libm_alias_ldouble. + * sysdeps/sparc/sparc64/fpu/s_fabsl.c: Include + . + (fabsl): Define using libm_alias_ldouble. + + * sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c [BUILD_LGAMMA]: + Remove conditional code. + + * sysdeps/ieee754/ldbl-opt/s_clog10l.c (__clog10l__internal): + Rename to __clog10_internal_l. + (__clog10_internal_l): Define aliases using + libm_alias_ldouble_other instead of using libm_alias_ldouble_other + with __clog10. + +2017-10-13 Rajalakshmi Srinivasaraghavan + + * benchtests/Makefile (bench-math): Add sinf, cosf and sincosf. + * benchtests/sincosf-inputs: New file. + * benchtests/cosf-inputs: New file. + * benchtests/sinf-inputs: New file. + +2017-10-12 Szabolcs Nagy + + * posix/tst-spawn.c (do_test): Wait for both children. + +2017-10-12 H.J. Lu + + [BZ #22284] + * gmon/Makefile [$(have-fpie)$(build-shared) == yesyes] (tests, + tests-pie): Add tst-gmon-pie. + (CFLAGS-tst-gmon-pie.c): New. + (CRT-tst-gmon-pie): Likewise. + (tst-gmon-pie-ENV): Likewise. + [$(have-fpie)$(build-shared) == yesyes] (tests-special): Likewise. + ($(objpfx)tst-gmon-pie.out): Likewise. + (clean-tst-gmon-pie-data): Likewise. + ($(objpfx)tst-gmon-pie-gprof.out): Likewise. + * gmon/gmon.c [PIC]: Include . + [PIC] (callback): New function. + (write_hist): Add an argument for load address. Subtract load + address from PCs. + (write_call_graph): Likewise. + (write_gmon): Call __dl_iterate_phdr to get load address, pass + it to write_hist and write_call_graph. + * gmon/tst-gmon-pie.c: New file. + +2017-10-11 Joseph Myers + + * math/Makefile (test-types-basic): New variable. + (test-types): Likewise. + (libm-test-support): Use $(test-types) instead of $(types). + (libm-tests-base-normal): Likewise. + (libm-tests-base-finite): Likewise. + (libm-tests-base-inline): Likewise. + (generated): Likewise. + ($(objpfx)libm-test-support-$(t).c): Likewise. + (libm-tests-for-type iterator): Likewise. + (libm-test-support iterator): Likewise. + * math/libm-test-support.c (ulp_i_idx): Use ULP_I_IDX. + (ulp_idx): Use ULP_IDX. + * math/test-ldouble.h: Include . + (TYPE_STR): Define conditional on [LDBL_MANT_DIG == DBL_MANT_DIG]. + (ULP_IDX): New macro. + (ULP_I_IDX): Likewise. + * math/test-double.h (ULP_IDX): Likewise. + (ULP_I_IDX): Likewise. + * math/test-float.h (ULP_IDX): Likewise. + (ULP_I_IDX): Likewise. + * math/test-float128.h (ULP_IDX): Likewise. + (ULP_I_IDX): Likewise. + +2017-10-11 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Remove file. + * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h + (SINGLE_THREAD_BY_GLOBAL): Define. + * sysdeps/unix/sysv/linux/aarch64/sysdep.h (SINGLE_THREAD_BY_GLOBAL): + Likewise. + * sysdeps/unix/sysv/linux/alpha/sysdep.h (SINGLE_THREAD_BY_GLOBAL): + Likewise. + * sysdeps/unix/sysv/linux/arm/sysdep.h (SINGLE_THREAD_BY_GLOBAL): + Likewise. + * sysdeps/unix/sysv/linux/hppa/sysdep.h (SINGLE_THREAD_BY_GLOBAL): + Likewise. + * sysdeps/unix/sysv/linux/microblaze/sysdep.h + (SINGLE_THREAD_BY_GLOBAL): Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SINGLE_THREAD_BY_GLOBAL): + Likewise. + +2017-10-11 Andreas Schwab + + * nis/Makefile (aux): Remove. + * nscd/Makefile (aux): Add nscd_hash. + (nscd-modules): Likewise. + ($(objpfx)nscd): Don't depend on libnsl. + * nscd/nscd_hash.c: New file. + * nscd/nscd_hash.h: Likewise. + * nscd/cache.c: Include "nscd_hash.h" instead of . + (cache_search, cache_add): Use __nscd_hash instead of __nis_hash. + * nscd/nscd_helper.c: Include and "nscd_hash.h" + instead of . + (__nscd_cache_search): Use __nscd_hash instead of __nis_hash. + +2017-10-11 Florian Weimer + + [BZ #22078] + Avoid large NSS buffers with many addresses, aliases. + * nss/nss_files/files-hosts.c (gethostbyname3_multi): Rewrite + using dynarrays and struct alloc_buffer. + * nss/Makefile (tests): Add tst-nss-files-hosts-multi. + (tst-nss-files-hosts-multi): Link with -ldl. + * nss/tst-nss-files-hosts-multi.c: New file. + +2017-10-11 Florian Weimer + + [BZ #18023] + * nss/nss_files/files-hosts.c (gethostbyname3_multi): Use struct + scratch_buffer. Eliminate gotos. + +2017-10-11 Joseph Myers + + * sysdeps/ieee754/ldbl-opt/s_clog10l.c: Use + libm_alias_ldouble_other. + * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (weak_alias): Do not + undefine and redefine. + [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] + (exp10l): Do not define here. + * sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c [BUILD_LGAMMA] + (weak_alias): Undefine and redefine. + [BUILD_LGAMMA]: Use libm_alias_ldouble_other. + * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c + [LIBM_SVID_COMPAT] (weak_alias): Undefine and redefine here. + [LIBM_SVID_COMPAT]: Use libm_alias_ldouble_other. + + * soft-fp/fmadf4.c: Include . + [!__fma] (fma): Define using libm_alias_double. + * soft-fp/fmasf4.c: Include . + [!__fmaf] (fmaf): Define using libm_alias_float. + * soft-fp/fmatf4.c: Include . + (fmal): Define using libm_alias_ldouble. + +2017-10-10 Joseph Myers + + * sysdeps/generic/libm-alias-double.h (libm_alias_double_other_r): + New macro. + (libm_alias_double_other): Likewise. + (libm_alias_double_r): Use libm_alias_double_other_r. + * sysdeps/generic/libm-alias-float.h (libm_alias_float_other_r): + New macro. + (libm_alias_float_other): Likewise. + (libm_alias_float_r): Use libm_alias_float_other_r. + * sysdeps/generic/libm-alias-float128.h + (libm_alias_float128_other_r): New macro. + (libm_alias_float128_other): Likewise. + (libm_alias_float128_r): Use libm_alias_float128_other_r. + * sysdeps/generic/libm-alias-ldouble.h + (libm_alias_ldouble_other_r): New macro. + (libm_alias_ldouble_other): Likewise. + (libm_alias_ldouble_r): Use libm_alias_ldouble_other_r. + * sysdeps/ieee754/ldbl-opt/libm-alias-double.h + (libm_alias_double_other_r): New macro. + (libm_alias_double_other): Likewise. + (libm_alias_double_r): Use libm_alias_double_other_r. + * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h + (libm_alias_ldouble_other_r): New macro. + (libm_alias_ldouble_other): Likewise. + (libm_alias_ldouble_r): Use libm_alias_ldouble_other_r. + * math/w_lgamma_main.c: Include . + [!USE_AS_COMPAT]: Use libm_alias_double_other. + * math/w_lgammaf_main.c: Include . + [!USE_AS_COMPAT]: Use libm_alias_float_other. + * math/w_lgammal_main.c: Include . + [!USE_AS_COMPAT]: Use libm_alias_ldouble_other. + * math/w_exp2f.c: Use libm_alias_float_other. + * math/w_expf.c: Likewise. + * math/w_log2f.c: Likewise. + * math/w_logf.c: Likewise. + * math/w_powf.c: Likewise. + * sysdeps/ieee754/flt-32/e_exp2f.c: Include . + [!__exp2f]: Use libm_alias_float_other. + * sysdeps/ieee754/flt-32/e_expf.c: Include . + [!__expf]: Use libm_alias_float_other. + * sysdeps/ieee754/flt-32/e_log2f.c: Include . + [!__log2f]: Use libm_alias_float_other. + * sysdeps/ieee754/flt-32/e_logf.c: Include . + [!__logf]: Use libm_alias_float_other. + * sysdeps/ieee754/flt-32/e_powf.c: Include . + [!__powf]: Use libm_alias_float_other. + +2017-10-10 Florian Weimer + + * nss/nss_files/files-hosts.c (gethostbyname3_multi): New + function. + (_nss_files_gethostbyname3_r): Call it. + +2017-10-09 Joseph Myers + + * sysdeps/generic/math-type-macros.h [!declare_mgen_alias]: Give + error. Remove default definition of declare_mgen_alias. + [!declare_mgen_alias_r]: Likewise. + * sysdeps/generic/math-type-macros-double.h + [!declare_mgen_alias_r] (declare_mgen_alias_r): New macro. + * sysdeps/generic/math-type-macros-float.h [!declare_mgen_alias_r] + (declare_mgen_alias_r): Likewise. + * sysdeps/generic/math-type-macros-float128.h + [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise. + * sysdeps/generic/math-type-macros-ldouble.h + [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise. + * math/w_lgamma_r_template.c (declare_mgen_alias_r_x): Remove + macro. + (declare_mgen_alias_r_s): Likewise. + (declare_mgen_alias_r): Likewise. + * math/w_lgamma_r_compat.c: Include . + (lgamma_r): Define using libm_alias_double_r. + * math/w_lgammaf_r_compat.c: Include . + (lgammaf_r): Define using libm_alias_float_r. + * math/w_lgammal_r_compat.c: Include . + (lgammal_r): Define using libm_alias_ldouble_r. + * sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c: Remove file. + * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise. + +2017-10-09 Adhemerval Zanella + + * lib/glob.c (__glob_pattern_type): Remove now-spurious + extern declaration. + +2017-10-09 Joseph Myers + + * sysdeps/ieee754/ldbl-opt/w_scalbln.c: Remove file. + +2017-10-09 Jonathan Wakely + + [BZ #21326] + * include/features.h [__cplusplus >= 201703] (__USE_ISOC11): Define. + [__cplusplus >= 201103] (__USE_ISOC99): Define. + * math/Makefile (test-math-cxx11): New test. + * math/test-math-cxx11.cc: New file. + +2017-10-08 Christian Brauner + + * login/openpty.c (openpty): Close slave pty file descriptor on error. + + * login/openpty.c (openpty): If defined, use the TIOCGPTPEER ioctl() + call to allocate the slave pty file descriptor. + +2017-10-06 Joseph Myers + + * sysdeps/ieee754/ldbl-128/s_fma.c: Include . + [!__fma] (fma): Define using libm_alias_double. + * sysdeps/ieee754/ldbl-96/s_fma.c: Include . + [!__fma] (fma): Define using libm_alias_double. + + * sysdeps/ieee754/float128/float128_private.h: Include + and . + (libm_alias_ldouble_r): Undefine and redefine. + * sysdeps/ieee754/ldbl-128/s_asinhl.c: Include + . + (asinhl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_atanl.c: Include + . + (atanl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_cbrtl.c: Include + . + (cbrtl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_ceill.c: Include + . + (ceill): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_copysignl.c: Include + . + (copysignl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_cosl.c: Include + . + (cosl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_erfl.c: Include + . + (erfl): Define using libm_alias_ldouble. + (erfcl): Likewise. + * sysdeps/ieee754/ldbl-128/s_expm1l.c: Include + . + (expm1l): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_fabsl.c: Include + . + (fabsl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_floorl.c: Include + . + (floorl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_fmal.c: Include + . + (fmal): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_frexpl.c: Include + . + (frexpl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_fromfpl.c (fromfpl): Define using + libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_fromfpl_main.c: Include + . + * sysdeps/ieee754/ldbl-128/s_fromfpxl.c (fromfpxl): Define using + libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_getpayloadl.c: Include + . + (getpayloadl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_llrintl.c: Include + . + (llrintl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_llroundl.c: Include + . + (llroundl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_logbl.c: Include + . + (logbl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_lrintl.c: Include + . + (lrintl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_lroundl.c: Include + . + (lroundl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_modfl.c: Include + . + (modfl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Include + . + (nearbyintl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_nextafterl.c: Include + . + (nextafterl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_nextupl.c: Include + . + (nextupl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_remquol.c: Include + . + (remquol): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_rintl.c: Include + . + (rintl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_roundevenl.c: Include + . + (roundevenl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_roundl.c: Include + . + (roundl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_setpayloadl.c (setpayloadl): Define + using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_setpayloadl_main.c: Include + . + * sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (setpayloadsigl): + Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_sincosl.c: Include + . + (sincosl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_sinl.c: Include + . + (sinl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_tanhl.c: Include + . + (tanhl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_tanl.c: Include + . + (tanl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_totalorderl.c: Include + . + (totalorderl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_totalordermagl.c: Include + . + (totalordermagl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_truncl.c: Include + . + (truncl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_ufromfpl.c (ufromfpl): Define using + libm_alias_ldouble. + * sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (ufromfpxl): Define using + libm_alias_ldouble. + * sysdeps/ieee754/ldbl-64-128/s_copysignl.c: Include + . + (weak_alias): Do not undefine and redefine. + [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine. + (copysignl): Define with long_double_symbol only if [IS_IN + (libc)]. + * sysdeps/ieee754/ldbl-64-128/s_frexpl.c: Include + . + (weak_alias): Do not undefine and redefine. + [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine. + (frexpl): Define with long_double_symbol only if [IS_IN (libc)]. + * sysdeps/ieee754/ldbl-64-128/s_modfl.c: Include + . + (weak_alias): Do not undefine and redefine. + [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine. + (modfl): Define with long_double_symbol only if [IS_IN (libc)]. + * sysdeps/ieee754/ldbl-64-128/s_asinhl.c: Remove file. + * sysdeps/ieee754/ldbl-64-128/s_atanl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_cbrtl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_ceill.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_cosl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_erfl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_expm1l.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_fabsl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_floorl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_fmal.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_llrintl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_llroundl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_logbl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_lrintl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_lroundl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_remquol.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_rintl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_roundl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_sincosl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_sinl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_tanhl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_tanl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_truncl.c: Likewise. + +2017-10-06 Carlos O'Donell + + [BZ #22111] + * malloc/malloc.c (tcache_shutting_down): Use bool type. + (tcache_thread_freeres): Set tcache_shutting_down before + freeing the tcache. + * malloc/Makefile (tests): Add tst-malloc-tcache-leak. + * malloc/tst-malloc-tcache-leak.c: New file. + +2017-10-06 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/multiarch/memrchr-ppc64.c: Revert + back to powerpc32 file. + * sysdeps/powerpc/powerpc64/multiarch/memrchr.c + (memrchr): Add __memrchr_power8 to ifunc list. + * sysdeps/powerpc/powerpc64/power8/memrchr.S: Mask + extra bytes for unaligned inputs. + +2017-10-06 Joseph Myers + + * sysdeps/ieee754/ldbl-64-128/e_ilogbl.c: Remove file. + * sysdeps/ieee754/ldbl-64-128/s_log1pl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_scalblnl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/s_scalbnl.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/w_scalblnl.c: Likewise. + +2017-10-05 Joseph Myers + + * sysdeps/arm/libm-test-ulps: Update. + + * sysdeps/ieee754/ldbl-96/s_asinhl.c: Include + . + (asinhl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_cbrtl.c: Include + . + (cbrtl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_copysignl.c: Include + . + (copysignl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_cosl.c: Include + . + (cosl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_erfl.c: Include + . + (erfl): Define using libm_alias_ldouble. + (erfcl): Likewise. + * sysdeps/ieee754/ldbl-96/s_fmal.c: Include + . + (fmal): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_frexpl.c: Include + . + (frexpl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_fromfpl.c (fromfpl): Define using + libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_fromfpl_main.c: Include + . + * sysdeps/ieee754/ldbl-96/s_fromfpxl.c (fromfpxl): Define using + libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_getpayloadl.c: Include + . + (getpayloadl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_llrintl.c: Include + . + (llrintl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_llroundl.c: Include + . + (llroundl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_lrintl.c: Include + . + (lrintl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_lroundl.c: Include + . + (lroundl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_modfl.c: Include + . + (modfl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_nextupl.c: Include + . + (nextupl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_remquol.c: Include + . + (remquol): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_roundevenl.c: Include + . + (roundevenl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_roundl.c: Include + . + (roundl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_setpayloadl.c (setpayloadl): Define + using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_setpayloadl_main.c: Include + . + * sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c: Include + . + (setpayloadsigl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_sincosl.c: Include + . + (sincosl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_sinl.c: Include + . + (sinl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_tanhl.c: Include + . + (tanhl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_tanl.c: Include + . + (tanl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_totalorderl.c: Include + . + (totalorderl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_totalordermagl.c: Include + . + (totalordermagl): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_ufromfpl.c (ufromfpl): Define using + libm_alias_ldouble. + * sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (ufromfpxl): Define using + libm_alias_ldouble. + +2017-10-05 Siddhesh Poyarekar + + * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add + memmove_falkor. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Likewise. + * sysdeps/aarch64/multiarch/memmove.c: Likewise. + * sysdeps/aarch64/multiarch/memmove_falkor.S: New file. + + * benchtests/bench-memmove-walk.c: New file. + * benchtests/Makefile (string-benchset): Add it. + + * benchtests/bench-memset-walk.c: New file. + * benchtests/Makefile (string-benchset): Add it. + + * benchtests/bench-memcpy-walk.c: New file. + * benchtests/Makefile (string-benchset): Add it. + +2017-10-05 Florian Weimer + + nscd: Eliminate compilation time dependency in the build output. + * nscd/nscd_stat.c (STATDATA_VERSION) + (STATDATA_VERSION_SELINUX_FLAG, STATDATA_VERSION_FLAGS) + (STATDATA_VERSION_FULL): New macro definitions. + (compilation): Remove. + (struct statdata): Adjust version member. + (send_stats): Set version from STATDATA_VERSION_FULL. + (receive_print_stats): Verify version against STATDATA_VERSION_FULL. + +2017-10-05 Joseph Myers + + * configure.ac (--enable-add-ons): Remove option. + (machine): Do not mention add-ons in comment. + (LIBC_PRECONFIGURE): Likewise. + (add_ons): Remove variable and sanity checks and logic to locate + add-ons. + (add_ons_automatic): Remove variable. + (configured_add_ons): Likewise. + (add_ons_sfx): Likewise. + (add_ons_pfx): Likewise. + (add_on_subdirs): Likewise. + (sysnames_add_ons): Likewise. Remove loop over add-ons and + consideration of add-ons in Implies handling. + (sysdeps_add_ons): Likewise. + * configure: Regenerated. + * libidn/configure.ac: Remove. + * libidn/configure: Likewise. + * sysdeps/unix/inet/configure.ac: New file. + * sysdeps/unix/inet/configure: New generated file. + * sysdeps/unix/inet/Subdirs: Add libidn. + * Makeconfig (sysdeps-srcdirs): Remove variable. + (+sysdep_dirs): Do not include $(sysdeps-srcdirs). + ($(common-objpfx)config.status): Do not depend on add-on files. + ($(common-objpfx)shlib-versions.v.i): Do not mention add-ons in + comment. + (all-subdirs): Do not include $(add-on-subdirs). + * Makefile (dist-prepare): Do not use $(sysdeps-add-ons). + * config.make.in (add-ons): Remove variable. + (add-on-subdirs): Likewise. + (sysdeps-add-ons): Likewise. + * manual/Makefile (add-chapters): Remove. + ($(objpfx)texis): Do not depend on $(add-chapters). + (nonexamples): Do not handle $(add-chapters). + (examples): Do not handle $(add-ons). + (chapters.% top-menu.%): Do not pass '$(add-chapters)' to + libc-texinfo.sh. + * manual/install.texi (Installation): Do not mention add-ons. + (--enable-add-ons): Do not document configure option. + * INSTALL: Regenerated. + * manual/libc-texinfo.sh: Do not handle $2 add-ons argument. + * manual/maint.texi (Hierarchy Conventions): Do not mention + add-ons. + * scripts/build-many-glibcs.py (Glibc.build_glibc): Do not use + --enable-add-ons. + * scripts/gen-sorted.awk: Do not handle Subdirs files from + add-ons. + * scripts/test-installation.pl: Do not handle glibc-compat add-on. + * sysdeps/nptl/Makeconfig: Do not mention add-ons in comment. + +2017-10-05 Andreas Schwab + + [BZ #15142] + * libio/genops.c (_IO_list_all_stamp): Delete. All uses removed. + (_IO_flush_all_lockp): Always lock list_all_lock. + (_IO_flush_all_linebuffered): Likewise. + (_IO_unbuffer_all): Likewise. + +2017-10-05 Florian Weimer + + [BZ #15436] + Do not flush stdio streams on abort. + * stdlib/abort.c (fflush): Remove macro definition. + (abort): Remove stages related to stdio flushing. + +2017-10-05 Florian Weimer + + * gmon/Makefile (CFLAGS-tst-gmon.c): Add -fno-omit-frame-pointer. + +2017-10-05 Stefan Liebler + + * sysdeps/s390/fpu/libm-test-ulps: Regenerated. + +2017-10-05 Florian Weimer + + * support/support_format_hostent.c (support_format_hostent): Add + more error information for NETDB_INTERNAL. + +2017-10-04 H.J. Lu + + * config.h.in (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New. + * include/libc-symbols.h (__hidden_proto_hiddenattr): Add check + for PIC and NO_HIDDEN_EXTERN_FUNC_IN_PIE. + * sysdeps/i386/configure.ac (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New + AC_DEFINE if multi-arch is enabled. + * sysdeps/i386/configure: Regenerated. + +2017-10-04 H.J. Lu + + * Makeconfig (+link-static-before-libc): Use + $(DEFAULT-LDFLAGS-$(@F)). + * elf/Makefile (CRT-tst-tls1-static-non-pie): New. + (LDFLAGS-tst-tls1-static-non-pie): Renamed to ... + (DEFAULT-LDFLAGS-tst-tls1-static-non-pie): This. + +2017-10-04 H.J. Lu + + * elf/Makefile (tests): Add tst-main1. + (modules-names): Add tst-main1mod. + ($(objpfx)tst-main1): New. + (CRT-tst-main1): Likewise. + (LDFLAGS-tst-main1): Likewise. + (LDLIBS-tst-main1): Likewise. + (tst-main1mod.so-no-z-defs): Likewise. + * elf/tst-main1.c: New file. + * elf/tst-main1mod.c: Likewise. + +2017-10-04 H.J. Lu + + * math/test-math-iscanonical.cc (do_test): Return errors != 0. + +2017-10-04 Joseph Myers + + * sysdeps/ieee754/dbl-64/s_fma.c: Include . + (fma): Define using libm_alias_double. + * sysdeps/ieee754/ldbl-opt/s_fma.c: Remove file. + * sysdeps/sparc/sparc32/fpu/s_fma.c: Do not include + . + (fmal): Do not define as compat symbol here. + * sysdeps/alpha/fpu/s_fma.c: New file. + +2017-10-04 Szabolcs Nagy + + * sysdeps/aarch64/dl-machine.h (elf_machine_rela): Expand MIN. + +2017-10-04 Joseph Myers + + [BZ #22229] + * sysdeps/sparc/sparc32/fpu/s_copysign.S: Include + + (copysignl): Define as compat symbol at version GLIBC_2_0 for libm + and libc. + * sysdeps/sparc/sparc32/fpu/s_fabs.S: Include . + (fabsl): Define as compat symbol at version GLIBC_2_0 for libm. + * sysdeps/sparc/sparc32/fpu/s_fma.c: Include . + (fmal): Define as compat symbol at version GLIBC_2_1 for libm. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: + Include + (copysignl): Define as compat symbol at version GLIBC_2_0 for libm + and libc. + (compat_symbol): Undefine and redefine. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include + + (fabsl): Define as compat symbol at version GLIBC_2_0 for libm. + (compat_symbol): Undefine and redefine. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c + [HAVE_AS_VIS3_SUPPORT]: Include . + [HAVE_AS_VIS3_SUPPORT] (fmal): Define as compat symbol at version + GLIBC_2_1 for libm. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Add + GLIBC_2.0 copysignl symbol. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add + GLIBC_2.0 copysignl and fabsl and GLIBC_2.1 fmal symbols. + + * sysdeps/alpha/fpu/s_nearbyint.c: Remove file. + +2017-10-04 Florian Weimer + + * scripts/check-local-headers.sh: Ignore nspr4 header file + directory in addition to nspr. + +2017-10-04 Guido Trentalancia + + [BZ #17956] + * configure.ac (--enable-nss-crypt): Use NSPR include directory. + * configure: Regenerate. + * crypt/Makefile (nss-cpp-flags): New variable. + (CPPFLAGS-sha256-crypt.c, CPPFLAGS-sha512-crypt.c) + (CPPFLAGS-md5-crypt.c): Use it. + * scripts/check-local-headers.sh: Ignore nspr header file + directory. + +2017-10-04 Andreas Schwab + + * nis/Makefile (services): Remove compat. + (libnss_compat-routines, libnss_compat-inhibit-o): Don't define. + ($(objpfx)libnss_compat.so): Remove rule. + * nis/Versions (libnss_compat): Remove. + * nss/Makefile (services): Add compat. + (libnss_compat-routines, libnss_compat-inhibit-o): Define. + * nss/Versions (libnss_compat): Define. + * nss/nss_compat/compat-grp.c: Moved here from nis/nss_compat. + Don't include . Replace bool_t by bool. + * nss/nss_compat/compat-initgroups.c: Likewise. + * nss/nss_compat/compat-pwd.c: Likewise. Include "nisdomain.h" + instead of . + (getpwent_next_nss_netgr): Use __nss_get_default_domain instead of + yp_get_default_domain. + * nss/nss_compat/compat-pwd.c: Likewise. + (getspent_next_nss_netgr): Use __nss_get_default_domain instead of + yp_get_default_domain. + * nss/nss_compat/nisdomain.c: New file. + * nss/nss_compat/nisdomain.h: Likewise. + +2017-10-04 Szabolcs Nagy + + [BZ #22244] + * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Fix x == 0 case. + * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise. + +2017-10-04 Szabolcs Nagy + + [BZ #22243] + * sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c (__ieee754_log10): Use fabs. + * sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c (__ieee754_log2): Likewise. + +2017-10-03 H.J. Lu + + * sysdeps/i386/start.S: Replace "leal main@GOT(%ebx), %eax" with + "movl main@GOTOFF(%ebx), %eax". + +2017-10-03 H.J. Lu + + * sysdeps/i386/dl-machine.h (elf_machine_load_address): Don't + allow undefined _DYNAMIC in PIE libc.a. + * sysdeps/x86_64/dl-machine.h (elf_machine_load_address): + Likewse. + +2017-10-03 H.J. Lu + + * sysdeps/mips/dl-machine.h (elf_machine_load_address): Don't + check _DYNAMIC. + +2017-10-03 H.J. Lu + + * sysdeps/arm/dl-machine.h (elf_machine_load_address): Don't + check _DYNAMIC. + +2017-10-03 H.J. Lu + + * math/test-math-iscanonical.cc (error): Replace bool with int. + +2017-10-03 Joseph Myers + + * sysdeps/ieee754/dbl-64/s_modf.c: Include . + (modf): Define using libm_alias_double, only if [!__modf]. + * sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c: Include + . + (modf): Define using libm_alias_double, only if [!__modf]. + * sysdeps/ieee754/ldbl-opt/s_modf.c (modfl): Only define libc + compat symbol here. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-ppc32.c + (weak_alias): Do not undefine and redefine. + (strong_alias): Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-ppc64.c + (weak_alias): Likewise. + (strong_alias): Likewise. + + * sysdeps/ieee754/dbl-64/s_logb.c: Include . + (logb): Define using libm_alias_double, only if [!__logb]. + * sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c: Include + . + (logb): Define using libm_alias_double, only if [!__logb]. + * sysdeps/ieee754/ldbl-opt/s_logb.c: Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb-ppc32.c + (weak_alias): Do not undefine and redefine. + (strong_alias): Likewise. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-ppc64.c + (weak_alias): Likewise. + (strong_alias): Likewise. + +2017-10-03 H.J. Lu + + * sysdeps/unix/sysv/linux/tile/sysdep.h (SYSCALL_ERROR_NAME): + Check SHARED instead PIC. + +2017-10-03 Joseph Myers + + * sysdeps/ieee754/dbl-64/s_fmaf.c: Include . + [!__fmaf] (fmaf): Define using libm_alias_float. + + * sysdeps/ieee754/dbl-64/s_frexp.c: Include . + (frexp): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c: Include + . + (frexp): Define using libm_alias_double. + * sysdeps/ieee754/ldbl-opt/s_frexp.c (frexpl): Only define libc + compat symbol here. + +2017-10-03 Gabriel F. T. Gomes + + [BZ #22235] + * math/math.h: Trivial fix for unbalanced parentheses in comment. + * math/Makefile [CXX] (tests): Add test-math-iscanonical.cc. + (CFLAGS-test-math-iscanonical.cc): New variable. + * math/test-math-iscanonical.cc: New file. + * sysdeps/ieee754/ldbl-96/bits/iscanonical.h (iscanonical): + Provide a C++ implementation based on function overloading, + rather than using __MATH_TG, which uses C-only builtins. + * sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h (iscanonical): + Likewise. + * sysdeps/powerpc/powerpc64le/Makefile + (CFLAGS-test-math-iscanonical.cc): New variable. + +2017-10-03 Joseph Myers + + * sysdeps/ieee754/dbl-64/s_ceil.c: Include . + (ceil): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_floor.c: Include . + (floor): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_llround.c: Include + . + (llround): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_lround.c: Include + . + (lround): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_nearbyint.c: Include + . + (nearbyint): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_remquo.c: Include + . + (remquo): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_rint.c: Include . + (rint): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_round.c: Include . + (round): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_trunc.c: Include . + (trunc): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Include + . + (ceil): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Include + . + (floor): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c: Include + . + (llround): Define using libm_alias_double. + [_LP64] (lround): Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Include + . + [!_LP64] (lround): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Include + . + (nearbyint): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c: Include + . + (remquo): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Include + . + (rint): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Include + . + (round): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: Include + . + (trunc): Define using libm_alias_double. + * sysdeps/ieee754/ldbl-opt/s_ceil.c: Remove file. + * sysdeps/ieee754/ldbl-opt/s_floor.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_llround.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_lround.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_nearbyint.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_remquo.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_rint.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_round.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_trunc.c: Likewise. + +2017-10-03 Szabolcs Nagy + + * math/w_remainder.c: New file. + * math/w_remainderf.c: New file. + * math/w_remainderl.c: New file. + +2017-10-03 H.J. Lu + + * elf/rtld.c (BOOTSTRAP_MAP): New. + (RESOLVE_MAP): Replace (&bootstrap_map) with BOOTSTRAP_MAP. + * sysdeps/hppa/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): + Likewise. + * sysdeps/ia64/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): + Likewise. + * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): + Likewise. + +2017-10-03 Samuel Thibault + + * include/libc-symbols.h [NO_RTLD_HIDDEN] (rtld_hidden_proto, + rtld_hidden_tls_proto, rtld_hidden_def, rtld_hidden_weak, + rtld_hidden_rtld_hidden_ver, data_def, rtld_hidden_data_weak, + rtld_hidden_data_ver): Define to empty. + * include/assert.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__assert_fail, + __assert_perror_fail): Likewise. + * include/dirent.h [IS_IN(rtld) && NO_RTLD_HIDDEN] + (__rewinddir): Likewise. + * include/libc-internal.h [IS_IN(rtld) && NO_RTLD_HIDDEN] + (__profile_frequency): Likewise. + * include/setjmp.h (__sigsetjmp): Likewise. + * include/signal.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__sigaction, + __libc_sigaction): Likewise. + * include/stdlib.h [NO_RTLD_HIDDEN] (unsetenv, __strtoul_internal): Do + not set hidden attribute. + * include/string.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__stpcpy, __strdup, + __strerror_t, __strsep_g, memchr, memcmp, memcpy, memmove, memset, + rawmemchr, stpcpy, strchr, strcmp, strlen, strnlen, strsep): Likewise. + * include/sys/stat.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__fxstat, + __fxstat64, __lxstat, __lxstat64, __xstat, __xstat64, + __fxstatat64): Likewise. + * include/sys/utsname.h [IS_IN(rtld) && NO_RTLD_HIDDEN] + (__uname): Likewise. + * include/sysdeps/generic/_itoa.h [IS_IN(rtld) && NO_RTLD_HIDDEN] + (_itoa_upper_digits, _itoa_lower_digits): Likewise. + * sysdeps/mach/hurd/configure.ac (NO_HIDDEN): Do not set. + (NO_RTLD_HIDDEN): Set. + * sysdeps/mach/hurd/configure: Refresh. + * config.h.in: Refresh. + +2017-10-02 Joseph Myers + + * sysdeps/ieee754/dbl-64/s_atan.c: Include . + (atan): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_tan.c: Include . + (tan): Define using libm_alias_double. + * sysdeps/ieee754/ldbl-opt/s_atan.c: Remove file. + * sysdeps/ieee754/ldbl-opt/s_tan.c: Likewise. + + * sysdeps/ieee754/dbl-64/s_atan.c (atan): Rename to __atan and + define as weak alias of __atan. Do not define any aliases if + [__atan]. + [NO_LONG_DOUBLE] (__atanl): Define as strong alias of __atan. + [NO_LONG_DOUBLE] (atanl): Define as weak alias of __atanl. + * sysdeps/ieee754/dbl-64/s_tan.c (tan): Rename to __tan and define + as weak alias of __tan. Do not define any aliases if [__tan]. + [NO_LONG_DOUBLE] (__tanl): Define as strong alias of __tan. + [NO_LONG_DOUBLE] (tanl): Define as weak alias of __tanl. + * sysdeps/x86_64/fpu/multiarch/s_atan-avx.c (atan): Rename to + __atan. + * sysdeps/x86_64/fpu/multiarch/s_atan-fma.c (atan): Likewise. + * sysdeps/x86_64/fpu/multiarch/s_atan-fma4.c (atan): Likewise. + * sysdeps/x86_64/fpu/multiarch/s_atan.c (atan): Rename to __atan + and define as weak alias of __atan. + * sysdeps/x86_64/fpu/multiarch/s_tan-avx.c (tan): Rename to + __atan. + * sysdeps/x86_64/fpu/multiarch/s_tan-fma.c (tan): Likewise. + * sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c (tan): Likewise. + * sysdeps/x86_64/fpu/multiarch/s_tan.c (tan): Rename to __tan and + define as weak alias of __tan. + +2017-10-02 Szabolcs Nagy + + * math/w_lgamma.c: New file. + * math/w_lgammaf.c: New file. + * math/w_lgammal.c: New file. + +2017-10-02 Szabolcs Nagy + + * sysdeps/ieee754/flt-32/e_log2f.c (__log2f): Define without wrapper. + * sysdeps/ieee754/flt-32/e_logf.c (__logf): Likewise + * sysdeps/ieee754/flt-32/e_powf.c (__powf): Likewise + * sysdeps/ieee754/flt-32/w_log2f.c: New file. + * sysdeps/ieee754/flt-32/w_logf.c: New file. + * sysdeps/ieee754/flt-32/w_powf.c: New file. + * sysdeps/i386/fpu/w_log2f.c: New file. + * sysdeps/i386/fpu/w_logf.c: New file. + * sysdeps/i386/fpu/w_powf.c: New file. + * sysdeps/m68k/m680x0/fpu/w_log2f.c: New file. + * sysdeps/m68k/m680x0/fpu/w_logf.c: New file. + * sysdeps/m68k/m680x0/fpu/w_powf.c: New file. + +2017-10-02 Szabolcs Nagy + H.J. Lu + + * sysdeps/ieee754/flt-32/e_exp2f.c (__exp2f): Define without wrapper. + * sysdeps/ieee754/flt-32/e_expf.c (__expf): Likewise + * sysdeps/ieee754/flt-32/w_exp2f.c: New file. + * sysdeps/ieee754/flt-32/w_expf.c: New file. + * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-ppc64.c: Update for + the new expf code. + * sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c: New file. + * sysdeps/powerpc/powerpc64/power8/fpu/w_expf.c: New file. + * sysdeps/m68k/m680x0/fpu/w_exp2f.c: New file. + * sysdeps/m68k/m680x0/fpu/w_expf.c: New file. + * sysdeps/i386/fpu/w_exp2f.c: New file. + * sysdeps/i386/fpu/w_expf.c: New file. + * sysdeps/i386/i686/fpu/multiarch/w_expf.c: New file. + * sysdeps/x86_64/fpu/w_expf.c: New file. + +2017-10-02 Szabolcs Nagy + + * math/Versions (logf): New libm symbol at GLIBC_2.27. + (log2f): Likewise. + (powf): Likewise. + * math/w_log2f.c: New file. + * math/w_logf.c: New file. + * math/w_powf.c: New file. + * math/w_log2f_compat.c (__log2f_compat): For compat symbol only. + * math/w_logf_compat.c (__logf_compat): Likewise. + * math/w_powf_compat.c (__powf_compat): Likewise. + * sysdeps/ia64/fpu/e_log2f.S: Add versioned symbols. + * sysdeps/ia64/fpu/e_logf.S: Likewise. + * sysdeps/ia64/fpu/e_powf.S: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + +2017-10-02 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/multiarch/Makefile + (sysdep_routines): Add memrchr_power8. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c + (memrchr): Add __memrchr_power8 to list of memrchr functions. + * sysdeps/powerpc/powerpc64/multiarch/memrchr-power8.S: + New file. + * sysdeps/powerpc/powerpc64/multiarch/memrchr.c + (memrchr): Add __memrchr_power8 to ifunc list. + * sysdeps/powerpc/powerpc64/power8/memrchr.S: New file. + +2017-10-01 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/posix_fadvise64.c + (__posix_fadvise64_l64): Add Add libc_hidden_proto and + libc_hidden_def. + * sysdeps/unix/sysv/linux/posix_fallocate64.c + (__posix_fallocate64_l64): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/sched_setaffinity.c + (__sched_setaffinity_new): Add libc_hidden_proto and + libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/glob.h (__glob64): Add libc_hidden_proto. + * sysdeps/unix/sysv/linux/glob64.c (__glob64): Add + libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/getrlimit64.c (__new_getrlimit): Add + attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * stdlib/exit.h (__new_exitfn): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * mon/gmon.c (__moncontrol): Add libc_hidden_proto and + libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * csu/version.c (__libc_print_version): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/libc-internal.h (__init_misc): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/fpu_control.h (__setfpucw): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * nscd/nscd_helper.c (__nis_hash): New prototype. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/termios.h (__tcgetattr): Add libc_hidden_proto. + * sysdeps/unix/bsd/tcgetattr.c (__tcgetattr): Add + libc_hidden_def. + * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Likewise. + * termios/tcgetattr.c (__tcgetattr): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/sys/resource.h (__setrlimit): Add libc_hidden_proto. + * resource/setrlimit.c (__setrlimit): Add libc_hidden_def. + * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Likewise. + * sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Likewise. + * sysdeps/unix/sysv/linux/setrlimit64.c (__GI___setrlimit): New. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/monetary.h (__vstrfmon_l): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/sched.h (__sched_setparam): Add libc_hidden_proto. + * posix/sched_setp.c (__sched_setparam): Add libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * intl/hash-string.h (__hash_string): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/mntent.h (__hasmntopt): Add libc_hidden_proto. + * misc/mntent_r.c (__hasmntopt): Add libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/ifreq.h: New file. + * sysdeps/generic/ifreq.h (__if_nextreq): Removed. + (__ifreq): Likewise. + * sysdeps/mach/hurd/ifreq.h (__if_nextreq): Removed. + (__ifreq): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/idna.h: New file. + * inet/getnameinfo.c: Include instead of + . + (__idna_to_unicode_lzlz): Removed. + * sysdeps/posix/getaddrinfo.c: Include instead of + . + (__idna_to_ascii_lz): Removed. + (__idna_to_unicode_lzlz): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/plural-exp.h: New file. + * intl/plural-exp.c: Include instead of + "plural-exp.h". + +2017-10-01 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/getsourcefilter.c: Include + "getsourcefilter.h". + * sysdeps/unix/sysv/linux/getsourcefilter.h: New file. + * sysdeps/unix/sysv/linux/setsourcefilter.c: Include + "getsourcefilter.h". + (__get_sol): Removed. + +2017-10-01 H.J. Lu + + [BZ #18822] + * elf/dl-iteratephdr.c (hidden_proto (__dl_iterate_phdr)): Moved + to ... + * include/link.h (hidden_proto (__dl_iterate_phdr)): Here. + +2017-10-01 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/getpt.c (__bsd_getpt): Add + attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * libio/iolibio.h (__fopen_maybe_mmap): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/search.h (__tdestroy): Add libc_hidden_proto. + * misc/tsearch.c (__tdestroy): Add libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/assert.h (__assert_fail_base): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/include/sys/sysinfo.h (__sysinfo): Add + attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/signal.h (__kill): Add libc_hidden_proto. + (__sigblock): Likewise. + (__sigprocmask): Likewise. + (__sigaltstack): Likewise. + * signal/kill.c (__kill): Add libc_hidden_def. + * signal/sigblock.c (__sigblock): Likewise. + * signal/sigprocmask.c (__sigprocmask): Likewise. + * sysdeps/mach/hurd/kill.c (__kill): Likewise. + * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise. + * sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Likewise. + * sysdeps/posix/sigblock.c (__sigblock): Likewise. + * sysdeps/unix/sysv/linux/alpha/sigprocmask.c (__sigprocmask): + Likewise. + * sysdeps/unix/sysv/linux/ia64/sigprocmask.c (__sigprocmask): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c + (__sigprocmask): Likewise. + * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): + Likewise. + * /sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c + (__sigprocmask): Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c (__sigprocmask): + Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/string.h (__strsep): Add libc_hidden_proto. + * string/strsep.c (__strsep): Add libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * posix/spawn_int.h (__posix_spawn_file_actions_realloc): Add + attribute_hidden. + (__spawni): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/sys/mman.h (__mremap): Add libc_hidden_proto. + * sysdeps/unix/sysv/linux/m68k/mremap.S (__mremap): Add + libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/malloc.h (__malloc_check_init): Add attribute_hidden. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/sys/ioctl.h (__ioctl): Add libc_hidden_proto. + * misc/ioctl.c (__ioctl): Add libc_hidden_def. + * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. + * sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S (__ioctl): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * intl/gettextP.h (__dcngettext): Add attribute_hidden. + (__dcigettext): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/sys/sysinfo.h (__get_nprocs_conf): Add + libc_hidden_proto. + (__get_nprocs): Likewise. + (__get_phys_pages): Likewise. + (__get_avphys_pages): Likewise. + (__get_child_max): Add attribute_hidden. + * misc/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def. + (__get_nprocs): Likewise. + (__get_phys_pages): Likewise. + (__get_avphys_pages): Likewise. + * sysdeps/mach/getsysstats.c (__get_nprocs_conf): Add + libc_hidden_def. + (__get_nprocs): Likewise. + (__get_phys_pages): Likewise. + (__get_avphys_pages): Likewise. + * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Add + libc_hidden_def. + (__get_nprocs_conf): Likewise. + (__get_phys_pages): Likewise. + (__get_avphys_pages): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_open): Add + attribute_hidden. + (__netlink_close): Likewise. + (__netlink_free_handle): Likewise. + (__netlink_request): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/rpc/rpc.h (__rpc_thread_variables): Add + attribute_hidden. + (__rpc_thread_svc_cleanup): Likewise. + (__rpc_thread_clnt_cleanup): Likewise. + (__rpc_thread_key_cleanup): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/sys/uio.h (__readv): Add libc_hidden_proto. + (__writev): Likewise. + * misc/readv.c (__readv): Add libc_hidden_def. + * misc/writev.c (__writev): Likewise. + * sysdeps/posix/readv.c (__readv): Likewise. + * sysdeps/posix/writev.c (__writev): Likewise. + * sysdeps/unix/sysv/linux/readv.c: Include . + (__readv): Likewise. + * sysdeps/unix/sysv/linux/writev.c: Include . + (__writev): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/regex.h (__re_compile_fastmap): Add attribute_hidden. + (__regcomp): Add libc_hidden_proto. + (__regexec): Likewise. + (__regfree): Likewise. + * posix/regcomp.c (__regcomp): Add libc_hidden_def. + (__regfree): Likewise. + * posix/regexec.c (__regexec): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/utmp.h (__updwtmp): Add libc_hidden_proto. + (__getutent): Likewise. + (__getutid): Likewise. + (__getutline): Likewise. + (__pututline): Likewise. + (__getutent_r): Likewise. + (__getutid_r): Likewise. + (__getutline_r): Likewise. + (__utmpname): Add attribute_hidden. + (__setutent): Likewise. + (__endutent): Likewise. + * login/getutent.c (__getutent): Add libc_hidden_def. + * login/getutent_r.c (__getutent_r): Likewise. + (__pututline): Likewise. + * login/getutid.c (__getutid): Likewise. + * login/getutid_r.c (__getutid_r): Likewise. + * login/getutline.c (__getutline): Likewise. + * login/getutline_r.c (__getutline_r): Likewise. + * login/updwtmp.c (__updwtmp): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/dirent.h (__opendir): Always add attribute_hidden. + (__fdopendir): Likewise. + (__closedir): Likewise. + (__readdir): Likewise. + (__readdir64): Add libc_hidden_proto. + * sysdeps/mach/hurd/readdir64.c (__readdir64): Add libc_hidden_def. + * sysdeps/unix/sysv/linux/i386/readdir64.c (__readdir64): Likewise. + * sysdeps/unix/sysv/linux/readdir64.c (__readdir64): Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/readdir.c (__GI___readdir64): + New alias. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/aliases.h (__getaliasbyname_r): Add attribute_hidden. + * include/netdb.h (__gethostbyaddr_r): Likewise. + (__gethostbyname_r): Likewise. + (__gethostbyname2_r): Likewise. + (__getnetbyaddr_r): Likewise. + (__getnetbyname_r): Likewise. + (__getservbyname_r): Likewise. + (__getservbyport_r): Likewise. + (__getprotobyname_r): Likewise. + (__getprotobynumber_r): Likewise. + (__getnetgrent_r): Likewise. + * include/rpc/netdb.h (__getrpcbyname_r): Likewise. + (__getrpcbynumber_r): Likewise. + * nss/getXXbyYY.c (INTERNAL (REENTRANT_NAME)): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/stdio.h (__fcloseall): Add attribute_hidden. + (__getline): Likewise. + (__path_search): Likewise. + (__gen_tempname): Likewise. + (__libc_message): Likewise. + (__flockfile): Likewise. + (__funlockfile): Likewise. + (__fxprintf): Likewise. + (__fxprintf_nocancel): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/gshadow.h (__fgetsgent_r): Add attribute_hidden. + (__sgetsgent_r): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/sys/statfs.h (__fstatfs): Add attribute_hidden. + (__statfs64): Likewise. + (__fstatfs64): Likewise. + * include/sys/statvfs.h (__statvfs64): Likewise. + (__fstatvfs64): Likewise. + * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max): Likewise. + (__statfs_filesize_max): Likewise. + (__statfs_symlinks): Likewise. + (__statfs_chown_restricted): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/time.h (__tzstring): Add attribute_hidden. + (__tzfile_read): Likewise. + (__tzfile_compute): Likewise. + (__tzfile_default): Likewise. + (__tzset_parse_tz): Likewise. + (__offtime): Likewise. + (__asctime_r): Likewise. + (__tzset): Likewise. + (__tz_convert): Likewise. + (__getdate_r): Likewise. + (__getclktck): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * nscd/nscd-client.h (__nscd_get_map_ref): Add attribute_hidden. + (__nscd_unmap): Likewise. + (__nscd_cache_search): Likewise. + (__nscd_get_nl_timestamp): Likewise. + (__nscd_getpwnam_r): Likewise. + (__nscd_getpwuid_r): Likewise. + (__nscd_getgrnam_r): Likewise. + (__nscd_getgrgid_r): Likewise. + (__nscd_gethostbyname_r): Likewise. + (__nscd_gethostbyname2_r): Likewise. + (__nscd_gethostbyaddr_r): Likewise. + (__nscd_getai): Likewise. + (__nscd_getgrouplist): Likewise. + (__nscd_getservbyname_r): Likewise. + (__nscd_getservbyport_r): Likewise. + (__nscd_innetgr): Likewise. + (__nscd_setnetgrent): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/gmp.h: Declare internal functions only if _ISOMAC is + undefined. + (__mpn_extract_double): Add attribute_hidden. + (__mpn_extract_long_double): Likewise. + (__mpn_extract_float128): Likewise. + (__mpn_construct_float): Likewise. + (__mpn_construct_double): Likewise. + (__mpn_construct_long_double): Likewise. + (__mpn_construct_float128): Likewise. + (mpn_add_1): Likewise. + (mpn_addmul_1): Likewise. + (mpn_add_n): Likewise. + (mpn_cmp): Likewise. + (mpn_divrem): Likewise. + (mpn_lshift): Likewise. + (mpn_mul): Likewise. + (mpn_mul_1): Likewise. + (mpn_rshift): Likewise. + (mpn_sub_1): Likewise. + (mpn_submul_1): Likewise. + (mpn_sub_n): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/wchar.h (__wcsnlen): Add attribute_hidden. + (__wcscat): Likewise. + (__btowc): Likewise. + (__wcrtomb): Likewise. + (__mbsrtowcs): Likewise. + (__wcsrtombs): Likewise. + (__mbsnrtowcs): Likewise. + (__wcsnrtombs): Likewise. + (__wcsncpy): Likewise. + (__wcpncpy): Likewise. + (__wmemcpy): Likewise. + (__wmempcpy): Likewise. + (__wmemmove): Likewise. + (__wcschrnul): Likewise. + (__vfwscanf): Likewise. + (__vswprintf): Likewise. + (__fwprintf): Likewise. + (__vfwprintf): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/grp.h (__fgetgrent_r): Add attribute_hidden. + (__getgrgid_r): Likewise. + (__getgrnam_r): Likewise. + * include/pwd.h (__getpwuid_r): Likewise. + (__getpwnam_r): Likewise. + (__fgetpwent_r): Likewise. + * include/shadow.h (__getspnam_r): Likewise. + (__sgetspent_r): Likewise. + (__fgetspent_r): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/unistd.h (__access): Add attribute_hidden. + (__lseek64): Likewise. + (__libc_pread64): Likewise. + (__pipe2): Likewise. + (__sleep): Likewise. + (__chdir): Likewise. + (__fchdir): Likewise. + (__getcwd): Likewise. + (__rmdir): Likewise. + (__execvpe): Likewise. + (__execve): Likewise. + (__setsid): Likewise. + (__getuid): Likewise. + (__geteuid): Likewise. + (__getgid): Likewise. + (__getegid): Likewise. + (__getgroups): Likewise. + (__group_member): Likewise. + (__ttyname_r): Likewise. + (__isatty): Likewise. + (__readlink): Likewise. + (__unlink): Likewise. + (__gethostname): Likewise. + (__profil): Likewise. + (__getdtablesize): Likewise. + (__brk): Likewise. + (__ftruncate): Likewise. + (__ftruncate64): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * argp/argp-fmtstream.c: Include . + * argp/argp-fs-xinl.c: Likewise. + * argp/argp-help.c: Include and . + * argp/argp-parse.c: Include . + * argp/argp-xinl.c: Likewise. + * include/argp-fmtstream.h: New file. + * include/argp.h (__argp_error): Add attribute_hidden. + (__argp_failure): Likewise. + (__argp_input): Likewise. + (__argp_state_help): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/wchar.h (____wcstof_l_internal): New prototype. + (____wcstod_l_internal): Likewise. + (____wcstold_l_internal): Likewise. + (____wcstol_l_internal): Likewise. + (____wcstoul_l_internal): Likewise. + (____wcstoll_l_internal): Likewise. + (____wcstoull_l_internal): Likewise. + (____wcstof128_l_internal): Likewise. + * sysdeps/ieee754/float128/wcstof128.c + (____wcstof128_l_internal): Removed. + * sysdeps/ieee754/float128/wcstof128_l.c + (____wcstof128_l_internal): Likewise. + * wcsmbs/wcstod.c (____wcstod_l_internal): Likewise. + * wcsmbs/wcstod_l.c (____wcstod_l_internal): Likewise. + * wcsmbs/wcstof.c (____wcstof_l_internal): Likewise. + * wcsmbs/wcstof_l.c (____wcstof_l_internal): Likewise. + * wcsmbs/wcstol_l.c (____wcstol_l_internal): Likewise. + * wcsmbs/wcstold.c (____wcstold_l_internal): Likewise. + * wcsmbs/wcstold_l.c (____wcstold_l_internal): Likewise. + * wcsmbs/wcstoll_l.c (____wcstoll_l_internal): Likewise. + * wcsmbs/wcstoul_l.c (____wcstoul_l_internal): Likewise. + * wcsmbs/wcstoull_l.c (____wcstoull_l_internal): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/fstatvfs.c: Include "internal_statvfs.h" + instead of . + (__internal_statvfs): Removed. + * sysdeps/unix/sysv/linux/fstatvfs64.c Include "internal_statvfs.h" + instead of . + (__internal_statvfs64): Removed. + * sysdeps/unix/sysv/linux/internal_statvfs.c: Include + "internal_statvfs.h" instead of . + * sysdeps/unix/sysv/linux/internal_statvfs.h: New file. + * sysdeps/unix/sysv/linux/statvfs.c Include "internal_statvfs.h" + instead of . + (__internal_statvfs): Removed. + * sysdeps/unix/sysv/linux/statvfs64.c Include "internal_statvfs.h" + instead of . + (__internal_statvfs64): Removed. + +2017-10-01 H.J. Lu + + [BZ #18822] + * iconv/gconv_int.h (__gconv_open): Add attribute_hidden. + (__gconv_close): Likewise. + (__gconv): Likewise. + (__gconv_find_transform): Likewise. + (__gconv_lookup_cache): Likewise. + (__gconv_compare_alias_cache): Likewise. + (__gconv_load_cache): Likewise. + (__gconv_get_path): Likewise. + (__gconv_close_transform): Likewise. + (__gconv_release_cache): Likewise. + (__gconv_find_shlib): Likewise. + (__gconv_release_shlib): Likewise. + (__gconv_get_builtin_trans): Likewise. + (__gconv_compare_alias): Likewise. + * include/dlfcn.h (_dlerror_run): Likewise. + * include/stdio.h (__fortify_fail_abort): Likewise. + * include/time.h (__tz_compute): Likewise. + (__strptime_internal): Likewise. + * intl/gettextP.h (_nl_find_domain): Likewise. + (_nl_load_domain): Likewise. + (_nl_find_msg): Likewise. + * intl/plural-exp.h (FREE_EXPRESSION): Likewise. + (EXTRACT_PLURAL_EXPRESSION): Likewise. + * locale/coll-lookup.h (__collidx_table_lookup): Likewise. + * resolv/gai_misc.h (__gai_enqueue_request): Likewise. + (__gai_find_request): Likewise. + (__gai_remove_request): Likewise. + (__gai_notify): Likewise. + (__gai_notify_only): Likewise. + * sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise. + * sysdeps/generic/ldsodefs.h (_dl_fini): Likewise. + (_dl_non_dynamic_init): Likewise. + (_dl_aux_init): Likewise. + * sysdeps/i386/machine-gmon.h (mcount_internal): Likewise. + * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64): + Likewise. + * wcsmbs/wcsmbsload.h (__wcsmbs_load_conv): Likewise. + (__wcsmbs_clone_conv): Likewise. + (__wcsmbs_named_conv): Likewise. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/stdlib.h (__random): Add attribute_hidden. + (__random_r): Likewise. + (__srandom_r): Likewise. + (__initstate_r): Likewise. + (__setstate_r): Likewise. + (__erand48_r): Likewise. + (__nrand48_r): Likewise. + (__jrand48_r): Likewise. + (__srand48_r): Likewise. + (__seed48_r): Likewise. + (__lcong48_r): Likewise. + (__drand48_iterate): Likewise. + (__setenv): Likewise. + (__unsetenv): Likewise. + (__clearenv): Likewise. + (__ptsname_r): Likewise. + (__posix_openpt): Likewise. + (__add_to_environ): Likewise. + (__realpath): Add libc_hidden_proto. + (__ecvt_r): Likewise. + (__fcvt_r): Likewise. + (__qecvt_r): Likewise. + (__qfcvt_r): Likewise. + * misc/efgcvt_r.c (cvt_symbol_1): Add libc_hidden_def (local). + * stdlib/canonicalize.c (__realpath): Add libc_hidden_def. + +2017-10-01 H.J. Lu + + [BZ #18822] + * include/stdlib.h (__ptsname_internal): Add attribute_hidden. + * include/time.h (__mktime_internal): Likewise. + * libio/iolibio.h (__fopen_internal): Likewise. + +2017-10-01 John David Anglin + + * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Save return + pointer in frame. + * sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext): Likewise. + Correct offset used to restore PIC register. + +2017-09-30 John David Anglin + + [BZ libc/22165] + * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Use PIC + code to load address of __getcontext_ret when generating PIC code. + +2017-09-30 H.J. Lu + + * elf/Makefile (tests-static-internal): Add + tst-tls1-static-non-pie. + (LDFLAGS-tst-tls1-static-non-pie): New. + * elf/tst-tls1-static-non-pie.c: New file. + +2017-09-29 Joseph Myers + + * sysdeps/ieee754/dbl-64/s_asinh.c: Include . + (asinh): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_cbrt.c: Include . + (cbrt): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_copysign.c: Include + . + (copysign): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_erf.c: Include . + (erf): Define using libm_alias_double. + (erfc): Likewise. + * sysdeps/ieee754/dbl-64/s_expm1.c: Include . + (expm1): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_fabs.c: Include . + (fabs): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_fromfp.c (fromfp): Define using + libm_alias_double. + * sysdeps/ieee754/dbl-64/s_fromfp_main.c: Include + . + * sysdeps/ieee754/dbl-64/s_fromfpx.c (fromfpx): Define using + libm_alias_double. + * sysdeps/ieee754/dbl-64/s_getpayload.c: Include + . + (getpayload): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_llrint.c: Include + . + (llrint): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_lrint.c: Include . + (lrint): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_nextup.c: Include + . + (nextup): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_roundeven.c: Include + . + (roundeven): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_setpayload.c (setpayload): Define using + libm_alias_double. + * sysdeps/ieee754/dbl-64/s_setpayload_main.c: Include + . + * sysdeps/ieee754/dbl-64/s_setpayloadsig.c (setpayloadsig): Define + using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_sin.c: Include . + (cos): Define using libm_alias_double. + (sin): Likewise. + * sysdeps/ieee754/dbl-64/s_sincos.c: Include + . + (sincos): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_tanh.c: Include . + (tanh): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_totalorder.c: Include + . + (totalorder): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_totalordermag.c: Include + . + (totalordermag): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/s_ufromfp.c (ufromfp): Define using + libm_alias_double. + * sysdeps/ieee754/dbl-64/s_ufromfpx.c (ufromfpx): Define using + libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c: Include + . + (getpayload): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c: Include + . + (roundeven): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_setpayload_main.c: Include + . + * sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c: Include + . + (totalorder): Define using libm_alias_double. + * sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c: Include + . + (totalordermag): Define using libm_alias_double. + * sysdeps/ieee754/ldbl-opt/s_copysign.c (copysignl): Only define + libc compat symbol here. + * sysdeps/ieee754/ldbl-opt/s_asinh.c: Remove file. + * sysdeps/ieee754/ldbl-opt/s_cbrt.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_erf.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_expm1.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_fabs.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_llrint.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_lrint.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_sin.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_sincos.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_tanh.c: Likewise. + +2017-09-29 H.J. Lu + + * sysdeps/arm/dl-machine.h (elf_machine_load_address): Use + _dl_relocate_static_pie instead of _dl_start to compute load + address in static PIE. Return 0 if _DYNAMIC is undefined for + static executable. + +2017-09-29 H.J. Lu + + * sysdeps/mips/dl-machine.h (elf_machine_dynamic): Return 0 if + _DYNAMIC is undefined for static executable. + +2017-09-29 H.J. Lu + + * sysdeps/arm/start.S (_start): Check PIC instead of SHARED. + +2017-09-29 Joseph Myers + + * sysdeps/x86_64/fpu/libm-test-ulps: Update. + +2017-09-29 Wilco Dijkstra + + * sysdeps/ieee754/dbl-64/e_lgamma_r.c + (__ieee754_lgamma_r): Use fabs rather than __fabs. + * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise. + * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise. + * sysdeps/ieee754/flt-32/e_lgammaf_r.c + (__ieee754_lgammaf_r): Use fabsf rather than __fabsf. + * sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise. + * sysdeps/ieee754/flt-32/e_log2f.c (__ieee754_log2f): Likewise. + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c + (__ieee754_lgammal_r): Use fabsl rather than __fabsl. + * sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise. + * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c + (__ieee754_lgammal_r): Use fabsl rather than __fabsl. + * sysdeps/ieee754/ldbl-128ibm/e_log10l.c (__ieee754_log10l): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise. + * sysdeps/powerpc/nofpu/Makefile: Add -fno-builtin-fabsl for BZ #29253. + +2017-09-29 Wilco Dijkstra + + * math/bits/cmathcalls.h (cimag): Remove inline. + (creal): Remove inline. + (conj): Remove inline. + +2017-09-29 Szabolcs Nagy + + * math/Makefile (type-float-routines): Add e_powf_log2_data. + * sysdeps/ieee754/flt-32/e_powf.c: New implementation. + * sysdeps/ieee754/flt-32/e_powf_log2_data.c: New file. + * sysdeps/ieee754/flt-32/math_config.h (__powf_log2_data): Define. + (issignalingf_inline): Likewise. + (POWF_LOG2_TABLE_BITS): Likewise. + (POWF_LOG2_POLY_ORDER): Likewise. + (POWF_SCALE_BITS): Likewise. + (POWF_SCALE): Likewise. + * sysdeps/i386/fpu/e_powf_log2_data.c: New file. + * sysdeps/ia64/fpu/e_powf_log2_data.c: New file. + * sysdeps/m68k/m680x0/fpu/e_powf_log2_data.c: New file. + +2017-09-29 Szabolcs Nagy + + * math/Makefile (type-float-routines): Add e_log2f_data. + * sysdeps/ieee754/flt-32/e_log2f.c: New implementation. + * sysdeps/ieee754/flt-32/e_log2f_data.c: New file. + * sysdeps/ieee754/flt-32/math_config.h (__log2f_data): Define. + (LOG2F_TABLE_BITS, LOG2F_POLY_ORDER): Define. + * sysdeps/i386/fpu/e_log2f_data.c: New file. + * sysdeps/ia64/fpu/e_log2f_data.c: New file. + * sysdeps/m68k/m680x0/fpu/e_log2f_data.c: New file. + +2017-09-29 Szabolcs Nagy + + * math/Makefile (type-float-routines): Add e_logf_data. + * sysdeps/ieee754/flt-32/e_logf.c: New implementation. + * sysdeps/ieee754/flt-32/e_logf_data.c: New file. + * sysdeps/ieee754/flt-32/math_config.h (__logf_data): Define. + (LOGF_TABLE_BITS, LOGF_POLY_ORDER): Define. + * sysdeps/i386/fpu/e_logf_data.c: New file. + * sysdeps/ia64/fpu/e_logf_data.c: New file. + * sysdeps/m68k/m680x0/fpu/e_logf_data.c: New file. + +2017-09-28 H.J. Lu + + * sysdeps/i386/dl-machine.h (elf_machine_load_address): Allow + undefined _DYNAMIC in PIE libc.a. + * sysdeps/x86_64/dl-machine.h (elf_machine_load_address): + Likewse. + +2017-09-28 Wilco Dijkstra + + * sysdeps/alpha/fpu/bits/mathinline.h: Delete file. + * sysdeps/ia64/fpu/bits/mathinline.h: Delete file. + * sysdeps/m68k/coldfire/fpu/bits/mathinline.h: Delete file. + * sysdeps/m68k/m680x0/fpu/bits/mathinline.h: (__signbitf): Remove. + (__signbit): Remove. + (__signbitl): Remove. + * sysdeps/powerpc/bits/mathinline.h (__signbitf): Remove. + (__signbit): Remove. + (__signbitl): Remove. + * sysdeps/s390/fpu/bits/mathinline.h: (__signbitf): Remove. + (__signbit): Remove. + (__signbitl): Remove. + * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf): Remove. + (__signbit): Remove. + (__signbitl): Remove. + * sysdeps/tile/bits/mathinline.h: Delete file. + * sysdeps/x86/fpu/bits/mathinline.h (__signbitf): Remove. + (__signbit): Remove. + (__signbitl): Remove. + +2017-09-28 Wilco Dijkstra + + * math/math.h: Improve handling of C99 isgreater macros. + * sysdeps/alpha/fpu/bits/mathinline.h: Remove isgreater macros. + * sysdeps/m68k/m680x0/fpu/bits/mathinline.h: Likewise. + * sysdeps/powerpc/bits/mathinline.h: Likewise. + * sysdeps/sparc/fpu/bits/mathinline.h: Likewise. + * sysdeps/x86/fpu/bits/mathinline.h: Likewise. + +2017-09-28 Szabolcs Nagy + + * sysdeps/aarch64/libm-test-ulps: Update. + +2017-09-28 Joseph Myers + + [BZ #22225] + * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Use + math_opt_barrier on argument when doing arithmetic on it. + * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint): + Likewise. Use math_force_eval not math_opt_barrier after + arithmetic. + * sysdeps/ieee754/flt-32/s_nearbyintf.c (__nearbyintf): Use + math_opt_barrier on argument when doing arithmetic on it. + * sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl): + Likewise. + +2017-09-27 H.J. Lu + + * sysdeps/unix/sysv/linux/ifaddrs.c (__getifaddrs): Add + libc_hidden_def. + (__freeifaddrs): Likewise. + +2017-09-27 Samuel Thibault + + * include/dirent.h (__dirfd): New declaration. + * dirent/dirfd.c (dirfd): Rename to __dirfd, and redefine as weak + alias. + * sysdeps/posix/dirfd/dirfd.c (dirfd): Likewise. + * sysdeps/mach/hurd/dirfd.c (dirfd): Likewise. + * io/ftw.c (open_dir_stream, ftw_dir): Use __dirfd instead of dirfd. + * include/unistd.h (__revoke): New declaration. + * misc/revoke.c (revoke): Rename to __revoke, and redefine as weak + alias. + * sysdeps/mach/hurd/revoke.c (revoke): Likewise. + * sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of + revoke. + * include/dirent.h (__seekdir): New declaration. + * sysdeps/mach/hurd/seekdir.c (seekdir): Rename to __seekdir and + redefine as weak alias. + * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead + of seekdir. + * include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations, + and use libc_hidden_def on them. + * inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on + them. + * sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise. + * inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs + instead of getifaddrs and freeifaddrs. + +2017-09-26 H.J. Lu + + [BZ #18822] + * dlfcn/modatexit.c (foo): Remove __dso_handle check. + * dlfcn/modcxaatexit.c: Include . + (__dso_handle): Remove declaration. + * dlfcn/tstatexit.c (__dso_handle): Removed. + (main): Don't check __dso_handle. + * dlfcn/tstcxaatexit.c (__dso_handle): Removed. + (main): Don't check __dso_handle. + * include/dso_handle.h: New file. + * malloc/mtrace.c: Include . + (mtrace): Pass __dso_handle directly. + * nptl/pthread_atfork.c: Include . + (__dso_handle): Remove declaration. + (__pthread_atfork): Pass __dso_handle directly. + * nptl/tst-atfork2mod.c: Include . + (__dso_handle): Removed. + * posix/wordexp-test.c: Include . + (__dso_handle): Remove declaration. + (__app_register_atfork): Pass __dso_handle directly. + * stdlib/at_quick_exit.c: Include . + (__dso_handle): Remove declaration. + (at_quick_exit): Pass __dso_handle directly. + * stdlib/atexit.c: Include . + (__dso_handle): Remove declaration. + (atexit): Pass __dso_handle directly. + * stdlib/tst-tls-atexit-lib.c: Include . + (__dso_handle): Removed. + +2017-09-26 Joseph Myers + + * sysdeps/unix/make-syscalls.sh: Use __ifunc to define symbols + using VDSO. + +2017-09-26 Alexey Makhalov + + * elf/dl-tunables.c (do_tunable_update_val): Range checking fix. + * scripts/gen-tunables.awk: Set unspecified minval and/or maxval + values to correct default value for given type. + +2017-09-26 H.J. Lu + + [BZ #22101] + * elf/Makefile (tests): Add tst-debug1. + ($(objpfx)tst-debug1): New. + ($(objpfx)tst-debug1.out): Likewise. + ($(objpfx)tst-debug1mod1.so): Likewise. + * elf/dl-load.c (_dl_map_object_from_fd): Skip PT_DYNAMIC segment + with p_filesz == 0. + * elf/tst-debug1.c: New file. + +2017-09-26 Joseph Myers + + * sysdeps/sparc/sparc-ifunc.h [!__ASSEMBLER__] (sparc_libm_ifunc): + Define using __ifunc. + +2017-09-26 Tulio Magno Quites Machado Filho + + * sysdeps/powerpc/fpu/libm-test-ulps: Regenerate expf() and + exp2f() values. + +2017-09-26 Joseph Myers + + [BZ #22156] + * sysdeps/ia64/stackinfo.h (DEFAULT_STACK_PERMS): Likewise. + +2017-09-26 Florian Weimer + + * resolv/Makefile (tests-internal): Fix typo in comment. + +2017-09-26 Florian Weimer + + * resolv/nss_dns/dns-host.c: Fix typo in comment. + +2017-09-25 Adhemerval Zanella + + * lib/malloc/scratch_buffer.h (struct scratch_buffer): + Use an union instead of a max_align_t array for __space, + so that __space is the same size on all platforms. + * malloc/scratch_buffer_grow_preserve.c + (__libc_scratch_buffer_grow_preserve): Likewise. + + [BZ #22183] + * include/gnu-versions.h (_GNU_GLOB_INTERFACE_VERSION): Increase + version to 2. + * posix/Makefile (routines): Add glob-lstat-compat and + glob64-lstat-compat. + * posix/Versions (GLIBC_2.27, glob, glob64): Add symbol version. + * posix/glob-lstat-compat.c: New file. + * posix/glob64-lstat-compat.c: Likewise. + * posix/tst-glob_lstat_compat.c: Likewise. + * sysdeps/unix/sysv/linux/glob-lstat-compat.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c: Likewise. + * sysdeps/unix/sysv/linux/glob64-lstat-compat.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/glob64-lstat-compat.c: + Likewise. + * sysdeps/unix/sysv/linux/alpha/glob.c: Remove file. + * sysdeps/unix/sysv/linux/s390/s390-32/glob64.c: Likewise. + * posix/glob.c (glob_lstat): New function. + (glob): Rename to __glob and add versioned symbol to 2.27. + (glob_in_dir): Use glob_lstat. + * posix/glob64.c (glob64): Add GLOB_ATTRIBUTE. + * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/glob.c (glob): Add versioned symbol for + 2.27. + * sysdeps/unix/sysv/linux/glob64.c (glob64): Likewise. + * sysdeps/unix/sysv/linux/oldglob.c (GLOB_NO_LSTAT): Define. + * sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob): Do not use + gl_lstat on glob call. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add GLIBC_2.27 glob + and glob64 symbols. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. + +2017-09-25 H.J. Lu + + * configure.ac (AS): Require binutils 2.25 or later. + * configure: Regenerated. + +2017-09-25 Paul Pluzhnikov + + [BZ #22207] + * stdlib/test-atexit-race-common.c (do_test): Minimize required + VM size. + +2017-09-25 DJ Delorie + + [BZ #22161] + * nscd/netgroupcache.c (addinnetgrX): Release read lock after + resetting timeout. + +2017-09-25 Stefan Liebler + + * sysdeps/ieee754/dbl-64/sincos32.h + [SINCCOS32_H]: Remove define. + [SINCOS32_H]: Define. + +2017-09-25 Szabolcs Nagy + + * math/Versions (expf): New libm symbol at GLIBC_2.27. + (exp2f): Likewise. + * math/w_exp2f.c: New file. + * math/w_expf.c: New file. + * math/w_exp2f_compat.c (__exp2f_compat): For compat symbol only. + * math/w_expf_compat.c (__expf_compat): Likewise. + * sysdeps/ia64/fpu/e_exp2f.S: Add versioned symbols. + * sysdeps/ia64/fpu/e_expf.S: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + +2017-09-25 Szabolcs Nagy + + * math/Makefile (type-float-routines): Add math_errf and e_exp2f_data. + * sysdeps/aarch64/fpu/math_private.h (TOINT_INTRINSICS): Define. + (roundtoint, converttoint): Likewise. + * sysdeps/ieee754/flt-32/e_expf.c: New implementation. + * sysdeps/ieee754/flt-32/e_exp2f.c: New implementation. + * sysdeps/ieee754/flt-32/e_exp2f_data.c: New file. + * sysdeps/ieee754/flt-32/math_config.h: New file. + * sysdeps/ieee754/flt-32/math_errf.c: New file. + * sysdeps/ieee754/flt-32/t_exp2f.h: Remove. + * sysdeps/i386/fpu/e_exp2f_data.c: New file. + * sysdeps/i386/fpu/math_errf.c: New file. + * sysdeps/ia64/fpu/e_exp2f_data.c: New file. + * sysdeps/ia64/fpu/math_errf.c: New file. + * sysdeps/m68k/m680x0/fpu/e_exp2f_data.c: New file. + * sysdeps/m68k/m680x0/fpu/math_errf.c: New file. + +2017-09-24 Samuel Thibault + + * sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): New macro. + (__open, __close, __libc_read, __libc_write, __writev, __libc_lseek64, + __mmap, __fxstat64, __xstat64, __access, __access_noerrno, __getpid, + __getcwd, __sbrk, __strtoul_internal, _exit, abort): Use check_no_hidden + to make sure that these symbols are defined. + * sysdeps/mach/hurd/bits/socket.h: Include instead + of + (__need_NULL): Do not define. + (__ss_aligntype): Use __WORDSIZE instead of ULONG_MAX to determine + alignment. + [!__USE_MISC] (pseudo_AF_XTP, pseudo_AF_RTIP, pseudo_AF_PIP, + CMGROUP_MAX, cmsgcred): Do not define. + (CMSG_FIRSTHDR, __cmsg_nxthdr): Use (struct cmsghdr *) 0 instead of + NULL. + * bits/socket.h: Likewise. + * sysdeps/unix/clock_gettime.c (realtime_gettime, __clock_gettime): Use + __gettimeofday instead of gettimeofday. + * sysdeps/unix/clock_settime.c (__clock_settime): Use __settimeofday + instead of settimeofday. + +2017-09-22 Joseph Myers + + * sysdeps/ieee754/flt-32/s_asinhf.c: Include . + (asinhf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_atanf.c: Include . + (atanf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_cbrtf.c: Include . + (cbrtf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_ceilf.c: Include . + (ceilf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_copysignf.c: Include + . + (copysignf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_cosf.c: Include . + (cosf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_erff.c: Include . + (erff): Define using libm_alias_float. + (erfcf): Likewise. + * sysdeps/ieee754/flt-32/s_expm1f.c: Include . + (expm1f): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_fabsf.c: Include . + (fabsf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_floorf.c: Include . + (floorf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_frexpf.c: Include . + (frexpf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_fromfpf.c (fromfpf): Define using + libm_alias_float. + * sysdeps/ieee754/flt-32/s_fromfpf_main.c: Include + . + * sysdeps/ieee754/flt-32/s_fromfpxf.c (fromfpxf): Define using + libm_alias_float. + * sysdeps/ieee754/flt-32/s_getpayloadf.c: Include + . + (getpayloadf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_llrintf.c: Include + . + (llrintf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_llroundf.c: Include + . + (llroundf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_logbf.c: Include . + (logbf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_lrintf.c: Include . + (lrintf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_lroundf.c: Include . + (lroundf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_modff.c: Include . + (modff): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_nearbyintf.c: Include + . + (nearbyintf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_nextafterf.c: Include + . + (nextafterf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_nextupf.c: Include + . + (nextupf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_remquof.c: Include + . + (remquof): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_rintf.c: Include . + (rintf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_roundevenf.c: Include + . + (roundevenf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_roundf.c: Include . + (roundf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_setpayloadf.c (setpayloadf): Define + using libm_alias_float. + * sysdeps/ieee754/flt-32/s_setpayloadf_main.c: Include + . + * sysdeps/ieee754/flt-32/s_setpayloadsigf.c (setpayloadsigf): + Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_sincosf.c: Include + . + (sincosf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_sinf.c: Include . + (sinf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_tanf.c: Include . + (tanf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_tanhf.c: Include . + (tanhf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_totalorderf.c: Include + . + (totalorderf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_totalordermagf.c: Include + . + (totalordermagf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_truncf.c: Include . + (truncf): Define using libm_alias_float. + * sysdeps/ieee754/flt-32/s_ufromfpf.c (ufromfpf): Define using + libm_alias_float. + * sysdeps/ieee754/flt-32/s_ufromfpxf.c (ufromfpxf): Define using + libm_alias_float. + +2017-09-22 Gabriel F. T. Gomes + + [BZ #22146] + math/math.h: Let fpclassify use the builtin in C++ mode, even + when optimazing for size. + +2017-09-22 Joseph Myers + + * csu/Makefile (generated): Do not add version-info.h. + (before-compile): Likewise. + (all-Banner-files): Remove variable. + ($(objpfx)version-info.h): Remove rule. + * csu/version.c (banner): Do not include "version-info.h". + * libidn/Banner: Remove. + * manual/contrib.texi (Simon Josefsson): New entry. + +2017-09-21 Gabriel F. T. Gomes + + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): + Remove conditionals on LDBL_MANT_DIG. + * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c + (__ieee754_lgammal_r): Likewise. + +2017-09-21 Gabriel F. T. Gomes + + * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Remove definitions of + _Float128 and L(). + * sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Remove definitions of + _Float128 and L(). Replace _Float128 with long double and L(x) + with xL, throughout the file. + * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise. + +2017-09-21 Gabriel F. T. Gomes + + * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Include tables from + sysdeps/ieee754/ldbl-128ibm. + * sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Copy contents from the + equivalent implementation in sysdeps/ieee754/ldbl-128/ instead + of including it. Keep _Float128 and L() intact. These will be + reviewed by a separate patch. + * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise. + +2017-09-21 Gabriel F. T. Gomes + + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c + (__finitef128): Define to __redirect___finitef128. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c + (__isinff128): Define to __redirect___isinff128. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c + (__isnanf128): Define to __redirect___isnanf128. + +2017-09-21 Gabriel F. T. Gomes + + * sysdeps/powerpc/powerpc64le/Makefile + (CFLAGS-tst-strtod-nan-locale.c): New variable. + (CFLAGS-tst-wcstod-nan-locale.c): New variable. + +2017-09-21 Paul Pluzhnikov + Carlos O'Donell + + [BZ #22180] + * stdlib/Makefile (tests): Add test-dlclose-exit-race. + * stdlib/test-dlclose-exit-race.c: New file. + * stdlib/test-dlclose-exit-race-helper.c: New file. + * stdlib/exit.c (__run_exit_handlers): Mark slot as free. + +2017-09-21 Joseph Myers + + * crypt/Banner: Remove file. + * nptl/Banner: Likewise. + * resolv/Banner: Likewise. + * soft-fp/Banner: Likewise. + * nptl/Makefile ($(objpfx)banner.h): Remove rule. + ($(objpfx)version.d): Remove dependency on banner.h. + ($(objpfx)version.os): Likewise. + * nptl/version.c (banner): Do not include banner.h. + * manual/contrib.texi: Update entries for Richard Henderson, Jakub + Jelinek and BIND code. + +2017-09-20 Paul Pluzhnikov + Carlos O'Donell + + * support/xdlfcn.h: New file. + * support/xdlfcn.c: New file. + * support/Makefile (libsupport-routines): Add xdlfcn. + * stdlib/tst-tls-atexit.c: Use xdlopen, xdlsym, xdlclose. + +2017-09-20 Joseph Myers + + [BZ #20142] + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add s_trunc-c, s_truncf-c, s_trunc-sse4_1 and s_truncf-sse4_1. + * sysdeps/x86_64/fpu/multiarch/s_trunc-c.c: New file. + * sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_truncf-c.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Likewise. + +2017-09-20 Paul Pluzhnikov + Ricky Zhou + Anoop V Chakkalakkal + + [BZ #14333] + * stdlib/cxa_atexit.c (__internal_atexit): Use __exit_funcs_lock. + Remove atomics. + (__new_exitfn): Fail registration when we finished at_exit processing. + * stdlib/cxa_finalize.c (__cxa_finalize): Likewise. + * stdlib/on_exit.c (__on_exit): Likewise. + * stdlib/exit.c (__exit_funcs_done): New variable. + (__run_exit_handlers): Use __exit_funcs_lock. + * stdlib/exit.h (__exit_funcs_lock, __exit_funcs_done): New + declarations. + * stdlib/Makefile (test-atexit-race, test-quick_at_exit-race) + (test-cxa_atexit-race, test-on_exit-race): New tests. + * stdlib/test-atexit-race-common.c: New file. + * stdlib/test-atexit-race.c: New file. + * stdlib/test-at_quick_exit-race.c: New file. + * stdlib/test-cxa_atexit-race.c: New file. + * stdlib/test-on_exit-race.c: New file. + +2017-09-20 Szabolcs Nagy + + * benchtests/Makefile: Add exp2f and log2f benchmarks. + * benchtests/exp2f-inputs: Copy of expf-inputs. + * benchtests/log2f-inputs: Copy of logf-inputs. + +2017-09-19 Joseph Myers + + * sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]: + Explicitly take address of first element of array arguments in + call to INLINE_SYSCALL. + +2017-09-19 Andreas Schwab + + [BZ #22134] + * sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]: Try + execveat first. + [!__ASSUME_EXECVEAT]: Fall back to /proc if execveat is + unimplemented. + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_EXECVEAT) + [__LINUX_KERNEL_VERSION >= 0x031300]: Define. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + (__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040200]: Undef. + * sysdeps/unix/sysv/linux/hppa/kernel-features.h + (__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040000]: Undef. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + (__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040000]: Undef. + * posix/Makefile (tests): Add tst-fexecve. + * posix/tst-fexecve.c: New file. + +2017-09-19 Wilco Dijkstra + + * benchtests/Makefile: Add logf benchmark. + * benchtests/logf-inputs: Add reduced trace from wrf_r. + +2017-09-19 Wilco Dijkstra + + * benchtests/Makefile: Add expf benchmark. + * benchtests/expf-inputs: Add reduced trace from wrf_r. + +2017-09-19 Wilco Dijkstra + + * csu/Makefile: Add -funwind-tables to libc-start.c. + * debug/Makefile: Add -funwind-tables to backtrace.c. + * sysdeps/aarch64/Makefile: Remove CFLAGS-backtrace.c. + * sysdeps/arm/Makefile: Likewise. + * sysdeps/i386/Makefile: Likewise. + * sysdeps/m68k/Makefile: Likewise. + * sysdeps/mips/Makefile: Likewise. + * sysdeps/nios2/Makefile: Likewise. + * sysdeps/sh/Makefile: Likewise. + * sysdeps/sparc/Makefile: Likewise. + +2017-09-19 Joseph Myers + + * benchtests/Makefile (bench-math): Add trunc and truncf. + (CFLAGS-bench-trunc.c): New variable. + (CFLAGS-bench-truncf.c): Likewise. + * benchtests/trunc-inputs: New file. + * benchtests/truncf-inputs: Likewise. + +2017-09-19 Rajalakshmi Srinivasaraghavan + + * sysdeps/powerpc/powerpc64/power8/memset.S: Avoid misaligned stores. + +2017-09-18 Joseph Myers + + * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT && + !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] (weak_alias): Undefine and + redefine. + [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] + (exp10l): Define as weak alias. + * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c [LIBM_SVID_COMPAT + && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (weak_alias): Undefine + and redefine. + [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] + (remainderl): Define as weak alias. + + * math/s_fmal.c: Include . + (fmal): Define using libm_alias_ldouble. + * math/w_acoshl_compat.c: Include . + (acoshl): Define using libm_alias_ldouble. + * math/w_acosl_compat.c: Include . + (acosl): Define using libm_alias_ldouble. + * math/w_asinl_compat.c: Include . + (asinl): Define using libm_alias_ldouble. + * math/w_atan2l_compat.c: Include . + (atan2l): Define using libm_alias_ldouble. + * math/w_atanhl_compat.c: Include . + (atanhl): Define using libm_alias_ldouble. + * math/w_coshl_compat.c: Include . + (coshl): Define using libm_alias_ldouble. + * math/w_exp10l_compat.c: Include . + (exp10l): Define using libm_alias_ldouble. + * math/w_exp2l_compat.c: Include . + (exp2l): Define using libm_alias_ldouble. + * math/w_expl_compat.c: Include . + (expl): Define using libm_alias_ldouble. + * math/w_fmodl_compat.c: Include . + (fmodl): Define using libm_alias_ldouble. + * math/w_hypotl_compat.c: Include . + (hypotl): Define using libm_alias_ldouble. + * math/w_j0l_compat.c: Include . + (j0l): Define using libm_alias_ldouble. + (y0l): Likewise. + * math/w_j1l_compat.c: Include . + (j1l): Define using libm_alias_ldouble. + (y1l): Likewise. + * math/w_jnl_compat.c: Include . + (jnl): Define using libm_alias_ldouble. + (ynl): Likewise. + * math/w_log10l_compat.c: Include . + (log10l): Define using libm_alias_ldouble. + * math/w_log2l_compat.c: Include . + (log2l): Define using libm_alias_ldouble. + * math/w_logl_compat.c: Include . + (logl): Define using libm_alias_ldouble. + * math/w_powl_compat.c: Include . + (powl): Define using libm_alias_ldouble. + * math/w_remainderl_compat.c: Include . + (remainderl): Define using libm_alias_ldouble. + * math/w_sinhl_compat.c: Include . + (sinhl): Define using libm_alias_ldouble. + * math/w_sqrtl_compat.c: Include . + (sqrtl): Define using libm_alias_ldouble. + * math/w_tgammal_compat.c: Include . + (tgammal): Define using libm_alias_ldouble. + * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT] + (exp10l): Do not use long_double_symbol here. + * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c + [LIBM_SVID_COMPAT] (remainderl): Likewise. + * sysdeps/ieee754/ldbl-opt/s_fmal.c: Remove. + * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise. + +2017-09-18 Wang Boshi (tiny change) + + * sysdeps/aarch64/start.S: Use MOVL instead of literal pools. + * sysdeps/aarch64/sysdep.h (MOVL): Add MOVL macro. + +2017-09-17 Samuel Thibault + + * io/read.c (read): Add libc_hidden_weak. + * sysdeps/mach/hurd/read.c (read): Likewise. + * io/write.c (write): Likewise. + * sysdeps/mach/hurd/write.c (write): Likewise. + * io/pread64.c (__pread64): Likewise. + * sysdeps/mach/hurd/pread64.c (__pread64): Likewise. + * posix/pread64.c (__pread64): Add libc_hidden_def. + +2017-09-16 Siddhesh Poyarekar + + * benchtests/scripts/compare_strings.py: New option -g. + (draw_graph): Print a message that a graph is being generated. + (process_results): Generate graph only if -g is passed. + (main): Process option -g. + + * benchtests/scripts/compare_strings.py (process_results): + Better spacing for output. + + * benchtests/scripts/compare_strings.py: Use argparse. + * benchtests/README: Document existence of compare_strings.py. + +2017-09-15 Joseph Myers + + * math/s_fma.c: Include . + (fma): Define using libm_alias_double. + * math/s_nextafter.c: Include . + (nextafter): Define using libm_alias_double. + * math/w_acos_compat.c: Include . + (acos): Define using libm_alias_double. + * math/w_acosh_compat.c: Include . + (aocsh): Define using libm_alias_double. + * math/w_asin_compat.c: Include . + (asin): Define using libm_alias_double. + * math/w_atan2_compat.c: Include . + (atan2): Define using libm_alias_double. + * math/w_atanh_compat.c: Include . + (atanh): Define using libm_alias_double. + * math/w_cosh_compat.c: Include . + (cosh): Define using libm_alias_double. + * math/w_exp10_compat.c: Include . + (exp10): Define using libm_alias_double. + * math/w_exp2_compat.c: Include . + (exp2): Define using libm_alias_double. + * math/w_exp_compat.c: Include . + (exp): Define using libm_alias_double. + * math/w_fmod_compat.c: Include . + (fmod): Define using libm_alias_double. + * math/w_hypot_compat.c: Include . + (hypot): Define using libm_alias_double. + * math/w_j0_compat.c: Include . + (j0): Define using libm_alias_double. + (y0): Likewise. + * math/w_j1_compat.c: Include . + (j1): Define using libm_alias_double. + (y1): Likewise. + * math/w_jn_compat.c: Include . + (jn): Define using libm_alias_double. + (yn): Likewise. + * math/w_log10_compat.c: Include . + (log10): Define using libm_alias_double. + * math/w_log2_compat.c: Include . + (log2): Define using libm_alias_double. + * math/w_log_compat.c: Include . + (log): Define using libm_alias_double. + * math/w_pow_compat.c: Include . + (pow): Define using libm_alias_double. + * math/w_remainder_compat.c: Include . + (remainder): Define using libm_alias_double. + * math/w_sinh_compat.c: Include . + (sinh): Define using libm_alias_double. + * math/w_sqrt_compat.c: Include . + (sqrt): Define using libm_alias_double. + * math/w_tgamma_compat.c: Include . + (tgamma): Define using libm_alias_double. + * sysdeps/ieee754/ldbl-opt/s_nextafter.c [LONG_DOUBLE_COMPAT(libm, + GLIBC_2_0)] (nextafterl): Do not define compat symbol here. + * sysdeps/ieee754/ldbl-opt/w_exp10_compat.c + [LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (exp10l): Likewise. + * sysdeps/ieee754/ldbl-opt/w_remainder_compat.c + [LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (remainderl): Likewise. + * sysdeps/ieee754/ldbl-opt/w_acos_compat.c: Remove. + * sysdeps/ieee754/ldbl-opt/w_acosh_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_asin_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_atan2_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_atanh_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_cosh_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_fmod_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_hypot_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_j0_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_j1_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_jn_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_log10_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_log2_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_log_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_pow_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_sinh_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c: Likewise. + + * math/e_acoshl.c: Remove. + * math/e_acosl.c: Likewise. + * math/e_asinl.c: Likewise. + * math/e_atan2l.c: Likewise. + * math/e_atanhl.c: Likewise. + * math/e_coshl.c: Likewise. + * math/e_expl.c: Likewise. + * math/e_fmodl.c: Likewise. + * math/e_gammal_r.c: Likewise. + * math/e_hypotl.c: Likewise. + * math/e_j0l.c: Likewise. + * math/e_j1l.c: Likewise. + * math/e_jnl.c: Likewise. + * math/e_lgammal_r.c: Likewise. + * math/e_log10l.c: Likewise. + * math/e_log2l.c: Likewise. + * math/e_logl.c: Likewise. + * math/e_powl.c: Likewise. + * math/e_rem_pio2l.c: Likewise. + * math/e_sinhl.c: Likewise. + * math/e_sqrtf128.c: Likewise. + * math/e_sqrtl.c: Likewise. + * math/k_cosl.c: Likewise. + * math/k_sinl.c: Likewise. + * math/k_tanl.c: Likewise. + * math/s_asinhl.c: Likewise. + * math/s_atanl.c: Likewise. + * math/s_cbrtl.c: Likewise. + * math/s_erfl.c: Likewise. + * math/s_expm1l.c: Likewise. + * math/s_log1pl.c: Likewise. + * math/s_tanhl.c: Likewise. + +2017-09-15 Tulio Magno Quites Machado Filho + + [BZ #21745] + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: + [$(subdir) = math] (sysdep_calls): New variable. Has the + previous contents of sysdep_routines, but re-sorted.. + [$(subdir) = math] (sysdep_routines): Re-use the contents from + sysdep_calls. + [$(subdir) = math] (libm-sysdep_routines): Remove the functions + defined in sysdep_calls and replace by the respective m_* names. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: + (compat_symbol): Undefine to avoid duplicated compat symbols in + libc. + +2017-09-15 Joseph Myers + + * math/s_fmaf.c: Include . + (fmaf): Define using libm_alias_float. + * math/w_acosf_compat.c: Include . + (acosf): Define using libm_alias_float. + * math/w_acoshf_compat.c: Include . + (acoshf): Define using libm_alias_float. + * math/w_asinf_compat.c: Include . + (asinf): Define using libm_alias_float. + * math/w_atan2f_compat.c: Include . + (atan2f): Define using libm_alias_float. + * math/w_atanhf_compat.c: Include . + (atanhf): Define using libm_alias_float. + * math/w_coshf_compat.c: Include . + (coshf): Define using libm_alias_float. + * math/w_exp10f_compat.c: Include . + (exp10f): Define using libm_alias_float. + * math/w_fmodf_compat.c: Include . + (fmodf): Define using libm_alias_float. + * math/w_hypotf_compat.c: Include . + (hypotf): Define using libm_alias_float. + * math/w_j0f_compat.c: Include . + (j0f): Define using libm_alias_float. + (y0f): Likewise. + * math/w_j1f_compat.c: Include . + (j1f): Define using libm_alias_float. + (y1f): Likewise. + * math/w_jnf_compat.c: Include . + (jnf): Define using libm_alias_float. + (ynf): Likewise. + * math/w_log10f_compat.c: Include . + (log10f): Define using libm_alias_float. + * math/w_log2f_compat.c: Include . + (log2f): Define using libm_alias_float. + * math/w_logf_compat.c: Include . + (logf): Define using libm_alias_float. + * math/w_powf_compat.c: Include . + (powf): Define using libm_alias_float. + * math/w_remainderf_compat.c: Include . + (remainderf): Define using libm_alias_float. + * math/w_sinhf_compat.c: Include . + (sinhf): Define using libm_alias_float. + * math/w_sqrtf_compat.c: Include . + (sqrtf): Define using libm_alias_float. + * math/w_tgammaf_compat.c: Include . + (tgammaf): Define using libm_alias_float. + +2017-09-14 Joseph Myers + + * include/math.h (roundeven): Change hidden_proto call to + __roundeven. + * math/w_j0_compat.c (j0): Rename to __j0 and define as weak + alias. + [NO_LONG_DOUBLE] (__j0l): New strong alias. + (y0): Rename to __y0 and define as weak alias. + [NO_LONG_DOUBLE] (__y0l): New strong alias. + * math/w_j0f_compat.c (j0f): Rename to __j0f and define as weak + alias. + (y0f): Rename to __y0f and define as weak alias. + * math/w_j1_compat.c (j1): Rename to __j1 and define as weak + alias. + [NO_LONG_DOUBLE] (__j1l): New strong alias. + (y1): Rename to __y1 and define as weak alias. + [NO_LONG_DOUBLE] (__y1l): New strong alias. + * math/w_j1f_compat.c (j1f): Rename to __j1f and define as weak + alias. + (y1f): Rename to __y1f and define as weak alias. + * math/w_jn_compat.c (jn): Rename to __jn and define as weak + alias. + [NO_LONG_DOUBLE] (__jnl): New strong alias. + (yn): Rename to __yn and define as weak alias. + [NO_LONG_DOUBLE] (__ynl): New strong alias. + * math/w_jnf_compat.c (jnf): Rename to __jnf and define as weak + alias. + (ynf): Rename to __ynf and define as weak alias. + * sysdeps/ieee754/dbl-64/s_fromfp.c (FUNC): Define to __fromfp. + (fromfp): Define as weak alias. + [NO_LONG_DOUBLE] (__fromfpl): New strong alias. + * sysdeps/ieee754/dbl-64/s_fromfpx.c (FUNC): Define to __fromfpx. + (fromfpx): Define as weak alias. + [NO_LONG_DOUBLE] (__fromfpxl): New strong alias. + * sysdeps/ieee754/dbl-64/s_getpayload.c (getpayload): Rename to + __getpayload and define as weak alias. + [NO_LONG_DOUBLE] (__getpayloadl): New strong alias. + * sysdeps/ieee754/dbl-64/s_roundeven.c (roundeven): Rename to + __roundeven and define as weak alias. + [NO_LONG_DOUBLE] (__roundevenl): New strong alias. + * sysdeps/ieee754/dbl-64/s_setpayload.c (FUNC): Define to + __setpayload. + (setpayload): Define as weak alias. + [NO_LONG_DOUBLE] (__setpayloadl): New strong alias. + * sysdeps/ieee754/dbl-64/s_setpayloadsig.c (FUNC): Define to + __setpayloadsig. + (setpayloadsig): Define as weak alias. + [NO_LONG_DOUBLE] (__setpayloadsigl): New strong alias. + * sysdeps/ieee754/dbl-64/s_totalorder.c (totalorder): Rename to + __totalorder and define as weak alias. + [NO_LONG_DOUBLE] (__totalorderl): New strong alias. + * sysdeps/ieee754/dbl-64/s_totalordermag.c (totalordermag): Rename + to __totalordermag and define as weak alias. + [NO_LONG_DOUBLE] (__totalordermagl): New strong alias. + * sysdeps/ieee754/dbl-64/s_ufromfp.c (FUNC): Define to __ufromfp. + (ufromfp): Define as weak alias. + [NO_LONG_DOUBLE] (__ufromfpl): New strong alias. + * sysdeps/ieee754/dbl-64/s_ufromfpx.c (FUNC): Define to + __ufromfpx. + (ufromfpx): Define as weak alias. + [NO_LONG_DOUBLE] (__ufromfpxl): New strong alias. + * sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c (getpayload): + Rename to __getpayload and define as weak alias. + [NO_LONG_DOUBLE] (__getpayloadl): New strong alias. + * sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c (roundeven): + Rename to __roundeven and define as weak alias. + [NO_LONG_DOUBLE] (__roundevenl): New strong alias. + * sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c (totalorder): + Rename to __totalorder and define as weak alias. + [NO_LONG_DOUBLE] (__totalorderl): New strong alias. + * sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c + (totalordermag): Rename to __totalordermag and define as weak + alias. + [NO_LONG_DOUBLE] (__totalordermagl): New strong alias. + * sysdeps/ieee754/float128/float128_private.h (__getpayloadl): New + macro. + (__roundevenl): Likewise. + (__totalorderl): Likewise. + (__totalordermagl): Likewise + * sysdeps/ieee754/float128/s_fromfpf128.c (FUNC): Define to + __fromfpf128. + (fromfpf128): Define as weak alias. + * sysdeps/ieee754/float128/s_fromfpxf128.c (FUNC): Define to + __fromfpxf128. + (fromfpxf128): Define as weak alias. + * sysdeps/ieee754/float128/s_setpayloadf128.c (FUNC): Define to + __setpayloadf128. + (setpayloadf128): Define as weak alias. + * sysdeps/ieee754/float128/s_setpayloadsigf128.c (FUNC): Define to + __setpayloadsigf128. + (setpayloadsigf128): Define as weak alias. + * sysdeps/ieee754/float128/s_ufromfpf128.c (FUNC): Define to + __ufromfpf128. + (ufromfpf128): Define as weak alias. + * sysdeps/ieee754/float128/s_ufromfpxf128.c (FUNC): Define to + __ufromfpxf128. + (ufromfpxf128): Define as weak alias. + * sysdeps/ieee754/flt-32/s_fromfpf.c (FUNC): Define to __fromfpf. + (fromfpf): Define as weak alias. + * sysdeps/ieee754/flt-32/s_fromfpxf.c (FUNC): Define to + __fromfpxf. + (fromfpxf): Define as weak alias. + * sysdeps/ieee754/flt-32/s_getpayloadf.c (getpayloadf): Rename to + __getpayloadf and define as weak alias. + * sysdeps/ieee754/flt-32/s_roundevenf.c (roundevenf): Rename to + __roundevenf and define as weak alias. + * sysdeps/ieee754/flt-32/s_setpayloadf.c (FUNC): Define to + __setpayloadf. + (setpayloadf): Define as weak alias. + * sysdeps/ieee754/flt-32/s_setpayloadsigf.c (FUNC): Define to + __setpayloadsigf. + (setpayloadsigf): Define as weak alias. + * sysdeps/ieee754/flt-32/s_totalorderf.c (totalorderf): Rename to + __totalorderf and define as weak alias. + * sysdeps/ieee754/flt-32/s_totalordermagf.c (totalordermagf): + Rename to __totalordermagf and define as weak alias. + * sysdeps/ieee754/flt-32/s_ufromfpf.c (FUNC): Define to + __ufromfpf. + (ufromfpf): Define as weak alias. + * sysdeps/ieee754/flt-32/s_ufromfpxf.c (FUNC): Define to + __ufromfpxf. + (ufromfpxf): Define as weak alias. + * sysdeps/ieee754/ldbl-128/s_fromfpl.c (FUNC): Define to + __fromfpl. + (fromfpl): Define as weak alias. + * sysdeps/ieee754/ldbl-128/s_fromfpxl.c (FUNC): Define to + __fromfpxl. + (fromfpxl): Define as weak alias. + * sysdeps/ieee754/ldbl-128/s_getpayloadl.c (getpayloadl): Rename + to __getpayloadl and define as weak alias. + * sysdeps/ieee754/ldbl-128/s_roundevenl.c (roundevenl): Rename to + __roundevenl and define as weak alias. + * sysdeps/ieee754/ldbl-128/s_setpayloadl.c (FUNC): Define to + __setpayloadl. + (setpayloadl): Define as weak alias. + * sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (FUNC): Define to + __setpayloadsigl. + (setpayloadsigl): Define as weak alias. + * sysdeps/ieee754/ldbl-128/s_totalorderl.c (totalorderl): Rename + to __totalorderl and define as weak alias. + * sysdeps/ieee754/ldbl-128/s_totalordermagl.c (totalordermagl): + Rename to __totalordermagl and define as weak alias. + * sysdeps/ieee754/ldbl-128/s_ufromfpl.c (FUNC): Define to + __ufromfpl. + (ufromfpl): Define as weak alias. + * sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (FUNC): Define to + __ufromfpxl. + (ufromfpxl): Define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c (FUNC): Define to + __fromfpl. + (fromfpl): Define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c (FUNC): Define to + __fromfpxl. + (fromfpxl): Define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c (getpayloadl): + Rename to __getpayloadl and define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c (roundevenl): Rename + to __roundevenl and define as weak alias. Call __roundeven + instead of roundeven. + * sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c (FUNC): Define to + __setpayloadl. + (setpayloadl): Define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c (FUNC): Define to + __setpayloadsigl. + (setpayloadsigl): Define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c (totalorderl): + Rename to __totalorderl and define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c (totalordermagl): + Rename to __totalordermagl and define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c (FUNC): Define to + __ufromfpl. + (ufromfpl): Define as weak alias. + * sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c (FUNC): Define to + __ufromfpxl. + (ufromfpxl): Define as weak alias. + * sysdeps/ieee754/ldbl-96/s_fromfpl.c (FUNC): Define to + __fromfpl. + (fromfpl): Define as weak alias. + * sysdeps/ieee754/ldbl-96/s_fromfpxl.c (FUNC): Define to + __fromfpxl. + (fromfpxl): Define as weak alias. + * sysdeps/ieee754/ldbl-96/s_getpayloadl.c (getpayloadl): Rename to + __getpayloadl and define as weak alias. + * sysdeps/ieee754/ldbl-96/s_roundevenl.c (roundevenl): Rename to + __roundevenl and define as weak alias. + * sysdeps/ieee754/ldbl-96/s_setpayloadl.c (FUNC): Define to + __setpayloadl. + (setpayloadl): Define as weak alias. + * sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c (FUNC): Define to + __setpayloadsigl. + (setpayloadsigl): Define as weak alias. + * sysdeps/ieee754/ldbl-96/s_totalorderl.c (totalorderl): Rename to + __totalorderl and define as weak alias. + * sysdeps/ieee754/ldbl-96/s_totalordermagl.c (totalordermagl): + Rename to __totalordermagl and define as weak alias. + * sysdeps/ieee754/ldbl-96/s_ufromfpl.c (FUNC): Define to + __ufromfpl. + (ufromfpl): Define as weak alias. + * sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (FUNC): Define to + __ufromfpxl. + (ufromfpxl): Define as weak alias. + +2017-09-14 Siddhesh Poyarekar + + * benchtests/bench-string.h (realloc_bufs): New function. + (test_init): Call it. + * benchtests/bench-memset-large.c (do_test): Likewise. + * benchtests/bench-memset.c (do_test): Likewise. + + * benchtests/bench-memset-large.c: Print output in JSON + format. + * benchtests/bench-memset.c: Likewise. + +2017-09-14 Mike FABIAN + + [BZ #21084] + * benchtests/strcoll-inputs/filelist#en_US.UTF-8: Add IBM858 and ibm858.c. + * iconvdata/Makefile: Add IBM858. + * iconvdata/gconv-modules: Likewise. + * iconvdata/tst-tables.sh: Likewise. + * iconvdata/ibm858.c: New file. + * localedata/charmaps/IBM858: Likewise. + +2017-09-14 Akhilesh Kumar + + [BZ #22023] + * locales/niu_NZ (LC_TIME): copy "niu_NU". + * locales/niu_NZ (LC_MESSAGES): copy "niu_NU". + +2017-09-14 Mike FABIAN + + [BZ #22112] + * localedata/locales/az_AZ(LC_TELEPHONE): Fix int_select + and add tel_int_fmt. + +2017-09-14 Joseph Myers + + * sysdeps/generic/libm-alias-float128.h: New file. + * sysdeps/generic/math-type-macros-float128.h: Include + . + [!declare_mgen_alias] (declare_mgen_alias): Define macro. + +2017-09-13 Joseph Myers + + * sysdeps/generic/libm-alias-ldouble.h: New file. + * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Likewise. + * sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h: Remove. + * sysdeps/generic/math-type-macros-ldouble.h: Include + . + [!declare_mgen_alias] (declare_mgen_alias): Define to use + libm_alias_ldouble. + +2017-09-13 Szabolcs Nagy + + * sysdeps/ieee754/dbl-64/w_exp_compat.c: Move to... + * math/w_exp_compat.c: ... here. + * sysdeps/ieee754/flt-32/w_expf_compat.c: Move to... + * math/w_expf_compat.c: ... here. + * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Move to... + * math/w_expl_compat.c: ... here. + * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Remove. + * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Remove. + * sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Use the new path. + * sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise. + +2017-09-13 Joseph Myers + + * math/w_scalbln_template.c (strong_alias): Do not undefine and + redefine. + * sysdeps/ieee754/ldbl-opt/s_ldexp.c (declare_mgen_alias): Remove + macro. + (ldexpl): Only define as compat symbol for libc, not libm. + (scalbnl): Define as compat symbol for libc here. + * sysdeps/ieee754/ldbl-opt/s_ldexpl.c (declare_mgen_alias): Only + define for [IS_IN (libc)]. + (__ldexpl_2): Remove alias. + (ldexpl): Only define with long_double_symbol if [IS_IN (libc)]. + (scalbnl): Likewise. Use __wrap_scalbnl not __ldexpl_2 as base + name in long_double_symbol call. + * sysdeps/ieee754/ldbl-opt/s_log1p.c: Remove file. + * sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise. + * sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_log1p.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_scalbln.c (declare_mgen_alias): + Remove macro. + [IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)] (scalblnl): + Define as compat symbol. + +2017-09-13 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/s390/s390-32/oldglob.c: New file. + * sysdeps/unix/sysv/linux/alpha/Makefile + [$(subdir) = csu] (sysdep_routines): Remove rule. + +2017-09-13 Joseph Myers + + * sysdeps/generic/libm-alias-double.h: New file. + * sysdeps/ieee754/ldbl-opt/libm-alias-double.h: Likewise. + * sysdeps/generic/math-type-macros-double.h: Include + . + [declare_mgen_alias] (declare_mgen_alias): Define to use + libm_alias_double. + * sysdeps/generic/math-type-macros.h [!M_LIBM_NEED_COMPAT] + (M_LIBM_NEED_COMPAT): Remove macro. + [!M_LIBM_NEED_COMPAT] (declare_mgen_libm_compat): Likewise. + * sysdeps/ieee754/ldbl-opt/math-type-macros-double.h: Remove. + * math/cabs_template.c [M_LIBM_NEED_COMPAT]: Remove conditional + code. + * math/carg_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/cimag_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/conj_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/creal_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_cacos_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_cacosh_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_casin_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_casinh_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_catan_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_catanh_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_ccos_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_ccosh_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_cexp_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_clog10_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_clog_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_cpow_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_cproj_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_csin_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_csinh_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_csqrt_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_ctan_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_ctanh_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_fdim_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_fmax_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_fmin_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/s_nan_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * math/w_ilogb_template.c [M_LIBM_NEED_COMPAT]: Likewise. + * sysdeps/ieee754/ldbl-opt/s_clog10.c: New file. + * sysdeps/ieee754/ldbl-opt/s_ldexp.c (M_LIBM_NEED_COMPAT): Remove + macro. + (declare_mgen_alias): New macro. + * sysdeps/ieee754/ldbl-opt/w_log1p.c: New file. + * sysdeps/ieee754/ldbl-opt/w_scalbln.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.c + (M_LIBM_NEED_COMPAT): Remove macro. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c + [HAVE_AS_VIS3_SUPPORT]: Include and + . + [HAVE_AS_VIS3_SUPPORT && LONG_DOUBLE_COMPAT (libm, + FIRST_VERSION_libm_fdiml)]: Define fdiml as compat symbol. + +2017-09-12 Joseph Myers + + * sysdeps/generic/math-type-macros.h [!declare_mgen_alias_2] + (declare_mgen_alias_2): Remove. + * sysdeps/generic/math-type-macros-double.h + [NO_LONG_DOUBLE && !declare_mgen_alias_2] (declare_mgen_alias_2): + Likewise. + * math/s_ldexp_template.c (M_SUF (__wrap_scalbn)): Define strong + alias. + (ldexp): Define with declare_mgen_alias. + (scalbn): Likewise. + +2017-09-12 Steve Ellcey + + * grp/initgroups.c: Include config.h. + (DEFAULT_CONFIG): New macro. + (internal_getgrouplist): Use DEFAULT_CONFIG. + * nscd/initgrcache.c (addinitgroupsX): Likewise. + * nss/nsswitch.c (__nss_disable_nscd): Likewise. + (DEFAULT_DEFCONFIG): New macro. + (__nss_database_lookup): Use DEFAULT_DEFCONFIG. + * nss/grp-lookup.c: Include config.h + (DEFAULT_CONFIG): Set definition based on LINK_OBSOLETE_NSL. + * nss/pwd-lookup.c (DEFAULT_CONFIG): Likewise. + * nss/spwd-lookup.c (DEFAULT_CONFIG): Likewise. + * manual/nss.texi: Update default values section. + +2017-09-12 H.J. Lu + + [BZ #21967] + * sysdeps/x86/cpu-features.h (bit_arch_MathVec_Prefer_No_AVX512): + New. + (index_arch_MathVec_Prefer_No_AVX512): Likewise. + * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)): + Handle MathVec_Prefer_No_AVX512. + * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h + (IFUNC_SELECTOR): Return AVX2 version if MathVec_Prefer_No_AVX512 + is set. + +2017-09-12 Samuel Thibault + + * posix/sched_primax.c (__sched_get_priority_max): Add + libc_hidden_def. + * posix/sched_primin.c (__sched_get_priority_min): Likewise. + * sysdeps/mach/hurd/mmap.c (__mmap): Likewise. + * sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise. + * sysdeps/mach/hurd/mprotect.c (__mprotect): Likewise. + * sysdeps/mach/hurd/munmap.c (__munmap): Likewise. + * sysdeps/mach/hurd/dl-sysdep.c (__GI___getpid, + __GI___strtoul_internal, __GI_____strtoul_internal, __GI___chk_fail, + __GI___fortify_fail, __GI___assert_fail, __GI___assert_perror_fail): + Add aliases. + +2017-09-11 Joseph Myers + + * sysdeps/generic/libm-alias-float.h: New file. + * sysdeps/generic/math-type-macros-float.h: Include + . + [!declare_mgen_alias] (declare_mgen_alias): Define macro. + +2017-09-11 H.J. Lu + + [BZ #22093] + * sysdeps/x86/cpu-features.c (init_cpu_features): Initialize + GLRO(dl_hwcap) to HWCAP_X86_64 for x86-64. + * sysdeps/x86/dl-hwcap.h (HWCAP_COUNT): Updated. + (HWCAP_IMPORTANT): Likewise. + (HWCAP_X86_64): New enum. + (HWCAP_X86_AVX512_1): Updated. + * sysdeps/x86/dl-procinfo.c (_dl_x86_hwcap_flags): Add "x86_64". + * sysdeps/x86_64/Makefile (tests): Add tst-x86_64-1. + (modules-names): Add x86_64/tst-x86_64mod-1. + (LDFLAGS-tst-x86_64mod-1.so): New. + ($(objpfx)tst-x86_64-1): Likewise. + ($(objpfx)x86_64/tst-x86_64mod-1.os): Likewise. + (tst-x86_64-1-clean): Likewise. + * sysdeps/x86_64/tst-x86_64-1.c: New file. + * sysdeps/x86_64/tst-x86_64mod-1.c: Likewise. + +2017-09-11 Siddhesh Poyarekar + + * po/sv.po: Update translations. + * po/fr.po: Likewise. + +2017-09-10 Samuel Thibault + + * sunrpc/tst-udp-timeout.c (test_udp_server): Increase timeout to 2.5 + seconds. + * sunrpc/tst-udp-nonblocking.c (do_test): Increase timeout to 0.75 + seconds. + * elf/rtld-Rules: Fix $(error) use. + +2017-09-09 Mike FABIAN + + [BZ #14925] + * libio/tst-widetext.input: Change “Bengali” to “Bangla”. + * locale/iso-639.def: Change “Bengali” to “Bangla”. + * localedata/locales/bn_BD: “Bengali” was still used in some + comments. Change it to “Bangla”. + +2017-09-08 Markus Trippelsdorf + + * sysdeps/x86_64/fpu/libm-test-ulps: Update for AMD Ryzen. + +2017-09-08 Steve Ellcey + + * manual/tunables.texi (glibc.tune.cpu): Add thunderx2t99 and + thunderx2t99p1 to list of cpu names. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): + Add thunderx2t99 and thunderx2t99p1 entries to cpu_list. + +2017-09-08 Steve Ellcey + + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (get_midr_from_mcpu): + Use strcmp instead of tunable_is_name. + +2017-09-08 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] + (F_GET_RW_HINT): New macro. + [__USE_GNU] (F_SET_RW_HINT): Likewise. + [__USE_GNU] (F_GET_FILE_RW_HINT): Likewise. + [__USE_GNU] (F_SET_FILE_RW_HINT): Likewise. + [__USE_GNU] (RWF_WRITE_LIFE_NOT_SET): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_NONE): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_SHORT): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_MEDIUM): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_LONG): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_EXTREME): Likewise. + + * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] + (F_ADD_SEALS): New macro. + [__USE_GNU] (F_GET_SEALS): Likewise. + [__USE_GNU] (F_SEAL_SEAL): Likewise. + [__USE_GNU] (F_SEAL_SHRINK): Likewise. + [__USE_GNU] (F_SEAL_GROW): Likewise. + [__USE_GNU] (F_SEAL_WRITE): Likewise. + +2017-09-08 Adhemerval Zanella + + * posix/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL) + (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants. + * posix/glob_internal.h (__glob_pattern_type): + * posix/glob.c (glob): + * posix/glob_pattern_p.c (__glob_pattern_p): + Use them. + + * sysdeps/unix/sysv/linux/arm/glob64.c: Remove file. + * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/glob.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise. + * sysdeps/wordsize-64/glob.c: Likewise. + * sysdeps/wordsize-64/glob64.c: Likewise. + * sysdeps/wordsize-64/globfree.c: Likewise. + * sysdeps/wordsize-64/globfree64.c: Likewise. + * sysdeps/unix/sysv/linux/glob.c: New file. + * sysdeps/unix/sysv/linux/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/globfree.c: Likewise. + * sysdeps/unix/sysv/linux/globfree64.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/oldglob.c [SHLIB_COMPAT]: Also + adds !GLOB_NO_OLD_VERSION as an extra condition. + * sysdeps/unix/sysv/linux/i386/alphasort64.c: Include olddirent.h + using relative path instead of absolute one. + * sysdeps/unix/sysv/linux/i386/getdents64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/olddirent.h: Move to ... + * sysdeps/unix/sysv/linux//olddirent.h: ... here. + + [BZ #1062] + * posix/glob.c (GET_LOGIN_NAME_MAX): Remove. + (glob): Use the same scratch buffer for both getlogin_r and + getpwnam_r. Don’t require preallocation of the login name. This + simplifies storage allocation, and corrects the handling of + long login names. + + [BZ #1062] + * posix/glob.c (glob): Port recent patches to platforms + lacking getpwnam_r. + (glob): Fix longstanding misuse of errno after getpwnam_r, which + returns an error number rather than setting errno. + + * include/scratch_buffer.h (scratch_buffer): Use a C99 align method + instead of GCC extension. + * malloc/scratch_buffer_grow.c [!_LIBC]: Include libc-config.h. + * malloc/scratch_buffer_grow_preserve.c [!_LIBC]: Likewise. + * malloc/scratch_buffer_set_array_size.c [!_LIBC]: Likewise. + + [BZ #866] + [BZ #1062] + * posix/Makefile (tests): Remove bug-glob1 and tst-glob_symlinks. + * posix/bug-glob1.c: Remove file. + * posix/tst-glob_symlinks.c: New file. + * posix/glob.c (__lstat64): New macro. + (is_dir): New function. + (glob, glob_in_dir): Match symlinks even if they are dangling. + (link_stat, link_exists_p): Remove. All uses removed. + + [BZ #1062] + [BZ #19971] + * posix/glob.c (struct readdir_result): Remove skip_entry member. + (readdir_result_skip_entry, D_INO_TO_RESULT): Remove. + All uses removed. + + [BZ #1062] + CVE-2017-15671 + * posix/Makefile (routines): Add globfree, globfree64, and + glob_pattern_p. + * posix/flexmember.h: New file. + * posix/glob_internal.h: Likewise. + * posix/glob_pattern_p.c: Likewise. + * posix/globfree.c: Likewise. + * posix/globfree64.c: Likewise. + * sysdeps/gnu/globfree64.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/globfree.c: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise. + * sysdeps/unix/sysv/linux/oldglob.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise. + * sysdeps/wordsize-64/globfree.c: Likewise. + * sysdeps/wordsize-64/globfree64.c: Likewise. + * posix/glob.c (HAVE_CONFIG_H): Use !_LIBC instead. + [NDEBUG): Remove comments. + (GLOB_ONLY_P, _AMIGA, VMS): Remove define. + (dirent_type): New type. Use uint_fast8_t not + uint8_t, as C99 does not require uint8_t. + (DT_UNKNOWN, DT_DIR, DT_LNK): New macros. + (struct readdir_result): Use dirent_type. Do not define skip_entry + unless it is needed; this saves a byte on platforms lacking d_ino. + (readdir_result_type, readdir_result_skip_entry): + New functions, replacing ... + (readdir_result_might_be_symlink, readdir_result_might_be_dir): + these functions, which were removed. This makes the callers + easier to read. All callers changed. + (D_INO_TO_RESULT): Now empty if there is no d_ino. + (size_add_wrapv, glob_use_alloca): New static functions. + (glob, glob_in_dir): Check for size_t overflow in several places, + and fix some size_t checks that were not quite right. + Remove old code using SHELL since Bash no longer + uses this. + (glob, prefix_array): Separate MS code better. + (glob_in_dir): Remove old Amiga and VMS code. + (globfree, __glob_pattern_type, __glob_pattern_p): Move to + separate files. + (glob_in_dir): Do not rely on undefined behavior in accessing + struct members beyond their bounds. Use a flexible array member + instead + (link_stat): Rename from link_exists2_p and return -1/0 instead of + 0/1. Caller changed. + (glob): Fix memory leaks. + * posix/glob64 (globfree64): Move to separate file. + * sysdeps/gnu/glob64.c (NO_GLOB_PATTERN_P): Remove define. + (globfree64): Remove hidden alias. + * sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add + oldglob. + * sysdeps/unix/sysv/linux/alpha/glob.c (__new_globfree): Move to + separate file. + * sysdeps/unix/sysv/linux/i386/glob64.c (NO_GLOB_PATTERN_P): Remove + define. + Move compat code to separate file. + * sysdeps/wordsize-64/glob.c (globfree): Move definitions to + separate file. + +2017-09-07 H.J. Lu + + * resolv/tst-resolv-qtypes.c (domain): Changed to + "const char domain[] =". + +2017-09-07 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default MPFR + version to 3.1.6. + + * sysdeps/gnu/netinet/tcp.h (TCP_ULP): New macro. + (TCP_MD5SIG_EXT): Likewise. + (TCP_MD5SIG_FLAG_PREFIX): Likewise. + (struct tcp_md5sig): Replace __tcpm_pad1 by tcpm_flags and + tcpm_prefixlen. Rename __tcpm_pad2 to __tcpm_pad. + + * sysdeps/unix/sysv/linux/bits/socket.h (SOL_TLS): New macro. + +2017-09-07 Mike FABIAN + + * localedata/locales/om_ET (LC_TIME): use ASCII for better readability. + +2017-09-07 Akhilesh Kumar + + [BZ #22100] + * localedata/locales/om_KE (LC_TIME): copy "om_ET". + +2017-09-07 Samuel Thibault + + * hurd/get-host.c (_hurd_get_host_config): Also check that more == 0 + before assuming that the file is empty. Avoid testing buffer content + when nread == 0. + +2017-09-06 Adhemerval Zanella + + [BZ #18858] + * sysdeps/i386/i686/multiarch/strncpy.c (_HAVE_STRING_ARCH_strncpy): + Remove define. + * sysdeps/x86_64/multiarch/stpcpy.c (_HAVE_STRING_ARCH_stpcpy): + Likewise. + * sysdeps/x86_64/multiarch/strcspn.c (_HAVE_STRING_ARCH_strcspn): + Likewise. + * sysdeps/x86_64/multiarch/strncat.c (_HAVE_STRING_ARCH_strncat): + Likewise. + * sysdeps/x86_64/multiarch/strncpy.c (_HAVE_STRING_ARCH_strncpy): + Likewise. + * sysdeps/x86_64/multiarch/strpbrk.c (_HAVE_STRING_ARCH_strpbrk): + Likewise. + * sysdeps/x86_64/multiarch/strspn.c (_HAVE_STRING_ARCH_strspn): + Likewise. + +2017-09-06 Florian Weimer + + * malloc/dynarray_emplace_enlarge.c + (__libc_dynarray_emplace_enlarge): Add missing else. + +2017-09-06 Florian Weimer + + [BZ #22096] + * resolv/resolv_conf.c (__resolv_conf_attach): Do not free conf in + case of failure to obtain the global conf object. + +2017-09-06 Florian Weimer + + [BZ #22095] + * resolv/res_init.c (res_vinit_1): Avoid memory leak in case of + dynarray allocation failure. + +2017-09-06 Florian Weimer + + Remove dead PTR IPv4-to-IPv6 mapping code from nss_dns. + * resolv/nss_dns/dns-host.c (getanswer_r): Remove dead code. + * resolv/tst-res_use_inet6.c (response_ptr_v4, response_ptr_v6): + New functions. + (response): Call them. Add 'p', '6' flag processing. + (test_reverse): New function. + (test_get2_any): Call it. + (test_no_inet6): Add 'p' test. + (test_inet6): Likewise. + +2017-09-06 Florian Weimer + + Enhance tst-res_use_inet6 to test IPv4-to-IPv6 address mapping. + * resolv/tst-res_use_inet6.c (response): Process flags embedded in + the QNAME. + (test_gai): Adjust query names. Add additional tests. + (test_get2_any, test_get2_no_inet6, test_get2_inet6): Split from + test_get2. Adjust query names. Add additional tests. + (test_no_inet6): New function, extracted from threadfunc. + (threadfunc): Call test_get2_any, test_get2_inet6, test_no_inet6. + Add additional tests. + +2017-09-06 Mike FABIAN + + [BZ #22070] + * localedata/unicode-gen/utf8_gen.py: Set the width for + characters with Prepended_Concatenation_Mark property to 1 + * localedata/charmaps/UTF-8: Updated using the improved script. + +2017-09-06 Mike FABIAN + + [BZ #21750] + * localedata/unicode-gen/utf8_gen.py: Improve the script to + use the range notation for all ranges of neighbouring characters + with the same width. + +2017-09-05 Joseph Myers + + * sysdeps/generic/math-type-macros-double.h: Include + . + (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. + * sysdeps/generic/math-type-macros-float.h: Include + . + (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. + * sysdeps/generic/math-type-macros-ldouble.h: Include + . + (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. + * math/lgamma-compat.h (BUILD_LGAMMA): Include LIBM_SVID_COMPAT + condition. + * math/w_acos_compat.c: Condition contents on [LIBM_SVID_COMPAT]. + * math/w_acosf_compat.c: Likewise. + * math/w_acosh_compat.c: Likewise. + * math/w_acoshf_compat.c: Likewise. + * math/w_acoshl_compat.c: Likewise. + * math/w_acosl_compat.c: Likewise. + * math/w_asin_compat.c: Likewise. + * math/w_asinf_compat.c: Likewise. + * math/w_asinl_compat.c: Likewise. + * math/w_atan2_compat.c: Likewise. + * math/w_atan2f_compat.c: Likewise. + * math/w_atan2l_compat.c: Likewise. + * math/w_atanh_compat.c: Likewise. + * math/w_atanhf_compat.c: Likewise. + * math/w_atanhl_compat.c: Likewise. + * math/w_cosh_compat.c: Likewise. + * math/w_coshf_compat.c: Likewise. + * math/w_coshl_compat.c: Likewise. + * math/w_exp10_compat.c: Likewise. + * math/w_exp10f_compat.c: Likewise. + * math/w_exp10l_compat.c: Likewise. + * math/w_exp2_compat.c: Likewise. + * math/w_exp2f_compat.c: Likewise. + * math/w_exp2l_compat.c: Likewise. + * math/w_fmod_compat.c: Likewise. + * math/w_fmodf_compat.c: Likewise. + * math/w_fmodl_compat.c: Likewise. + * math/w_hypot_compat.c: Likewise. + * math/w_hypotf_compat.c: Likewise. + * math/w_hypotl_compat.c: Likewise. + * math/w_j0_compat.c: Likewise. + * math/w_j0f_compat.c: Likewise. + * math/w_j0l_compat.c: Likewise. + * math/w_j1_compat.c: Likewise. + * math/w_j1f_compat.c: Likewise. + * math/w_j1l_compat.c: Likewise. + * math/w_jn_compat.c: Likewise. + * math/w_jnf_compat.c: Likewise. + * math/w_jnl_compat.c: Likewise. + * math/w_lgamma_r_compat.c: Likewise. + * math/w_lgammaf_r_compat.c: Likewise. + * math/w_lgammal_r_compat.c: Likewise. + * math/w_log10_compat.c: Likewise. + * math/w_log10f_compat.c: Likewise. + * math/w_log10l_compat.c: Likewise. + * math/w_log2_compat.c: Likewise. + * math/w_log2f_compat.c: Likewise. + * math/w_log2l_compat.c: Likewise. + * math/w_log_compat.c: Likewise. + * math/w_logf_compat.c: Likewise. + * math/w_logl_compat.c: Likewise. + * math/w_pow_compat.c: Likewise. + * math/w_powf_compat.c: Likewise. + * math/w_powl_compat.c: Likewise. + * math/w_remainder_compat.c: Likewise. + * math/w_remainderf_compat.c: Likewise. + * math/w_remainderl_compat.c: Likewise. + * math/w_sinh_compat.c: Likewise. + * math/w_sinhf_compat.c: Likewise. + * math/w_sinhl_compat.c: Likewise. + * math/w_sqrt_compat.c: Likewise. + * math/w_sqrtf_compat.c: Likewise. + * math/w_sqrtl_compat.c: Likewise. + * math/w_tgamma_compat.c: Likewise. + * math/w_tgammaf_compat.c: Likewise. + * math/w_tgammal_compat.c: Likewise. + * math/w_scalb_compat.c (sysv_scalb): Condition definition on + [LIBM_SVID_COMPAT]. + (__scalb): Condition call to sysv_scalb on [LIBM_SVID_COMPAT]. + * math/w_scalbf_compat.c (sysv_scalbf): Condition definition on + [LIBM_SVID_COMPAT]. + (__scalbf): Condition call to sysv_scalbf on [LIBM_SVID_COMPAT]. + * math/w_scalbl_compat.c (sysv_scalbl): Condition definition on + [LIBM_SVID_COMPAT]. + (__scalbl): Condition call to sysv_scalbl on [LIBM_SVID_COMPAT]. + * sysdeps/i386/fpu/w_sqrt.c: New file. + * sysdeps/ia64/fpu/w_acos.c: Likewise. + * sysdeps/ia64/fpu/w_acosf.c: Likewise. + * sysdeps/ia64/fpu/w_acosh.c: Likewise. + * sysdeps/ia64/fpu/w_acoshf.c: Likewise. + * sysdeps/ia64/fpu/w_acoshl.c: Likewise. + * sysdeps/ia64/fpu/w_acosl.c: Likewise. + * sysdeps/ia64/fpu/w_asin.c: Likewise. + * sysdeps/ia64/fpu/w_asinf.c: Likewise. + * sysdeps/ia64/fpu/w_asinl.c: Likewise. + * sysdeps/ia64/fpu/w_atan2.c: Likewise. + * sysdeps/ia64/fpu/w_atan2f.c: Likewise. + * sysdeps/ia64/fpu/w_atan2l.c: Likewise. + * sysdeps/ia64/fpu/w_atanh.c: Likewise. + * sysdeps/ia64/fpu/w_atanhf.c: Likewise. + * sysdeps/ia64/fpu/w_atanhl.c: Likewise. + * sysdeps/ia64/fpu/w_cosh.c: Likewise. + * sysdeps/ia64/fpu/w_coshf.c: Likewise. + * sysdeps/ia64/fpu/w_coshl.c: Likewise. + * sysdeps/ia64/fpu/w_exp.c: Likewise. + * sysdeps/ia64/fpu/w_exp10.c: Likewise. + * sysdeps/ia64/fpu/w_exp10f.c: Likewise. + * sysdeps/ia64/fpu/w_exp10l.c: Likewise. + * sysdeps/ia64/fpu/w_exp2.c: Likewise. + * sysdeps/ia64/fpu/w_exp2f.c: Likewise. + * sysdeps/ia64/fpu/w_exp2l.c: Likewise. + * sysdeps/ia64/fpu/w_expf.c: Likewise. + * sysdeps/ia64/fpu/w_expl.c: Likewise. + * sysdeps/ia64/fpu/w_fmod.c: Likewise. + * sysdeps/ia64/fpu/w_fmodf.c: Likewise. + * sysdeps/ia64/fpu/w_fmodl.c: Likewise. + * sysdeps/ia64/fpu/w_hypot.c: Likewise. + * sysdeps/ia64/fpu/w_hypotf.c: Likewise. + * sysdeps/ia64/fpu/w_hypotl.c: Likewise. + * sysdeps/ia64/fpu/w_lgamma_r.c: Likewise. + * sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise. + * sysdeps/ia64/fpu/w_lgammal_r.c: Likewise. + * sysdeps/ia64/fpu/w_log.c: Likewise. + * sysdeps/ia64/fpu/w_log10.c: Likewise. + * sysdeps/ia64/fpu/w_log10f.c: Likewise. + * sysdeps/ia64/fpu/w_log10l.c: Likewise. + * sysdeps/ia64/fpu/w_log2.c: Likewise. + * sysdeps/ia64/fpu/w_log2f.c: Likewise. + * sysdeps/ia64/fpu/w_log2l.c: Likewise. + * sysdeps/ia64/fpu/w_logf.c: Likewise. + * sysdeps/ia64/fpu/w_logl.c: Likewise. + * sysdeps/ia64/fpu/w_pow.c: Likewise. + * sysdeps/ia64/fpu/w_powf.c: Likewise. + * sysdeps/ia64/fpu/w_powl.c: Likewise. + * sysdeps/ia64/fpu/w_remainder.c: Likewise. + * sysdeps/ia64/fpu/w_remainderf.c: Likewise. + * sysdeps/ia64/fpu/w_remainderl.c: Likewise. + * sysdeps/ia64/fpu/w_sinh.c: Likewise. + * sysdeps/ia64/fpu/w_sinhf.c: Likewise. + * sysdeps/ia64/fpu/w_sinhl.c: Likewise. + * sysdeps/ia64/fpu/w_sqrt.c: Likewise. + * sysdeps/ia64/fpu/w_sqrtf.c: Likewise. + * sysdeps/ia64/fpu/w_sqrtl.c: Likewise. + * sysdeps/ia64/fpu/w_tgamma.c: Likewise. + * sysdeps/ia64/fpu/w_tgammaf.c: Likewise. + * sysdeps/ia64/fpu/w_tgammal.c: Likewise. + * sysdeps/ieee754/dbl-64/w_exp_compat.c: Condition contents on + [LIBM_SVID_COMPAT]. + * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise. + * sysdeps/ieee754/k_standard.c: Likewise. + * sysdeps/ieee754/k_standardf.c: Likewise. + * sysdeps/ieee754/k_standardl.c: Likewise. + * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: Condition + long_double_symbol call on [LIBM_SVID_COMPAT]. + * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise. + * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c: Condition + long_double_symbol and compat_symbol calls on [LIBM_SVID_COMPAT]. + +2017-09-05 Steve Ellcey + + * include/shlib-compat.h (TEST_COMPAT): New Macro. + * malloc/tst-mallocstate.c: Convert from test-skeleton + to test-driver. Ifdef code using TEST_COMPAT macro. + * math/test-matherr-2.c: Ifdef test using TEST_COMPAT macro. + * math/test-matherr.c: Likewise. + +2017-09-05 Joseph Myers + + [BZ #22086] + * debug/pcprofiledump.c (main): Use byte-swapped mask when + comparing word with byte-swapped constant. + +2017-09-05 Chris Leonard + + [BZ #20498] + * locale/iso-639.def: add Miskito. + * localedata/SUPPORTED: Add miq_NI/UTF-8. + * localedata/locales/miq_NI: New file. + +2017-09-04 H.J. Lu + + [BZ #18822] + * include/sys/stat.h (__chmod): Add libc_hidden_proto. + (__mkdir): Likewise. + * io/chmod.c (__chmod): Add libc_hidden_def. + * io/mkdir.c (__mkdir): Likewise. + * sysdeps/mach/hurd/chmod.c (__chmod): Likewise. + * sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise. + * sysdeps/unix/sysv/linux/generic/chmod.c (__chmod): Likewise. + * sysdeps/unix/sysv/linux/generic/mkdir.c (__mkdir): Likewise. + +2017-09-04 Joseph Myers + + * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel + version to 4.13. + + [BZ #22082] + * math/bits/math-finite.h (exp10): Redirect if [__GLIBC_USE + (IEC_60559_FUNCS_EXT)], not [__USE_GNU]. + +2017-09-04 Florian Weimer + + * math/math.h: Issue warning if log is defined. + +2017-09-04 Joseph Myers + + * scripts/build-many-glibcs.py (Context.checkout): Default Linux + kernel version to 4.13. + +2017-09-03 Samuel Thibault + + * sysdeps/generic/sigsetops.h: Remove spurious #endif. + (__sigismember, __sigaddset, __sigdelset): Fix referencing set + parameter. + * sysdeps/mach/hurd/bits/socket.h: Include instead of + just . + * sysdeps/posix/preadv2.c: Use off_t instead of OFF_T. + * sysdeps/posix/preadv64v2.c: Use off64_t instead of OFF_T. + * sysdeps/posix/pwritev2.c: Use off_t instead of OFF_T. + * sysdeps/posix/pwritev64v2.c: Use off64_t instead of OFF_T. + * misc/preadv2.c: Include . + * misc/preadv64v2.c: Include . + * misc/pwritev2.c: Include . + * misc/pwritev64v2.c: Include . + * sysdeps/posix/preadv2.c: Include . + * sysdeps/posix/preadv64v2.c: Include . + Fix inclusion. + * sysdeps/posix/pwritev2.c: Include . + * sysdeps/posix/pwritev64v2.c: Include . + * sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno, __sbrk, + __strtoul_internal): New functions. + * sysdeps/posix/pause.c: Include . + * sysdeps/posix/system.c: Include . + * sysdeps/mach/hurd/i386/Makefile + [$(subdir) = csu] (sysdep_routines): New rule: divdi3 object. + [$(subdir) = csu] (sysdep-only-routines): Likewise. + [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise. + * sysdeps/x86/fpu/include/bits/fenv.h [NO_HIDDEN]: Redirect + __feraiseexcept_renamed to feraiseexcept instead of + __GI_feraiseexcept. + * sysdeps/mach/hurd/i386/Implies: Add mach/hurd/x86. + * sysdeps/mach/hurd/x86/dl-sysdep.c: New file. + * misc/tst-preadvwritev2-common.c (RWF_HIPRI, RWF_DSYNC, RWF_SYNC, + RWF_NOWAIT): Define to 0 if undefined already. + (do_test_with_invalid_flags): Set invalid_flag to 2 if RWF_SUPPORTED + boils down to 0. + * resolv/tst-resolv-res_init-skeleton.c (run_res_init) + [!CLONE_NEWUTS]: Fail as unsupported if hostname is not NULL. + +2017-09-01 Joseph Myers + + * manual/math.texi (pow10): Do not document. + (pow10f): Likewise. + (pow10l): Likewise. + * math/bits/mathcalls.h [__USE_GNU] (pow10): Do not declare. + * math/bits/math-finite.h [__USE_GNU] (pow10): Likewise. + * math/libm-test-exp10.inc (pow10_test): Remove. + (do_test): Do not call pow10. + * math/w_exp10_compat.c (pow10): Make into compat symbol. + [NO_LONG_DOUBLE] (pow10l): Likewise. + * math/w_exp10f_compat.c (pow10f): Likewise. + * math/w_exp10l_compat.c (pow10l): Likewise. + * sysdeps/ia64/fpu/e_exp10.S: Include . + (pow10): Make into compat symbol. + * sysdeps/ia64/fpu/e_exp10f.S: Include . + (pow10f): Make into compat symbol. + * sysdeps/ia64/fpu/e_exp10l.S: Include . + (pow10l): Make into compat symbol. + * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Remove + pow10. + (CFLAGS-nldbl-pow10.c): Remove variable.. + * sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: Remove file. + * sysdeps/ieee754/ldbl-opt/w_exp10_compat.c (pow10l): Condition on + [SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)]. + * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (compat_symbol): + Undefine and redefine. + (pow10l): Make into compat symbol. + * sysdeps/aarch64/libm-test-ulps: Remove pow10 ulps. + * sysdeps/alpha/fpu/libm-test-ulps: Likewise. + * sysdeps/arm/libm-test-ulps: Likewise. + * sysdeps/hppa/fpu/libm-test-ulps: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Likewise. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. + * sysdeps/microblaze/libm-test-ulps: Likewise. + * sysdeps/mips/mips32/libm-test-ulps: Likewise. + * sysdeps/mips/mips64/libm-test-ulps: Likewise. + * sysdeps/nios2/libm-test-ulps: Likewise. + * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. + * sysdeps/powerpc/nofpu/libm-test-ulps: Likewise. + * sysdeps/s390/fpu/libm-test-ulps: Likewise. + * sysdeps/sh/libm-test-ulps: Likewise. + * sysdeps/sparc/fpu/libm-test-ulps: Likewise. + * sysdeps/tile/libm-test-ulps: Likewise. + * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. + +2017-09-01 Paul Pluzhnikov + + * stdlib/tst-atexit-common.c (crumbs): Ensure correct size. + +2017-09-01 H.J. Lu + + * posix/tst-regex.c (do_test): Replace "../ChangeLog.8" with + "../ChangeLog.old/ChangeLog.8". + * posix/tst-regex2.c (do_test): Replace "../ChangeLog.14" with + "../ChangeLog.old/ChangeLog.14". + +2017-09-01 H.J. Lu + + * manual/contrib.texi: Credit Ulrich Drepper for the POSIX + Threads Library. + +2017-09-01 Joseph Myers + + * sysdeps/unix/sysv/linux/gentempfd.c: Include . + +2017-09-01 H.J. Lu + + * csu/version.c (banner): Remove "by Roland McGrath et al.". + * nptl/Banner: Remove "by Ulrich Drepper et al.". + +2017-09-01 Paul Pluzhnikov + + * stdlib/tst-atexit-common.c (do_test): Test support for at least + 32 atexit handlers. + +2017-09-01 Zack Weinberg + + * math/math.h (HUGE_VAL): Improve commentary. + +2017-09-01 Adhemerval Zanella + Andreas Schwab + + [BZ #21530] + * include/stdio.h (__gen_tempfd): New function. + * stdio-common/Makefile (routines): Add gentempfd. + * stdio-common/gentempfd.c: New file. + * sysdeps/unix/sysv/linux/gentempfd.c: Likewise. + * stdio-common/tmpfile.c (tmpfile): First try to use a system specific + unnamed file first. + +2017-09-01 Florian Weimer + + [BZ #21915] + [BZ #21922] + * sysdeps/posix/getaddrinfo.c (gethosts): Look at NSS function + result to determine success or failure, not the errno value. + * nss/Makefile (tests): Add tst-nss-files-hosts-erange. + (tst-nss-files-hosts-erange): Link with -ldl. + * nss/tst-nss-files-hosts-erange.c: New file. + * nss/tst-resolv-basic.c (response): Handle nodata.example. + (do_test): Add NO_DATA tests. + * resolv/tst-resolv-basic.c (test_nodata_nxdomain): New function. + (do_test): Call it. + +2017-09-01 Florian Weimer + + [BZ #21922] + * sysdeps/posix/getaddrinfo.c (gaih_inet): Report EAI_NODATA error + coming from gethostbyname2_r. + +2017-09-01 Florian Weimer + + * support/namespace.h (struct support_chroot_configuration): Add + hosts, host_conf. + (struct support_chroot): Add path_hosts, path_host_conf. + * support/support_chroot.c (write_file): New function. + (support_chroot_create): Call it to process /etc/resolv.conf, + /etc/hosts, /etc/host.conf. + (support_chroot_free): Update. + +2017-09-01 Florian Weimer + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Only use h_errno if + status indicates it is set. + +2017-09-01 Florian Weimer + + [BZ #20532] + * sysdeps/posix/getaddrinfo.c (gaih_inet): Make reporting of NSS + function lookup failures more reliable. + +2017-09-01 Florian Weimer + + * sysdeps/posix/getaddrinfo.c (gethosts): Use h_errno directly. + (getcanonname): Likewise. + (gaih_inet): Likewise. + +2017-09-01 Florian Weimer + + * sysdeps/posix/getaddrinfo.c (gethosts): Use errno directly. + (getcanonname): Likewise. + (gaih_inet): Likewise. + +2017-08-31 Steve Ellcey + Richard Henderson + + * sysdeps/aarch64/fpu/s_llrint.c (OREG_SIZE): New macro. + * sysdeps/aarch64/fpu/s_llround.c (OREG_SIZE): Likewise. + * sysdeps/aarch64/fpu/s_llrintf.c (OREGS, IREGS): Remove. + (IREG_SIZE, OREG_SIZE): New macros. + * sysdeps/aarch64/fpu/s_llroundf.c: (OREGS, IREGS): Remove. + (IREG_SIZE, OREG_SIZE): New macros. + * sysdeps/aarch64/fpu/s_lrintf.c (IREGS): Remove. + (IREG_SIZE): New macro. + * sysdeps/aarch64/fpu/s_lroundf.c (IREGS): Remove. + (IREG_SIZE): New macro. + * sysdeps/aarch64/fpu/s_lrint.c (get-rounding-mode.h, stdint.h): + New includes. + (IREG_SIZE, OREG_SIZE): Initialize if not already set. + (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE. + (__CONCATX): Handle exceptions correctly on large values that may + set FE_INVALID. + * sysdeps/aarch64/fpu/s_lround.c (IREG_SIZE, OREG_SIZE): + Initialize if not already set. + (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE. + +2017-08-31 Adhemerval Zanella + + * sysdeps/generic/not-cancel.h (NO_CANCELLATION): Remove macro. + * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h + (NO_CANCELLATION): Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h + (NO_CANCELLATION): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h + (NO_CANCELLATION): Likewise. + * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (NO_CANCELLATION): + Likewise + * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (NO_CANCELLATION): + Likewise. + * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Add + hidden prototype. + * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Define only + for !IS_IN (rtld) and remove NO_CANCELLATION usage. + +2017-08-31 Steve Ellcey + + * sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type + in resolver call. + +2017-08-31 Florian Weimer + + * include/libc-symbols.h (internal_function): Remove. + +2017-08-31 Florian Weimer + + * stdlib/fmtmsg.c (internal_addseverity): Remove + internal_function. + +2017-08-31 Florian Weimer + + * stdio-common/printf_fp.c (group_number): Remove + internal_function. + * stdio-common/vfprintf.c (buffered_vfprintf): Likewise. + +2017-08-31 Florian Weimer + + * posix/fnmatch.c (internal_function): Remove definition. + * posix/fnmatch_loop.c (FCT, EXT, END): Remove internal_function. + * posix/regcomp.c (peek_token, init_word_char) + (duplicate_node_closure, fetch_token, peek_token) + (peek_token_bracket, build_range_exp, build_collating_symbol): + Likewise. + * posix/regex_internal.c (re_string_construct_common) + (create_ci_newstate, create_cd_newstate, re_string_allocate) + (re_string_construct, re_string_realloc_buffers, build_wcs_buffer) + (build_wcs_upper_buffer, re_string_skip_chars, build_upper_buffer) + (re_string_translate_buffer, re_string_reconstruct) + (re_string_peek_byte_case, re_string_fetch_byte_case) + (re_string_destruct, re_string_context_at, re_node_set_alloc) + (re_node_set_init_1, re_node_set_init_2, re_node_set_init_copy) + (re_node_set_add_intersect, re_node_set_init_union) + (re_node_set_merge, re_node_set_insert, re_node_set_insert_last) + (re_node_set_compare, re_node_set_contains, re_node_set_remove_at) + (re_dfa_add_node, calc_state_hash, re_acquire_state) + (re_acquire_state_context): Likewise. + * posix/regex_internal.h (internal_function): Remove definition. + (re_string_realloc_buffers, build_wcs_buffer) + (build_wcs_upper_buffer, build_upper_buffer) + (re_string_translate_buffer, re_string_context_at) + (re_string_char_size_at, re_string_wchar_at) + (re_string_elem_size_at): Likewise. + * posix/regexec.c (match_ctx_init, match_ctx_clean) + (match_ctx_free, match_ctx_add_entry, search_cur_bkref_entry) + (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init) + (re_search_internal, re_search_2_stub, re_search_stub) + (re_copy_regs, prune_impossible_nodes, check_matching) + (check_halt_state_context, update_regs, push_fail_stack, set_regs) + (free_fail_stack_return, sift_states_iter_mb) + (sift_states_backward, build_sifted_states) + (update_cur_sifted_state, add_epsilon_src_nodes, check_dst_limits) + (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos) + (check_subexp_limits, sift_states_bkref, merge_state_array) + (find_recover_state, transit_state, merge_state_with_log) + (check_subexp_matching_top, transit_state_sb, transit_state_sb) + (transit_state_mb, transit_state_bkref, get_subexp) + (get_subexp_sub, find_subexp_node, check_arrival) + (check_arrival_add_next_nodes, check_arrival_expand_ecl) + (check_arrival_expand_ecl_sub, expand_bkref_cache, build_trtable) + (check_node_accept_bytes, find_collation_sequence_value) + (group_nodes_into_DFAstates, check_node_accept, extend_buffers) + (acquire_init_state_context, check_halt_node_context) + (proceed_next_node, pop_fail_stack, clean_state_log_if_needed) + (sub_epsilon_src_nodes): Likewise. + * posix/spawn_int.h (__spawn_valid_fd): Likewise. + * posix/spawn_valid_fd (__spawn_valid_fd): Likewise. + * posix/wordexp.c (parse_dollars, parse_backtick, parse_dquote) + (eval_expr, w_addmem, w_addstr, w_addword, parse_backslash) + (parse_qtd_backslash, parse_tilde, do_parse_glob, parse_glob) + (parse_squote, eval_expr_val, eval_expr_multdiv, parse_arith) + (exec_comm_child, exec_comm, parse_comm, parse_param): Likewise. + * sysdeps/posix/ttyname.c (getttyname): Likewise. + * sysdeps/posix/ttyname_r.c (getttyname_r): Likewise. + * sysdeps/unix/sysv/linux/preadv.c (__atomic_preadv_replacement) + (PREADV): Likewise. + * sysdeps/unix/sysv/linux/preadv64.c (__atomic_preadv64_replacement) + (PREADV): Likewise. + * sysdeps/unix/sysv/linux/pwritev.c (__atomic_pwritev_replacement) + (PWRITEV): Likewise. + * sysdeps/unix/sysv/linux/pwritev64.c (__atomic_pwritev64_replacement) + (PWRITEV): Likewise. + * sysdeps/unix/sysv/linux/ttyname.c (getttyname): Likewise. + * sysdeps/unix/sysv/linux/ttyname_r.c (getttyname_r): Likewise. + +2017-08-31 Florian Weimer + + * nptl/allocatestack.c (change_stack_perm, __deallocate_stack) + (setxid_mark_thread, setxid_unmark_thread, setxid_signal_thread): + Remove internal_function. + * nptl/cancellation.c (__pthread_disable_asynccancel): Likewise. + * nptl/libc_pthread_init.c (__libc_pthread_init): Likewise. + * nptl/pthreadP.h (__find_in_stack_list, __free_tcb) + (__deallocate_stack, __libc_pthread_init) + (__pthread_mutex_cond_lock, __pthread_mutex_cond_lock_adjust) + (__pthread_mutex_unlock_usercnt, __pthread_disable_asynccancel) + (__libc_disable_asynccancel, __librt_disable_asynccancel): + Likewise. + * nptl/pthread_create.c (__find_in_stack_list, __free_tcb): Likewise. + * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Likewise. + * nptl/pthread_mutex_lock.c (__pthread_mutex_cond_lock_adjust): + Likewise. + * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full) + (__pthread_mutex_unlock_usercnt): Likewise. + +2017-08-31 Florian Weimer + + * io/fts.c (fts_alloc, fts_build, fts_lfree, fts_load) + (fts_maxarglen, fts_padjust, fts_palloc, fts_sort, fts_stat) + (fts_safe_changedir): Remove internal_function. + * io/ftw.c (internal_function): Remove definition. + (ftw_dir, process_entry, ftw_startup): Remove internal_function. + +2017-08-31 Florian Weimer + + * inet/deadline.c (__deadline_current_time) + (__deadline_from_timeval, __deadline_to_ms): Remove + internal_function. + * inet/getnameinfo.c (nrl_domainname): Likewise. + * inet/getnetgrent_r.c (__internal_setnetgrent_reuse): Likewise. + * inet/inet6_option.c (add_pad): Likewise. + * inet/net-internal.h (__deadline_current_time) + (__deadline_from_timeval, __deadline_to_ms): Likewise. + * inet/rcmd.c (__checkhost_sa, __icheckuser): Likewise. + * sysdeps/mach/hurd/if_index.c (__protocol_available): Likewise. + * sysdeps/unix/sysv/linux/ifaddrs.c (map_newlink): Likewise. + +2017-08-31 Joseph Myers + + * math/math.h [__USE_ISOC99] (NAN): Define directly here. Do not + include . + * math/Makefile (headers): Remove bits/nan.h. + * bits/nan.h: Remove. + * sysdeps/ieee754/bits/nan.h: Likewise. + * sysdeps/mips/bits/nan.h: Likewise. + + * math/math.h [__USE_ISOC99] (INFINITY): Define directly here. Do + not include . + * math/Makefile (headers): Remove bits/inf.h. + * bits/inf.h: Remove. + * sysdeps/ieee754/bits/inf.h: Likewise. + + * math/math.h: Do not include bits/huge_val.h, bits/huge_valf.h, + bits/huge_vall.h or bits/huge_val_flt128.h. + (HUGE_VAL): Define directly here. + [__USE_ISOC99] (HUGE_VALF): Likewise. + [__USE_ISOC99] (HUGE_VALL): Likewise. + [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (HUGE_VAL_F128): Likewise. + * math/Makefile (headers): Remove bits/huge_val.h, + bits/huge_valf.h, bits/huge_vall.h and bits/huge_val_flt128.h. + * bits/huge_val.h: Remove. + * bits/huge_val_flt128.h: Likewise. + * bits/huge_valf.h: Likewise. + * bits/huge_vall.h: Likewise. + * sysdeps/ia64/bits/huge_vall.h: Likewise. + * sysdeps/ieee754/bits/huge_val.h: Likewise. + * sysdeps/ieee754/bits/huge_valf.h: Likewise. + * sysdeps/m68k/m680x0/bits/huge_vall.h: Likewise. + * sysdeps/sh/bits/huge_val.h: Likewise. + * sysdeps/sparc/bits/huge_vall.h: Likewise. + * sysdeps/x86/bits/huge_vall.h: Likewise. + +2017-08-31 Florian Weimer + + * elf/dl-addr-obj.c (_dl_addr_inside_object): Remove + internal_function. + * elf/dl-cache.c (_dl_cache_libcmp, _dl_load_cache_lookup): + Likewise. + * elf/dl-debug.c (_dl_debug_initialize): Likewise. + * elf/dl-deps.c (_dl_build_local_scope, _dl_map_object_deps): Likewise. + * elf/dl-environ.c (_dl_next_ld_env_entry): Likewise. + * elf/dl-execstack.c (_dl_make_stack_executable): Likewise. + * elf/dl-fini.c (_dl_sort_fini): Likewise. + * elf/dl-hwcaps.c (_dl_important_hwcaps): Likewise. + * elf/dl-libc.c (dlerror_run): Likewise. + * elf/dl-load.c (add_name_to_object, decompose_rpath) + (_dl_init_paths, _dl_map_object, _dl_rtld_di_serinfo): Likewise. + * elf/dl-lookup.c (add_dependency, _dl_debug_bindings) + (_dl_lookup_symbol_x, _dl_setup_hash, _dl_debug_bindings): + Likewise. + * elf/dl-misc.c (_dl_sysdep_read_whole_file, _dl_name_match_p) + (_dl_higher_prime_number, _dl_strtoul): Likewise. + * elf/dl-object.c (_dl_add_to_namespace_list, _dl_new_object): Likewise. + * elf/dl-profile.c (_dl_start_profile): Likewise. + * elf/dl-reloc.c (_dl_try_allocate_static_tls) + (_dl_allocate_static_tls, _dl_protect_relro, _dl_reloc_bad_type): + Likewise. + * elf/dl-support.c (_dl_aux_init, _dl_non_dynamic_init): Likewise. + * elf/dl-sym.c (_dl_tls_symaddr, do_sym): Likewise. + * elf/dl-sysdep.c (_dl_sysdep_start_cleanup, _dl_show_auxv): Likewise. + * elf/dl-tls.c (_dl_next_tls_modid, _dl_count_modids) + (_dl_determine_tlsoffset, allocate_dtv, _dl_get_tls_static_info) + (_dl_allocate_tls_storage): Likewise. + * elf/dl-version.c (match_symbol, _dl_check_map_versions) + (_dl_check_all_versions): Likewise. + * elf/dynamic-link.h (_dl_try_allocate_static_tls): Likewise. + * elf/tlsdeschtab.h (_dl_make_tlsdesc_dynamic): Likewise. + * elf/tst-_dl_addr_inside_object.c (_dl_addr_inside_object): Likewise. + * sysdeps/aarch64/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise. + * sysdeps/aarch64/tlsdesc.c (_dl_unmap): Likewise. + * sysdeps/arm/dl-lookupcfg.h (_dl_unmap): Likewise. + * sysdeps/arm/dl-machine.h (elf_machine_load_address): Remove + internal_function from __dl_start. + * sysdeps/arm/dl-tlsdesc.h (_dl_unmap): Remove internal_function. + * sysdeps/generic/dl-cache.h (_dl_cache_libcmp): Likewise. + * sysdeps/generic/ldsodefs.h (_dl_name_match_p) + (_dl_higher_prime_number, _dl_strtoul, _dl_map_object) + (_dl_map_object_deps, _dl_setup_hash, _dl_rtld_di_serinfo) + (_dl_lookup_symbol_x, _dl_add_to_namespace_list, _dl_new_object) + (_dl_protect_relro, _dl_reloc_bad_type, _dl_check_all_versions) + (_dl_check_map_versions, _dl_sort_fini, _dl_debug_initialize) + (_dl_init_paths, _dl_start_profile, _dl_show_auxv) + (_dl_next_ld_env_entry, _dl_important_hwcaps) + (_dl_load_cache_lookup, _dl_sysdep_read_whole_file) + (_dl_sysdep_start_cleanup, _dl_next_tls_modid, _dl_count_modids) + (_dl_determine_tlsoffset, _dl_get_tls_static_info) + (_dl_allocate_static_tls, _dl_allocate_tls_storage) + (_dl_addr_inside_object, _dl_non_dynamic_init, _dl_aux_init): + Likewise. + (struct rtld_global_ro): Remove internal_function from the + _dl_lookup_symbol_x member. + (_dl_symbol_value): Remove. No longer defined anywhere. + * sysdeps/i386/dl-lookupcfg.h (_dl_unmap): Remove + internal_function. + * sysdeps/i386/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise. + * sysdeps/i386/tlsdesc.c (_dl_unmap): Likewise. + * sysdeps/mach/hurd/dl-sysdep.c (_dl_show_auxv): Likewise. + * sysdeps/nios2/dl-init.c (_dl_nios2_get_gp_value): Likewise. + * sysdeps/tile/dl-lookupcfg.h (_dl_unmap): Likewise. + * sysdeps/tile/dl-machine.h (_dl_after_load): Likewise. + * sysdeps/tile/dl-runtime.c (_dl_after_load, _dl_unmap): Likewise. + * sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Likewise. + * sysdeps/unix/sysv/linux/dl-vdso.h (_dl_vdso_vsym): Likewise. + * sysdeps/x86_64/dl-lookupcfg.h (_dl_unmap): Likewise. + * sysdeps/x86_64/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise. + * sysdeps/x86_64/tlsdesc.c (_dl_unmap): Likewise. + +2017-08-31 Florian Weimer + + * gmon/gmon.c (write_hist, write_call_graph, write_bb_counts): + Remove internal_function. + * sysdeps/arm/machine-gmon.h (mcount_internal, _MCOUNT_DECL): + Likewise. + * sysdeps/sparc/machine-gmon.h (mcount_internal, _MCOUNT_DECL): + Likewise. + +2017-08-31 Florian Weimer + + * dlfcn/dlerror.c (_dlerror_run): Remove internal_function. + * elf/dl-sym.c (_dl_vsym, _dl_sym): Likewise. + * include/dlfcn.h (_dl_sym, _dl_vsym, _dlerror_run): Likewise. + +2017-08-31 Florian Weimer + + * resolv/gai_misc.c (__gai_find_request, __gai_remove_request) + (__gai_enqueue_request): Remove internal_function. + * resolv/gai_misc.h (__gai_enqueue_request, __gai_find_request) + (__gai_remove_request, __gai_notify, __gai_notify_only) + (__gai_sigqueue): Likewise. + * resolv/gai_notify.c (__gai_notify_only, __gai_notify): Likewise. + * resolv/gai_sigqueue.c (__gai_sigqueue): Likewise. + * resolv/inet_ntop.c (inet_ntop4, inet_ntop6): Likewise. + * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): + Likewise. + +2017-08-31 Florian Weimer + + * dirent/scandir-tail.c (SCANDIR_TAIL): Remove internal_function. + * include/dirent.h (__opendirat, __getdents, __getdents64) + (__alloc_dir, __scandir_tail, __scandir64_tail): Likewise. + * sysdeps/posix/opendir.c (__opendirat, __alloc_dir): Likewise. + * sysdeps/mach/hurd/opendir.c (__opendirat): Likewise. + * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64): + Likewise. + * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Likewise. + +2017-08-31 Florian Weimer + + * sysdeps/unix/sysv/linux/getcwd.c (generic_getcwd): Remove + internal_function. + (GETCWD_RETURN_TYPE): Likewise. + +2017-08-31 Florian Weimer + + * include/time.h (__tz_compute, __strptime_internal): Remove + internal_function. + * time/strptime_l.c (__strptime_internal): Likewise. + * time/tzset.c (compute_change, update_vars, __tz_compute): Likewise. + +2017-08-31 Florian Weimer + + * iconv/gconv.c (__gconv): Remove internal_function. + * iconv/gconv_builtin.c (__gconv_get_builtin_trans): Likewise. + * iconv/gconv_cache.c (__gconv_load_cache, find_module_idx) + (find_module, __gconv_compare_alias_cache, __gconv_lookup_cache) + (__gconv_release_cache): Likewise. + * iconv/gconv_close.c (__gconv_close): Likewise. + * iconv/gconv_conf.c (detect_conflict, insert_module, add_module) + (read_conf_file, __gconv_get_path): Likewise. + * iconv/gconv_db.c (derivation_lookup, add_derivation) + (__gconv_release_step, gen_steps, increment_counter) + (find_derivation, __gconv_compare_alias, __gconv_find_transform) + (__gconv_close_transform, free_modules_db): Likewise. + * iconv/gconv_dl.c (__gconv_find_shlib, __gconv_release_shlib): + Likewise. + * iconv/gconv_int.h (__gconv_open, __gconv_close, __gconv) + (__gconv_find_transform, __gconv_lookup_cache) + (__gconv_release_step, __gconv_load_cache, __gconv_get_path) + (__gconv_close_transform, __gconv_release_cache) + (__gconv_loaded_object, __gconv_release_shlib) + (__gconv_compare_alias): Likewise. + * iconv/gconv_open.c (__gconv_open): Likewise. + * iconv/iconv_prog.c (print_known_names, add_known_names): Likewise. + * iconv/iconvconfig.c (add_module): Likewise. + * intl/dcigettext.c (plural_lookup, guess_category_value) + (category_to_name, get_output_charset, _nl_find_msg): Likewise. + * intl/eval-plural.h (plural_eval): Likewise. + * intl/finddomain.c (_nl_find_domain): Likewise. + * intl/gettextP.h (_nl_unload_domain, _nl_find_domain) + (_nl_load_domain, _nl_find_msg): Likewise. + (internal_function): Remove definition. + * intl/loadinfo.h (internal_function): Likewise. + * intl/loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Remove + internal_function. + * intl/localealias.c (internal_function): Remove definition. + (read_alias_file): Remove internal_function. + * intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Likewise. + * intl/plural-exp.h (internal_function): Remove definition. + (FREE_EXPRESSION, EXTRACT_PLURAL_EXPRESSION): Remove + internal_function. + * intl/plural.c: Regenerate. + * intl/plural.y (FREE_EXPRESSION): Remove internal_function. + * locale/coll-lookup.c (__collidx_table_lookup) + (__collseq_table_lookup): Likewise. + * locale/coll-lookup.h (__collidx_table_lookup) + (__collseq_table_lookup): Likewise. + * locale/findlocale.c (_nl_find_locale, _nl_remove_locale): Likewise. + * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. + * locale/loadlocale.c (_nl_intern_locale_data, _nl_load_locale) + (_nl_unload_locale): Likewise. + * locale/localeinfo.h (struct __locale_data): Remove + internal_function from cleanup member. + (_nl_find_locale, _nl_load_locale, _nl_unload_locale) + (_nl_remove_locale, _nl_load_locale_from_archive) + (_nl_intern_locale_data, _nl_get_era_entry, _nl_select_era_entry) + (_nl_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit) + (_nl_cleanup_time): Remove internal_function. + * time/alt_digit.c (_nl_get_alt_digit, _nl_get_walt_digit) + (_nl_parse_alt_digit): Likewise. + * time/era.c (_nl_init_era_entries, _nl_get_era_entry) + (_nl_select_era_entry): Likewise. + * time/lc-time-cleanup.c (_nl_cleanup_time): Likewise. + * wcsmbs/wcsmbsload.c (__wcsmbs_load_conv, __wcsmbs_clone_conv) + (__wcsmbs_named_conv, _nl_cleanup_ctype): Likewise. + * wcsmbs/wcsmbsload.h (__wcsmbs_load_conv, __wcsmbs_clone_conv) + (__wcsmbs_named_conv, _nl_cleanup_ctype): Likewise. + +2017-08-31 Florian Weimer + + * rt/aio_sigqueue.c (__aio_sigqueue): Remove internal_function. + * sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise. + * sysdeps/pthread/aio_misc.c (__aio_free_request, __aio_find_req) + (__aio_find_req_fd, __aio_remove_request, __aio_enqueue_request): + Likewise. + * sysdeps/pthread/aio_misc.h (__aio_enqueue_request) + (__aio_find_req, __aio_find_req_fd, __aio_free_request) + (__aio_notify, __aio_notify_only, __aio_sigqueue): Likewise. + * sysdeps/pthread/aio_notify.c (__aio_notify_only, __aio_notify): + Likewise. + * sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Likewise. + +2017-08-31 Florian Weimer + + * misc/getttyent.c (skip, value): Remove internal_function. + * misc/syslog.c (openlog_internal): Likewise. + * misc/tsearch.c (trecurse, tdestroy_recurse): Likewise. + +2017-08-31 Florian Weimer + + * include/nss.h (__nss_valid_field, __nss_valid_list_field) + (__nss_rewrite_field): Remove internal_function. + * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. + * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise. + * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise. + * nss/nsswitch.c (nss_parse_file, nss_getline) + (nss_parse_service_list, nss_new_service): Likewise. + * nss/rewrite_field.c (__nss_rewrite_field): Likewise. + * nss/valid_field.c (__nss_valid_field): Likewise. + * nss/valid_list_field.c (__nss_valid_list_field): Likewise. + +2017-08-31 Florian Weimer + + * malloc/arena.c (__malloc_fork_lock_parent) + (__malloc_fork_unlock_parent, __malloc_fork_unlock_child) + (next_env_entry, new_heap, heap_trim, arena_get2): Remove + internal_function from defintions. + * malloc/hooks.c (mem2mem_check, mem2chunk_check): Likewise. + * malloc/malloc-internal.h (__malloc_fork_lock_parent) + (__malloc_fork_unlock_parent, __malloc_fork_unlock_child): Remove + internal_function from declarations. + * malloc/malloc.c (internal_function): Do not define. + (mem2mem_check): Remove internal_function from declaration. + (munmap_chunk, mremap_chunk): Remove internal_function. + * malloc/mtrace.c (tr_where): Likewise. + +2017-08-31 Florian Weimer + + * include/rpc/pmap_clnt.h (__get_socket): Remove + internal_function. + * sunrpc/auth_des.c (synchronize): Likewise. + * sunrpc/auth_unix.c (marshal_new_auth): Likewise. + * sunrpc/clnt_perr.c (auth_errmsg): Likewise. + * sunrpc/des_impl.c (des_encrypt, des_set_key): Likewise. + * sunrpc/key_call.c (key_call_keyenvoy, key_call_socket) + (key_call): Likewise. + * sunrpc/pm_getport.c (__get_socket): Likewise. + * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. + * sunrpc/svc_unix.c (makefd_xprt): Likewise. + * sunrpc/svc_tcp.c (makefd_xprt): Likewise. + * sunrpc/svcauth_des.c (cache_init, cache_spot, cache_ref) + (invalidate): Likewise. + * sunrpc/xcrypt.c (hexval, hex2bin, bin2hex): Likewise. + * sunrpc/xdr_rec.c (fix_buf_size, skip_input_bytes, flush_out) + (set_input_fragment, get_input_bytes): Likewise. + +2017-08-31 Florian Weimer + + * malloc/malloc.c (_int_free): Remove locked variable and related + asserts. + +2017-08-31 H.J. Lu + + [BZ #22051] + * Makerules (build-module-helper-objlist): Filter out + $(elf-objpfx)sofini.os. + (build-shlib-objlist): Append $(elf-objpfx)sofini.os if it is + needed. + +2017-08-31 Florian Weimer + + * libio/fcloseall.c: Assume weak_alias is defined. + * libio/feof.c: Likewise. + * libio/fileno.c: Likewise. + * libio/fileops.c: Assume _LIBC, errno, __set_errno are defined. + (_POSIX_SOURCE, open, lseek, read, write): Remove macro + definitions. + (_IO_file_open): Call __open directly. + (_IO_new_file_sync): Assume ESPIPE is defined. + (_IO_file_seekoff_maybe_mmap): Call __read directly. + (_IO_new_file_write): Call __write directly. + * libio/ftello.c (__ftello): Assume EIO, EOVERFLOW are defined. + * libio/ftello64.c (__ftello64): Assume EIO is defined. + * libio/genops.c: Assume _LIBC is defined. + (save_for_backup): Remove internal_function. + * libio/getc.c: Assume weak_alias is defined. + * libio/getwc.c: Likewise. + * libio/iofclose.c: Assume _LIBC is defined. + * libio/iofdopen.c: Likewise. + (_IO_fcntl): Remove macro definition. + (_IO_new_fdopen): Assume F_GETFL, F_SETFL, O_ACCMODE are defined. + Call __fcntl directly. + * libio/iofflush.c: Assume weak_alias is defined. + * libio/iofgetpos.c (_IO_new_fgetpos): Assume EIO, EOVERFLOW are + defined. + * libio/iofgetpos64.c (_IO_new_fgetpos64): Assume EIO is defined. + * libio/iofgets.c: Likewise. + * libio/iofopen.c: Assume _LIBC is defined. + * libio/iofopen64.c: Assume _LIBC, weak_alias are defined. + * libio/iofputs.c: Assume weak_alias is defined. + * libio/iofread.c: Likewise. + * libio/iofsetpos.c (_IO_new_fsetpos): Assume EIO is defined. + * libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise. + * libio/ioftell.c: Assume weak_alias is defined. + (_IO_ftell): Assume EIO, EOVERFLOW are defined. + * libio/iofwide.c: Assume _LIBC is defined. + (_IO_fwide): Drop SHARED conditional because it is implied by + SHLIB_COMPAT. + * libio/iofwrite.c: Assume weak_alias is defined. + * libio/iogetdelim.c: Likewise. + * libio/iogets.c: Assume _LIBC, weak_alias are defined. + * libio/iogetwline.c (wmemcpy): Remove macro definition. + (_IO_getwline): Call __wmemcpy directly. + * libio/iopopen.c: Assume _LIBC is defined. + (_POSIX_SOURCE, _IO_fork, _IO_dup2, _IO_waitpid, _IO_execl) + (_IO_close): Remove macro definitions. + (_IO_new_proc_open): Call __fork, __dup2, __close_nocancel, execl, + _exit directly. + (_IO_new_proc_close): Call __close_nocancel, __waitpid_nocancel + directly. + * libio/ioputs.c: Assume weak_alias is defined. + * libio/ioseekoff.c: Assume errno, __set_errno are defined. + * libio/iosetbuffer.c: Assume weak_alias is defined. + * libio/iosetvbuf.c: Likewise. + * libio/ioungetc.c: Likewise. + * libio/libioP.h: Assume _LIBC, __GLIBC__, libc_hidden_proto, + libc_hidden_def, libc_hidden_weak, NULL are defined. + (mmap, munmap, ftruncate, OS_FSTAT): Remove macro definitions. + * libio/oldfilepos.c: Assume _LIBC, errno, __set_errno are + defined. + (_POSIX_SOURCE, open, lseek, read, write): Remove macro + definitions. + (_IO_old_file_init_internal): Drop SHARED conditional because it + is implied by SHLIB_COMPAT. + (_IO_old_file_fopen): Call __open directly. + (_IO_old_file_sync): Assume ESPIPE is defined. + (_IO_old_file_write): Call __write directly. + * libio/oldfdopen.c (_IO_fcntl): Remove macro definition. + (_IO_old_fdopen): Assume F_GETFL, O_ACCMODE, F_SETFL are defined. + Call __fcntl directly. + * libio/oldiofgetpos.c: Assume weak_alias is defined. + (_IO_old_fgetpos): Assume EIO is defined. + * libio/oldiofgetpos64.c: Assume weak_alias is defined. + (_IO_old_fgetpos64): Assume EIO is defined. + * libio/oldiofsetpos.c: Assume weak_alias is defined. + (_IO_old_fsetpos): Assume EIO is defined. + * libio/oldiofsetpos64.c: Assume weak_alias is defined. + (_IO_old_fsetpos64): Assume EIO is defined. + * libio/oldiopopen.c: Assume _LIBC is defined. + (_POSIX_SOURCE, _IO_fork, _IO_dup2, _IO_waitpid, _IO_execl) + (_IO_close): Remove macro definitions. + (_IO_old_proc_open): Call __pipe, __close, __dup2, execl, _exit + directly. + (_IO_old_proc_close): Call __close, __waitpid directly. + * libio/put.c: Assume weak_alias is defined. + * libio/stdfiles.c: Assume _LIBC is defined. + * libio/stdio.c: Likewise. + * libio/wfileops.c: Likewise. + (_IO_wfile_sync): Assume ESPIPE is defined. + * libio/wgenops.c: Assume _LIBC is defined. + (save_for_wbackup): Remove internal_function. + +2017-08-31 Florian Weimer + + * malloc/malloc.c (top_check): Change return type to void. Remove + internal_function. + * malloc/hooks.c (top_check): Likewise. + (malloc_check, realloc_check, memalign_check): Adjust. + +2017-08-30 Joseph Myers + + [BZ #21457] + * sysdeps/arm/sys/ucontext.h: Do not include . + * sysdeps/generic/sys/ucontext.h: Add comment about use of struct + sigcontext and namespace requirements. + * sysdeps/i386/sys/ucontext.h: Do not include . + * sysdeps/m68k/sys/ucontext.h: Likewise. + * sysdeps/mips/sys/ucontext.h: Likewise. Include . + * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Do not include + . + (__ctx): Define earlier. + (mcontext_t): Define structure contents rather than using struct + sigcontext. + * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (oEXTENSION): Use + __glibc_reserved1 instead of __reserved. + * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Do not include + . + (__ctx): Define earlier. + (mcontext_t): Define structure contents rather than using struct + sigcontext. + * sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: Use + mcontext_t instead of struct sigcontext. + * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Do not include + . + (__ctx): Define earlier. + (mcontext_t): Define structure contents rather than using struct + sigcontext. + * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Do not include + . + (__ctx): Define earlier. + (mcontext_t): Define structure contents rather than using struct + sigcontext. + * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Use + mcontext_t instead of struct sigcontext. + * sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: Use + mcontext_t instead of struct sigcontext. + * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Do not include + . + (__ctx): New macro. + (struct __ia64_fpreg_mcontext): New type. + (mcontext_t): Define structure contents rather than using struct + sigcontext. + (_SC_GR0_OFFSET): Use mcontext_t instead of struct sigcontext. + (uc_sigmask): Define using __ctx. + (uc_stack): Likewise. + * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Include + . + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Do not include + . + * sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: New file. + * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Do not include + . + * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Do not include + . + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Do not include + . + * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Do not include + . + * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Do not include + . + * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Do not include + . + * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Do not include + . + (__ctx): Define earlier. + (mcontext_t): Define structure contents rather than using struct + sigcontext. + * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Do not include + . Include . + * conform/Makefile (test-xfail-XPG42/signal.h/conform): Remove. + (test-xfail-XPG42/sys/wait.h/conform): Likewise. + (test-xfail-XPG42/ucontext.h/conform): Likewise. + (test-xfail-UNIX98/signal.h/conform): Likewise. + (test-xfail-UNIX98/sys/wait.h/conform): Likewise. + (test-xfail-UNIX98/ucontext.h/conform): Likewise. + (test-xfail-XOPEN2K/signal.h/conform): Likewise. + (test-xfail-XOPEN2K/sys/wait.h/conform): Likewise. + (test-xfail-XOPEN2K/ucontext.h/conform): Likewise. + (test-xfail-POSIX2008/signal.h/conform): Likewise. + (test-xfail-POSIX2008/sys/wait.h/conform): Likewise. + (test-xfail-XOPEN2K8/signal.h/conform): Likewise. + (test-xfail-XOPEN2K8/sys/wait.h/conform): Likewise. + +2017-08-30 Florian Weimer + + * malloc/dynarray_emplace_enlarge.c + (__libc_dynarray_emplace_enlarge): Set errno on overflow. + * malloc/dynarray_resize.c (__libc_dynarray_resize): Likewise. + * malloc/tst-dynarray.c (test_long_overflow): New function. + (do_test): Call it. + +2017-08-30 Florian Weimer + + * malloc/malloc.c (ARENA_CORRUPTION_BIT, arena_is_corrupt) + (set_arena_corrupt): Remove definitions. + (mtrim): Do not check for corrupt arena. + * malloc/arena.c (arena_lock, reused_arena, arena_get_retry): + Likewise. + +2017-08-30 Florian Weimer + + [BZ #21754] + * malloc/arena.c (TUNABLE_CALLBACK set_mallopt_check): Do not set + check_action. + (ptmalloc_init): Do not set or use check_action. + * malloc/hooks.c (malloc_check_get_size, realloc_check): Adjust + call to malloc_printerr. Remove return statement. + (free_check): Likewise. Remove arena unlock. + (top_check): Update comment. Adjust call to malloc_printerr. + Remove heap repair code. + * malloc/malloc.c (unlink): Adjust calls to malloc_printerr. + (DEFAULT_CHECK_ACTION, check_action): Remove definitions. + (sysmalloc): Adjust call to malloc_printerr. + (munmap_chunk, __libc_realloc): Likewise. Remove return + statement. + (_int_malloc, int_realloc): Likewise. Remove errstr variable. + Remove errout label and corresponding gotos. + (_int_free): Likewise. Remove arena unlock. + (do_set_mallopt_check): Do not set check_action. + (malloc_printerr): Adjust parameter list. Do not mark arena as + corrupt. + * manual/memory.texi (Malloc Tunable Parameters): Remove TODO + comment. + * manual/probes.texi (Memory Allocation Probes): Remove + memory_mallopt_check_action. + +2017-08-30 Steve Ellcey + + * sysdeps/unix/sysv/linux/aarch64/makecontext.c (__makecontext): + Use pointer to uint64_t instead of long int for sp. + +2017-08-30 Florian Weimer + + [BZ #21754] + * malloc/malloc.c (malloc_printerr): Always terminate the process, + without printing a backtrace. Do not leak any information in the + error message. + * manual/memory.texi (Heap Consistency Checking): Update. + * manual/tunables.texi (Memory Allocation Tunables): Likewise. + +2017-08-30 Florian Weimer + + Do not scale NPTL tests with available number of CPUs. + * nptl/tst-cond16.c (count): Set to constant value of 8. + * nptl/tst-cond18.c (count): Likewise. + +2017-08-29 Joseph Myers + + [BZ #22035] + * sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__inline_functions): + Define to take a second argument that is a macro that + concatentates a suffix, not the suffix itself. + (__CONCAT_d): New macro. + (__CONCAT_f): Likewise. + (__CONCAT_l): Likewise. + +2017-08-29 Paul Pluzhnikov + + * stdlib/tst-atexit-common.c (do_test): Test handler inheritance + by child. + +2017-08-29 Adhemerval Zanella + Aurelien Jarno + Maciej W. Rozycki + + [BZ #21956] + * sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile + [subdir = misc] (sysdep_routines): Remove `mips16-syscall5', + `mips16-syscall6' and `mips16-syscall7'. + (CFLAGS-mips16-syscall5.c, CFLAGS-mips16-syscall6.c) + (CFLAGS-mips16-syscall7.c): Remove. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions (libc): + Remove `__mips16_syscall5', `__mips16_syscall6' and + `__mips16_syscall7'. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c + (__mips16_syscall0): Rename `__mips16_syscall_return' to + `__mips_syscall_return'. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c + (__mips16_syscall1): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c + (__mips16_syscall2): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c + (__mips16_syscall3): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c + (__mips16_syscall4): Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c: + Remove. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c: + Remove. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c: + Remove. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h + (__mips16_syscall5): Expand to `__mips_syscall5' rather than + `__mips16_syscall5'. Remove prototype. + (__mips16_syscall6): Expand to `__mips_syscall6' rather than + `__mips16_syscall6'. Remove prototype. + (__mips16_syscall7): Expand to `__mips_syscall7' rather than + `__mips16_syscall7'. Remove prototype. + (__nomips16, __mips16_syscall_return): Move to... + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h + (__nomips16, __mips_syscall_return): ... here. + [__mips16] (INTERNAL_SYSCALL_NCS): Rename + `__mips16_syscall_return' to `__mips_syscall_return'. + [__mips16] (INTERNAL_SYSCALL_MIPS16): Pass `number' to + `internal_syscall##nr'. + [!__mips16] (INTERNAL_SYSCALL): Pass `SYS_ify (name)' to + `internal_syscall##nr'. + (FORCE_FRAME_POINTER): Remove. + (__mips_syscall5): New prototype. + (internal_syscall5): Rewrite to call `__mips_syscall5'. + (__mips_syscall6): New prototype. + (internal_syscall6): Rewrite to call `__mips_syscall6'. + (__mips_syscall7): New prototype. + (internal_syscall7): Rewrite to call `__mips_syscall7'. + * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: New file. + * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: New file. + * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: New file. + * sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = misc] + (sysdep_routines): Add libc-do-syscall. + * sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add + `__mips_syscall5', `__mips_syscall6' and `__mips_syscall7'. + +2017-08-29 Adhemerval Zanella + + [BZ #21672] + * nptl/allocatestack.c [_STACK_GROWS_DOWN] (setup_stack_prot): + Set to use !NEED_SEPARATE_REGISTER_STACK as well. + (advise_stack_range): New function. + * nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark + stack non required to advise_stack_range at allocatestack.c + +2017-08-29 Szabolcs Nagy + + * sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Use __uint64_t. + +2017-08-29 Florian Weimer + + [BZ #22026] + * iconv/gconv_db.c (gen_steps): Decrement step_cnt after resetting + __end_fct. Mangle __end_fct after setting it to NULL. + * iconv/Makefile (tests): Add tst-gconv-init-failure. + (modules-names, modules-names-tests): Add + tst-gconv-init-failure-mod. + (gconv-modules): New target. + (tst-gconv-init-failure-mod.so): Link against libsupport. + (tst-gconv-init-failure): Depend on gconv-modules, + tst-gconv-init-failure-mod.so. + * iconv/tst-gconv-init-failure-mod.c: New file. + * iconv/tst-gconv-init-failure.c: Likewise. + * iconv/test-gconv-modules: Likewise. + +2017-08-29 Florian Weimer + + [BZ #22025] + * iconv/gconv_db.c (free_derivation): Remove redundant + parentheses. + (gen_steps): Unconditionally mangle __btowc_fct after + initialization. + (increment_counter): Likewise. Do not call init_fct for internal + modules. + +2017-08-29 Joseph Myers + + [BZ #22028] + * math/math.h [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] + (_MSUF_): Remove macro. + [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (_MSUFTO_): + Likewise. + [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] + (__REDIRFROM_X): New macro. + [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (__REDIRTO_X): + Likewise. + * math/bits/math-finite.h (__REDIRFROM_X): Remove macro. + (__REDIRTO_X): Likewise. + (__MATH_REDIRCALL): Do not pass _MSUF_ or _MSUFTO_ macro + arguments. + (__MATH_REDIRCALL_2): Likewise. + (__MATH_REDIRCALL_INTERNAL): Likewise. + (__REDIRFROM (lgamma, , _MSUF_)): Likewise. + (__REDIRFROM (gamma, , _MSUF_)): Likweise. + (__REDIRFROM (__gamma, _r_finite, _MSUF_)): Likewise. + (__REDIRFROM (tgamma, , _MSUF_)): Likewise. + * math/test-finite-macros.c: New file. + * math/Makefile (tests): Add test-finite-macros. + (CFLAGS-test-finite-macros.c): New variable. + +2017-08-29 Patsy Franklin + Jeff Law + + [BZ #22025] + Mangle NULL pointers in iconv/gconv. + * iconv/gconv_cache.c (find_module): Demangle init_fct before + checking for NULL. Mangle __btowc_fct if init_fct is non-NULL. + * iconv/gconv_db.c (free_derivation): Check that __shlib_handle + is non-NULL before demangling the end_fct. Check for NULL + end_fct after demangling. + (__gconv_release_step): Demangle the end_fct before checking + it for NULL. Remove assert on __shlibc_handle != NULL. + (gen_steps): Don't check btowc_fct for NULL before mangling. + Demangle init_fct before checking for NULL. + (increment_counter): Likewise. + * gconv_dl.c (__gconv_find_shlib): Don't check init_fct or + end_fct for NULL before mangling. + * wcsmbs/btowc.c (__btowc): Demangle btowc_fct before checking + for NULL. + +2017-08-29 Akhilesh Kumar + + [BZ #21971] + * locale/iso-639.def: add Morisyen. + +2017-08-28 Gabriel F. T. Gomes + + [BZ #21930] + * math/math.h [defined __cplusplus && defined __SUPPORT_SNAN__] + (iszero): New C++ implementation that does not use + fpclassify/__MATH_TG/__builtin_types_compatible_p, when + signaling nans are enabled, since __builtin_types_compatible_p + is a C-only feature. + * math/test-math-iszero.cc: When __HAVE_DISTINCT_FLOAT128 is + defined, include ieee754_float128.h for access to the union and + member ieee854_float128.ieee. + [__HAVE_DISTINCT_FLOAT128] (do_test): Call check_float128. + [__HAVE_DISTINCT_FLOAT128] (check_float128): New function. + * sysdeps/powerpc/powerpc64le/Makefile [subdir == math] + (CXXFLAGS-test-math-iszero.cc): Add -mfloat128 to the build + options of test-math-zero on powerpc64le. + +2017-08-28 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf): + Change double to float. + +2017-08-28 Joseph Myers + + * math/math-svid-compat.h [!__ASSEMBLER__]: Make code + unconditional. + * sysdeps/ieee754/s_lib_version.c [!defined SHARED]: Remove + conditional code; define contents only for [LIBM_SVID_COMPAT]. + +2017-08-28 Florian Weimer + + * sysdeps/unix/sysv/linux/aarch64/Makefile (abi-lp64-options) + (abi-lp64_be-options): Remove. + * sysdeps/unix/sysv/linux/arm/Makefile (abi-soft-options) + (abi-hard-options): Likewise. + * sysdeps/unix/sysv/linux/mips/Makefile(abi-o32_soft-options) + (abi-o32_hard-options, abi-o32_soft_2008-options) + (abi-o32_hard_2008-options, abi-n32_soft-options) + (abi-n32_hard-options, abi-n32_soft_2008-options) + (abi-n32_hard_2008-options, abi-n64_soft-options) + (abi-n64_hard-options, abi-n64_soft_2008-options) + (abi-n64_hard_2008-options): Likewise. + * sysdeps/unix/sysv/linux/powerpc/Makefile (abi-32-options) + (abi-64-v1-options, abi-64-v2-options): Likewise. + * sysdeps/unix/sysv/linux/s390/Makefile (abi-32-options) + (abi-64-options): Likewise. + * sysdeps/unix/sysv/linux/sparc/Makefile (abi-32-options) + (abi-64-options): Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/Makefile (abi-32-options) + (abi-64-options): Likewise. + * sysdeps/unix/sysv/linux/x86/Makefile (abi-32-options) + (abi-64-options, abi-x32-options): Likewise. + +2017-08-28 Florian Weimer + + Store supported list of SYS_* system calls in the source tree. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (bits/syscall.h): Generate from list file. + [$(subdir) = misc] (before-compile): Add bits/syscall.h. + [$(subdir) = misc] (tests): Add tst-syscall-list. + [$(subdir) = misc] (tests-special): Add tst-syscall-list.out + [$(subdir) = misc] (tst-syscall-list-macros.list) + [$(subdir) = misc] (tst-syscall-list-nr.list) + (tst-syscall-list-sys.list): Helper targets for new + tst-syscall-list test. + [$(subdir) = misc] (tst-syscall-list.out): Run test script + tst-syscall-list.sh. + [$(subdir) = misc] (bits/syscall%h, bits/syscall%d): Remove + target. Do not include bits/syscall.d. + [$(subdir) = misc] (generated): Do not update. + * sysdeps/unix/sysv/linux/syscall-names.list: New file. + * sysdeps/unix/sysv/linux/gen-syscall-h.awk: Likewise. + * sysdeps/unix/sysv/linux/filter-nr-syscalls.awk: Likewise. + * sysdeps/unix/sysv/linux/tst-syscall-list.sh: Likewise. + +2017-08-27 Paul Pluzhnikov + + * stdlib/Makefile (tst-atexit, tst-at_quick_exit): New tests. + (tst-cxa_atexit, tst-on_exit): Likewise. + * stdlib/Makefile (tests): Add tst-atexit, tst-at_quick_exit, + tst-cxa_atexit, and tst-on_exit. + * stdlib/tst-atexit-common.c: New file. + * stdlib/tst-atexit.c: New file. + * stdlib/tst-at_quick_exit.c: New file. + * stdlib/tst-cxa_atexit.c: New file. + * stdlib/tst-on_exit.c: New file. + +2017-08-27 Samuel Thibault + + * sysdeps/mach/hurd/bits/sysmacros.h: New file. + * mach/stack_chk_fail_local.c: New file. + * hurd/stack_chk_fail_local.c: New file. + * mach/Machrules ($(interface-library)-routines): Add + stack_chk_fail_local. + * mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o, + CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o, + CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o, + CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector). + * hurd/Makefile (CFLAGS-hurdstartup.o, + CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector). + +2017-08-25 H.J. Lu + + * sysdeps/x86/cpu-features.h [__ASSEMBLER__] + (index_cpu_*, index_arch_*): Removed. + +2017-08-25 Szabolcs Nagy + + * sysdeps/unix/sysv/linux/aarch64/sys/procfs.h (elf_greg_t): + Use uint64_t instead of unsigned long. + +2017-08-25 Joseph Myers + + * math/tgmath.h [__HAVE_FLOAT128]: Change conditional to + [__HAVE_DISTINCT_FLOAT128]. + + * math/math.h (_MSUFTO_): Define and undefine for each inclusion + of . + (__MATH_DECLARING_LDOUBLE): Do not define and undefine for each + inclusion of . + * math/bits/math-finite.h (__REDIRTO_X): Do not define + conditionally on [__MATH_DECLARING_LDOUBLE && defined + __NO_LONG_DOUBLE_MATH]. + (__MATH_REDIRCALL): Use _MSUFTO_ in __REDIRTO call. + (__MATH_REDIRCALL_2): Likewise. + (__MATH_REDIRCALL_INTERNAL): Likewise. + (__REDIRFROM (lgamma, , _MSUF_)): Likewise. + (__REDIRFROM (gamma, , _MSUF_)): Likewise. + (__REDIRFROM (tgamma, , _MSUF_)): Likewise. + + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-power5.S: + Remove file. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-power5.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-ppc32.S: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise. + * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile + (libm-sysdep-routines): Remove w_sqrt_compat-power5, + w_sqrt_compat-ppc32, w_sqrtf_compat-power5 and + w_sqrtf_compat-ppc32. + +2017-08-24 Gabriel F. T. Gomes + + * math/math.h [defined __cplusplus] (issignaling): In the long + double case, call __issignalingl only if __NO_LONG_DOUBLE_MATH + is not defined. Call __issignaling, otherwise. + +2017-08-24 Adhemerval Zanella + + * sysdeps/unix/make-syscalls.sh: Remove cancellable tagging for + syscall definitions and replace __builtin_expect with __glibc_likely. + * sysdeps/unix/syscall-template.S: Update comment about cancellable + syscall. + (SYSCALL_CANCELLABLE): Removedefinition + * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (__local_enable_asynccancel): Likewise. + [IS_IN (libpthread)] (__local_disable_asynccancel): Likewise. + [IS_IN (libc)] (__local_enable_asynccancel): Likewise. + [IS_IN (libc)] (__local_enable_asynccancel): Likewise. + [IS_IN (librt)] (__local_disable_asynccancel): Likewise. + [IS_IN (librt)] (__local_disable_asynccancel): Likewise. + (CENABLE): Likewise. + (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO): Remove + defintion. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h (PSEUDO): + Remove definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Remove file. + * sysdeps/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Remove file. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: New file. + * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Remove + definition. + (PSEUDO_END): Likewise. + [IS_IN (libpthread)] (CENABLE): Likewise. + [IS_IN (libpthread)] (CDISABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (libc)] (CENABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [IS_IN (librt)] (CDISABLE): Likewise. + [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise. + +2017-08-24 Szabolcs Nagy + + * sysdeps/ieee754/dbl-64/Makefile: Don't override CFLAGS. + +2017-08-23 H.J. Lu + + * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated. + +2017-08-23 H.J. Lu + + [BZ #21982] + * string/stratcliff.c (do_test): Declare size, nchars, inner, + middle and outer with size_t instead of int. Repleace %d and + %Zd with %zu in printf. Update "MAX (0, nchars - 128)" and + "MAX (outer, nchars - 64)" to support unsigned outer and + nchars. Also exit loop when outer == 0. + +2017-08-23 Adhemerval Zanella + + * include/fcntl.h (__fcntl_nocancel): Remove definition. + * include/signal.h (__sigsuspend_nocancel): Likewise. + * include/time.h (__nanosleep_nocancel): Likewise. + * sysdeps/generic/not-cancel.h (__fcntl_nocancel): New macro. + * login/utmp_file.c: Include non cancellable syscall header. + * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): New + prototype. + +2017-08-23 H.J. Lu + + * sysdeps/x86_64/fpu/svml_d_sincos8_core.S: Replace AVX512F + .byte sequences with AVX512F instructions. + * sysdeps/x86_64/fpu/svml_d_wrapper_impl.h: Likewise. + * sysdeps/x86_64/fpu/svml_s_sincosf16_core.S: Likewise. + * sysdeps/x86_64/fpu/svml_s_wrapper_impl.h: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S: + Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S: + Likewise. + +2017-08-22 Szabolcs Nagy + Steve Ellcey + + * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): + Use PTR_REG macro in cmp instruction. + +2017-08-22 Gabriel F. T. Gomes + + * include/libc-symbols.h: [!defined HAVE_GCC_IFUNC] (__ifunc): + Change the return type of the ifunc resolver to match the return + type of the target function. + +2017-08-22 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (pread64): Remove. + (preadv64): Likewise. + (pwrite64(: Likewise. + (pwritev64): Likewise. + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h + (INTERNAL_SYSCALL_NCS_TYPES): Remove define. + (LOAD_ARGS_0): Likewise. + (LOAD_ARGS_1): Likewise. + (LOAD_ARGS_2): Likewise. + (LOAD_ARGS_3): Likewise. + (LOAD_ARGS_4): Likewise. + (LOAD_ARGS_5): Likewise. + (LOAD_ARGS_6): Likewise. + (LOAD_REGS_0): Likewise. + (LOAD_REGS_1): Likewise. + (LOAD_REGS_2): Likewise. + (LOAD_REGS_3): Likewise. + (LOAD_REGS_4): Likewise. + (LOAD_REGS_5): Likewise. + (LOAD_REGS_6): Likewise. + (ASM_ARGS_0): Likewise. + (ASM_ARGS_1): Likewise. + (ASM_ARGS_2): Likewise. + (ASM_ARGS_3): Likewise. + (ASM_ARGS_4): Likewise. + (ASM_ARGS_5): Likewise. + (ASM_ARGS_6): Likewise. + (LOAD_ARGS_TYPES_1): Likewise. + (LOAD_ARGS_TYPES_2): Likewise. + (LOAD_ARGS_TYPES_3): Likewise. + (LOAD_ARGS_TYPES_4): Likewise. + (LOAD_ARGS_TYPES_5): Likewise. + (LOAD_ARGS_TYPES_6): Likewise. + (LOAD_REGS_TYPES_1): Likewise. + (LOAD_REGS_TYPES_2): Likewise. + (LOAD_REGS_TYPES_3): Likewise. + (LOAD_REGS_TYPES_4): Likewise. + (LOAD_REGS_TYPES_5): Likewise. + (LOAD_REGS_TYPES_6): Likewise. + (TYPEFY): New define. + (ARGIFY): Likewise. + (internal_syscall0): Likewise. + (internal_syscall1): Likewise. + (internal_syscall2): Likewise. + (internal_syscall3): Likewise. + (internal_syscall4): Likewise. + (internal_syscall5): Likewise. + (internal_syscall6): Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/times.c + (INTERNAL_SYSCALL_NCS): Remove define. + (internal_syscall1): Add define. + +2017-08-22 Gabriel F. T. Gomes + + * math/w_remainder_compat.c: Remove duplicate inclusion of + math-svid-compat.h. + * math/w_remainderf_compat.c: Likewise. + * math/w_remainderl_compat.c: Likewise. + +2017-08-22 Gabriel F. T. Gomes + + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + +2017-08-22 Joseph Myers + + [BZ #21684] + * math/tgmath.h (__floating_type): Simplify definitions. + (__real_integer_type): New macro. + (__complex_integer_type): Likewise. + (__expr_is_real): Likewise. + (__tgmath_real_type_sub): Update comment to describe handling of + complex types. + (__tgmath_complex_type_sub): New macro. + (__tgmath_complex_type): Likewise. + [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (__TGMATH_CF128): Use __expr_is_real. + (__TGMATH_UNARY_REAL_IMAG): Use __tgmath_complex_type and + __expr_is_real. + (__TGMATH_BINARY_REAL_IMAG): Likewise. + (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __expr_is_real. + * math/gen-tgmath-tests.py (Type.create_type): Create complex + integer types. + +2017-08-22 Adhemerval Zanella + + * sysdeps/generic/not-cancel.h (sigsuspend_not_cancel): Remove + macro. + * sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Remove + alias. + * sysdeps/unix/sysv/linux/not-cancel.h (sigsuspend_not_cancel): + Likewise. + + * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Replace + nanosleep_not_cancel with __nanosleep_nocancel. + * sysdeps/generic/not-cancel.h (nanosleep_not_cancel): Remove macro. + (__nanosleep_nocancel): New macro. + * sysdeps/unix/sysv/linux/nanosleep.c (__nanosleep_nocancel): New + function. + * sysdeps/unix/sysv/linux/not-cancel.h (nanosleep_not_cancel): Remove + macro. + (__nanosleep_nocancel): New prototype. + + * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Replace + pause_not_cancel with __pause_nocancel. + * sysdeps/generic/not-cancel.h (pause_not_cancel): Remove macro. + (__pause_nocancel): New macro. + * sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): Remove + macro. + (__pause_nocancel): New prototype. + * sysdeps/unix/sysv/linux/pause.c (__pause_nocancel): New function. + +2017-08-22 Martin Sebor + + * include/libc-symbols.h (__ifunc_resolver): Declare resolver + to return a pointer to the same type as the target function. + +2017-08-22 H.J. Lu + + [BZ #18822] + [BZ #21986] + * include/printf.h (__printf_fphex): Add attribute_hidden. + (__guess_grouping): New prototype. + * stdio-common/printf_fp.c (__guess_grouping): Removed. + * stdio-common/reg-printf.c (__register_printf_specifier): Add + libc_hidden_proto and libc_hidden_def. + * stdlib/strfmon_l.c (__guess_grouping): Removed. + (__vstrfmon_l): Remove the third argument passed to + __guess_grouping. + +2017-08-22 Gabriel F. T. Gomes + + * math/math.h [defined __cplusplus] (issignaling): Provide a C++ + definition for issignaling that does not rely on __MATH_TG, + since __MATH_TG uses __builtin_types_compatible_p, which is only + available in C mode. + (CFLAGS-test-math-issignaling.cc): New variable. + * math/Makefile [CXX] (tests): Add test-math-issignaling. + * math/test-math-issignaling.cc: New test for C++ implementation + of type-generic issignaling. + * sysdeps/powerpc/powerpc64le/Makefile [subdir == math] + (CXXFLAGS-test-math-issignaling.cc): Add -mfloat128 to the build + options of test-math-issignaling on powerpc64le. + +2017-08-22 H.J. Lu + + * include/libc-symbols.h (__hidden_proto_hiddenattr): New for + building libc.a. + (hidden_proto): Likewise. + (hidden_tls_proto): Likewise. + (__hidden_proto): Likewise. + +2017-08-22 Florian Weimer + + math: Statically link tests of internal functionality. + * math/Makefile (tests): Remove atest-exp, atest-sincos, + atest-exp2. + (tests-static): Add atest-exp, atest-sincos, atest-exp2. + (gmp-objs): Remove assignment. + (atest-exp, atest-sincos, atest-exp2): Remove targets. + +2017-08-22 Joseph Myers + + [BZ #21987] + * sysdeps/unix/sysv/linux/sparc/bits/long-double.h: Remove file + and copy to ... + * sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h: + ... here. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h: + ... and here. + + * assert/Makefile [$(have-cxx-thread_local)]: Move conditional + variable definitions above inclusion of ../Rules. + +2017-08-21 Joseph Myers + + * sysdeps/ieee754/k_standard.c (__kernel_standard): Add default + case calling __builtin_unreachable. + +2017-08-21 Adhemerval Zanella + + * libio/ioopen.c (_IO_waitpid): Replace waitpid_not_cancel with + __waitpid_nocancel. + * sysdeps/generic/not-cancel.h (waitpid_not_cancel): Remove macro. + (__waitpid_nocancel): New macro. + * sysdeps/unix/sysv/linux/not-cancel.h (waitpid_not_cancel): Remove + macro. + (__waitpid_nocancel): Replace macro with a function. + * sysdeps/unix/sysv/linux/waitpid.c (__waitpid_nocancel): New + function. + + * login/utmp_file.c (timeout_handler): Replace fcntl_not_cancel with + __fcntl_nocancel. + * sysdeps/generic/not-cancel.h (fcntl_not_cancel): Remove macro. + * sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Likewise. + + * gmon/gmon.c (write_hist): Replace writev_not_cancel_no_status with + __writev_nocancel_nostatus. + (write_call_graph): Likewise. + (write_bb_counts): Likewise. + * resolv/herror.c (herror): Likewise. + * sysdeps/generic/not-cancel.h (writev_not_cancel_no_status): Remove + macro. + (__writev_nocancel_nostatus): New macro. + * sysdeps/unix/sysv/linux/not-cancel.h (writev_not_cancel_no_status): + Remove macro. + (__writev_nocancel_nostatus): New function. + +2017-08-21 Joseph Myers + + Revert: + 2017-08-21 H.J. Lu + + * include/libc-symbols.h (__hidden_proto_hiddenattr): New for + building libc.a. + (hidden_proto): Likewise. + (hidden_tls_proto): Likewise. + (__hidden_proto): Likewise. + + [BZ #21973] + * sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file. + * sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S : Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise. + * sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add + GLIBC_2.0 sqrtl symbol. + + * math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove. + [__USE_MISC] (_LIB_VERSION): Likewise. + [__USE_MISC] (struct exception): Likewise. + [__USE_MISC] (matherr): Likewise. + [__USE_MISC] (DOMAIN): Likewise. + [__USE_MISC] (SING): Likewise. + [__USE_MISC] (OVERFLOW): Likewise. + [__USE_MISC] (UNDERFLOW): Likewise. + [__USE_MISC] (TLOSS): Likewise. + [__USE_MISC] (PLOSS): Likewise. + [__USE_MISC] (HUGE): Likewise. + [__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC]. + * math/math-svid-compat.h: New file. + * conform/linknamespace.pl (@whitelist): Remove matherr, matherrf + and matherrl. + * include/math.h [!_ISOMAC] (__matherr): Remove. + * manual/arith.texi (FP Exceptions): Do not document matherr. + * math/Makefile (tests): Change test-matherr to test-matherr-3. + (tests-internal): New variable. + (install-lib): Do not add libieee.a. + (non-lib.a): Likewise. + (extra-objs): Do not add libieee.a and ieee-math.o. + (CPPFLAGS-s_lib_version.c): Remove variable. + ($(objpfx)libieee.a): Remove rule. + ($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm). + * math/ieee-math.c: Remove. + * math/libm-test-support.c (matherr): Remove. + * math/test-matherr.c: Use . Add copyright + and license notices. Include and + . + (matherr): Undefine as macro. Use compat_symbol_reference. + (_LIB_VERSION): Likewise. + * math/test-matherr-2.c: New file. + * math/test-matherr-3.c: Likewise. + * sysdeps/generic/math_private.h (__kernel_standard): Remove + declaration. + (__kernel_standard_f): Likewise. + (__kernel_standard_l): Likewise. + * sysdeps/ieee754/s_lib_version.c: Do not include or + . Include . + (_LIB_VERSION): Undefine as macro. + (_LIB_VERSION_INTERNAL): Always initialize to _POSIX_. Define + only if [LIBM_SVID_COMPAT || !defined SHARED]. If + [LIBM_SVID_COMPAT], use compat_symbol. + * sysdeps/ieee754/s_matherr.c: Do not include or + . Include . + (matherr): Undefine as macro. + (__matherr): Define only if [LIBM_SVID_COMPAT]. Use + compat_symbol. + * sysdeps/ia64/fpu/libm_error.c: Include . + [_LIBC && LIBM_SVID_COMPAT] (matherrf): Use + compat_symbol_reference. + [_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise. + [_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro. + [_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise. + * sysdeps/ia64/fpu/libm_support.h: Include . + (MATHERR_D): Remove declaration. + [!_LIBC] (_LIB_VERSION_TYPE): Likewise + [!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise. + [LIBM_BUILD] (pmatherrf): Likewise. + [LIBM_BUILD] (pmatherr): Likewise. + [LIBM_BUILD] (pmatherrl): Likewise. + (DOMAIN): Likewise. + (SING): Likewise. + (OVERFLOW): Likewise. + (UNDERFLOW): Likewise. + (TLOSS): Likewise. + (PLOSS): Likewise. + * sysdeps/ia64/fpu/s_matherrf.c: Include . + (__matherrf): Define only if [LIBM_SVID_COMPAT]. Use + compat_symbol. + * sysdeps/ia64/fpu/s_matherrl.c: Include . + (__matherrl): Define only if [LIBM_SVID_COMPAT]. Use + compat_symbol. + * math/lgamma-compat.h: Include . + * math/w_acos_compat.c: Likewise. + * math/w_acosf_compat.c: Likewise. + * math/w_acosh_compat.c: Likewise. + * math/w_acoshf_compat.c: Likewise. + * math/w_acoshl_compat.c: Likewise. + * math/w_acosl_compat.c: Likewise. + * math/w_asin_compat.c: Likewise. + * math/w_asinf_compat.c: Likewise. + * math/w_asinl_compat.c: Likewise. + * math/w_atan2_compat.c: Likewise. + * math/w_atan2f_compat.c: Likewise. + * math/w_atan2l_compat.c: Likewise. + * math/w_atanh_compat.c: Likewise. + * math/w_atanhf_compat.c: Likewise. + * math/w_atanhl_compat.c: Likewise. + * math/w_cosh_compat.c: Likewise. + * math/w_coshf_compat.c: Likewise. + * math/w_coshl_compat.c: Likewise. + * math/w_exp10_compat.c: Likewise. + * math/w_exp10f_compat.c: Likewise. + * math/w_exp10l_compat.c: Likewise. + * math/w_exp2_compat.c: Likewise. + * math/w_exp2f_compat.c: Likewise. + * math/w_exp2l_compat.c: Likewise. + * math/w_fmod_compat.c: Likewise. + * math/w_fmodf_compat.c: Likewise. + * math/w_fmodl_compat.c: Likewise. + * math/w_hypot_compat.c: Likewise. + * math/w_hypotf_compat.c: Likewise. + * math/w_hypotl_compat.c: Likewise. + * math/w_j0_compat.c: Likewise. + * math/w_j0f_compat.c: Likewise. + * math/w_j0l_compat.c: Likewise. + * math/w_j1_compat.c: Likewise. + * math/w_j1f_compat.c: Likewise. + * math/w_j1l_compat.c: Likewise. + * math/w_jn_compat.c: Likewise. + * math/w_jnf_compat.c: Likewise. + * math/w_jnl_compat.c: Likewise. + * math/w_lgamma_main.c: Likewise. + * math/w_lgamma_r_compat.c: Likewise. + * math/w_lgammaf_main.c: Likewise. + * math/w_lgammaf_r_compat.c: Likewise. + * math/w_lgammal_main.c: Likewise. + * math/w_lgammal_r_compat.c: Likewise. + * math/w_log10_compat.c: Likewise. + * math/w_log10f_compat.c: Likewise. + * math/w_log10l_compat.c: Likewise. + * math/w_log2_compat.c: Likewise. + * math/w_log2f_compat.c: Likewise. + * math/w_log2l_compat.c: Likewise. + * math/w_log_compat.c: Likewise. + * math/w_logf_compat.c: Likewise. + * math/w_logl_compat.c: Likewise. + * math/w_pow_compat.c: Likewise. + * math/w_powf_compat.c: Likewise. + * math/w_powl_compat.c: Likewise. + * math/w_remainder_compat.c: Likewise. + * math/w_remainderf_compat.c: Likewise. + * math/w_remainderl_compat.c: Likewise. + * math/w_scalb_compat.c: Likewise. + * math/w_scalbf_compat.c: Likewise. + * math/w_scalbl_compat.c: Likewise. + * math/w_sinh_compat.c: Likewise. + * math/w_sinhf_compat.c: Likewise. + * math/w_sinhl_compat.c: Likewise. + * math/w_sqrt_compat.c: Likewise. + * math/w_sqrtf_compat.c: Likewise. + * math/w_sqrtl_compat.c: Likewise. + * math/w_tgamma_compat.c: Likewise. + * math/w_tgammaf_compat.c: Likewise. + * math/w_tgammal_compat.c: Likewise. + * sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise. + * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise. + * sysdeps/ieee754/k_standard.c: Likewise. + * sysdeps/ieee754/k_standardf.c: Likewise. + * sysdeps/ieee754/k_standardl.c: Likewise. + * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise. + * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise. + * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise. + * sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S: + Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise. + * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise. + * sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise. + * sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise. + +2017-08-21 Florian Weimer + + [BZ #21864] + Do not compile benchmark helper objects with -DMODULE_NAME=libc. + * benchtests/Makefile (others-extras): Set to $(bench-extra-objs). + Move before inclusion of ../Rules. + +2017-08-21 Florian Weimer + + [BZ #21972] + * assert/assert.h (assert): Use static_cast (bool) for C++. + Use the ternary operator in the warning branch for GNU C. + * assert/Makefile (tests): Add tst-assert-c++, tst-assert-g++. + (CFLAGS-tst-assert-c++.o): Compile in C++11 mode. + (CFLAGS-tst-assert-g++.o): Compile in GnU C++11 mode. + (LDLIBS-tst-assert-c++, LDLIBS-tst-assert-g++): Link with libstdc++. + * assert/tst-assert-c++.cc, assert/tst-assert-g++.cc: New files. + +2017-08-21 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/x86_64/init-first.c + (__syscall_clock_gettime): Add attribute_hidden. + * sysdeps/unix/sysv/linux/x86_64/makecontext.c + (__start_context): Likewise. + +2017-08-21 H.J. Lu + + * include/libc-symbols.h (__hidden_proto_hiddenattr): New for + building libc.a. + (hidden_proto): Likewise. + (hidden_tls_proto): Likewise. + (__hidden_proto): Likewise. + +2017-08-21 H.J. Lu + + * include/libc-symbols.h (attribute_hidden): Enable hidden + visibility in libc.a compiled with PIE. + +2017-08-21 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/x86/libc-vdso.h (VDSO_SYMBOL(getcpu)): + Add attribute_hidden. + +2017-08-21 H.J. Lu + + [BZ #21864] + * Makerules (all-nonlib): Add $(others-extras). + * catgets/Makefile (others-extras): New. + * elf/Makefile (others-extras): Likewise. + * nss/Makefile (others-extras): Likewise. + +2017-08-21 H.J. Lu + + [BZ #18822] + * csu/libc-start.c (__libc_multiple_libcs): Removed. + * elf/dl-open.c: Include . + (__libc_multiple_libcs): Removed. + * elf/dl-sysdep.c: Include instead of + . + * include/libc-internal.h (__libc_multiple_libcs): New. + * misc/sbrk.c: Include . + (__libc_multiple_libcs): Removed. + +2017-08-21 H.J. Lu + + [BZ #18822] + * grp/initgroups.c (__nss_group_database): Removed. + (__nss_initgroups_database): Likewise. + * nscd/gai.c (__nss_hosts_database): Likewise. + * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise. + * posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise. + * posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise. + * posix/tst-rfc3484.c (__nss_hosts_database): Likewise. + * sysdeps/posix/getaddrinfo.c (__nss_hosts_database): Likewise. + * nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add + attribute_hidden. + * nss/nsswitch.c (__nss_database_custom): Define only if + USE_NSCD is defined. + (__nss_configure_lookup): Use __nss_database_custom only if + USE_NSCD is defined. + * nss/nsswitch.h (__nss_database_custom): Declare only if + USE_NSCD is defined. Add attribute_hidden. + (__nss_setent): Add attribute_hidden. + (__nss_endent): Likewise. + (__nss_getent_r): Likewise. + (__nss_getent): Likewise. + (DEFINE_DATABASE): Declare __nss_##arg##_database. + +2017-08-20 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add + libc_hidden_proto and libc_hidden_def. + +2017-08-20 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_readdir64): + Add libc_hidden_proto. + * sysdeps/unix/sysv/linux/i386/readdir64.c (__old_readdir64): + Add libc_hidden_def. + +2017-08-20 H.J. Lu + + [BZ #21974] + * gmon/Makefile (routines): Remove bb_init_func and + bb_exit_func. + (elide-routines.os): Removed. + * gmon/bb_exit_func.c: Likewise. + * gmon/bb_init_func.c: Likewise. + * include/sys/gmon.h (__bb): Likewise. + (__bb_init_func): Likewise. + (__bb_exit_func): Likewise. + * sysdeps/alpha/bb_init_func.S: Likewise. + +2017-08-20 H.J. Lu + + * debug/longjmp_chk.c (____longjmp_chk): Moved to ... + * include/setjmp.h (____longjmp_chk): Here. Add + attribute_hidden. + +2017-08-19 H.J. Lu + + [BZ #18822] + * sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE2): Add + attribute_hidden. + (__strspn_sse2): Likewise. + +2017-08-18 Adhemerval Zanella + + * sysdeps/generic/not-cancel.h (close_not_cancel): Remove macro. + (close_not_cancel_no_status): Likewise. + (__close_nocancel): New macro. + (__close_nocancel_nostatus): Likewise. + * sysdeps/unix/sysv/linux/not-cancel.h (__close_nocancel): Remove + macro. + (close_not_cancel): Likewise. + (close_not_cancel_no_status): Likewise. + (__close_nocancel): New prototype. + (__close_nocancel_nostatus): New function. + * sysdeps/unix/sysv/linux/close.c (__close_nocancel): New function. + * catgets/open_catalog.c (__open_catalog): Replace + close_not_cancel{_no_status) with __close_nocancel{_nostatus}. + * gmon/gmon.c (write_gmon): Likewise. + * iconv/gconv_cache.c (__gconv_load_cache): Likewise. + * intl/loadmsgcat.c (close): Likewise. + * io/ftw.c (open_dir_stream): Likewise. + (ftw_startup): Likewise. + * libio/fileops.c (_IO_file_open): Likewise. + (_IO_file_close_mmap): Likewise. + (_IO_file_close): Likewise. + * libio/iopopen.c (_IO_dup2): Likewise. + * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. + * locale/loadlocale.c (_nl_load_locale): Likewise. + * login/utmp_file.c (pututline_file): Likewise. + (endutent_file): Likewise. + * misc/daemon.c (daemon): Likewise. + * nscd/nscd_getai.c (__nscd_getai): Likewise. + * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. + * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise. + * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise. + * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise. + * nscd/nscd_helper.c (open_socket): Likewise. + (__nscd_open_socket): Likewise. + * nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise. + * nscd/nscd_netgroup.c (__nscd_setnetgrent): Likewise. + (__nscd_innetgr): Likewise. + * nss/nss_db/db-open.c (internal_setent): Likewise. + * resolv/res-close.c (__res_iclose): Likewise. + * sunrpc/pm_getmaps.c (pmap_getmaps): Likewise. + * sysdeps/posix/closedir.c (__closedir): Likewise. + * sysdeps/posix/getaddrinfo.c (getaddrinfo): Likewise. + * sysdeps/posix/getcwd.c (__getcwd): Likewise. + * sysdeps/posix/opendir.c (tryopen_o_directory): Likewise. + (opendir_tail): Likewise. + * sysdeps/posix/spawni.c (__spawni_child): Likewise. + * sysdeps/unix/sysv/linux/check_native.c (__check_native): Likewise. + * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Likewise. + * sysdeps/unix/sysv/linux/fips-private.h (fips_enabled_p): Likewise. + * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise. + (gethostid): Likewise. + * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise. + * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): + Likewise. + * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise. + * sysdeps/unix/sysv/linux/grantpt.c (close_all_fds): Likewise. + * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise. + * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock): + Likewise. + * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Likewise. + * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): Likewise. + * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap): + Likewise. + * sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Likewise. + * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np): + Likewise. + * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np): + Likewise. + * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise. + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. + * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add + __close_nocancel. + + * sysdeps/generic/not-cancel.h (openat_not_cancel): Remove macro. + (openat_not_cancel_3): Likewise. + (openat64_not_cancel_3): Likewise). + (openat_not_cancel_3): Likewise). + * sysdeps/unix/sysv/linux/not-cancel.h (openat_not_cancel): Remove + macro. + (openat_not_cancel_3): Likewise. + (openat64_not_cancel): Likewise. + (openat64_not_cancel_3): Likewise. + * sysdeps/unix/sysv/linux/openat.c (__openat_nocancel): New function. + * sysdeps/unix/sysv/linux/openat64.c (__openat64_nocancel): Likewise. + * io/ftw.c (open_dir_stream): Replace openat{64}_not_cancel{_3} with + __open{64}_nocancel. + * sysdeps/mach/hurd/opendir.c (__opendirat): Likewise. + * sysdeps/posix/getcwd.c (__getcwd): Likewise. + * sysdeps/posix/opendir.c (__opendirat): Likewise. + +2017-08-18 H.J. Lu + + [BZ #18822] + * include/argz.h (__argz_create_sep): New function prototype. + (__argz_append): Likewise. + (__argz_add): Likewise. + (__argz_add_sep): Likewise. + (__argz_delete): Likewise. + (__argz_insert): Likewise. + (__argz_replace): Likewise. + * string/argz.h (__argz_create_sep): Removed. + (__argz_append): Likewise. + (__argz_add): Likewise. + (__argz_add_sep): Likewise. + (__argz_delete): Likewise. + (__argz_insert): Likewise. + (__argz_replace): Likewise. + +2017-08-18 H.J. Lu + + * elf/elf.h (NT_GNU_PROPERTY_TYPE_0): New. + (NOTE_GNU_PROPERTY_SECTION_NAME): Likewise. + (GNU_PROPERTY_STACK_SIZE): Likewie. + (GNU_PROPERTY_NO_COPY_ON_PROTECTED): Likewie. + (GNU_PROPERTY_LOPROC): Likewise. + (GNU_PROPERTY_HIPROC): Likewise. + (GNU_PROPERTY_LOUSER): Likewise. + (GNU_PROPERTY_HIUSER): Likewise. + (GNU_PROPERTY_X86_ISA_1_USED): Likwise. + (GNU_PROPERTY_X86_ISA_1_NEEDED): Likwise. + (GNU_PROPERTY_X86_FEATURE_1_AND): Likwise. + (GNU_PROPERTY_X86_ISA_1_486): Likwise. + (GNU_PROPERTY_X86_ISA_1_586): Likwise. + (GNU_PROPERTY_X86_ISA_1_686): Likwise. + (GNU_PROPERTY_X86_ISA_1_SSE): Likwise. + (GNU_PROPERTY_X86_ISA_1_SSE2): Likwise. + (GNU_PROPERTY_X86_ISA_1_SSE3): Likwise. + (GNU_PROPERTY_X86_ISA_1_SSSE3): Likwise. + (GNU_PROPERTY_X86_ISA_1_SSE4_1): Likwise. + (GNU_PROPERTY_X86_ISA_1_SSE4_2): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX2): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX512F): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX512CD): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX512ER): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX512PF): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX512VL): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likwise. + (GNU_PROPERTY_X86_ISA_1_AVX512BW): Likwise. + (GNU_PROPERTY_X86_FEATURE_1_IBT): Likwise. + (GNU_PROPERTY_X86_FEATURE_1_SHSTK): Likwise. + +2017-08-18 Gabriel F. T. Gomes + + * misc/sys/cdefs.h (__HAVE_GENERIC_SELECTION): Define to 0, if + in C++ mode. + +2017-08-18 Gabriel F. T. Gomes + + [BZ #21930] + * math/math.h (isinf): Check if in C or C++ mode before using + __builtin_types_compatible_p, since this is a C mode feature. + +2017-08-18 Adhemerval Zanella + + * sysdeps/generic/not-cancel.h (write_not_cancel): Remove macro. + (__write_nocancel): New macro. + * sysdeps/unix/sysv/linux/not-cancel.h (__write_nocancel): + Rewrite as a function prototype. + (write_not_cancel): Remove macro. + * sysdeps/unix/sysv/linux/write.c (__write_nocancel): New function. + * gmon/gmon.c (ERR): Replace write_not_cancel with __write_nocancel. + (write_gmon): Likewise. + * libio/fileops.c (_IO_new_file_write): Likewise. + * login/utmp_file.c (pututline_file): Likewise. + (updwtmp_file): Likewise. + * stdio-common/psiginfo.c (psiginfo): Likewise. + * sysdeps/posix/spawni.c (__spawni_child): Likewise. + * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise. + * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): + Likewise. + * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np): + Likewise. + + * sysdeps/generic/not-cancel.h (read_not_cancel): Remove macro. + (__read_nocancel): New macro. + * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add + __read_nocancel. + * sysdeps/unix/sysv/linux/not-cancel.h (__read_nocancel): Remove + macro. + (__read_nocancel): New prototype. + * sysdeps/unix/sysv/linux/read.c (__read_nocancel): New function. + * catgets/open_catalog.c (__open_catalog): Replace read_not_cancel + with __read_nocancel. + * intl/loadmsgcat.c (read): Likewise. + * libio/fileops.c (_IO_file_read): Likewise. + * locale/loadlocale.c (_nl_load_locale): Likewise. + * login/utmp_file.c (getutent_r_file): Likewise. + (internal_getut_r): Likewise. + (getutline_r_file): Likewise. + * sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise. + * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise. + * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise. + * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): + Likewise. + * sysdeps/unix/sysv/linux/getsysstats.c (next_line): Likewise. + * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise. + * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock): + Likewise. + * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): + Likewise. + * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap): + Likewise. + * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np): + Likewise. + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. + +2017-08-18 H.J. Lu + + [BZ #21966] + * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h + (IFUNC_SELECTOR): Don't use the AVX2 version if FMA isn't + usable. + +2017-08-17 DJ Delorie + + * bug17079.c: Update to new test harness. + * test-digits-dots.c: Likewise. + * test-netdb.c: Likewise. + * tst-field.c: Likewise. + * tst-nss-getpwent.c: Likewise. + * tst-nss-static.c: Likewise. + * tst-nss-test1.c: Likewise. + * tst-nss-test2.c: Likewise. + * tst-nss-test3.c: Likewise. + * tst-nss-test4.c: Likewise. + * tst-nss-test5.c: Likewise. + +2017-08-17 Adhemerval Zanella + + * sysdeps/generic/not-cancel.h (open_not_cancel): Remove macro. + (open_not_cancel_2): Likewise. + (open_nocancel): New macro. + (open64_nocancel): Likewise. + * sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Remove macro. + (open_not_cancel_2): Likewise. + (__open_nocancel): New prototype. + (__open64_nocancel): Likewise. + * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add + __open_nocancel. + * sysdeps/unix/sysv/linux/open.c (__open_nocancel): New function. + * sysdeps/unix/sysv/linux/open64.c (__open64_nocancel): Likewise. + * catgets/open_catalog.c (__open_catalog): Replace open_not_cancel{_2} + with __open_nocancel. + * csu/check_fds.c (check_one_fd): Likewise. + * gmon/gmon.c (write_gmon): Likewise. + * iconv/gconv_cache.c (__gconv_load_cached): Likewise. + * intl/loadmsgcat.c (open): Likewise. + * libio/fileops.c (_IO_file_open): Likewise. + * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. + * locale/loadlocale.c (_nl_load_locale): Likewise. + * login/utmp_file.c (setutent_file): Likewise. + * misc/daemon.c (daemon): Likewise. + * nss/nss_db/db-open.c (internal_setent): Likewise. + * sysdeps/mach/hurd/opendir.c (__opendirat): Likewise. + * sysdeps/posix/libc_fatal.c (__libc_message): Likewise. + * sysdeps/posix/opendir.c (tryopen_o_directory): Likewise. + (__opendir): Likewise. + * sysdeps/posix/spawni.c (__spawni_child): Likewise. + * sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise. + * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise. + (gethostid): Likewise. + * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise. + * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): + Likewise. + * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise. + * sysdeps/unix/sysv/linux/grantpt.c (__close_all_fds): Likewise. + * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise. + * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock): + Likewise. + * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): + Likewise. + * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c (__get_clockfreq): + Likewise. + * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np): + Likewise. + * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np): + Likewise. + * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise. + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. + +2017-08-17 Wilco Dijkstra + + * benchtests/bench-skeleton.c (main): Add support for + latency benchmarking. + * benchtests/scripts/bench.py: Add support for latency benchmarking. + +2017-08-17 H.J. Lu + + * Makeconfig (+link-pie-before-libc): Add CRT-* hook to override + the startup object. + +2017-08-17 Florian Weimer + + * include/sys/socket.h (__opensock): Remove internal_function. + * socket/opensock.c (__opensock): Likewise. + * sysdeps/unix/sysv/linux/opensock.c (__opensock): Likewise. + +2017-08-16 Joseph Myers + + [BZ #21944] + * signal/bits/types/__sigval_t.h: New file. + * signal/Makefile (headers): Add bits/types/__sigval_t.h. + * signal/bits/types/sigval_t.h: Include + and define sigval_t using __sigval_t. + * include/bits/types/__sigval_t.h: New file. + * bits/types/sigevent_t.h: Include + instead of . + (struct sigevent): Use __sigval_t instead of sigval_t. + * bits/types/siginfo_t.h: Include + instead of . + (siginfo_t): Use __sigval_t instead of sigval_t. + * sysdeps/unix/sysv/linux/bits/types/sigevent_t.h: Include + instead of . + (struct sigevent): Use __sigval_t instead of sigval_t. + * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h: Include + instead of . + (siginfo_t): Use __sigval_t instead of sigval_t. + * signal/signal.h [__USE_MISC]: Include . + +2017-08-16 H.J. Lu + + * NEWS: Remove "[Add new features here]" for 2.27. + +2017-08-16 Joseph Myers + + * sysdeps/unix/sysv/linux/sh/localplt.data: Allow abort in + libc.so. + +2017-08-16 H.J. Lu + + * NEWS: Mention x86-64 FMA optimization. + +2017-08-16 H.J. Lu + + [BZ #21912] + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_expf-fma. + * sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: New file. + * sysdeps/x86_64/fpu/multiarch/e_expf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/ifunc-fma.h: Likewise. + +2017-08-16 Andreas Schwab + + [BZ #16750] + CVE-2009-5064 + * elf/ldd.bash.in: Never run file directly. + +2017-08-15 H.J. Lu + + [BZ #21955] + * sysdeps/x86_64/fpu/e_expf.S (L(SP_RANGE)): Aligned to 8 bytes. + (L(SP_INF_0)): Likewise. + +2017-08-15 Florian Weimer + + * gmon/Makefile (tests-special): Add tst-gmon-prof only if + run-built-tests. + +2017-08-15 Florian Weimer + + Remove BROKEN_THREAD_SIGNALS support for LinuxThreads. + * sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Remove + BROKEN_THREAD_SIGNALS code. + * sysdeps/ppthread/aio_misc.h (struct waitlist, struct + request_list): Remove caller_pid member used for + BROKEN_THREAD_SIGNALS. + [BROKEN_THREAD_SIGNALS] (__aio_notify_only): Remove declaration. + * sysdeps/pthread/aio_notify.c (__aio_notify_only, __aio_notify): + Remove BROKEN_THREAD_SIGNALS support. + * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. + * sysdeps/pthread/lio_listio.c (lio_listio_internal): Likewise. + +2017-08-15 Florian Weimer + + * gmon/Makefile (tests): Add tst-gmon. + (CFLAGS-tst-gmon.c, LDFLAGS-tst-gmon, CRT-tst-gmon, tst-gmon-ENV): + Set. + (tests-special): Add tst-gmon-prof.out. + (tst-gmon.out): Depend on clean-tst-gmon-data. + (clean-tst-gmon-data, tst-gmon-gprof.out): New targets. + * gmon/tst-gmon.c, gmon/tst-gmon-gprof.sh: New files. + * Makeconfig (+link-before-libc): Add CRT-* hook to override the + startup object. + * aclocal.m4 (GPROF): Set and substitute. + * config.amke.in (GPROF): Set. + * configure: Regenerate. + +2017-08-15 Gustavo Romero + + * elf/elf.h A (NT_PPC_TAR): New macro. + (NT_PPC_PPR): Likewise. + (NT_PPC_DSCR): Likewise. + (NT_PPC_EBB): Likewise. + (NT_PPC_PMU): Likewise. + (NT_PPC_TM_CGPR): Likewise. + (NT_PPC_TM_CFPR): Likewise. + (NT_PPC_TM_CVMX): Likewise. + (NT_PPC_TM_CVSX): Likewise. + (NT_PPC_TM_SPR): Likewise. + (NT_PPC_TM_CTAR): Likewise. + (NT_PPC_TM_CPPR): Likewise. + (NT_PPC_TM_CDSCR): Likewise. + +2017-08-15 Florian Weimer + + * sysdeps/i386/machine-gmon.h (mcount_internal): Declare with + regparm (2) instead of internal_function. + (_MCOUNT_DECL): Adjust. + +2017-08-15 Stefan Liebler + + * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add z14. + * sysdeps/s390/dl-procinfo.h (_DL_PLATFORMS_COUNT): Increased. + +2017-08-14 Joseph Myers + + * conform/data/sys/wait.h-data (si_value): Do not expect for + XPG42. + +2017-08-14 Florian Weimer + + [BZ #21962] + NSS: Create stubs for accidentally exported lookup functions. + * grp/initgroups.c (__nss_group_lookup, __nss_lookup_function): + Remove declaration. + * inet/ether_hton.c (__nss_ethers_lookup): Likewise. + (ether_hostton): Call __nss_ethers_lookup2 instead. + * inet/ether_ntoh.c (__nss_ethers_lookup): Remove declaration. + (ether_ntohost): Call __nss_ethers_lookup2 instead. + * inet/getnetgrent_r.c (__nss_netgroup_lookup): Remove declaration. + (setup): Call __nss_netgroup_lookup2 instead. + * nss/Makefile (routines): Add compat-lookup. + * nss/Versions (GLIBC_2.27): Add symbol version. + * nss/XXX-lookup (DB_LOOKUP_FCT): Remove declaration. Now provided by . + (DB_COMPAT_FCT): Remove. + * nss/compat-lookup.c: New file. + * nss/nsswitch.h: Generate __nss_*_lookup2 function prototypes + from databases.def. + * nss/service-lookup.c (NO_COMPAT): Remove definition. + * sunrpc/netname.c (__nss_publickey_lookup): Remove declaration. + (netname2user): Call __nss_publickey_lookup2 instead. + * sunrpc/publickey.c (__nss_publickey_lookup): Remove declaration. + (getpublickey, getsecretkey): Call __nss_publickey_lookup2 + instead. + +2017-08-14 Adhemerval Zanella + Sergei Trofimovich + + [BZ #21908] + * sysdeps/unix/sysv/linux/m68k/mmap_internal.h (MMAP2_PAGE_SHIFT): + Rename to MMAP2_PAGE_UNIT. + * sysdeps/unix/sysv/linux/mmap.c: Include mmap_internal iff + __OFF_T_MATCHES_OFF64_T is not defined. + * sysdeps/unix/sysv/linux/mmap_internal.h (page_unit): Declare as + uint64_t. + (MMAP2_PAGE_UNIT) [MMAP2_PAGE_UNIT == -1]: Redefine to page_unit. + (page_unit) [MMAP2_PAGE_UNIT != -1]: Remove definition. + +2017-08-14 Florian Weimer + + i386: Do not set internal_function. + * config.h.in (USE_REGPARMS, internal_function): Remove. + * sysdeps/i386/configure.ac (USE_REGPARMS): Likewise. + * sysdeps/i386/configure (USE_REGPARMS): Likewise. + +2017-08-14 Florian Weimer + + * elf/dl-init.c (_dl_init): Remove internal_function. + * sysdeps/generic/ldsodefs.h (_dl_init): Likewise. + * sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to _dl_init. + +2017-08-14 Florian Weimer + + * elf/rtld.c (_dl_start): Remove internal_function. + * sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to + _dl_start. + +2017-08-14 Florian Weimer + + * elf/dl-fini.c (_dl_fini): Remove internal_function + * sysdeps/generic/ldsodefs.h (_dl_fini): Likewise. + +2017-08-14 H.J. Lu + + * sysdeps/x86/cpu-features.h (bit_cpu_IBT): New. + (bit_cpu_SHSTK): Likewise. + (index_cpu_IBT): Likewise. + (index_cpu_SHSTK): Likewise. + (reg_IBT): Likewise. + (reg_SHSTK): Likewise. + * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)): + Handle index_cpu_IBT and index_cpu_SHSTK. + +2017-08-14 Mike FABIAN + + [BZ #19982] + * po/fr.po: Fix spelling mistake. + +2017-08-13 Florian Weimer + + * elf/dl-addr.c (_dl_addr): Remove internal_function. + * elf/dl-error-skeleton.c (_dl_signal_error, _dl_signal_cerror) + (_dl_catch_error, _dl_receive_error): Likewise. + * elf/dl-open.c (_dl_find_dso_for_object): Likewise. + * elf/dl-tls.c (_dl_allocate_tls_init, _dl_allocate_tls) + (_dl_deallocate_tls): Likewise. + * include/dlfcn.h (_dl_addr): Likewise. + * sysdeps/generic/ldsodefs.h (_dl_signal_error, _dl_signal_cerror) + (_dl_catch_error, _dl_receive_error, _dl_find_dso_for_object) + (_dl_allocate_tls_init, _dl_allocate_tls, _dl_deallocate_tls): + Likewise. + +2017-08-13 Florian Weimer + + * include/stdlib.h: (__strtof_nan, __strtod_nan, __strtold_nan) + (__wcstof_nan, __wcstod_nan, __wcstold_nan): Remove + internal_function. + * stdlib/sttod_nan_main.c (STRTOD_NAN): Likewise. + +2017-08-13 Florian Weimer + + * elf/dl-support.c (_dl_make_stack_executable_hook): Remove + internal_function. + * nptl/allocatestack.c (__make_stacks_executable): Likewise. + * nptl/pthreadP.h (__make_stacks_executable): Likewise. + * sysdeps/generic/ldsodefs.h (_rtld_global): Remove + internal_function from _dl_make_stack_executable_hook member. + (_dl_make_stack_executable): Remove internal_function. + * sysdeps/mach/hurd/dl-execstack.c (_dl_make_stack_executable): + Likewise. + * sysdeps/unix/sysv/linux/dl-execstack.c + (_dl_make_stack_executable): Likewise. + +2017-08-13 Florian Weimer + + * sysdeps/unix/sysv/linux/netlinkaccess.h + (__netlink_assert_response): Remove internal_function. + * sysdeps/unix/sysv/linux/netlink_assert_response.c + (__netlink_assert_response): Likewise. + +2017-08-13 Florian Weimer + + * include/rpc/pmap_clnt.h (__libc_rpc_getport): Remove + internal_function. + * sunrpoc/pm_getport.c (__libc_rpc_getport): Likewise. + +2017-08-13 Florian Weimer + + * grp/grp-merge.h (__copy_grp, __merge_grp): Remove + internal_function. + * grp/grp-merge.c (__copy_grp, __merge_grp): Likewise. + * inet/netgroup.h (__internal_setnetgrent) + (__internal_endnetgrent,__internal_getnetgrent_r): Likewise. + * inet/getnetgrent_r.c (__internal_setnetgrent) + (__internal_endnetgrent,__internal_getnetgrent_r): Likewise. + * nss/XXX-lookup.c (DB_LOOKUP_FCT, DB_COMPAT_FCT): Likewise. + * nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Likewise. + * nss/getXXent_r.c (DB_LOOKUP_FCT): Likewise. + * nss/nsswitch.h (db_lookup_function): Likewise. + +2017-08-13 Florian Weimer + + * debug/fortify_fail.c (__fortify_fail, __fortify_fail_abort): + Remove internal_function. + * include/stdio.h (__fortify_fail, __fortify_fail_abort): Likewise. + * sysdeps/mach/hurd/i386/____longjmp_chk.S (CALL_FAIL): Pass + message argument on the stack. + * sysdeps/unix/sysv/linux/i386/____longjmp_chk.S (CALL_FAIL): + Likeweise. + +2017-08-12 Mike FABIAN + + Adapt test case data to the changes in the thousands + separators. + + [BZ #20756] + * localedata/tst-langinfo.sh: Adapt test case data. + * stdlib/tst-strfmon_l.c: Likewise. + * stdlib/tst-strtod4.c: Likewise. + * stdlib/tst-strtod5i.c: Likewise. + +2017-08-11 Florian Weimer + + [BZ #21242] + * assert/assert.h [__GNUC__ && !__STRICT_ANSI__] (assert): + Suppress pedantic warning resulting from statement expression. + (__ASSERT_FUNCTION): Add missing __extension__. + +2017-08-11 Siddhesh Poyarekar + + * benchtests/bench-memmove-large.c: Print output in JSON + format. + * benchtests/bench-memmove.c: Likewise. + + * benchtests/bench-memccpy.c (do_one_test): Remove checks. + * benchtests/bench-memchr.c (do_one_test): Likewise. + * benchtests/bench-memcpy-large.c (do_one_test): Likewise. + * benchtests/bench-memcpy.c (do_one_test): Likewise. + * benchtests/bench-memmove-large.c (do_one_test): Likewise. + * benchtests/bench-memmove.c (do_one_test): Likewise. + * benchtests/bench-memset-large.c (do_one_test): Likewise. + * benchtests/bench-memset.c (do_one_test): Likewise. + * benchtests/bench-string.h (test_init): Remove memsets. + +2017-08-10 Rical Jasan + + * manual/lang.texi + (Computing the Width of an Integer Data Type): Rename section to + "Width of an Integer Type". Remove inaccurate statement regarding + lack of C language facilities for determining width of integer + types, and reorder content to improve flow and context of + discussion. + +2017-08-10 Rical Jasan + + * lang.texi (va_copy): Change standard from ISO to C99. + (__va_copy): Add standard and header annotation. + Update description for clarity of origins and current use. + +2017-08-10 Gabriel F. T. Gomes + + [BZ #21941] + * sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrtf128): Since + xssqrtqp requires operands to be in Vector Registers + (Altivec/VMX), replace the register constraint 'wq' with 'v'. + * sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c + (__ieee754_sqrtf128): Likewise. + +2017-08-10 Wilco Dijkstra + + * sysdeps/aarch64/memcmp.S (memcmp): + Rewrite of optimized memcmp. + +2017-08-10 Florian Weimer + + Introduce ld.so exceptions. + * sysdeps/generic/ldsodefs.h (struct dl_exception): Define. + (_dl_exception_create, _dl_exception_create_format) + (_dl_exception_free, _dl_signal_exception, _dl_signal_cexception) + (_dl_catch_exception): Declare. + (_dl_catch_error): Update comment. + * elf/dl-error-skeleton.c (struct catch): Replace objname, + errstring, malloced members with exception member. + (_dl_out_of_memory): Remove. + (fatal_error): New function, extracted from _dl_signal_error. + (_dl_signal_exception, _dl_signal_cexception): New functions. + (_dl_signal_error): Call _dl_exception_create to allocate an + exception object. + (_dl_catch_exception): New function, based on _dl_catch_error. + (_dl_catch_error): Implement using _dl_catch_exception. + * elf/dl-exception.c: New file. + * elf/Makefile (dl-routines): Add dl-exception. + (elide-routines.os): Likewise. + * elf/Version (ld/GLIBC_PRIVATE): Add _dl_exception_create, + _dl_exception_create_format, _dl_exception_free. + * elf/dl-deps.c (_dl_map_object_deps): Use _dl_catch_exception and + _dl_signal_exception. + * elf/dl-lookup.c (make_string): Remove. + (_dl_lookup_symbol_x): Use _dl_exception_create_format, + _dl_signal_cexception, _dl_exception_free. + * elf/dl-open.c (_dl_open): Use _dl_catch_exception and + _dl_signal_exception. + * elf/dl-sym.c (do_sym): Likewise. + * elf/dl-version.c (make_string): Remove. + (match_symbol): Use _dl_exception_create_format, + _dl_signal_cexception, _dl_exception_free. + (_dl_check_map_versions): Likewise. + * sysdeps/generic/localplt.data (ld.so): Add _dl_signal_exception, + _dl_catch_exception. + * sysdeps/unix/sysv/linux/aarch64/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/alpha/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/arm/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/hppa/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/i386/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/ia64/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/m68k/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/microblaze/localplt.data (ld.so): + Likewise. + * sysdeps/unix/sysv/linux/nios2/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data + (ld.so): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data + (ld.so): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data (ld.so): + Likewise. + * sysdeps/unix/sysv/linux/s390/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/sh/localplt.data (ld.so): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data (ld.so): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data (ld.so): + Likewise. + * sysdeps/x86_64/localplt.data (ld.so): Likewise. + +2017-08-10 Florian Weimer + + * inet/net-internal.h (__inet6_scopeid_pton): Remove + attribute_hidden, internal_function. + * inet/inet6_scopeid_pton.c (__inet6_scopeid_pton): Remove + internal_function. + +2017-08-10 Florian Weimer + + * malloc/malloc.c (get_max_fast): Reimplement as an inline + function which calls __builtin_unreachable. + +2017-08-10 Mike FABIAN + + * stdlib/tst-strfmon_l.c: Fix test cases to agree with the changes in + Indian monetary formatting + * stdlib/Makefile: Adapt list of locales needed for the tst-strfmon_l.c + test cases. + +2017-08-09 Dmitry V. Levin + + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (enum __ptrace_request): + Fix typo in comment. + + [BZ #21928] + * sysdeps/unix/sysv/linux/sys/ptrace.h (enum __ptrace_flags, + PTRACE_SEIZE_DEVEL): Remove. + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. + +2017-08-09 Joseph Myers + + * posix/bits/types.h (__qaddr_t): Remove. + + [BZ #21457] + * sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/generic/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down. + (__ctxt): Likewise. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New + macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags and uc_regspace. + * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move + undefine further down. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move + undefine further down. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move + undefine further down. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use + __ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space. + Rename uc_pad to __glibc_reserved1. + * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move + undefine further down. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine + further down. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use + __ctx with uc_flags. + * sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use + __ctx with uc_flags. + +2017-08-09 Florian Weimer + + [BZ #21932] + * nss/getXXbyYY_r.c (REENTRANT_NAME): Call __resolv_context_put + before early return. + +2017-08-09 Andreas Schwab + + [BZ #21041] + * sysdeps/unix/sysv/linux/s390/pt-longjmp.c: Update reference to + renamed alias. + + [BZ #21041] + * nptl/Makefile (tests) [$(build-shared) = yes]: Add + tst-compat-forwarder. + (modules-names): Add tst-compat-forwarder-mod. + ($(objpfx)tst-compat-forwarder): Depend on + $(objpfx)tst-compat-forwarder-mod.so. + * nptl/tst-compat-forwarder.c: New file. + * nptl/tst-compat-forwarder-mod.c: New file. + +2017-08-09 Siddhesh Poyarekar + + * sysdeps/aarch64/multiarch/memcpy_falkor.S: Fix code style in + comments. + + * manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor. + * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add + memcpy_falkor. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC): + Bump. + (__libc_ifunc_impl_list): Add __memcpy_falkor. + * sysdeps/aarch64/multiarch/memcpy.c: Likewise. + * sysdeps/aarch64/multiarch/memcpy_falkor.S: New file. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list): + Add falkor. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR): + New macro. + +2017-08-08 Adhemerval Zanella + + [BZ #759] + * manual/setjmp.texi (getcontex): Document uc_stack value + compatibility differences. + +2017-08-08 Joseph Myers + + * malloc/mcheck.c (old_free_hook): Use void * instead of __ptr_t. + (old_malloc_hook): Likewise. + (old_memalign_hook): Likewise. + (old_realloc_hook): Likewise. + (struct hdr): Likewise. + (flood): Likewise. + (freehook): Likewise. + (mallochook): Likewise. + (memalignhook): Likewise. + (reallochook): Likewise. + (mprobe): Likewise. + * malloc/mtrace.c (mallwatch): Likewise. + (tr_old_free_hook): Likewise. + (tr_old_malloc_hook): Likewise. + (tr_old_realloc_hook): Likewise. + (tr_old_memalign_hook): Likewise. + (tr_where): Likewise. + (lock_and_info): Likewise. + (tr_freehook): Likewise. + (tr_mallochook): Likewise. + (tr_reallochook): Likewise. + (tr_memalignhook): Likewise. + * misc/err.h [!__GNUC_VA_LIST] (__gnuc_va_list): Likewise. + * misc/mmap.c (__mmap): Likewise. + * misc/mmap64.c (__mmap64): Likewise. + * misc/mprotect.c (__mprotect): Likewise. + * misc/msync.c (msync): Likewise. + * misc/munmap.c (__munmap): Likewise. + * posix/posix_madvise.c (posix_madvise): Likewise. + * socket/send.c (__send): Likewise. + * socket/sendto.c (__sendto): Likewise. + * socket/setsockopt.c (__setsockopt): Likewise. + * string/memcmp.c (__ptr_t): Remove macro. + (MEMCMP): Use void * instead of ptr_t. + * string/memrchr.c (__ptr_t): Remove macro. + (__memrchr): Use void * instead of ptr_t. + * sysdeps/mach/hurd/dl-sysdep.c (__mmap): Likewise. + * sysdeps/mach/hurd/mmap.c (__mmap): Likewise. + * sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise. + * sysdeps/mach/mprotect.c (__mprotect): Likewise. + * sysdeps/mach/msync.c (msync): Likewise. + * sysdeps/mach/munmap.c (__munmap): Likewise. + * sysdeps/mips/bits/setjmp.h (struct __jmp_buf_internal_tag): + Likewise. + * sysdeps/posix/getcwd.c (__getcwd): Likewise. + * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc32/power4/memcpy.S (memcpy): Likewise. + * sysdeps/powerpc/powerpc32/power4/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Likewise. + * sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc32/power7/memcpy.S (memcpy): Likewise. + * sysdeps/powerpc/powerpc32/power7/mempcpy.S (__mempcpy): + Likewise. + * sysdeps/powerpc/powerpc32/power7/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise. + * sysdeps/powerpc/powerpc64/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc64/power4/memcpy.S (memcpy): Likewise. + * sysdeps/powerpc/powerpc64/power4/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc64/power6/memcpy.S (memcpy): Likewise. + * sysdeps/powerpc/powerpc64/power6/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc64/power7/memcpy.S (memcpy): Likewise. + * sysdeps/powerpc/powerpc64/power7/mempcpy.S (__mempcpy): + Likewise. + * sysdeps/powerpc/powerpc64/power7/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc64/power8/memset.S (memset): Likewise. + * sysdeps/tile/memcmp.c (__ptr_t): Remove macro. + (MEMCMP): Use void * instead of ptr_t. + * sysdeps/unix/sysv/linux/alpha/oldglob.c (old_glob_t): Likewise. + * sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise. + +2017-08-08 Florian Weimer + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Remove unreachable + return statement. + +2017-08-08 H.J. Lu + + [BZ #21913] + * csu/libc-tls.c: Include first. + (__libc_setup_tls): Call _startup_fatal instead of __libc_fatal. + * elf/dl-tunables.c: Include first. + * include/libc-symbols.h (BUILD_PIE_DEFAULT): New. + * sysdeps/generic/startup.h: New file. + * sysdeps/unix/sysv/linux/i386/startup.h: Likewise. + * sysdeps/unix/sysv/linux/i386/brk.c [BUILD_PIE_DEFAULT != 0] + (I386_USE_SYSENTER): New. Defined to 0. + +2017-08-08 Andreas Schwab + + [BZ #21041] + * nptl/pt-longjmp.c (longjmp, siglongjmp): Don't use IFUNC resolver. + * nptl/pt-system.c (system): Likewise. + +2017-08-07 Adhemerval Zanella + + [BZ #21780] + * sysdeps/posix/preadv2.c (preadv2): Use ENOTSUP instead of + EOPNOTSUPP. + * sysdeps/posix/preadv64v2.c (preadv64v2): Likewise. + * sysdeps/posix/pwritev2.c (pwritev2): Likewise. + * sysdeps/posix/pwritev64v2.c (pwritev64v2): Likewise. + * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise. + * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise. + * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise. + * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise. + +2017-08-07 Joseph Myers + + [BZ #21899] + * bits/sigaction.h (struct sigaction): Define sa_handler and + sa_sigaction using union also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. + (SA_RESETHAND): Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h + (struct sigaction): Define sa_handler and sa_sigaction using union + also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. + (SA_RESETHAND): Likewise. + * sysdeps/unix/sysv/linux/bits/sigaction.h + (struct sigaction): Define sa_handler and sa_sigaction using union + also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. + (SA_RESETHAND): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/sigaction.h + (struct sigaction): Define sa_handler and sa_sigaction using union + also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. + (SA_RESETHAND): Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h + (struct sigaction): Define sa_handler and sa_sigaction using union + also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. + (SA_RESETHAND): Likewise. + * sysdeps/unix/sysv/linux/mips/bits/sigaction.h + (struct sigaction): Define sa_handler and sa_sigaction using union + also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. + (SA_RESETHAND): Likewise. + * sysdeps/unix/sysv/linux/s390/bits/sigaction.h + (struct sigaction): Define sa_handler and sa_sigaction using union + also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. + (SA_RESETHAND): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h + (struct sigaction): Define sa_handler and sa_sigaction using union + also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. Define directly rather than as alias. + (SA_RESETHAND): Likewise. + (SA_INTERRUPT): Define only for [__USE_MISC]. + (SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC]. + (SA_ONESHOT): Define as alias of SA_RESETHAND, only for + [__USE_MISC]. + (SA_STACK): Define only for [__USE_MISC]. + * sysdeps/unix/sysv/linux/tile/bits/sigaction.h + (struct sigaction): Define sa_handler and sa_sigaction using union + also for [__USE_XOPEN_EXTENDED]. + (SA_ONSTACK): Change [__USE_UNIX98] condition to + [__USE_XOPEN_EXTENDED]. + (SA_RESTART): Likewise. + (SA_NODEFER): Likewise. + (SA_RESETHAND): Likewise. + (SA_NOPTRACE): Define only for [__USE_MISC]. + + * catgets/catgets.c (catgets): Use uintN_t instead of u_intN_t. + * catgets/catgetsinfo.h (struct catalog_obj): Likewise. + (struct catalog_info): Likewise. + * inet/htontest.c (lo): Likewise. + (foo): Likewise. + * inet/inet_lnaof.c (inet_lnaof): Likewise. + * inet/inet_net.c (inet_network): Likewise. + * inet/inet_netof.c (inet_netof): Likewise. + * inet/rcmd.c (__ivaliduser): Likewise. + (iruserok): Likewise. + * locale/loadlocale.c (_nl_intern_locale_data): Likewise. + * locale/programs/locale-spec.c (locale_special): Likewise. + * nis/nis_findserv.c (struct findserv_req): Likewise. + (__nis_findfastest_with_timeout): Likewise. + * nss/test-netdb.c (test_network): Likewise. + * resolv/inet_neta.c (inet_neta): Likewise. + * resolv/ns_date.c (ns_datetosecs): Likewise. + (SECS_PER_DAY): Likewise. + * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): + Likewise. + * resolv/res_comp.c (__putlong): Likewise. + (__putshort): Likewise. + (_getlong): Likewise. + (_getshort): Likewise. + * resolv/res_debug.c (p_time): Likewise. + (precsize_ntoa): Likewise. + (precsize_aton): Likewise. + (latlon2ul): Likewise. + (loc_aton): Likewise. + (loc_ntoa): Likewise. + * resolv/res_hconf.c (struct netaddr): Likewise. + (_res_hconf_reorder_addrs): Likewise. + * sunrpc/clnt_tcp.c (clnttcp_call): Likewise. + (clnttcp_control): Likewise. + * sunrpc/clnt_udp.c (clntudp_call): Likewise. + (clntudp_control): Likewise. + * sunrpc/clnt_unix.c (clntunix_call): Likewise. + (clntunix_control): Likewise. + * sunrpc/pmap_rmt.c (clnt_broadcast): Likewise. + * sunrpc/rpc/auth.h (union des_block): Likewise. + * sunrpc/tst-udp-nonblocking.c (do_test): Likewise. + * sunrpc/xdr_rec.c (struct rec_strm): Likewise. + (xdrrec_create): Likewise. + (xdrrec_endofrecord): Likewise. + (flush_out): Likewise. + * sunrpc/xdr_stdio.c (xdrstdio_getlong): Likewise. + (xdrstdio_putlong): Likewise. + * sysdeps/unix/sysv/linux/errqueue.h (struct sock_extended_err): + Likewise. + + * misc/sys/cdefs.h (__long_double_t): Remove. + * stdio-common/printf_fp.c (__printf_fp_l): Use long double + instead of __long_double_t, + * stdlib/strfmon_l.c (__vstrfmon_l): Likewise. + +2017-08-07 Siddhesh Poyarekar + + * benchtests/scripts/compare_strings.py: Avoid display error when + running on a text terminal. + + * benchtests/scripts/compare_strings.py (main): Add an + optional -base option. + (process_results): New argument base_func. + + * benchtests/bench-memcpy.c (test_main): Use TEST_NAME instead of + hardcoding memcpy. + * benchtests/bench-memcpy-large.c (test_name): Likewise. + * benchtests/bench-memcpy-random.c (test_name): Likewise. + +2017-08-07 Andreas Schwab + + * elf/Makefile ($(objpfx)tst-pathopt.out): Redirect output to target. + * grp/Makefile ($(objpfx)tst_fgetgrent.out): Likewise. + * intl/Makefile ($(objpfx)tst-gettext.out) + ($(objpfx)tst-translit.out, $(objpfx)tst-gettext2.out) + ($(objpfx)tst-gettext4.out, $(objpfx)tst-gettext6.out): Likewise. + * libio/Makefile ($(objpfx)test-freopen.out): Likewise. + * malloc/Makefile ($(objpfx)tst-mtrace.out): Likewise. + * nptl/Makefile ($(objpfx)tst-tls6.out): Likewise. + * posix/Makefile ($(objpfx)globtest.out) + ($(objpfx)wordexp-tst.out, $(objpfx)tst-getconf.out): Likewise. + * stdio-common/Makefile ($(objpfx)tst-unbputc.out) + ($(objpfx)tst-printf.out): Likewise. + * stdlib/Makefile ($(objpfx)tst-fmtmsg.out) + ($(objpfx)tst-setcontext3.out): Likewise. + +2017-08-07 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add e_exp-fma, e_log-fma, e_pow-fma, s_atan-fma, e_asin-fma, + e_atan2-fma, s_sin-fma, s_tan-fma, mplog-fma, mpa-fma, + slowexp-fma, slowpow-fma, sincos32-fma, doasin-fma, dosincos-fma, + halfulp-fma, mpexp-fma, mpatan2-fma, mpatan-fma, mpsqrt-fma, + and mptan-fma. + (CFLAGS-doasin-fma.c): New. + (CFLAGS-dosincos-fma.c): Likewise. + (CFLAGS-e_asin-fma.c): Likewise. + (CFLAGS-e_atan2-fma.c): Likewise. + (CFLAGS-e_exp-fma.c): Likewise. + (CFLAGS-e_log-fma.c): Likewise. + (CFLAGS-e_pow-fma.c): Likewise. + (CFLAGS-halfulp-fma.c): Likewise. + (CFLAGS-mpa-fma.c): Likewise. + (CFLAGS-mpatan-fma.c): Likewise. + (CFLAGS-mpatan2-fma.c): Likewise. + (CFLAGS-mpexp-fma.c): Likewise. + (CFLAGS-mplog-fma.c): Likewise. + (CFLAGS-mpsqrt-fma.c): Likewise. + (CFLAGS-mptan-fma.c): Likewise. + (CFLAGS-s_atan-fma.c): Likewise. + (CFLAGS-sincos32-fma.c): Likewise. + (CFLAGS-slowexp-fma.c): Likewise. + (CFLAGS-slowpow-fma.c): Likewise. + (CFLAGS-s_sin-fma.c): Likewise. + (CFLAGS-s_tan-fma.c): Likewise. + * sysdeps/x86_64/fpu/multiarch/doasin-fma.c: New file. + * sysdeps/x86_64/fpu/multiarch/dosincos-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_asin-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_atan2-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Likewise. + * sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Likewise. + * sysdeps/x86_64/fpu/multiarch/mpa-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mpatan-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mpatan2-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mpsqrt-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/mptan-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_atan-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_sin-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_tan-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/sincos32-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_asin.c: Rewrite. + * sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_pow.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise. + +2017-08-04 Joseph Myers + + * sysdeps/generic/math_private.h (__EXPR_FLT128): Remove macro. + (min_of_type_f): New macro. + (min_of_type_): Likewise. + (min_of_type_l): Likewise. + (min_of_type_f128): Likewise. + (min_of_type): Define using __MATH_TG and taking an expression + argument. + (math_check_force_underflow): Pass expression instead of type to + min_of_type. + (math_check_force_underflow_nonneg): Likewise. + +2017-08-04 H.J. Lu + + * sysdeps/x86/cpu-features.h [__ASSEMBLER__] + (LOAD_RTLD_GLOBAL_RO_RDX, HAS_FEATURE, LOAD_FUNC_GOT_EAX, + HAS_CPU_FEATURE, HAS_ARCH_FEATURE): Removed. + +2017-08-04 H.J. Lu + + * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add + bcopy-ia32, bzero-ia32, rawmemchr-ia32 memchr-ia32, + memcmp-ia32, memcpy-ia32, memmove-ia32, mempcpy-ia32, + memset-ia32, strcat-ia32, strchr-ia32, strrchr-ia32, + strcpy-ia32, strcmp-ia32, strcspn-ia32, strpbrk-ia32, + strspn-ia32, strlen-ia32, stpcpy-ia32, stpncpy-ia32, + memcpy_chk-nonshared, mempcpy_chk-nonshared, + memmove_chk-nonshared and memset_chk-nonshared + * sysdeps/i386/i686/multiarch/bcopy-ia32.S: New file. + * sysdeps/i386/i686/multiarch/bcopy.c: Likewise. + * sysdeps/i386/i686/multiarch/bzero-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/bzero.c: Likewise. + * sysdeps/i386/i686/multiarch/ifunc-memmove.h: Likewise. + * sysdeps/i386/i686/multiarch/ifunc-memset.h: Likewise. + * sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Likewise. + * sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Likewise. + * sysdeps/i386/i686/multiarch/ifunc-sse2.h: Likewise. + * sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Likewise. + * sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Likewise. + * sysdeps/i386/i686/multiarch/memchr-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/memchr.c: Likewise. + * sysdeps/i386/i686/multiarch/memcmp-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/memcmp.c: Likewise. + * sysdeps/i386/i686/multiarch/memcpy-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/memcpy.c: Likewise. + * sysdeps/i386/i686/multiarch/memcpy_chk-nonshared.S: Likewise. + * sysdeps/i386/i686/multiarch/memcpy_chk.c: Likewise. + * sysdeps/i386/i686/multiarch/memmove-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/memmove.c: Likewise. + * sysdeps/i386/i686/multiarch/memmove_chk-nonshared.S: Likewise. + * sysdeps/i386/i686/multiarch/memmove_chk.c: Likewise. + * sysdeps/i386/i686/multiarch/mempcpy-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/mempcpy.c: Likewise. + * sysdeps/i386/i686/multiarch/mempcpy_chk-nonshared.S: Likewise. + * sysdeps/i386/i686/multiarch/mempcpy_chk.c: Likewise. + * sysdeps/i386/i686/multiarch/memrchr.c: Likewise. + * sysdeps/i386/i686/multiarch/memset-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/memset.c: Likewise. + * sysdeps/i386/i686/multiarch/memset_chk-nonshared.S: Likewise. + * sysdeps/i386/i686/multiarch/rawmemchr-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/rawmemchr.c: Likewise. + * sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/stpcpy.c: Likewise. + * sysdeps/i386/i686/multiarch/stpncpy-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/stpncpy.c: Likewise. + * sysdeps/i386/i686/multiarch/strcasecmp.c: Likewise. + * sysdeps/i386/i686/multiarch/strcasecmp_l.c: Likewise. + * sysdeps/i386/i686/multiarch/strcat-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strcat.c: Likewise. + * sysdeps/i386/i686/multiarch/strchr-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strchr.c: Likewise. + * sysdeps/i386/i686/multiarch/strcmp-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strcmp.c: Likewise. + * sysdeps/i386/i686/multiarch/strcpy-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strcpy.c: Likewise. + * sysdeps/i386/i686/multiarch/strcspn-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strcspn.c: Likewise. + * sysdeps/i386/i686/multiarch/strlen-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strlen.c: Likewise. + * sysdeps/i386/i686/multiarch/strncase.c: Likewise. + * sysdeps/i386/i686/multiarch/strncase_l.c: Likewise. + * sysdeps/i386/i686/multiarch/strncat.c: Likewise. + * sysdeps/i386/i686/multiarch/strncmp.c: Likewise. + * sysdeps/i386/i686/multiarch/strncpy.c: Likewise. + * sysdeps/i386/i686/multiarch/strnlen.c: Likewise. + * sysdeps/i386/i686/multiarch/strpbrk-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strpbrk.c: Likewise. + * sysdeps/i386/i686/multiarch/strrchr-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strrchr.c: Likewise. + * sysdeps/i386/i686/multiarch/strspn-ia32.S: Likewise. + * sysdeps/i386/i686/multiarch/strspn.c: Likewise. + * sysdeps/i386/i686/multiarch/wcschr.c: Likewise. + * sysdeps/i386/i686/multiarch/wcscmp.c: Likewise. + * sysdeps/i386/i686/multiarch/wcscpy.c: Likewise. + * sysdeps/i386/i686/multiarch/wcslen.c: Likewise. + * sysdeps/i386/i686/multiarch/wcsrchr.c: Likewise. + * sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise. + * sysdeps/i386/i686/multiarch/bcopy.S: Removed. + * sysdeps/i386/i686/multiarch/bzero.S: Likewise. + * sysdeps/i386/i686/multiarch/memchr.S: Likewise. + * sysdeps/i386/i686/multiarch/memcmp.S: Likewise. + * sysdeps/i386/i686/multiarch/memcpy.S: Likewise. + * sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise. + * sysdeps/i386/i686/multiarch/memmove.S: Likewise. + * sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise. + * sysdeps/i386/i686/multiarch/mempcpy.S: Likewise. + * sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise. + * sysdeps/i386/i686/multiarch/memrchr.S: Likewise. + * sysdeps/i386/i686/multiarch/memset.S: Likewise. + * sysdeps/i386/i686/multiarch/memset_chk.S: Likewise. + * sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise. + * sysdeps/i386/i686/multiarch/stpcpy.S: Likewise. + * sysdeps/i386/i686/multiarch/stpncpy.S: Likewise. + * sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise. + * sysdeps/i386/i686/multiarch/strcasecmp_l.S: Likewise. + * sysdeps/i386/i686/multiarch/strcat.S: Likewise. + * sysdeps/i386/i686/multiarch/strcmp.S: Likewise. + * sysdeps/i386/i686/multiarch/strcpy.S: Likewise. + * sysdeps/i386/i686/multiarch/strcspn.S: Likewise. + * sysdeps/i386/i686/multiarch/strlen.S: Likewise. + * sysdeps/i386/i686/multiarch/strncase.S: Likewise. + * sysdeps/i386/i686/multiarch/strncase_l.S: Likewise. + * sysdeps/i386/i686/multiarch/strncat.S: Likewise. + * sysdeps/i386/i686/multiarch/strncmp.S: Likewise. + * sysdeps/i386/i686/multiarch/strncpy.S: Likewise. + * sysdeps/i386/i686/multiarch/strnlen.S: Likewise. + * sysdeps/i386/i686/multiarch/strpbrk.S: Likewise. + * sysdeps/i386/i686/multiarch/strrchr.S: Likewise. + * sysdeps/i386/i686/multiarch/strspn.S: Likewise. + * sysdeps/i386/i686/multiarch/wcschr.S: Likewise. + * sysdeps/i386/i686/multiarch/wcscmp.S: Likewise. + * sysdeps/i386/i686/multiarch/wcscpy.S: Likewise. + * sysdeps/i386/i686/multiarch/wcslen.S: Likewise. + * sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise. + * sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise. + +2017-08-04 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines) + Add svml_d_cos2_core-sse2, svml_d_cos4_core-sse, + svml_d_cos8_core-avx2, svml_d_exp2_core-sse2, + svml_d_exp4_core-sse, svml_d_exp8_core-avx2, + svml_d_log2_core-sse2, svml_d_log4_core-sse, + svml_d_log8_core-avx2, svml_d_pow2_core-sse2, + svml_d_pow4_core-sse, svml_d_pow8_core-avx2 + svml_d_sin2_core-sse2, svml_d_sin4_core-sse, + svml_d_sin8_core-avx2, svml_d_sincos2_core-sse2, + svml_d_sincos4_core-sse, svml_d_sincos8_core-avx2, + svml_s_cosf16_core-avx2, svml_s_cosf4_core-sse2, + svml_s_cosf8_core-sse, svml_s_expf16_core-avx2, + svml_s_expf4_core-sse2, svml_s_expf8_core-sse, + svml_s_logf16_core-avx2, svml_s_logf4_core-sse2, + svml_s_logf8_core-sse, svml_s_powf16_core-avx2, + svml_s_powf4_core-sse2, svml_s_powf8_core-sse, + svml_s_sincosf16_core-avx2, svml_s_sincosf4_core-sse2, + svml_s_sincosf8_core-sse, svml_s_sinf16_core-avx2, + svml_s_sinf4_core-sse2 and svml_s_sinf8_core-sse. + * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: New file. + * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Likewise. + * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core-sse2.S: This. + Don't include nor . + (_ZGVbN2v_cos): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core-sse.S: This. + Don't include nor . + (_ZGVdN4v_cos): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core-avx2.S: This. + Don't include nor . + (_ZGVeN8v_cos): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core-sse2.S: This. + Don't include nor . + (_ZGVbN2v_exp): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core-sse.S: This. + Don't include nor . + (_ZGVdN4v_exp): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core-avx2.S: This. + Don't include nor . + (_ZGVeN8v_exp): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core-sse2.S: This. + Don't include nor . + (_ZGVbN2v_log): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core-sse.S: This. + Don't include nor . + (_ZGVdN4v_log): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core-avx2.S: This. + Don't include nor . + (_ZGVeN8v_log): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core-sse2.S: This. + Don't include nor . + (_ZGVbN2vv_pow): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core-sse.S: This. + Don't include nor . + (_ZGVdN4vv_pow): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core-avx2.S: This. + Don't include nor . + (_ZGVeN8vv_pow): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core-sse2.S: This. + Don't include nor . + (_ZGVbN2v_sin): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core-sse.S: This. + Don't include nor . + (_ZGVbN4v_sin): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: This. + Don't include nor . + (_ZGVbN8v_sin): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core-sse2.S: This. + Don't include nor . + (_ZGVbN2vvv_sincos): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core-sse.S: This. + Don't include nor . + (_ZGVdN4vvv_sincos): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core-avx2.S: This. + Don't include nor . + (_ZGVeN8vvv_sincos): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core-avx2.S: This. + Don't include nor . + (_ZGVeN16v_cosf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core-sse2.S: This. + Don't include nor . + (_ZGVbN4v_cosf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core-sse.S: This. + Don't include nor . + (_ZGVdN8v_cosf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core-avx2.S: This. + Don't include nor . + (_ZGVeN16v_expf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core-sse2.S: This. + Don't include nor . + (_ZGVbN4v_expf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core-sse.S: This. + Don't include nor . + (_ZGVdN8v_expf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core-avx2.S: This. + Don't include nor . + (_ZGVeN16v_logf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core-sse2.S: This. + Don't include nor . + (_ZGVbN4v_logf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core-sse.S: This. + Don't include nor . + (_ZGVdN8v_logf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core-avx2.S: This. + Don't include nor . + (_ZGVeN16vv_powf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core-sse2.S: This. + Don't include nor . + (_ZGVbN4vv_powf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core-sse.S: This. + Don't include nor . + (_ZGVdN8vv_powf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core-avx2.S: This. + Don't include nor . + (_ZGVeN16vvv_sincosf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core-sse2.S: This. + Don't include nor . + (_ZGVbN4vvv_sincosf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core-sse.S: This. + Don't include nor . + (_ZGVdN8vvv_sincosf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core-avx2.S: This. + Don't include nor . + (_ZGVeN16v_sinf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core-sse2.S: This. + Don't include nor . + (_ZGVbN4v_sinf): Removed. + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.S: Renamed to + ... + * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core-sse.S: This. + Don't include nor . + (_ZGVdN8v_sinf): Removed. + +2017-08-04 H.J. Lu + + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add s_ceil-sse4_1, s_ceilf-sse4_1, s_floor-sse4_1, + s_floorf-sse4_1, s_nearbyint-sse4_1, s_nearbyintf-sse4_1, + s_rint-sse4_1 and s_rintf-sse4_1. + * sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: New file. + * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_ceil.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: This. Don't + include nor . Include . + (__ceil): Removed. + * sysdeps/x86_64/fpu/multiarch/s_ceilf.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: This. Don't + include nor . Include . + (__ceilf): Removed. + * sysdeps/x86_64/fpu/multiarch/s_floor.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: This. Don't + include nor . Include . + (__floor): Removed. + * sysdeps/x86_64/fpu/multiarch/s_floorf.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: This. Don't + include nor . Include . + (__floorf): Removed. + * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: This. Don't + include nor . Include . + (__nearbyint): Removed. + * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: This. Don't + include nor . Include . + (__nearbyintf): Removed. + * sysdeps/x86_64/fpu/multiarch/s_rint.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: This. Don't + include nor . Include . + (__rint): Removed. + * sysdeps/x86_64/fpu/multiarch/s_rintf.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: This. Don't + include nor . Include . + (__rintf): Removed. + +2017-08-04 H.J. Lu + + * sysdeps/i386/start.S (_start): Check Check PIC instead of + SHARED. Avoid dynamic relocation against main in static PIE. + +2017-08-04 H.J. Lu + + [BZ #21815] + * elf/Makefile (CFLAGS-tst-prelink.c): New. + (LDFLAGS-tst-prelink): Likewise. + +2017-08-04 H.J. Lu + + * sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER): + Define to I386_USE_SYSENTER to 0 or 1 if not defined. + (ENTER_KERNEL): Check if I386_USE_SYSENTER is 1 and check PIC. + (INTERNAL_SYSCALL_MAIN_INLINE): Likewise. + (INTERNAL_SYSCALL_NCS): Likewise. + (LOADARGS_1): Likewise. + (LOADARGS_5): Likewise. + (RESTOREARGS_1): Likewise. + (RESTOREARGS_5): Likewise. + +2017-08-04 H.J. Lu + + * sysdeps/x86_64/memmove.S (MEMCPY_SYMBOL): Don't check SHARED. + (MEMPCPY_SYMBOL): Likewise. + * sysdeps/x86_64/multiarch/ifunc-impl-list.c + (__libc_ifunc_impl_list): Test memcpy and mempcpy in libc.a. + * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Also include + in libc.a. + * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise. + * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S: + Likewise. + * sysdeps/x86_64/multiarch/memcpy.c: Also include in libc.a. + (__hidden_ver1): Don't use in libc.a. + * sysdeps/x86_64/multiarch/memmove-sse2-unaligned-erms.S + (__mempcpy): Don't create a weak alias in libc.a. + * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Support + libc.a. + * sysdeps/x86_64/multiarch/mempcpy.c: Also include in libc.a. + (__hidden_ver1): Don't use in libc.a. + +2017-08-04 H.J. Lu + + * config.make.in (have-insert): New. + * configure.ac (libc_cv_insert): New. Set to yes if linker + supports INSERT in linker script. + (AC_SUBST(libc_cv_insert): New. + * configure: Regenerated. + * sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc only + if $(have-insert) == yes. + +2017-08-04 H.J. Lu + + * elf/Makefile (tests): Add vismain only if + $(have-protected-data) == yes. + (tests-pie): Likewise. + +2017-08-04 H.J. Lu + + [BZ #21871] + * sysdeps/x86/cpu-features.c (init_cpu_features): Set + bit_arch_Use_dl_runtime_resolve_opt only with AVX512F. + +2017-08-04 H.J. Lu + + [BZ #21790] + * sysdeps/i386/i586/memset.S + (__memset_zero_constant_len_parameter): Removed. + * sysdeps/i386/i686/memset.S + (__memset_zero_constant_len_parameter): Likewise. + * sysdeps/i386/i686/multiarch/memset_chk.S + (__memset_zero_constant_len_parameter): Likewise. + * sysdeps/x86_64/memset.S (__memset_zero_constant_len_parameter): + Likewise. + +2017-08-03 Aurelien Jarno + + * stdlib/getentropy.c (getentropy): Change return type to int. + +2017-08-03 Aurelien Jarno + + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Regenerated. + +2017-08-03 Joseph Myers + + * math/s_nextafter.c (__nextafter): Use uintN_t instead of + u_intN_t. + * math/s_nexttowardf.c (__nexttowardf): Likewise. + * sysdeps/generic/math_private.h (ieee_double_shape_type): + Likewise. + (ieee_float_shape_type): Likewise. + * sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Likewise. + * sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise. + * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Likewise. + * sysdeps/i386/fpu/s_nexttoward.c (__nexttoward): Likewise. + * sysdeps/i386/fpu/s_nexttowardf.c (__nexttowardf): Likewise. + * sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Likewise. + * sysdeps/ieee754/dbl-64/e_cosh.c (__ieee754_cosh): Likewise. + * sysdeps/ieee754/dbl-64/e_fmod.c (__ieee754_fmod): Likewise. + * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): + Likewise. + * sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise. + * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise. + (__ieee754_yn): Likewise. + * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise. + * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise. + * sysdeps/ieee754/dbl-64/e_rem_pio2.c (__ieee754_rem_pio2): + Likewise. + * sysdeps/ieee754/dbl-64/e_sinh.c (__ieee754_sinh): Likewise. + * sysdeps/ieee754/dbl-64/s_ceil.c (__ceil): Likewise. + * sysdeps/ieee754/dbl-64/s_copysign.c (__copysign): Likewise. + * sysdeps/ieee754/dbl-64/s_erf.c (__erf): Likewise. + (__erfc): Likewise. + * sysdeps/ieee754/dbl-64/s_expm1.c (__expm1): Likewise. + * sysdeps/ieee754/dbl-64/s_finite.c (FINITE): Likewise. + * sysdeps/ieee754/dbl-64/s_floor.c (__floor): Likewise. + * sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Likewise. + * sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Likewise. + * sysdeps/ieee754/dbl-64/s_issignaling.c (__issignaling): + Likewise. + * sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise. + * sysdeps/ieee754/dbl-64/s_llround.c (__llround): Likewise. + * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise. + * sysdeps/ieee754/dbl-64/s_lround.c (__lround): Likewise. + * sysdeps/ieee754/dbl-64/s_modf.c (__modf): Likewise. + * sysdeps/ieee754/dbl-64/s_nextup.c (__nextup): Likewise. + * sysdeps/ieee754/dbl-64/s_remquo.c (__remquo): Likewise. + * sysdeps/ieee754/dbl-64/s_round.c (__round): Likewise. + * sysdeps/ieee754/dbl-64/s_trunc.c (__trunc): Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_issignaling.c + (__issignaling): Likewise. + * sysdeps/ieee754/flt-32/e_atan2f.c (__ieee754_atan2f): Likewise. + * sysdeps/ieee754/flt-32/e_fmodf.c (__ieee754_fmodf): Likewise. + * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): + Likewise. + * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise. + * sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise. + * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise. + * sysdeps/ieee754/flt-32/e_rem_pio2f.c (__ieee754_rem_pio2f): + Likewise. + * sysdeps/ieee754/flt-32/e_remainderf.c (__ieee754_remainderf): + Likewise. + * sysdeps/ieee754/flt-32/e_sqrtf.c (__ieee754_sqrtf): Likewise. + * sysdeps/ieee754/flt-32/s_ceilf.c (__ceilf): Likewise. + * sysdeps/ieee754/flt-32/s_copysignf.c (__copysignf): Likewise. + * sysdeps/ieee754/flt-32/s_erff.c (__erff): Likewise. + (__erfcf): Likewise. + * sysdeps/ieee754/flt-32/s_expm1f.c (__expm1f): Likewise. + * sysdeps/ieee754/flt-32/s_finitef.c (FINITEF): Likewise. + * sysdeps/ieee754/flt-32/s_floorf.c (__floorf): Likewise. + * sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf): + Likewise. + * sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise. + * sysdeps/ieee754/flt-32/s_issignalingf.c (__issignalingf): + Likewise. + * sysdeps/ieee754/flt-32/s_llrintf.c (__llrintf): Likewise. + * sysdeps/ieee754/flt-32/s_llroundf.c (__llroundf): Likewise. + * sysdeps/ieee754/flt-32/s_lrintf.c (__lrintf): Likewise. + * sysdeps/ieee754/flt-32/s_lroundf.c (__lroundf): Likewise. + * sysdeps/ieee754/flt-32/s_modff.c (__modff): Likewise. + * sysdeps/ieee754/flt-32/s_remquof.c (__remquof): Likewise. + * sysdeps/ieee754/flt-32/s_roundf.c (__roundf): Likewise. + * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): + Likewise. + * sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): + Likewise. + * sysdeps/ieee754/ldbl-128/e_atanhl.c (__ieee754_atanhl): + Likewise. + * sysdeps/ieee754/ldbl-128/e_fmodl.c (__ieee754_fmodl): Likewise. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl): + Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. + (__ieee754_ynl): Likewise. + * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise. + * sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (__ieee754_rem_pio2l): + Likewise. + * sysdeps/ieee754/ldbl-128/e_remainderl.c (__ieee754_remainderl): + Likewise. + * sysdeps/ieee754/ldbl-128/e_sinhl.c (__ieee754_sinhl): Likewise. + * sysdeps/ieee754/ldbl-128/k_cosl.c (__kernel_cosl): Likewise. + * sysdeps/ieee754/ldbl-128/k_sincosl.c (__kernel_sincosl): + Likewise. + * sysdeps/ieee754/ldbl-128/k_sinl.c (__kernel_sinl): Likewise. + * sysdeps/ieee754/ldbl-128/s_ceill.c (__ceill): Likewise. + * sysdeps/ieee754/ldbl-128/s_copysignl.c (__copysignl): Likewise. + * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Likewise. + * sysdeps/ieee754/ldbl-128/s_fabsl.c (__fabsl): Likewise. + * sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Likewise. + * sysdeps/ieee754/ldbl-128/s_floorl.c (__floorl): Likewise. + * sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl): + Likewise. + * sysdeps/ieee754/ldbl-128/s_frexpl.c (__frexpl): Likewise. + * sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise. + * sysdeps/ieee754/ldbl-128/s_issignalingl.c (__issignalingl): + Likewise. + * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Likewise. + * sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise. + * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise. + * sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Likewise. + * sysdeps/ieee754/ldbl-128/s_modfl.c (__modfl): Likewise. + * sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl): + Likewise. + * sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl): + Likewise. + * sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward): + Likewise. + * sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf): + Likewise. + * sysdeps/ieee754/ldbl-128/s_nextupl.c (__nextupl): Likewise. + * sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Likewise. + * sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise. + * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Likewise. + * sysdeps/ieee754/ldbl-128/s_tanhl.c (__tanhl): Likewise. + * sysdeps/ieee754/ldbl-128/s_truncl.c (__truncl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (__ieee754_rem_pio2l): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_remainderl.c + (__ieee754_remainderl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/k_cosl.c (__kernel_cosl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/k_sinl.c (__kernel_sinl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c (___fpclassifyl): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_modfl.c (__modfl): Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c (__nexttowardf): + Likewise. + * sysdeps/ieee754/ldbl-128ibm/s_remquol.c (__remquol): Likewise. + * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Likewise. + * sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise. + * sysdeps/ieee754/ldbl-96/e_atanhl.c (__ieee754_atanhl): Likewise. + * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Likewise. + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): + Likewise. + * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise. + * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise. + (__ieee754_y0l): Likewise. + (pzero): Likewise. + (qzero): Likewise. + * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise. + (__ieee754_y1l): Likewise. + (pone): Likewise. + (qone): Likewise. + * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. + (__ieee754_ynl): Likewise. + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise. + (__ieee754_lgammal_r): Likewise. + * sysdeps/ieee754/ldbl-96/e_rem_pio2l.c (__ieee754_rem_pio2l): + Likewise. + * sysdeps/ieee754/ldbl-96/e_sinhl.c (__ieee754_sinhl): Likewise. + * sysdeps/ieee754/ldbl-96/s_copysignl.c (__copysignl): Likewise. + * sysdeps/ieee754/ldbl-96/s_erfl.c (__erfl): Likewise. + (__erfcl): Likewise. + * sysdeps/ieee754/ldbl-96/s_frexpl.c (__frexpl): Likewise. + * sysdeps/ieee754/ldbl-96/s_issignalingl.c (__issignalingl): + Likewise. + * sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Likewise. + * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Likewise. + * sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise. + * sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Likewise. + * sysdeps/ieee754/ldbl-96/s_modfl.c (__modfl): Likewise. + * sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise. + * sysdeps/ieee754/ldbl-96/s_nexttowardf.c (__nexttowardf): + Likewise. + * sysdeps/ieee754/ldbl-96/s_nextupl.c (__nextupl): Likewise. + * sysdeps/ieee754/ldbl-96/s_remquol.c (__remquol): Likewise. + * sysdeps/ieee754/ldbl-96/s_roundl.c (__roundl): Likewise. + * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Likewise. + * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c (__nldbl_nexttowardf): + Likewise. + * sysdeps/m68k/m680x0/fpu/e_pow.c (s(__ieee754_pow)): Likewise. + * sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c (__fpclassifyl): + Likewise. + * sysdeps/m68k/m680x0/fpu/s_llrint.c (__llrint): Likewise. + * sysdeps/m68k/m680x0/fpu/s_llrintf.c (__llrintf): Likewise. + * sysdeps/m68k/m680x0/fpu/s_llrintl.c (__llrintl): Likewise. + * sysdeps/m68k/m680x0/fpu/s_nextafterl.c (__nextafterl): Likewise. + * sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise. + +2017-08-03 Florian Weimer + + [BZ #21885] + * sysdeps/posix/getaddrinfo.c (gethosts): Release resolver context + on memory allocation failure. + +2017-08-03 Alan Modra + + * sysdeps/powerpc/mod-tlsopt-powerpc.c: Extract from + tst-tlsopt-powerpc.c with function name change and no test harness. + * sysdeps/powerpc/tst-tlsopt-powerpc.c: Remove body of test. + Call tls_get_addr_opt_test. + * sysdeps/powerpc/Makefile (LDFLAGS-tst-tlsopt-powerpc): Don't define. + (modules-names): Add mod-tlsopt-powerpc. + (mod-tlsopt-powerpc.so-no-z-defs): Define. + (tst-tlsopt-powerpc): Depend on .so. + * sysdeps/powerpc/powerpc64/tls-macros.h (__TLS_GET_ADDR): Don't + define. Expand use in TLS_GD and TLS_LD. + +2017-08-02 Samuel Thibault + + * sysdeps/mach/hurd/enbl-secure.c (__libc_init_secure): Define + function. + * sysdeps/posix/shm_open.c: Include . + +2017-08-02 Joseph Myers + + [BZ #21686] + * math/tgmath.h (__TGMATH_BINARY_REAL_ONLY): Add arguments before + comparing size with that of double. + (__TGMATH_BINARY_REAL_STD_ONLY): Likewise. + (__TGMATH_BINARY_REAL_RET_ONLY): Likewise. + (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise. + (__TGMATH_TERNARY_REAL_ONLY): Likewise. + (__TGMATH_BINARY_REAL_IMAG): Likewise. + * math/gen-tgmath-tests.py (Type.init_types): Create __int128 and + unsigned __int128 types. + +2017-08-02 Steve Ellcey + + * localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c + CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c, + CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c, + CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c, + CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): Remove. + +2017-08-02 H.J. Lu + + * sysdeps/x86_64/start.S (_start): Check PIC instead of SHARED. + +2017-08-02 H.J. Lu + + * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Check PIC instead + of SHARED. + * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Likewise. + * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise. + * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise. + * sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise. + * sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise. + * sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise. + * sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise. + +2017-08-02 Joseph Myers + + [BZ #21685] + * math/tgmath.h (__tgmath_real_type): Use unary + on potentially + bit-field expressions passed to sizeof or typeof. + [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (__TGMATH_F128): Likewise. + [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] + (__TGMATH_CF128): Likewise. + (__TGMATH_UNARY_REAL_ONLY): Likewise. + (__TGMATH_UNARY_REAL_RET_ONLY): Likewise. + (__TGMATH_BINARY_FIRST_REAL_ONLY): Likewise. + (__TGMATH_BINARY_FIRST_REAL_STD_ONLY): Likewise. + (__TGMATH_BINARY_REAL_ONLY): Likewise. + (__TGMATH_BINARY_REAL_STD_ONLY): Likewise. + (__TGMATH_BINARY_REAL_RET_ONLY): Likewise. + (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise. + (__TGMATH_TERNARY_REAL_ONLY): Likewise. + (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise. + (__TGMATH_UNARY_REAL_IMAG): Likewise. + (__TGMATH_UNARY_IMAG): Likewise. + (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise. + (__TGMATH_BINARY_REAL_IMAG): Likewise. + * math/gen-tgmath-tests.py (Type.init_types): Create bit_field + type. + (define_vars_for_type): Handle bit_field type specially. + (Tests.__init__): Declare structure with bit-field element. + +2017-08-02 H.J. Lu + + [BZ #21791] + * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S + (MEMCPY_CHK): Define only if SHARED is defined. + * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S (MEMCPY_CHK): + Likewise. + * sysdeps/i386/i686/multiarch/memcpy-ssse3.S (MEMCPY_CHK): + Likewise. + +See ChangeLog.18 for earlier changes. diff --git a/ChangeLog.old/ChangeLog.20 b/ChangeLog.old/ChangeLog.20 new file mode 100644 index 0000000000..f38dad74d5 --- /dev/null +++ b/ChangeLog.old/ChangeLog.20 @@ -0,0 +1,6542 @@ +2020-02-01 Siddhesh Poyarekar + + COMMIT: 7ef9556328fd5c2fe1c2d9203a209895b5156a33 + Update version numbers for 2.31 release + + * include/features.h: Modified. + (__GLIBC_MINOR__): Modified. + * version.h: Modified. + (RELEASE): Modified. + (VERSION): Modified. + +2020-02-01 Siddhesh Poyarekar + + COMMIT: e7daa7fcf70543b063ce0311fbdfb259d187d314 + Add bugs fixed in 2.31 in NEWS + + * NEWS: Modified. + +2020-02-01 Siddhesh Poyarekar + + COMMIT: df5919dfeb5424c90a1f623315abd67e87bad6a3 + Update newest tested versions of dependencies in install.texi + + * INSTALL: Modified. + * manual/install.texi: Modified. + +2020-02-01 Siddhesh Poyarekar + + COMMIT: 711416872d59eb592921962db2a832243ba765b2 + Add more contributors to the manual + + * manual/contrib.texi: Modified. + +2020-02-01 Siddhesh Poyarekar + + COMMIT: f1bb5499d12e0175ca69cb72e7e7471fd02457b8 + Add note to NEWS about kernel headers dependency on risc-v + + * NEWS: Modified. + +2020-02-01 Siddhesh Poyarekar + + COMMIT: 4844a8437f3e2133106a4a8639d2d1b186fa8c76 + Add Portuguese (Portugal) translation + + * po/pt.po: New file. + +2020-01-31 Szabolcs Nagy + Siddhesh Poyarekar + + COMMIT: 2cd01a1df2afc16ada1ce8479fbf888a803270ea + Add NEWS entry about 64-bit time_t syscall use on 32-bit targets + + * NEWS: Modified. + +2020-01-30 Florian Weimer + + COMMIT: 9baa46aa7b1aa56c8fb313013bb9aecf4ed96504 + nptl: Avoid using PTHREAD_MUTEX_DEFAULT in macro definition [BZ #25271] + + * sysdeps/nptl/pthread.h: Modified. + (PTHREAD_MUTEX_INITIALIZER): Modified. + +2020-01-24 Joseph Myers + + COMMIT: 352bb99754ae7c83ff1b974f9c52244e974c9410 + Build raise with -fasynchronous-unwind-tables. + + * signal/Makefile: Modified. + +2020-01-24 Joseph Myers + + COMMIT: ef02e3c476ce76a1205744cdd396ac1eda1013d6 + Fix locale/tst-locale-locpath cross-testing when sshd sets LANG. + + * locale/tst-locale-locpath.sh: Modified. + +2020-01-24 Joseph Myers + + COMMIT: d01fd5f0ce11575b31bb11824ff86d8ba2117486 + Fix elf/tst-rtld-preload cross-testing. + + * elf/Makefile: Modified. + * elf/tst-rtld-preload.sh: Modified. + +2020-01-23 Joseph Myers + + COMMIT: 00167b531da63674d6b9ed686912de86422a5ae5 + Fix cross-testing of tst-ifunc-fault-* tests. + + * elf/Makefile: Modified. + +2020-01-23 Siddhesh Poyarekar + + COMMIT: de077de10f0ac140fdced24781370967f9e5610f + gitlog-to-changelog: Drop scripts in favour of gnulib version + + * scripts/gitlog_to_changelog.py: Delete file. + * scripts/vcs_to_changelog/frontend_c.py: Delete file. + * scripts/vcs_to_changelog/misc_util.py: Delete file. + * scripts/vcs_to_changelog/vcs_git.py: Delete file. + * scripts/vcs_to_changelog/vcstocl_quirks.py: Move to... + * scripts/vcstocl_quirks.py: ... here. + +2020-01-23 Dragan Mladjenovic + Dragan Mladjenovic + Siddhesh Poyarekar + + COMMIT: ba44e5b50873ceea25884af280612e100e151746 + Add NEWS entry about the change in handling of PT_GNU_STACK on MIPS + + * NEWS: Modified. + +2020-01-21 Andreas Schwab + + COMMIT: d93769405996dfc11d216ddbe415946617b5a494 + Fix array overflow in backtrace on PowerPC (bug 25423) + + * debug/tst-backtrace5.c: Modified. + (handle_signal): Modified function. + * sysdeps/powerpc/powerpc32/backtrace.c: Modified. + (__backtrace): Modified function. + * sysdeps/powerpc/powerpc64/backtrace.c: Modified. + (__backtrace): Modified function. + +2020-01-20 Florian Weimer + + COMMIT: 8b222fa38700422b4da6731806835f0bbf40920d + getaddrinfo: Fix resource leak after strdup failure in gethosts [BZ #25425] + + * sysdeps/posix/getaddrinfo.c: Modified. + (gethosts): Modified. + +2020-01-20 Joseph Myers + + COMMIT: 92ce43eef7ac844782d50a8015d977d216fbadec + Run bench-timing-type with newly built libc. + + * benchtests/Makefile: Modified. + +2020-01-20 Stefan Liebler + + COMMIT: aba12794dc0d1835b9652f34df722970b1bd3397 + Get rid of Werror=maybe-uninitialized in res_send.c. + + * resolv/res_send.c: Modified. + (__res_context_send): Modified function. + +2020-01-19 Siddhesh Poyarekar + + COMMIT: 3cb57302ed6acc34409c71cfd99e4f22359d6533 + translations: Update translations + + * po/be.po: Modified. + * po/bg.po: Modified. + * po/ca.po: Modified. + * po/cs.po: Modified. + * po/da.po: Modified. + * po/el.po: Modified. + * po/eo.po: Modified. + * po/es.po: Modified. + * po/fi.po: Modified. + * po/fr.po: Modified. + * po/gl.po: Modified. + * po/hr.po: Modified. + * po/hu.po: Modified. + * po/ia.po: Modified. + * po/id.po: Modified. + * po/it.po: Modified. + * po/ja.po: Modified. + * po/ko.po: Modified. + * po/lt.po: Modified. + * po/nb.po: Modified. + * po/nl.po: Modified. + * po/pl.po: Modified. + * po/pt_BR.po: Modified. + * po/ru.po: Modified. + * po/rw.po: Modified. + * po/sk.po: Modified. + * po/sl.po: Modified. + * po/tr.po: Modified. + * po/uk.po: Modified. + * po/vi.po: Modified. + * po/zh_CN.po: Modified. + * po/zh_TW.po: Modified. + +2020-01-19 Siddhesh Poyarekar + + COMMIT: afbfe2d963a93dca25eba723003a1c8bf4297a36 + translations: Trim po files using msgattrib + + * po/Makefile: Modified. + +2020-01-19 Siddhesh Poyarekar + + COMMIT: 35869b85312137865735785187a2b4214d069e8d + Update translations + + * po/be.po: Modified. + * po/bg.po: Modified. + * po/ca.po: Modified. + * po/cs.po: Modified. + * po/da.po: Modified. + * po/de.po: Modified. + * po/el.po: Modified. + * po/eo.po: Modified. + * po/es.po: Modified. + * po/fi.po: Modified. + * po/fr.po: Modified. + * po/gl.po: Modified. + * po/hr.po: Modified. + * po/hu.po: Modified. + * po/ia.po: Modified. + * po/id.po: Modified. + * po/it.po: Modified. + * po/ja.po: Modified. + * po/ko.po: Modified. + * po/lt.po: Modified. + * po/nb.po: Modified. + * po/nl.po: Modified. + * po/pl.po: Modified. + * po/pt_BR.po: Modified. + * po/ru.po: Modified. + * po/rw.po: Modified. + * po/sk.po: Modified. + * po/sl.po: Modified. + * po/sv.po: Modified. + * po/tr.po: Modified. + * po/uk.po: Modified. + * po/vi.po: Modified. + * po/zh_CN.po: Modified. + * po/zh_TW.po: Modified. + +2020-01-19 Siddhesh Poyarekar + + COMMIT: 63675a927eb65d4990179c12e7e1a4805a98e7c8 + translations: Run msgmerge when downloading translations + + * po/Makefile: Modified. + +2020-01-17 Matheus Castanho + + COMMIT: 9f8b135f76ac7943d1e108b7f6e816f526b2208c + Fix maybe-uninitialized error on powerpc + + * sysdeps/ieee754/dbl-64/mpa.c: Modified. + (__inv): Modified function. + +2020-01-18 Andreas Schwab + + COMMIT: be5c5315b95aaddcef38f1d3f4c526401076bd38 + powerpc32: Fix syntax error in __GLRO macro + + * sysdeps/powerpc/powerpc32/sysdep.h: Modified. + [__ASSEMBLER__][! PIC](__GLRO): Modified. + +2020-01-17 Florian Weimer + + COMMIT: 768c83b7f60d82db6677e19dc51be9f341e0f3fc + Remove incorrect alloc_size attribute from pvalloc [BZ #25401] + + * malloc/Makefile: Modified. + * malloc/malloc.h: Modified. + (__wur): Modified. + * malloc/tst-pvalloc-fortify.c: New file. + +2020-01-17 Lucas A. M. Magalhaes + + COMMIT: 70ba28f7ab2923d4e36ffc9d5d2e32357353b25c + Fix tst-pkey.c pkey_alloc return checks and manual + + * manual/memory.texi: Modified. + * sysdeps/unix/sysv/linux/tst-pkey.c: Modified. + (do_test): Modified function. + +2020-01-17 Tulio Magno Quites Machado Filho + + COMMIT: 18363b4f010da9ba459b13310b113ac0647c2fcc + powerpc: Move cache line size to rtld_global_ro + + * elf/dl-support.c: Modified. + [HAVE_AUX_VECTOR](_dl_aux_init): Modified function. + (dl-auxv.h): Include file. + * elf/dl-sysdep.c: Modified. + (_dl_sysdep_start): Modified function. + (dl-auxv.h): Include file. + * sysdeps/generic/dl-auxv.h: New file. + * sysdeps/powerpc/Makefile: Modified. + * sysdeps/powerpc/dl-procinfo.c: Modified. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL](PROCINFO_DECL): Remove. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL](PROCINFO_CLASS): Remove. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][! PROCINFO_DECL](_dl_cache_line_size): New. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL](PROCINFO_DECL): New. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL](PROCINFO_CLASS): New. + * sysdeps/powerpc/mod-cache-ppc.c: New file. + * sysdeps/powerpc/powerpc32/a2/memcpy.S: Modified. + * sysdeps/powerpc/powerpc32/dl-machine.c: Modified. + (__cache_line_size): Remove. + (__elf_machine_runtime_setup): Modified function. + * sysdeps/powerpc/powerpc32/memset.S: Modified. + * sysdeps/powerpc/powerpc32/sysdep.h: Modified. + [__ASSEMBLER__][! PIC](__GLRO): New. + [__ASSEMBLER__][PIC][! SHARED](__GLRO): New. + [__ASSEMBLER__][PIC][SHARED][!(IS_IN (rtld))](__GLRO): New. + [__ASSEMBLER__][PIC][SHARED][IS_IN (rtld)](__GLRO): New. + * sysdeps/powerpc/powerpc64/a2/memcpy.S: Modified. + * sysdeps/powerpc/powerpc64/memset.S: Modified. + * sysdeps/powerpc/powerpc64/sysdep.h: Modified. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](OPD_ENT): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](ENTRY_1): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](DOT_PREFIX): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](BODY_PREFIX): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](ENTRY_2): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](END_2): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](LOCALENTRY): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](OPD_ENT): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](PPC64_LOAD_FUNCPTR): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](DOT_PREFIX): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](BODY_PREFIX): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](ENTRY_2): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](END_2): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](LOCALENTRY): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2](PPC64_LOAD_FUNCPTR): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))](__GLRO_DEF): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))](__GLRO): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)](__GLRO_DEF): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)](__GLRO_DEF): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)](__GLRO): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](OPD_ENT): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](ENTRY_1): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](DOT_PREFIX): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](BODY_PREFIX): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](ENTRY_2): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](END_2): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](LOCALENTRY): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](OPD_ENT): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](PPC64_LOAD_FUNCPTR): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](DOT_PREFIX): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](BODY_PREFIX): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](ENTRY_2): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](END_2): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](LOCALENTRY): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED][_CALL_ELF != 2](PPC64_LOAD_FUNCPTR): Remove. + * sysdeps/powerpc/rtld-global-offsets.sym: Modified. + * sysdeps/powerpc/tst-cache-ppc-static-dlopen.c: New file. + * sysdeps/powerpc/tst-cache-ppc-static.c: New file. + * sysdeps/powerpc/tst-cache-ppc.c: New file. + * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Move to... + * sysdeps/unix/sysv/linux/powerpc/dl-auxv.h: ... here. + (config.h): Remove include. + (__cache_line_size): Remove. + (DL_PLATFORM_AUXV): Modified. + (sysdeps/unix/sysv/linux/dl-sysdep.c): Remove include. + [IS_IN (libc) && ! SHARED](GLRO): New. + * sysdeps/unix/sysv/linux/powerpc/dl-static.c: Modified. + [SHARED](_dl_var_init): Modified function. + * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Modified. + (__cache_line_size): Remove. + (__libc_start_main): Modified function. + +2020-01-17 Tulio Magno Quites Machado Filho + + COMMIT: c908ae0492cb9c68736306e2bceec7244a940568 + powerpc: Initialize rtld_global_ro for static dlopen [BZ #20802] + + * sysdeps/unix/sysv/linux/powerpc/dl-static.c: Modified. + [SHARED](_dl_var_init): Modified function. + +2020-01-17 Siddhesh Poyarekar + + COMMIT: def9c08c94da60bfb746644d56cffbe7a9de3477 + Revert outdated translations + + * po/da.po: Modified. + * po/el.po: Modified. + * po/eo.po: Modified. + * po/es.po: Modified. + * po/gl.po: Modified. + * po/hu.po: Modified. + * po/ia.po: Modified. + * po/id.po: Modified. + * po/it.po: Modified. + * po/ja.po: Modified. + * po/lt.po: Modified. + * po/nb.po: Modified. + * po/rw.po: Modified. + * po/sk.po: Modified. + * po/sl.po: Modified. + * po/zh_CN.po: Modified. + +2020-01-17 Siddhesh Poyarekar + + COMMIT: a9ed2b274796777442b1f66a661f957daf39bb66 + vcs-to-changelog: Add quirk for __nonnull + + * scripts/vcs_to_changelog/vcstocl_quirks.py: Modified. + +2020-01-16 Florian Weimer + + COMMIT: a332bd1518af518c984fad73eba6f46dc5b2b2d4 + elf: Add elf/tst-dlopenfail-2 [BZ #25396] + + * elf/Makefile: Modified. + * elf/tst-dlopenfail-2.c: New file. + * elf/tst-dlopenfailmod3.c: New file. + +2020-01-16 H.J. Lu + + COMMIT: 5177d85b0c050a2333a0c4165c938dd422013d05 + Clear GL(dl_initfirst) when freeing its link_map memory [BZ# 25396] + + * elf/dl-close.c: Modified. + (_dl_close_worker): Modified function. + +2020-01-16 Siddhesh Poyarekar + + COMMIT: 791a08cf378db8cc99baa8c63746c9d2885e7f9a + Update Translations + + * po/ca.po: Modified. + * po/da.po: Modified. + * po/de.po: Modified. + * po/el.po: Modified. + * po/eo.po: Modified. + * po/es.po: Modified. + * po/fi.po: Modified. + * po/fr.po: Modified. + * po/gl.po: Modified. + * po/hr.po: Modified. + * po/hu.po: Modified. + * po/ia.po: Modified. + * po/id.po: Modified. + * po/it.po: Modified. + * po/ja.po: Modified. + * po/ko.po: Modified. + * po/lt.po: Modified. + * po/nb.po: Modified. + * po/ru.po: Modified. + * po/rw.po: Modified. + * po/sk.po: Modified. + * po/sl.po: Modified. + * po/sv.po: Modified. + * po/tr.po: Modified. + * po/vi.po: Modified. + * po/zh_CN.po: Modified. + * po/zh_TW.po: Modified. + +2020-01-13 Samuel Thibault + + COMMIT: a8f0fc4e5fbad300d524a3339d503c41e3182ed0 + htl: Add internal version of __pthread_mutex_timedlock + + * htl/Versions: Modified. + * sysdeps/htl/pt-mutex-timedlock.c: Modified. + (pthread_mutex_timedlock): Remove function. + (__pthread_mutex_timedlock): New function. + (strong_alias): New. + * sysdeps/htl/pthreadP.h: Modified. + (__pthread_mutex_timedlock): New function. + * sysdeps/mach/hurd/htl/pt-mutex-timedlock.c: Modified. + (pthread_mutex_timedlock): Remove function. + (__pthread_mutex_timedlock): New function. + (strong_alias): New. + +2020-01-13 Samuel Thibault + + COMMIT: 1d62a403734b18367eb0aa47493d0de644edd00b + htl: Avoid crashing when passed invalid pthread_t values + + * htl/pt-internal.h: Modified. + (__pthread_getid): Modified. + (__pthread_max_threads): New. + +2020-01-13 Joseph Myers + + COMMIT: bc487d714191e91789ad420de274e789f710cac3 + Update build-many-glibcs.py for GCC move to git. + + * scripts/build-many-glibcs.py: Modified. + +2020-01-13 Stefan Liebler + + COMMIT: 3c8639b02efcbc5e8087b0f9bc63da8aeb203549 + Fix "elf: Add tst-ldconfig-ld_so_conf-update test" on 32bit. + + * elf/tst-ldconfig-ld_so_conf-update.c: Modified. + (do_test): Modified function. + +2020-01-13 Samuel Thibault + + COMMIT: ae793cc20d80eec6ccffc31612b635b8c1b82e89 + htl: Avoid exposing unixoid functions + + * htl/pt-create.c: Modified. + (__pthread_create_internal): Modified function. + * htl/pt-yield.c: Modified. + (pthread_yield): Modified function. + * sysdeps/htl/pt-destroy-specific.c: Modified. + (__pthread_destroy_specific): Modified function. + * sysdeps/mach/htl/pt-timedblock.c: Modified. + (__pthread_timedblock): Modified function. + * sysdeps/mach/hurd/Versions: Modified. + +2020-01-13 Samuel Thibault + + COMMIT: 196e62cbe4acdab22a95740b618c699863ed460c + htl: Add type sizes in bits/pthreadtypes-arch.h and check them + + * sysdeps/htl/pt-attr-init.c: Modified. + (__pthread_attr_init): Modified function. + * sysdeps/htl/pt-barrier-init.c: Modified. + (pthread_barrier_init): Modified function. + * sysdeps/htl/pt-barrierattr-init.c: Modified. + (pthread_barrierattr_init): Modified function. + * sysdeps/htl/pt-cond-init.c: Modified. + (__pthread_cond_init): Modified function. + * sysdeps/htl/pt-condattr-init.c: Modified. + (__pthread_condattr_init): Modified function. + * sysdeps/htl/pt-mutex-init.c: Modified. + (_pthread_mutex_init): Modified function. + * sysdeps/htl/pt-mutexattr-init.c: Modified. + (__pthread_mutexattr_init): Modified function. + * sysdeps/htl/pt-once.c: Modified. + (__pthread_once): Modified function. + * sysdeps/htl/pt-rwlock-init.c: Modified. + (_pthread_rwlock_init): Modified function. + * sysdeps/htl/pt-rwlockattr-init.c: Modified. + (pthread_rwlockattr_init): Modified function. + * sysdeps/htl/pthreadP.h: Modified. + (ASSERT_TYPE_SIZE): New. + * sysdeps/i386/htl/bits/pthreadtypes-arch.h: Modified. + (__SIZEOF_PTHREAD_MUTEX_T): New. + (__SIZEOF_PTHREAD_ATTR_T): New. + (__SIZEOF_PTHREAD_RWLOCK_T): New. + (__SIZEOF_PTHREAD_BARRIER_T): New. + (__SIZEOF_PTHREAD_MUTEXATTR_T): New. + (__SIZEOF_PTHREAD_COND_T): New. + (__SIZEOF_PTHREAD_CONDATTR_T): New. + (__SIZEOF_PTHREAD_RWLOCKATTR_T): New. + (__SIZEOF_PTHREAD_BARRIERATTR_T): New. + (__SIZEOF_PTHREAD_ONCE_T): New. + (__LOCK_ALIGNMENT): New. + (__ONCE_ALIGNMENT): New. + * sysdeps/mach/hurd/htl/pt-mutex-init.c: Modified. + (_pthread_mutex_init): Modified function. + * sysdeps/mach/hurd/htl/pt-mutexattr-init.c: Modified. + (__pthread_mutexattr_init): Modified function. + +2020-01-13 Samuel Thibault + + COMMIT: e404be33feaa586231fe30e3bdf6d380a79c2679 + htl: Add internal versions of functions used by C11 threads + + * htl/pt-join.c: Modified. + (pthread_join): Remove function. + (__pthread_join): New function. + (strong_alias): New function. + * sysdeps/htl/libc-lockP.h: Modified. + (__pthread_key_delete): New function. + * sysdeps/htl/pt-key-delete.c: Modified. + (pthread_key_delete): Remove function. + (__pthread_key_delete): New function. + (strong_alias): New. + * sysdeps/htl/pthreadP.h: Modified. + (__pthread_join): New function. + +2020-01-09 Paul Eggert + + COMMIT: e1195b207c057ccc61bd5e9334da5c2b361f8b2a + Update timezone/README + + * timezone/README: Modified. + * timezone/version: New file. + +2020-01-09 Alexandra Hájková + + COMMIT: 591236f1a33f11cc65ccf009d997071ba853e186 + elf: Add tst-ldconfig-ld_so_conf-update test + + * elf/Makefile: Modified. + * elf/tst-ldconfig-ld-mod.c: New file. + * elf/tst-ldconfig-ld_so_conf-update.c: New file. + * elf/tst-ldconfig-ld_so_conf-update.root/postclean.req: New file. + * elf/tst-ldconfig-ld_so_conf-update.root/tst-ldconfig-ld_so_conf-update.script: New file. + +2020-01-09 Zack Weinberg + + COMMIT: 521c7fc65f1f9e49dc2994d22d79e71e76a6c0c2 + Revise NEWS description of changes to gettimeofday etc. + + * NEWS: Modified. + +2020-01-09 Siddhesh Poyarekar + + COMMIT: 97ff54d2fcd0857756038d82e02f1a75accbaa66 + Drop dependency of dist target on ChangeLog + + * Makefile: Modified. + * NEWS: Modified. + +2020-01-08 Zack Weinberg + + COMMIT: 4988e26b94a9397d934e43f9116b0d33b3a454b2 + MIPS: Fix circular definition of __LDBL_MANT_DIG__ in ieee754.h + + * sysdeps/mips/ieee754/ieee754.h: Modified. + [! __LDBL_MANT_DIG__](__LDBL_MANT_DIG__): Modified. + +2020-01-08 Rafał Lużyński + + COMMIT: 135540285cb44f820dac41c2b95531db33658f9f + sl_SI locale: Use "." as the thousands separator (bug 25233) + + * localedata/locales/sl_SI: Modified. + +2020-01-07 Siddhesh Poyarekar + + COMMIT: d006e84d5df24c9da1c71fe57790626d44deaeed + Fix formatting of ChangeLog ouput + + * scripts/vcs_to_changelog/vcs_git.py: Modified. + +2020-01-05 Samuel Thibault + + COMMIT: cbce69e70dc4b04fefcc7257e593733b8b03856c + hurd: Fix message reception for timer_thread + + * sysdeps/mach/hurd/setitimer.c: Modified. + (timer_thread): Modified function. + +2020-01-04 Samuel Thibault + + COMMIT: 25c084e0a7b5e8d604d0f86b55f343acadf7af5d + htl: Add __errno_location and __h_errno_location + + * htl/Makefile: Modified. + * htl/Versions: Modified. + * htl/herrno.c: New file. + * sysdeps/htl/Makefile: Modified. + * sysdeps/mach/hurd/i386/libpthread.abilist: Modified. + +2020-01-04 Samuel Thibault + + COMMIT: 50a78baa8e385fac36d54d51800dc5c61ef7f139 + htl: Move pthread_atfork to libc_nonshared.a + + * htl/Makefile: Modified. + * sysdeps/htl/Makeconfig: Modified. + * sysdeps/htl/pt-atfork.c: Modified. + (pthread_atfork): Remove function. + (__pthread_atfork): New function. + (weak_alias): New. + +2020-01-04 Samuel Thibault + + COMMIT: 12e166dd80bd3056f667930719572017d25a79c4 + htl: Drop common tcbhead_t definition + + * htl/pt-internal.h: Modified. + [!(IS_IN (libpthread))](tcbhead_t): Remove. + (tls.h): Include file. + +2020-01-04 Samuel Thibault + + COMMIT: af7be496c9f1a1ca340ccd95152d46e8464490a1 + htl: Use dso_handle.h + + * sysdeps/htl/pt-atfork.c: Modified. + (__visibility__): Remove. + (pthread_atfork): Modified function. + (dso_handle.h): Include file. + +2020-01-03 Adhemerval Zanella + + COMMIT: 92b963699aae2da1e25f47edc7a0408bf3aee4d2 + linux: Optimize fallback 32-bit clock_getres + + * sysdeps/unix/sysv/linux/clock_getres.c: Modified. + (__clock_getres64): Modified function. + +2020-01-03 Adhemerval Zanella + + COMMIT: 0dc1a378b135ec46fcc451d96c4a3a64c08e2ace + linux: Add support for clock_getres64 vDSO + + * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETRES_VSYSCALL): Remove. + [! __ASSEMBLER__](HAVE_CLOCK_GETRES64_VSYSCALL): New. + * sysdeps/unix/sysv/linux/clock_getres.c: Modified. + (__clock_getres64): Modified function. + * sysdeps/unix/sysv/linux/dl-vdso-setup.c: Modified. + [PROCINFO_DECL || ! SHARED][HAVE_CLOCK_GETRES64_VSYSCALL](RELRO): New. + * sysdeps/unix/sysv/linux/dl-vdso-setup.h: Modified. + (setup_vdso_pointers): Modified function. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Modified. + [!((__PPC64__) || (__powerpc64__))](HAVE_CLOCK_GETRES_VSYSCALL): New. + [(__PPC64__) || (__powerpc64__)](HAVE_CLOCK_GETRES64_VSYSCALL): New. + (HAVE_CLOCK_GETRES_VSYSCALL): Remove. + * sysdeps/unix/sysv/linux/riscv/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETRES_VSYSCALL): Remove. + [! __ASSEMBLER__](HAVE_CLOCK_GETRES64_VSYSCALL): New. + * sysdeps/unix/sysv/linux/s390/sysdep.h: Modified. + [! __s390x__](HAVE_CLOCK_GETRES_VSYSCALL): New. + [__s390x__](HAVE_CLOCK_GETRES64_VSYSCALL): New. + (HAVE_CLOCK_GETRES_VSYSCALL): Remove. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETRES_VSYSCALL): Remove. + [! __ASSEMBLER__](HAVE_CLOCK_GETRES64_VSYSCALL): New. + +2020-01-03 Adhemerval Zanella + + COMMIT: cdae973b6a7eb95b1caf1e1ecfc93de720ac6b44 + linux: Enable vDSO clock_gettime64 for mips + + * sysdeps/unix/sysv/linux/mips/sysdep.h: Modified. + [_MIPS_SIM != _ABI64](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + (sgidefs.h): Include file. + +2020-01-03 Adhemerval Zanella + + COMMIT: 93e4db49b424fefd38db6459baa2cc258f4e89b9 + linux: Enable vDSO clock_gettime64 for arm + + * sysdeps/unix/sysv/linux/arm/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + +2020-01-03 Adhemerval Zanella + + COMMIT: 2d77a447510c18ec0255546b7016e47677296e00 + linux: Enable vDSO clock_gettime64 for i386 + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + +2020-01-03 Adhemerval Zanella + + COMMIT: a9091a12444d551977adb6d8b45b2007881f1b8b + linux: Optimize fallback 32-bit clock_gettime + + * sysdeps/unix/sysv/linux/clock_gettime.c: Modified. + (__clock_gettime64): Modified function. + +2020-01-03 Adhemerval Zanella + + COMMIT: ff500a623d1bf9fb24f30fa80451897b534549e1 + linux: Add support for clock_gettime64 vDSO + + * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME_VSYSCALL): Remove. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + * sysdeps/unix/sysv/linux/clock_gettime.c: Modified. + (__clock_gettime64): Modified function. + * sysdeps/unix/sysv/linux/dl-vdso-setup.c: Modified. + [PROCINFO_DECL || ! SHARED][HAVE_CLOCK_GETTIME64_VSYSCALL](RELRO): New. + * sysdeps/unix/sysv/linux/dl-vdso-setup.h: Modified. + (setup_vdso_pointers): Modified function. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Modified. + [!((__PPC64__) || (__powerpc64__))](HAVE_CLOCK_GETTIME_VSYSCALL): New. + [(__PPC64__) || (__powerpc64__)](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + (HAVE_CLOCK_GETTIME_VSYSCALL): Remove. + * sysdeps/unix/sysv/linux/riscv/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME_VSYSCALL): Remove. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + * sysdeps/unix/sysv/linux/s390/sysdep.h: Modified. + (HAVE_CLOCK_GETTIME_VSYSCALL): Remove. + [! __s390x__](HAVE_CLOCK_GETTIME_VSYSCALL): New. + [__s390x__](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + * sysdeps/unix/sysv/linux/sparc/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME_VSYSCALL): Remove. + [! __ASSEMBLER__][! __arch64__](HAVE_CLOCK_GETTIME_VSYSCALL): New. + [! __ASSEMBLER__][__arch64__](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME_VSYSCALL): Remove. + [! __ASSEMBLER__](HAVE_CLOCK_GETTIME64_VSYSCALL): New. + +2020-01-03 Adhemerval Zanella + + COMMIT: 1bdda52fe92fd01b424cd6fbb63e3df96a95015c + elf: Move vDSO setup to rtld (BZ#24967) + + * csu/init-first.c: Modified. + (_init): Modified function. + * elf/dl-support.c: Modified. + [! HAVE_AUX_VECTOR](__rtld_lock_define_initialized_recursive): Modified function. + (__rtld_lock_define_initialized_recursive): Modified function. + (dl-vdso.h): Include file. + (dl-vdso-setup.h): Include file. + (dl-vdso-setup.c): Include file. + * elf/rtld.c: Modified. + (setup-vdso.h): Modified. + (dl_main): Modified function. + (dl-vdso.h): Include file. + (dl-vdso-setup.h): Include file. + * malloc/tst-interpose-aux.c: Modified. + (malloc_internal): Modified function. + (time.h): Include file. + (ts): New. + * sysdeps/generic/dl-vdso-setup.c: New file. + * sysdeps/generic/dl-vdso-setup.h: New file. + * sysdeps/generic/dl-vdso.h: New file. + * sysdeps/generic/ldsodefs.h: Modified. + [SHARED](rtld_global_ro): Modified. + * sysdeps/powerpc/powerpc32/backtrace.c: Modified. + (is_sigtramp_address): Modified function. + (is_sigtramp_address_rt): Modified function. + * sysdeps/powerpc/powerpc64/backtrace.c: Modified. + (is_sigtramp_address): Modified function. + * sysdeps/unix/sysv/linux/aarch64/Makefile: Modified. + * sysdeps/unix/sysv/linux/arm/Makefile: Modified. + * sysdeps/unix/sysv/linux/dl-vdso-setup.c: New file. + * sysdeps/unix/sysv/linux/dl-vdso-setup.h: New file. + * sysdeps/unix/sysv/linux/dl-vdso.c: Delete file. + * sysdeps/unix/sysv/linux/dl-vdso.h: Modified. + (_dl_vdso_vsym): Remove. + (get_vdso_symbol): Remove function. + (get_vdso_mangle_symbol): Remove function. + (dl_vdso_vsym): New function. + * sysdeps/unix/sysv/linux/gettimeofday.c: Modified. + [USE_IFUNC_GETTIMEOFDAY][SHARED](libc-vdso.h): Include file. + * sysdeps/unix/sysv/linux/init-first.c: Delete file. + * sysdeps/unix/sysv/linux/libc-vdso.h: Modified. + [! VDSO_IFUNC_RET](VDSO_IFUNC_RET): Remove. + [HAVE_CLOCK_GETRES_VSYSCALL](int): Remove. + [HAVE_CLOCK_GETTIME64_VSYSCALL](int): Remove. + [HAVE_CLOCK_GETTIME_VSYSCALL](int): Remove. + [HAVE_GETCPU_VSYSCALL](int): Remove. + [HAVE_GETTIMEOFDAY_VSYSCALL](int): Remove. + [HAVE_TIME_VSYSCALL](time_t): Remove. + (VDSO_SYMBOL): Remove. + (VDSO_IFUNC_RET): New. + * sysdeps/unix/sysv/linux/mips/Makefile: Modified. + * sysdeps/unix/sysv/linux/powerpc/Makefile: Modified. + * sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c: Modified. + (libc-vdso.h): Remove include. + (__get_timebase_freq): Modified function. + (sysdep-vdso.h): Include file. + * sysdeps/unix/sysv/linux/powerpc/init-first.c: Delete file. + * sysdeps/unix/sysv/linux/powerpc/libc-vdso.h: Modified. + [!((__PPC64__) || (__powerpc64__))](VDSO_SYMBOL): Remove. + [!((__PPC64__) || (__powerpc64__))](VDSO_SYMBOL): Remove. + [(__PPC64__) || (__powerpc64__)](VDSO_SYMBOL): Remove. + (_next + + COMMIT: 57013650f7e796428ac2c0b7512757e99327bfc9 + elf: Enable relro for static build + + * elf/dl-support.c: Modified. + [! HAVE_AUX_VECTOR](__rtld_lock_define_initialized_recursive): Modified function. + (__rtld_lock_define_initialized_recursive): Modified function. + +2020-01-03 Adhemerval Zanella + + COMMIT: e760874ee3315ca3a8a2978b5f8e4dba1e336197 + linux: Consolidate time implementation + + * sysdeps/unix/sysv/linux/powerpc/time.c: Modified. + [! SHARED](time): Remove. + [SHARED](dl-vdso.h): Remove. + [SHARED](libc-vdso.h): Remove. + [SHARED](INIT_ARCH): Remove. + [SHARED](libc_ifunc): Remove. + (time.h): Remove include. + (sysdep.h): Remove include. + (sysdep-vdso.h): Remove include. + (time_vsyscall): Remove function. + (USE_IFUNC_TIME): New. + (sysdeps/unix/sysv/linux/time.c): Include file. + * sysdeps/unix/sysv/linux/time.c: New file. + * sysdeps/unix/sysv/linux/x86/time.c: Modified. + [! SHARED](time): Remove. + [SHARED](dl-vdso.h): Remove. + [SHARED](libc-vdso.h): Remove. + [SHARED](INIT_ARCH): Remove. + [SHARED](libc_ifunc): Remove. + (time.h): Remove include. + (sysdep.h): Remove include. + (sysdep-vdso.h): Remove include. + (time_vsyscall): Remove function. + (USE_IFUNC_TIME): New. + (sysdeps/unix/sysv/linux/time.c): Include file. + +2020-01-03 Adhemerval Zanella + + COMMIT: c701bcc6f4b0077e544ac100338343ac6cc4cb8a + linux: Consolidate Linux gettimeofday + + * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: Modified. + [! SHARED](__gettimeofday): Remove. + [SHARED](dl-vdso.h): Remove. + [SHARED](sysdep-vdso.h): Remove. + [SHARED](INIT_ARCH): Remove. + [SHARED](libc_ifunc): Remove. + (time.h): Remove include. + (sysdep.h): Remove include. + (sysdep-vdso.h): Remove include. + (__gettimeofday_vsyscall): Remove function. + (weak_alias): Remove. + (USE_IFUNC_GETTIMEOFDAY): New. + (sysdeps/unix/sysv/linux/gettimeofday.c): Include file. + * sysdeps/unix/sysv/linux/gettimeofday.c: New file. + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c: Modified. + [! SHARED](__gettimeofday): Remove. + [SHARED](dl-vdso.h): Remove. + [SHARED](libc-vdso.h): Remove. + [SHARED](INIT_ARCH): Remove. + [SHARED](libc_ifunc): Remove. + (time.h): Remove include. + (sysdep.h): Remove include. + (sysdep-vdso.h): Remove include. + (__gettimeofday_syscall): Remove function. + (weak_alias): Remove. + (USE_IFUNC_GETTIMEOFDAY): New. + (sysdeps/unix/sysv/linux/gettimeofday.c): Include file. + * sysdeps/unix/sysv/linux/x86/gettimeofday.c: Modified. + [! SHARED](__gettimeofday): Remove. + [SHARED](dl-vdso.h): Remove. + [SHARED](libc-vdso.h): Remove. + [SHARED](INIT_ARCH): Remove. + [SHARED](libc_ifunc): Remove. + (time.h): Remove include. + (sysdep.h): Remove include. + (sysdep-vdso.h): Remove include. + (__gettimeofday_syscall): Remove function. + (weak_alias): Remove. + (USE_IFUNC_GETTIMEOFDAY): New. + (sysdeps/unix/sysv/linux/gettimeofday.c): Include file. + +2020-01-03 Adhemerval Zanella + + COMMIT: 7bcaf77574ae654974979c8c6d5f6a170c644a6e + linux: Update mips vDSO symbols + + * sysdeps/unix/sysv/linux/mips/sysdep.h: Modified. + (HAVE_CLOCK_GETRES_VSYSCALL): New. + +2020-01-03 Adhemerval Zanella + + COMMIT: eca6aec6a30f5b21987000ccd0a0ead642592e18 + linux: Update x86 vDSO symbols + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_TIME_VSYSCALL): New. + [! __ASSEMBLER__](HAVE_CLOCK_GETRES_VSYSCALL): New. + * sysdeps/unix/sysv/linux/x86/time.c: Modified. + (time_vsyscall): Modified function. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Modified. + [! __ASSEMBLER__](HAVE_TIME_VSYSCALL): New. + [! __ASSEMBLER__](HAVE_CLOCK_GETRES_VSYSCALL): New. + +2020-01-03 Adhemerval Zanella + + COMMIT: 2822aaf4f7426289a7e29086a4ee430f683e4b55 + Remove vDSO support from make-syscall.sh + + * sysdeps/unix/make-syscalls.sh: Modified. + +2020-01-03 Adhemerval Zanella + + COMMIT: bc36727be9a45d018e9f4bfad6b707eafb009bac + x86: Make x32 use x86 time implementation + + * sysdeps/unix/sysv/linux/x86_64/x32/gettimeofday.c: Delete file. + * sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list: Modified. + +2020-01-03 Adhemerval Zanella + + COMMIT: d0def09ff6bbf1537beec305fdfe96a21174fb31 + linux: Fix vDSO macros build with time64 interfaces + + * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: Modified. + [HAVE_GETTIMEOFDAY_VSYSCALL](HAVE_VSYSCALL): Remove. + * sysdeps/unix/sysv/linux/clock_getres.c: Modified. + [HAVE_CLOCK_GETRES_VSYSCALL](HAVE_VSYSCALL): Remove. + [__TIMESIZE != 64](__clock_getres): Modified function. + (__clock_getres64): Modified function. + * sysdeps/unix/sysv/linux/clock_gettime.c: Modified. + [HAVE_CLOCK_GETTIME_VSYSCALL](HAVE_VSYSCALL): Remove. + (__clock_gettime64): Modified function. + * sysdeps/unix/sysv/linux/getcpu.c: Modified. + [HAVE_GETCPU_VSYSCALL](HAVE_VSYSCALL): Remove. + (__getcpu): Modified function. + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c: Modified. + [HAVE_GETTIMEOFDAY_VSYSCALL](HAVE_VSYSCALL): Remove. + * sysdeps/unix/sysv/linux/powerpc/time.c: Modified. + [HAVE_TIME_VSYSCALL](HAVE_VSYSCALL): Remove. + * sysdeps/unix/sysv/linux/sched_getcpu.c: Modified. + [HAVE_GETCPU_VSYSCALL](HAVE_VSYSCALL): Remove. + (sched_getcpu): Modified function. + * sysdeps/unix/sysv/linux/sysdep-vdso.h: Modified. + [! HAVE_VSYSCALL](INLINE_VSYSCALL): Remove. + [! HAVE_VSYSCALL](INTERNAL_VSYSCALL): Remove. + [HAVE_VSYSCALL](libc-vdso.h): Remove. + [HAVE_VSYSCALL](INLINE_VSYSCALL): Remove. + [HAVE_VSYSCALL](INTERNAL_VSYSCALL): Remove. + (libc-vdso.h): Include file. + (INLINE_VSYSCALL): New. + * sysdeps/unix/sysv/linux/x86/gettimeofday.c: Modified. + [HAVE_GETTIMEOFDAY_VSYSCALL](HAVE_VSYSCALL): Remove. + * sysdeps/unix/sysv/linux/x86/time.c: Modified. + [HAVE_TIME_VSYSCALL](HAVE_VSYSCALL): Remove. + (time_vsyscall): Modified function. + +2020-01-03 Adhemerval Zanella + + COMMIT: b03688bfbb072f42970747bc2e6362c24b4b7ee8 + Linux: Fix clock_nanosleep time64 check + + * sysdeps/unix/sysv/linux/clock_nanosleep.c: Modified. + (__clock_nanosleep_time64): Modified function. + +2020-01-03 Wilco Dijkstra + Adhemerval Zanella + + COMMIT: 220622dde5704c95a100c2792a280f18f3deba73 + Add libm_alias_finite for _finite symbols + + * Suppressing diff as too many files differ. + +2020-01-02 Siddhesh Poyarekar + + COMMIT: cf4dfd461725b6dbe6f27fbd16913f2c6c5cf7c5 + Update libc.pot for 2.31 release + + * po/libc.pot: Modified. + +2020-01-02 Rafał Lużyński + + COMMIT: 75ba929987f6950dd008ef0f6270f1b21e9af511 + Multiple locales: Add date_fmt (bug 24054) + + * Suppressing diff as too many files differ. + +2020-01-02 Florian Weimer + + COMMIT: cc47d5c5f53f6d845ac54698ae8929af15662c44 + build-many-glibcs.py: Fix “glibcs i686-gnu --strip” + + * scripts/build-many-glibcs.py: Modified. + +2020-01-02 Florian Weimer + + COMMIT: 0933a4678c7d6afcd21ad1868a6de3a49a065b2e + Linux: Remove pread/pread64, pwrite/pwrite64 kludges from + + * sysdeps/unix/sysv/linux/alpha/sysdep.h: Modified. + [! __NR_pread && __NR_pread64](__NR_pread): Remove. + [! __NR_pwrite && __NR_pwrite64](__NR_pwrite): Remove. + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Modified. + [! __NR_pread && __NR_pread64](__NR_pread): Remove. + [! __NR_pwrite && __NR_pwrite64](__NR_pwrite): Remove. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Modified. + [! __NR_pread && __NR_pread64](__NR_pread): Remove. + [! __NR_pwrite && __NR_pwrite64](__NR_pwrite): Remove. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Modified. + [! __NR_pread && __NR_pread64](__NR_pread): Remove. + [! __NR_pwrite && __NR_pwrite64](__NR_pwrite): Remove. + +2020-01-02 Florian Weimer + + COMMIT: 07a44d239263beae387e3cb73a5db58c5256d87f + build-many-glibcs.py: Implement update-syscalls command + + * scripts/build-many-glibcs.py: Modified. + +2020-01-02 Florian Weimer + + COMMIT: 857c7d739794981b764471d5b97f8eac16ee011c + build-many-glibcs.py: Introduce glibc build policy classes + + * scripts/build-many-glibcs.py: Modified. + +2020-01-02 Florian Weimer + + COMMIT: 65b6c9b02b49a421648f7fe03e6da49576b5c476 + build-many-glibcs.py: Introduce LinuxHeadersPolicyForBuild + + * scripts/build-many-glibcs.py: Modified. + +2020-01-02 Florian Weimer + + COMMIT: a1bd5f86739926469bbe0054b93305ff5905b070 + Linux: Use system call tables during build + + * NEWS: Modified. + * sysdeps/ia64/start.S: Modified. + * sysdeps/microblaze/backtrace_linux.c: Modified. + (asm/unistd.h): Remove include. + (sys/syscall.h): Include file. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h: Modified. + [! __NR_shmat](__NR_shmat): Remove. + * sysdeps/unix/sysv/linux/alpha/sysdep.h: Modified. + [! __NR_osf_shmat](__NR_osf_shmat): Remove. + [! __NR_semtimedop](__NR_semtimedop): Remove. + (__NR_getpid): Remove. + (__NR_getuid): Remove. + (__NR_getgid): Remove. + (SYS_getpid): Remove. + (SYS_getuid): Remove. + (SYS_getgid): Remove. + (__NR_osf_sigprocmask): Remove. + (__NR_osf_getsysinfo): Remove. + (__NR_osf_setsysinfo): Remove. + * sysdeps/unix/sysv/linux/arm/dl-machine.h: Modified. + [! dl_machine_h](CLEAR_CACHE): Modified. + * sysdeps/unix/sysv/linux/arm/sysdep.h: Modified. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ARM): Remove. + * sysdeps/unix/sysv/linux/arm/tls.h: Modified. + [! __ASSEMBLER__](TLS_INIT_TP): Modified. + * sysdeps/unix/sysv/linux/hppa/clone.S: Modified. + * sysdeps/unix/sysv/linux/ia64/brk.S: Modified. + * sysdeps/unix/sysv/linux/ia64/clone2.S: Modified. + * sysdeps/unix/sysv/linux/ia64/syscall.S: Modified. + * sysdeps/unix/sysv/linux/ia64/sysdep.S: Modified. + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Modified. + [! __ASSEMBLER__][! IA64_USE_NEW_STUB](DO_INLINE_SYSCALL_NCS): Modified. + [__ASSEMBLER__](DO_CALL_VIA_BREAK): Modified. + (asm/break.h): Include file. + * sysdeps/unix/sysv/linux/include/sys/syscall.h: New file. + * sysdeps/unix/sysv/linux/mips/vfork.S: Modified. + * sysdeps/unix/sysv/linux/nios2/sysdep.h: Modified. + (asm/unistd.h): Remove include. + * sysdeps/unix/sysv/linux/riscv/flush-icache.c: Modified. + (sys/syscall.h): Include file. + * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Modified. + * sysdeps/unix/sysv/linux/sys/syscall.h: Modified. + [! _LIBC](bits/syscall.h): Remove. + (bits/syscall.h): Include file. + +2020-01-02 Florian Weimer + + COMMIT: 4cf0d223052dabb9caed29e1e91e1d61933e14fb + Linux: Add tables with system call numbers + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/aarch64/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/alpha/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/arm/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/arm/fixup-asm-unistd.h: New file. + * sysdeps/unix/sysv/linux/csky/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/fixup-asm-unistd.h: New file. + * sysdeps/unix/sysv/linux/glibcsyscalls.py: New file. + * sysdeps/unix/sysv/linux/hppa/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/i386/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/ia64/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/m68k/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/microblaze/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/nios2/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/sh/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/tst-glibcsyscalls.py: New file. + * sysdeps/unix/sysv/linux/tst-mman-consts.py: Modified. + * sysdeps/unix/sysv/linux/update-syscall-lists.py: New file. + * sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h: New file. + +2020-01-01 Joseph Myers + + COMMIT: 5f72f9800b250410cad3abfeeb09469ef12b2438 + Update copyright dates not handled by scripts/update-copyrights. + + * NEWS: Modified. + * catgets/gencat.c: Modified. + (print_version): Modified function. + * csu/version.c: Modified. + (banner): Modified. + * debug/catchsegv.sh: Modified. + * debug/pcprofiledump.c: Modified. + (print_version): Modified function. + * debug/xtrace.sh: Modified. + * elf/ldconfig.c: Modified. + (print_version): Modified function. + * elf/ldd.bash.in: Modified. + * elf/pldd.c: Modified. + (print_version): Modified function. + * elf/sotruss.sh: Modified. + * elf/sprof.c: Modified. + (print_version): Modified function. + * iconv/iconv_prog.c: Modified. + (print_version): Modified function. + * iconv/iconvconfig.c: Modified. + (print_version): Modified function. + * locale/programs/locale.c: Modified. + (print_version): Modified function. + * locale/programs/localedef.c: Modified. + (print_version): Modified function. + * login/programs/pt_chown.c: Modified. + (print_version): Modified function. + * malloc/memusage.sh: Modified. + * malloc/memusagestat.c: Modified. + (print_version): Modified function. + * malloc/mtrace.pl: Modified. + * nptl/version.c: Modified. + (banner): Modified. + * nscd/nscd.c: Modified. + (print_version): Modified function. + * nss/getent.c: Modified. + (print_version): Modified function. + * nss/makedb.c: Modified. + (print_version): Modified function. + * posix/getconf.c: Modified. + (main): Modified function. + * scripts/test-installation.pl: Modified. + * sysdeps/unix/sysv/linux/lddlibc4.c: Modified. + (main): Modified function. + * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_lflag.h: Modified. + +2020-01-01 Joseph Myers + + COMMIT: d614a7539657941a9201c236b2f15afac18e1213 + Update copyright dates with scripts/update-copyrights. + + * Suppressing diff as too many files differ. + +2019-12-30 Adhemerval Zanella + + COMMIT: 09153638cfef9166586b0c21e852ea0d6f15a0fd + alpha: Set wait4 as cancellation entrypoint + + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/alpha/wait4.c: New file. + +2019-12-30 Rafał Lużyński + + COMMIT: d99b500e3da713416ee8bff8f3f9799411c811a2 + lv_LV locale: Correct the time part of d_t_fmt (bug 25324) + + * localedata/locales/lv_LV: Modified. + +2019-12-30 Rafał Lużyński + + COMMIT: 20a740b2b27b6d486985fa9c89011ab301ac16a6 + km_KH locale: Use "%M" instead of "m" in d_t_fmt (bug 25323) + + * localedata/locales/km_KH: Modified. + +2019-12-29 Jeremie Koenig + + COMMIT: 653d74f12abea144219af00400ed1f1ac5dfa79f + hurd: Global signal disposition + + * hurd/Versions: Modified. + * hurd/ctty-input.c: Modified. + (_hurd_ctty_input): Modified function. + * hurd/ctty-output.c: Modified. + (_hurd_ctty_output): Modified function. + * hurd/hurd/signal.h: Modified. + [__USE_EXTERN_INLINES && _LIBC][IS_IN (libc)](_hurd_critical_section_unlock): Modified function. + (_hurd_sigthread): Remove. + (_hurd_global_sigstate): New. + (_hurd_sigstate_set_global_rcv): New function. + (_hurd_sigstate_lock): New function. + (_hurd_sigstate_actions): New function. + (_hurd_sigstate_pending): New function. + (_hurd_sigstate_unlock): New function. + (_hurd_sigstate_delete): New function. + * hurd/hurdexec.c: Modified. + (_hurd_exec_paths): Modified function. + * hurd/hurdmsg.c: Modified. + (get_int): Modified function. + (set_int): Modified function. + * hurd/hurdsig.c: Modified. + (_hurd_sigthread): Remove. + (_hurd_thread_sigstate): Modified function. + (abort_thread): Modified function. + (_hurdsig_abort_rpcs): Modified function. + (post_signal): Modified function. + (pending_signals): Modified function. + (post_pending): Modified function. + (post_all_pending_signals): Modified function. + (_hurd_internal_post_signal): Modified function. + (_S_msg_sig_post): Modified function. + (_S_msg_sig_post_untraced): Modified function. + (_hurdsig_init): Modified function. + (_hurd_global_sigstate): New. + (_hurd_sigstate_delete): New function. + (_hurd_sigstate_set_global_rcv): New function. + (sigstate_is_global_rcv): New function. + (libc_hidden_def): New. + (_hurd_sigstate_lock): New function. + (_hurd_sigstate_unlock): New function. + (libc_hidden_def): New. + (_hurd_sigstate_pending): New function. + (sigstate_clear_pending): New function. + (libc_hidden_def): New. + (libc_hidden_def): New. + (_hurd_sigstate_actions): New function. + (libc_hidden_def): New. + * sysdeps/hurd/include/hurd/signal.h: Modified. + [! _ISOMAC](libc_hidden_proto): New. + [! _ISOMAC](libc_hidden_proto): New. + [! _ISOMAC](libc_hidden_proto): New. + [! _ISOMAC](libc_hidden_proto): New. + [! _ISOMAC](libc_hidden_proto): New. + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/fork.c: Modified. + (__fork): Modified function. + * sysdeps/mach/hurd/htl/pt-sigstate-destroy.c: Modified. + (__pthread_sigstate_destroy): Modified function. + (hurd/signal.h): Include file. + * sysdeps/mach/hurd/htl/pt-sigstate-init.c: Modified. + (__pthread_sigstate_init): Modified function. + * sysdeps/mach/hurd/htl/pt-sigstate.c: Modified. + (__pthread_sigstate): Modified function. + (hurd/msg.h): Include file. + * sysdeps/mach/hurd/i386/sigreturn.c: Modified. + (__sigreturn2): Modified function. + (__sigreturn): Modified function. + * sysdeps/mach/hurd/i386/trampoline.c: Modified. + (_hurd_setup_sighandler): Modified function. + * sysdeps/mach/hurd/sigaction.c: Modified. + (__sigaction): Modified function. + * sysdeps/mach/hurd/sigpending.c: Modified. + (sigpending): Modified function. + * sysdeps/mach/hurd/sigprocmask.c: Modified. + (__sigprocmask): Modified function. + * sysdeps/mach/hurd/sigsuspend.c: Modified. + (__sigsuspend): Modified function. + * sysdeps/mach/hurd/sigwait.c: Modified. + (__sigwait): Modified function. + * sysdeps/mach/hurd/spawni.c: Modified. + (__spawni): Modified function. + +2019-12-29 Samuel Thibault + + COMMIT: eb87a46c5630580d9556907dc8a61b298b462919 + hurd sendmsg: Fix warning on calling CMSG_*HDR + + * sysdeps/mach/hurd/sendmsg.c: Modified. + (__libc_sendmsg): Modified function. + +2019-12-29 Jeremie Koenig + + COMMIT: 4288c548da30c5b70d3b531e425d271cf12c51d3 + hurd: Signal code refactoring + + * hurd/hurdsig.c: Modified. + (_hurd_internal_post_signal): Modified function. + (wake_sigsuspend): New function. + (post_signal): New function. + (pending_signals): New function. + (post_pending): New function. + (post_all_pending_signals): New function. + +2019-12-29 Thomas Schwinge + + COMMIT: a678c13b8f9fa67c6cffe6ecf4ba1d5e53479e1b + hurd: Add getcontext, makecontext, setcontext, swapcontext + + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/mach/hurd/i386/getcontext.S: New file. + * sysdeps/mach/hurd/i386/makecontext.S: New file. + * sysdeps/mach/hurd/i386/setcontext.S: New file. + * sysdeps/mach/hurd/i386/swapcontext.S: New file. + * sysdeps/mach/hurd/i386/ucontext_i.sym: New file. + +2019-12-29 Emilio Pozuelo Monfort + + COMMIT: 344e755248ce02c0f8d095d11cc49e340703d926 + hurd: Support sending file descriptors over Unix sockets + + * sysdeps/mach/hurd/recvmsg.c: Modified. + (__libc_recvmsg): Modified function. + * sysdeps/mach/hurd/sendmsg.c: Modified. + (__libc_sendmsg): Modified function. + +2019-12-27 Gabriel F. T. Gomes + + COMMIT: 9ae967bf45aaa190687ae219a589e0c542669a51 + ldbl-128ibm-compat: Do not mix -mabi=*longdouble and -mlong-double-128 + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + +2019-12-27 Tulio Magno Quites Machado Filho + + COMMIT: 5d73c96f64e66732bcf1598f2832c9837075f13e + ldbl-128ibm-compat: Compiler flags for stdio functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + +2019-12-27 Tulio Magno Quites Machado Filho + Gabriel F. T. Gomes + + COMMIT: 1ef9b6e0bf1268050e74087c4f6bd056263a28c7 + Do not redirect calls to __GI_* symbols, when redirecting to *ieee128 + + * bits/long-double.h: Modified. + (__NO_LONG_DOUBLE_MATH): Remove. + [! __NO_LONG_DOUBLE_MATH](__NO_LONG_DOUBLE_MATH): New. + (__LONG_DOUBLE_USES_FLOAT128): New. + * include/stdio.h: Modified. + [! _ISOMAC][!__GLIBC_USE (DEPRECATED_SCANF)](sscanf): Remove. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC][!__GLIBC_USE (DEPRECATED_SCANF) && __LONG_DOUBLE_USES_FLOAT128 == 0](sscanf): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): New. + * include/stdlib.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): New. + [! _ISOMAC](bits/floatn.h): Include file. + * sysdeps/ieee754/ldbl-128/bits/long-double.h: Modified. + (__LONG_DOUBLE_USES_FLOAT128): New. + * sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h: New file. + * sysdeps/ieee754/ldbl-96/bits/long-double.h: Modified. + (__LONG_DOUBLE_USES_FLOAT128): New. + * sysdeps/ieee754/ldbl-opt/bits/long-double.h: Modified. + [! __LONG_DOUBLE_128__](__NO_LONG_DOUBLE_MATH): Remove. + (__LONG_DOUBLE_MATH_OPTIONAL): Remove. + [! __NO_LONG_DOUBLE_MATH][! __LONG_DOUBLE_128__](__NO_LONG_DOUBLE_MATH): New. + [! __NO_LONG_DOUBLE_MATH](__LONG_DOUBLE_MATH_OPTIONAL): New. + (__LONG_DOUBLE_USES_FLOAT128): New. + * sysdeps/mips/ieee754/bits/long-double.h: Modified. + (__LONG_DOUBLE_USES_FLOAT128): New. + * sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h: Modified. + (__LONG_DOUBLE_USES_FLOAT128): New. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h: Modified. + (__LONG_DOUBLE_USES_FLOAT128): New. + +2019-12-27 Xuelei Zhang + + COMMIT: 863d775c481704baaa41855fc93e5a1ca2dc6bf6 + aarch64: add default memcpy version for kunpeng920 + + * sysdeps/aarch64/multiarch/memcpy.c: Modified. + (libc_ifunc): Modified. + +2019-12-27 Xuelei Zhang + + COMMIT: 10df95cdaf049e77fa84a71359e210e74901057d + aarch64: ifunc rename for kunpeng + + * sysdeps/aarch64/multiarch/memset.c: Modified. + * sysdeps/aarch64/multiarch/strlen.c: Modified. + (libc_ifunc): Modified. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c: Modified. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h: Modified. + (IS_KUNPENG): Remove. + (IS_KUNPENG920): New. + +2019-12-27 Xuelei Zhang + + COMMIT: 64297d49b37f637a82faedd16bf8860e0ab31606 + aarch64: Modify error-shown comments for strcpy + + * sysdeps/aarch64/strcpy.S: Modified. + +2019-12-27 Adhemerval Zanella + + COMMIT: dc8619947730bbff50fdc3f05761af71c46b641b + linux: Consolidate sigprocmask + + * sysdeps/unix/sysv/linux/alpha/sigprocmask.c: Delete file. + * sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Delete file. + * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: Delete file. + * sysdeps/unix/sysv/linux/sigprocmask.c: Modified. + (errno.h): Remove include. + (string.h): Remove include. + (unistd.h): Remove include. + (sysdep.h): Remove include. + (sys/syscall.h): Remove include. + (__sigprocmask): Modified function. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Delete file. + * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c: Delete file. + +2019-12-27 Adhemerval Zanella + + COMMIT: 58bd592536cbf491ff6f89b73b5c95beb4859e42 + Fix return code for __libc_signal_* functions + + * sysdeps/generic/internal-signals.h: Modified. + (__libc_signal_block_all): Modified function. + (__libc_signal_block_app): Modified function. + (__libc_signal_restore_set): Modified function. + * sysdeps/unix/sysv/linux/internal-signals.h: Modified. + (__libc_signal_block_all): Modified function. + (__libc_signal_block_app): Modified function. + (__libc_signal_restore_set): Modified function. + +2019-12-26 Adhemerval Zanella + + COMMIT: 11519fd0c908df2dad50f36a48eb4d0d12ea83a8 + nptl: Remove duplicate internal __SIZEOF_PTHREAD_MUTEX_T (BZ#25241) + + * sysdeps/x86/nptl/bits/pthreadtypes-arch.h: Modified. + +2019-12-23 Rafał Lużyński + + COMMIT: b8c210bcc74840d24c61d39bde15bea9daf3e271 + mnw_MM, my_MM, and shn_MM locales: Do not use %Op + + * localedata/locales/mnw_MM: Modified. + * localedata/locales/my_MM: Modified. + * localedata/locales/shn_MM: Modified. + +2019-12-23 Gabriel F. T. Gomes + + COMMIT: f8cd1020817fd6b69446b4308b496de999934ef8 + Avoid compat symbols for totalorder in powerpc64le IEEE long double + + * sysdeps/ieee754/ldbl-128/s_totalorderl.c: Modified. + [SHLIB_COMPAT (libm, GLIBC_2_25, GLIBC_2_31)](libm_alias_float128_other_r_ldbl): New. + * sysdeps/ieee754/ldbl-128/s_totalordermagl.c: Modified. + [SHLIB_COMPAT (libm, GLIBC_2_25, GLIBC_2_31)](libm_alias_float128_other_r_ldbl): New. + +2019-12-23 Gabriel F. T. Gomes + + COMMIT: 3021e781783d6fe12de4697b0d98957bc911cad3 + ldbl-128ibm-compat: Add *cvt functions + + * misc/efgcvt-template.c: Modified. + (__GCVT): Modified function. + [! SPRINTF](SPRINTF): New. + * misc/efgcvt_r-template.c: Modified. + (__FCVT_R): Modified function. + [! SNPRINTF](SNPRINTF): New. + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-qefgcvt.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-qefgcvt_r.c: New file. + +2019-12-23 Gabriel F. T. Gomes + + COMMIT: dce425341171ec5784c87165e23883630971bd97 + Refactor *cvt functions implementation (2/2) + + * misc/efgcvt-template.c: Modified. + (__APPEND): Remove. + (__APPEND2): Remove. + (__APPEND): Remove function. + (__APPEND): Remove function. + (__APPEND): Remove function. + (__FCVT): New function. + (__ECVT): New function. + (__GCVT): New function. + * misc/efgcvt.c: Modified. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol): Modified. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol): Modified. + (cvt_symbol): Modified. + (cvt_symbol): Modified. + (cvt_symbol): Modified. + (ECVT): New. + (FCVT): New. + (GCVT): New. + (__ECVT): New. + (__FCVT): New. + (__GCVT): New. + (__ECVT_R): New. + (__FCVT_R): New. + * misc/efgcvt_r-template.c: Modified. + (__APPEND): Remove. + (__APPEND2): Remove. + (__APPEND): Remove function. + (__APPEND): Remove function. + (__FCVT_R): New function. + (__ECVT_R): New function. + * misc/efgcvt_r.c: Modified. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol): Modified. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol_1): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol): Modified. + (cvt_symbol): Modified. + (cvt_symbol): Modified. + (ECVT_R): New. + (FCVT_R): New. + (__ECVT_R): New. + (__FCVT_R): New. + * misc/qefgcvt.c: Modified. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol): Modified. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol): Modified. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol_1): Remove. + (cvt_symbol): Modified. + (cvt_symbol): Modified. + (cvt_symbol): Modified. + (ECVT): New. + (FCVT): New. + (GCVT): New. + (__ECVT): New. + (__FCVT): New. + (__GCVT): New. + (__ECVT_R): New. + (__FCVT_R): New. + * misc/qefgcvt_r.c: Modified. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol): Modified. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol_1): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol): Modified. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol_1): Remove. + (cvt_symbol): Modified. + (cvt_symbol): Modified. + (ECVT_R): New. + (FCVT_R): New. + (__ECVT_R): New. + (__FCVT_R): New. + +2019-12-23 Gabriel F. T. Gomes + + COMMIT: e18a305777adf60c2378ac864a350319269a29fa + Refactor *cvt functions implementation (1/2) + + * misc/efgcvt-dbl-macros.h: New file. + * misc/efgcvt-ldbl-macros.h: New file. + * misc/efgcvt-template.c: New file. + * misc/efgcvt.c: Modified. + [! FLOAT_TYPE][DBL_MANT_DIG != 56](NDIGIT_MAX must be precomputed"): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG != 56](NDIGIT_MAX): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG == 24](NDIGIT_MAX): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG == 53](NDIGIT_MAX): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG == 56](NDIGIT_MAX): Remove. + [! FLOAT_TYPE](FLOAT_TYPE): Remove. + [! FLOAT_TYPE](FUNC_PREFIX): Remove. + [! FLOAT_TYPE](FLOAT_FMT_FLAG): Remove. + [! FLOAT_TYPE](MAXDIG): Remove. + [! FLOAT_TYPE](FCVT_MAXDIG): Remove. + [FLOAT_TYPE](LONG_DOUBLE_CVT): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)][! LONG_DOUBLE_CVT](cvt_symbol): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)][! LONG_DOUBLE_CVT](cvt_symbol_1): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)][LONG_DOUBLE_CVT](cvt_symbol): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)][LONG_DOUBLE_CVT](cvt_symbol_1): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol): New. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol_1): New. + (math.h): Remove include. + (stdio.h): Remove include. + (stdlib.h): Remove include. + (sys/param.h): Remove include. + (float.h): Remove include. + (libc-lock.h): Remove include. + (math_ldbl_opt.h): Remove include. + (APPEND): Remove. + (APPEND2): Remove. + (__APPEND): Remove. + (__APPEND2): Remove. + (FCVT_BUFFER): Remove. + (FCVT_BUFPTR): Remove. + (ECVT_BUFFER): Remove. + (FCVT_BUFFER): Remove. + (ECVT_BUFFER): Remove. + (libc_freeres_ptr): Remove. + (__APPEND): Remove function. + (__APPEND): Remove function. + (__APPEND): Remove function. + (efgcvt-dbl-macros.h): Include file. + (efgcvt-template.c): Include file. + * misc/efgcvt_r-template.c: New file. + * misc/efgcvt_r.c: Modified. + [! FLOAT_TYPE][!(DBL_MIN_10_EXP == -4931)](FLOAT_MIN_10_NORM must be precomputed"): Remove. + [! FLOAT_TYPE][!(DBL_MIN_10_EXP == -4931)](FLOAT_MIN_10_NORM): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG != 56](NDIGIT_MAX must be precomputed"): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG != 56](NDIGIT_MAX): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG == 24](NDIGIT_MAX): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG == 53](NDIGIT_MAX): Remove. + [! FLOAT_TYPE][DBL_MANT_DIG == 56](NDIGIT_MAX): Remove. + [! FLOAT_TYPE][DBL_MIN_10_EXP == -307](FLOAT_MIN_10_NORM): Remove. + [! FLOAT_TYPE][DBL_MIN_10_EXP == -37](FLOAT_MIN_10_NORM): Remove. + [! FLOAT_TYPE][DBL_MIN_10_EXP == -4931](FLOAT_MIN_10_NORM): Remove. + [! FLOAT_TYPE](FLOAT_TYPE): Remove. + [! FLOAT_TYPE](FUNC_PREFIX): Remove. + [! FLOAT_TYPE](FLOAT_FMT_FLAG): Remove. + [! FLOAT_TYPE](FLOAT_NAME_EXT): Remove. + [! FLOAT_TYPE](FLOAT_MIN_10_EXP): Remove. + [FLOAT_TYPE](LONG_DOUBLE_CVT): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)][! LONG_DOUBLE_CVT](cvt_symbol): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)][! LONG_DOUBLE_CVT](cvt_symbol_1): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)][LONG_DOUBLE_CVT](cvt_symbol): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)][LONG_DOUBLE_CVT](cvt_symbol_1): Remove. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol): New. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol_1): New. + (errno.h): Remove include. + (float.h): Remove include. + (stdio.h): Remove include. + (string.h): Remove include. + (ctype.h): Remove include. + (math.h): Remove include. + (stdlib.h): Remove include. + (sys/param.h): Remove include. + (math_ldbl_opt.h): Remove include. + (APPEND): Remove. + (APPEND2): Remove. + (__APPEND): Remove. + (__APPEND2): Remove. + (FLOOR): Remove. + (FABS): Remove. + (LOG10): Remove. + (EXP): Remove. + (__APPEND): Remove function. + (__APPEND): Remove function. + (efgcvt-dbl-macros.h): Include file. + (efgcvt_r-template.c): Include file. + * misc/qefgcvt.c: Modified. + [LDBL_MANT_DIG != 56](NDIGIT_MAX must be precomputed"): Remove. + [LDBL_MANT_DIG != 56](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 106](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 113](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 53](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 56](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 64](NDIGIT_MAX): Remove. + (float.h): Remove include. + (FLOAT_TYPE): Remove. + (FUNC_PREFIX): Remove. + (FLOAT_FMT_FLAG): Remove. + (MAXDIG): Remove. + (FCVT_MAXDIG): Remove. + (efgcvt.c): Remove include. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol): New. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol): New. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol_1): New. + (efgcvt-ldbl-macros.h): Include file. + (efgcvt-template.c): Include file. + (cvt_symbol): New function. + (cvt_symbol): New function. + (cvt_symbol): New function. + * misc/qefgcvt_r.c: Modified. + [!(LDBL_MIN_10_EXP == -4931)](FLOAT_MIN_10_NORM must be precomputed"): Remove. + [!(LDBL_MIN_10_EXP == -4931)](FLOAT_MIN_10_NORM): Remove. + [LDBL_MANT_DIG != 56](NDIGIT_MAX must be precomputed"): Remove. + [LDBL_MANT_DIG != 56](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 106](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 113](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 53](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 56](NDIGIT_MAX): Remove. + [LDBL_MANT_DIG == 64](NDIGIT_MAX): Remove. + [LDBL_MIN_10_EXP == -291](FLOAT_MIN_10_NORM): Remove. + [LDBL_MIN_10_EXP == -307](FLOAT_MIN_10_NORM): Remove. + [LDBL_MIN_10_EXP == -37](FLOAT_MIN_10_NORM): Remove. + [LDBL_MIN_10_EXP == -4931](FLOAT_MIN_10_NORM): Remove. + (float.h): Remove include. + (FLOAT_TYPE): Remove. + (FUNC_PREFIX): Remove. + (FLOAT_FMT_FLAG): Remove. + (FLOAT_NAME_EXT): Remove. + (FLOAT_MIN_10_EXP): Remove. + (efgcvt_r.c): Remove include. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol): New. + [!(LONG_DOUBLE_COMPAT (libc, GLIBC_2_0))](cvt_symbol_1): New. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol): New. + [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)](cvt_symbol_1): New. + (efgcvt-ldbl-macros.h): Include file. + (efgcvt_r-template.c): Include file. + (cvt_symbol): New function. + (cvt_symbol): New function. + +2019-12-20 Adhemerval Zanella + + COMMIT: 57e687c6d459edba77efe360014d4adec97d1a5c + Add exception-based flags for wait4 + + * posix/Makefile: Modified. + +2019-12-19 Xuelei Zhang + + COMMIT: 525de033a9d19bc79ce353745d14927a793dd4e8 + aarch64: Optimized memset for Kunpeng processor. + + * sysdeps/aarch64/multiarch/Makefile: Modified. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/aarch64/multiarch/memset.c: Modified. + (__memset_kunpeng): New. + * sysdeps/aarch64/multiarch/memset_kunpeng.S: New file. + +2019-12-19 Xuelei Zhang + + COMMIT: c2150769d015dca1805334af7743829f1e4c0b6a + aarch64: Optimized strlen for strlen_asimd + + * sysdeps/aarch64/multiarch/strlen.c: Modified. + (libc_ifunc): Modified. + * sysdeps/aarch64/multiarch/strlen_asimd.S: Modified. + +2019-12-19 Xuelei Zhang + + COMMIT: 0db8e7b36665fa90c53161742dedab21d786924c + aarch64: Add Huawei Kunpeng to tunable cpu list + + * manual/tunables.texi: Modified. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c: Modified. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h: Modified. + (IS_KUNPENG): New. + +2019-12-19 Xuelei Zhang + + COMMIT: a7611806d5f4163656a2f5d21d349b5e7c4170e0 + aarch64: Optimized implementation of memrchr + + * sysdeps/aarch64/memrchr.S: New file. + +2019-12-19 Xuelei Zhang + + COMMIT: 2911cb68ed3d6c515ad1979237e74e1fefab3674 + aarch64: Optimized implementation of strnlen + + * sysdeps/aarch64/strnlen.S: Modified. + +2019-12-19 Xuelei Zhang + + COMMIT: 0237b61526e716fa9597f521643908a4fda3b46a + aarch64: Optimized implementation of strcpy + + * sysdeps/aarch64/strcpy.S: Modified. + +2019-12-19 Xuelei Zhang + + COMMIT: 233efd433d847e69480fe587c4c29a32fe554174 + aarch64: Optimized implementation of memcmp + + * sysdeps/aarch64/memcmp.S: Modified. + +2019-12-19 Adhemerval Zanella + + COMMIT: 442d9c9c677804287a54b10d5fa5e58a9cdd338d + Consolidate wait3 implementations + + * posix/wait3.c: Modified. + (errno.h): Remove include. + (__wait3): Modified function. + (weak_alias): New. + * sysdeps/posix/wait3.c: Delete file. + * sysdeps/unix/bsd/wait3.c: Delete file. + * sysdeps/unix/sysv/linux/wait3.c: Delete file. + +2019-12-19 Adhemerval Zanella + + COMMIT: 848791557bc4dbf783b03f2b8af77f71c909ed57 + Implement waitpid in terms of wait4 + + * include/sys/wait.h: Modified. + [! _ISOMAC](libc_hidden_proto): New function. + * posix/wait4.c: Modified. + * posix/waitpid.c: Modified. + (sys/types.h): Remove include. + (__waitpid): Modified function. + (stdlib.h): Include file. + * sysdeps/mach/hurd/wait4.c: Modified. + (libc_hidden_def): New. + * sysdeps/unix/bsd/waitpid.c: Delete file. + * sysdeps/unix/sysv/linux/wait4.c: Modified. + (libc_hidden_def): New function. + * sysdeps/unix/sysv/linux/waitpid.c: Delete file. + +2019-12-19 Adhemerval Zanella + Alistair Francis + + COMMIT: 9b2cf9482a9397c4711c9e7f42f8d718b6306bdc + linux: Use waitid on wait4 if __NR_wait4 is not defined + + * sysdeps/unix/sysv/linux/kernel-features.h: Modified. + [__LINUX_KERNEL_VERSION >= 0x050400](__ASSUME_WAITID_PID0_P_PGID): New. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/wait4.c: New file. + +2019-12-19 Adhemerval Zanella + + COMMIT: c5cbdacb8acec54e140c879393c8c7dd658c3488 + Implement wait in terms of waitpid + + * posix/wait.c: Modified. + (errno.h): Remove include. + (__wait): Modified function. + (weak_alias): New. + * sysdeps/posix/wait.c: Delete file. + * sysdeps/unix/bsd/wait.c: Delete file. + * sysdeps/unix/sysv/linux/wait.c: Delete file. + +2019-12-19 Adhemerval Zanella + + COMMIT: b633cdff2cd7259baea4d115cce0a818542f6f98 + nptl: Move waitpid implementation to libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2019-12-19 Adhemerval Zanella + + COMMIT: c97f9a5979e6c8dd4d005a01e5b1254ae4007362 + nptl: Move wait implementation to libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2019-12-19 Adhemerval Zanella + + COMMIT: 478f70780f28a270205ddbe8cb6ec29cb41d586e + Remove __waitpid_nocancel + + * libio/iopopen.c: Modified. + (_IO_new_proc_close): Modified function. + * sysdeps/generic/not-cancel.h: Modified. + (__waitpid_nocancel): Remove. + * sysdeps/posix/system.c: Modified. + [(_LIBC_REENTRANT) && (SIGCANCEL)](cancel_handler): Modified function. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/not-cancel.h: Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Remove. + (__waitpid_nocancel): Remove. + * sysdeps/unix/sysv/linux/waitpid_nocancel.c: Delete file. + +2019-12-19 Florian Weimer + + COMMIT: 6a265e577e8d7c9c950a793139df19b2d050ce5b + Fix test isolation for elf/tst-ifunc-fault-lazy, elf/tst-ifunc-fault-bindnow + + * elf/Makefile: Modified. + +2019-12-19 Adhemerval Zanella + + COMMIT: 1b132d55e2d3a4eb421c0f77f63b67b5022c22e3 + Fix __libc_signal_block_all on sparc64 + + * sysdeps/unix/sysv/linux/internal-signals.h: Modified. + (SIGALL_SET): Remove. + (__libc_signal_block_all): Modified function. + (__libc_signal_block_app): Modified function. + (limits.h): Include file. + (sigall_set): New. + +2019-12-19 Adhemerval Zanella + + COMMIT: 0331bffe1be698d32c3b4a93b6e7f02d1f1b47fb + powerpc: Do not run IFUNC resolvers for LD_DEBUG=unused [BZ #24214] + + * sysdeps/powerpc/powerpc32/dl-machine.c: Modified. + (__process_machine_rela): Modified function. + * sysdeps/powerpc/powerpc32/dl-machine.h: Modified. + [RESOLVE_MAP](__process_machine_rela): Modified. + [RESOLVE_MAP](elf_machine_rela): Modified function. + +2019-12-18 Florian Weimer + + COMMIT: 3dcad8158f43d71d5b8f6f317f82952ddf3468f3 + hurd: Do not make sigprocmask available in ld.so + + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/dl-sysdep.c: Modified. + (check_no_hidden): Remove. + (__sigprocmask): Remove function. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + +2019-12-18 Florian Weimer + + COMMIT: 3aec0c3912859bcf0432c700a8fbdcb23b45545f + build-many-glibcs.py: Do not build C++ PCHs by default + + * scripts/build-many-glibcs.py: Modified. + +2019-12-17 James Clarke + + COMMIT: a45244ce127763872ff0b5743fb4ac8299ee9b28 + hurd: Make getrandom honour GRND_NONBLOCK + + * sysdeps/mach/hurd/getrandom.c: Modified. + (__getrandom): Modified function. + +2019-12-16 DJ Delorie + + COMMIT: a059f9505bbef1f22c6f52798a74184632929145 + tunables: report sbrk() failure + + * elf/dl-tunables.c: Modified. + [TUNABLES_FRONTEND == TUNABLES_FRONTEND_valstring](tunables_strdup): Modified function. + +2019-12-16 Dragan Mladjenovic + + COMMIT: a2e487ce1c59d19345d9ecacc58de79febd869e4 + build-many-glibcs.py: Add mipsisa64r6el-linux-gnu target + + * scripts/build-many-glibcs.py: Modified. + +2019-12-16 Dragan Mladjenovic + + COMMIT: 020b2a97bb15f807c0482f0faee2184ed05bcad8 + mips: Do not include hi and lo in __SYSCALL_CLOBBERS for R6 + + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Modified. + [! __ASSEMBLER__](__SYSCALL_CLOBBERS): Remove. + [! __ASSEMBLER__](PTR_MANGLE): Remove. + [! __ASSEMBLER__](PTR_DEMANGLE): Remove. + [! __ASSEMBLER__][!(__mips_isa_rev >= 6)](__SYSCALL_CLOBBERS): New. + [! __ASSEMBLER__][!(__mips_isa_rev >= 6)](PTR_MANGLE): New. + [! __ASSEMBLER__][!(__mips_isa_rev >= 6)](PTR_DEMANGLE): New. + [! __ASSEMBLER__][__mips_isa_rev >= 6](__SYSCALL_CLOBBERS): New. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Modified. + [! __ASSEMBLER__](__SYSCALL_CLOBBERS): Remove. + [! __ASSEMBLER__][!(__mips_isa_rev >= 6)](__SYSCALL_CLOBBERS): New. + [! __ASSEMBLER__][__mips_isa_rev >= 6](__SYSCALL_CLOBBERS): New. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Modified. + [! __ASSEMBLER__](__SYSCALL_CLOBBERS): Remove. + [! __ASSEMBLER__][!(__mips_isa_rev >= 6)](__SYSCALL_CLOBBERS): New. + [! __ASSEMBLER__][__mips_isa_rev >= 6](__SYSCALL_CLOBBERS): New. + +2019-12-13 Gabriel F. T. Gomes + + COMMIT: f1a0eb5b6762b315517469da47735c51bde6f4ad + ldbl-128ibm-compat: Add ISO C99 versions of scanf functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_fscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_fwscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_scanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_sscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_swscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfwscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vsscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vswscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vwscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_wscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c: Modified. + (CLEAR): Remove. + (CLEAR_VALUE): Modified. + (CHECK): Remove. + (CHECK_VALUE): Modified. + (do_test_call): Modified function. + (do_test): Modified function. + (CLEAR_VARGS): New. + (CHECK_VARGS): New. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.c: Modified. + (L): Modified. + (Lx): New. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.sh: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c: Modified. + (L): Modified. + (Lx): New. + +2019-12-13 Gabriel F. T. Gomes + Zack Weinberg + + COMMIT: 348787f06902b971d76dbab3f05d54c0b5c36131 + ldbl-128ibm-compat: Fix selection of GNU and ISO C99 scanf + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.c: Modified. + (libio/stdio.h): Include file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c: Modified. + (libio/stdio.h): Include file. + +2019-12-13 Samuel Thibault + + COMMIT: 8eaf34eda256ba3647ed6e7ed5c7c9aa19955d17 + hurd: Fix local PLT + + * include/sys/random.h: Modified. + [! _ISOMAC](__wur): New. + [! _ISOMAC](libc_hidden_proto): New. + * stdlib/getrandom.c: Modified. + (getrandom): Remove function. + (__getrandom): New function. + * sysdeps/mach/hurd/getentropy.c: Modified. + (getentropy): Modified function. + * sysdeps/mach/hurd/getrandom.c: Modified. + (getrandom): Remove function. + (__getrandom): New function. + (libc_hidden_def): New. + (weak_alias): New. + * sysdeps/unix/sysv/linux/getrandom.c: Modified. + [! __NR_getrandom](getrandom): Remove function. + [! __NR_getrandom](__getrandom): New function. + [__NR_getrandom](getrandom): Remove function. + [__NR_getrandom](__getrandom): New function. + (libc_hidden_def): New. + (weak_alias): New. + +2019-12-13 Florian Weimer + + COMMIT: f7649d5780aa4682393b9daedd653e4d9c12784c + dlopen: Do not block signals + + * elf/dl-open.c: Modified. + (internal-signals.h): Remove include. + (dl_open_args): Modified. + (dl_open_worker): Modified function. + (_dl_open): Modified function. + +2019-12-13 Florian Weimer + + COMMIT: f8ed116aa574435c6e28260f21963233682d3b57 + dlopen: Rework handling of pending NODELETE status + + * elf/dl-close.c: Modified. + (_dl_close_worker): Modified function. + (_dl_close): Modified function. + * elf/dl-lookup.c: Modified. + (do_lookup_unique): Modified function. + (add_dependency): Modified function. + (mark_nodelete): New function. + (is_nodelete): New function. + * elf/dl-open.c: Modified. + (activate_nodelete): Modified function. + (dl_open_worker): Modified function. + * elf/get-dynamic-info.h: Modified. + [! RESOLVE_MAP](elf_get_dynamic_info): Modified function. + [RESOLVE_MAP](elf_get_dynamic_info): Modified function. + * include/link.h: Modified. + [! _ISOMAC](link_map_nodelete): Remove. + [! _ISOMAC](link_map): Modified. + +2019-12-13 Florian Weimer + + COMMIT: 365624e2d2a342cdb693b4cc35d2312169959e28 + dlopen: Fix issues related to NODELETE handling and relocations + + * elf/Makefile: Modified. + * elf/dl-lookup.c: Modified. + (do_lookup_unique): Modified function. + * elf/dl-open.c: Modified. + (activate_nodelete): Modified function. + (dl_open_worker): Modified function. + * elf/tst-dlopen-nodelete-reloc-mod1.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod10.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod11.cc: New file. + * elf/tst-dlopen-nodelete-reloc-mod12.cc: New file. + * elf/tst-dlopen-nodelete-reloc-mod13.cc: New file. + * elf/tst-dlopen-nodelete-reloc-mod13.h: New file. + * elf/tst-dlopen-nodelete-reloc-mod14.cc: New file. + * elf/tst-dlopen-nodelete-reloc-mod15.cc: New file. + * elf/tst-dlopen-nodelete-reloc-mod16.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod17.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod2.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod3.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod4.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod5.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod6.cc: New file. + * elf/tst-dlopen-nodelete-reloc-mod7.cc: New file. + * elf/tst-dlopen-nodelete-reloc-mod8.c: New file. + * elf/tst-dlopen-nodelete-reloc-mod9.cc: New file. + * elf/tst-dlopen-nodelete-reloc.c: New file. + * elf/tst-dlopen-nodelete-reloc.h: New file. + +2019-12-13 Samuel Thibault + + COMMIT: 186e119bbd4a10895429ffe405ae96dc5c5634b8 + hurd: Fix __close_nocancel_nostatus availability + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/close_nocancel_nostatus.c: New file. + * sysdeps/mach/hurd/not-cancel.h: Modified. + (__close_nocancel_nostatus): Remove function. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): New. + (__close_nocancel_nostatus): New function. + +2019-12-13 Andrew Eggenberger + + COMMIT: fe75ee0ca65536352fcdaebfbf39aac9bee271f0 + hurd: add getrandom and getentropy implementations + + * sysdeps/mach/hurd/getentropy.c: New file. + * sysdeps/mach/hurd/getrandom.c: New file. + +2019-12-13 Samuel Thibault + + COMMIT: c1f25758c353fcb16076512aba62746bff2e0d2d + hurd: Implement __close_nocancel_nostatus + + * sysdeps/mach/hurd/not-cancel.h: New file. + +2019-12-11 Paul Eggert + + COMMIT: ef4e158c736d067304164c3daa763e4f425af248 + manual: clarify fopen with the x flag + + * manual/stdio.texi: Modified. + +2019-12-11 Stefan Liebler + + COMMIT: fcee34cc373daee6aa5320a6e1897cdf2005ab53 + S390: Use sysdeps/ieee754/dbl-64/wordsize-64 on s390x. + + * sysdeps/s390/s390-64/Implies: Modified. + +2019-12-11 Stefan Liebler + + COMMIT: 2763d3145a326aa9afa613fe9e1b444cf912a883 + S390: Implement roundtoint and converttoint and define TOINT_INTRINSICS. + + * sysdeps/s390/fpu/math_private.h: New file. + +2019-12-11 Stefan Liebler + + COMMIT: 433a2ba68cd91842546e0f0d43d65835634d570d + S390: Implement math-barriers math_opt_barrier and math_force_eval. + + * sysdeps/s390/fpu/math-barriers.h: New file. + +2019-12-11 Stefan Liebler + + COMMIT: 238adf59db85646ebae47876819bd896dae597bc + S390: Use libc_fe* macros in fe* functions. + + * sysdeps/s390/fpu/fegetround.c: Modified. + (fenv_libc.h): Remove include. + (fpu_control.h): Remove include. + (__fegetround): Modified function. + (get-rounding-mode.h): Include file. + * sysdeps/s390/fpu/feholdexcpt.c: Modified. + (fenv_libc.h): Remove include. + (fpu_control.h): Remove include. + (__feholdexcept): Modified function. + (fenv_private.h): Include file. + * sysdeps/s390/fpu/fesetenv.c: Modified. + (fenv_libc.h): Remove include. + (fpu_control.h): Remove include. + (stddef.h): Remove include. + (unistd.h): Remove include. + (__fesetenv): Modified function. + (fenv_private.h): Include file. + * sysdeps/s390/fpu/fesetround.c: Modified. + (fenv_libc.h): Remove include. + (fpu_control.h): Remove include. + (__fesetround): Modified function. + (fenv_private.h): Include file. + * sysdeps/s390/fpu/fetestexceptflag.c: Delete file. + * sysdeps/s390/fpu/feupdateenv.c: Modified. + (fenv_libc.h): Remove include. + (fpu_control.h): Remove include. + (__feupdateenv): Modified function. + (fenv_private.h): Include file. + * sysdeps/s390/fpu/fgetexcptflg.c: Modified. + (fenv_libc.h): Remove include. + (fpu_control.h): Remove include. + (fegetexceptflag): Modified function. + (fenv_private.h): Include file. + * sysdeps/s390/fpu/fsetexcptflg.c: Modified. + (fesetexceptflag): Modified function. + * sysdeps/s390/fpu/ftestexcept.c: Modified. + (fenv_libc.h): Remove include. + (fpu_control.h): Remove include. + (fetestexcept): Modified function. + (fenv_private.h): Include file. + +2019-12-11 Stefan Liebler + + COMMIT: 7c94d036c17dfd352d11e9bf98e5d84122c1f95e + S390: Implement libc_fe* macros. + + * sysdeps/s390/fpu/fenv_private.h: New file. + +2019-12-11 Stefan Liebler + + COMMIT: 7d42d614fdc2c9d9f6ad46111bd6130501d50460 + S390: Use convert-to-fixed instruction for llround functions. + + * sysdeps/s390/fpu/s_llround.c: New file. + * sysdeps/s390/fpu/s_llroundf.c: New file. + * sysdeps/s390/fpu/s_llroundl.c: New file. + +2019-12-11 Stefan Liebler + + COMMIT: 9d9f3527daf65fdca0eb46eaa324b81b8f94d88c + S390: Use convert-to-fixed instruction for lround functions. + + * sysdeps/s390/fpu/s_lround.c: New file. + * sysdeps/s390/fpu/s_lroundf.c: New file. + * sysdeps/s390/fpu/s_lroundl.c: New file. + +2019-12-11 Stefan Liebler + + COMMIT: f10c1654fe13d797d2fd347dc47f72f93c58cf62 + S390: Use convert-to-fixed instruction for llrint functions. + + * sysdeps/s390/fpu/s_llrint.c: New file. + * sysdeps/s390/fpu/s_llrintf.c: New file. + * sysdeps/s390/fpu/s_llrintl.c: New file. + +2019-12-11 Stefan Liebler + + COMMIT: e3f07622209c1b4436ef364b134dfd2cd4ca9976 + S390: Use convert-to-fixed instruction for lrint functions. + + * sysdeps/s390/fpu/s_lrint.c: New file. + * sysdeps/s390/fpu/s_lrintf.c: New file. + * sysdeps/s390/fpu/s_lrintl.c: New file. + +2019-12-11 Stefan Liebler + + COMMIT: 4399b163376b331773e43917dcf56ce68e43e6a0 + S390: Use load-fp-integer instruction for roundeven functions. + + * sysdeps/s390/fpu/s_roundeven.c: New file. + * sysdeps/s390/fpu/s_roundevenf.c: New file. + * sysdeps/s390/fpu/s_roundevenl.c: New file. + +2019-12-11 Stefan Liebler + + COMMIT: 1902d5d5ff04771f16b67648789c75a18af06222 + Adjust s_copysignl.c regarding code style. + + * sysdeps/ieee754/ldbl-128/s_copysignl.c: Modified. + (__copysignl): Modified function. + +2019-12-11 Stefan Liebler + + COMMIT: 171d23d7cbce7b6f175a6690e625ccf80b647d23 + Adjust s_ceilf.c and s_ceill.c regarding code style. + + * sysdeps/ieee754/flt-32/s_ceilf.c: Modified. + (__ceilf): Modified function. + * sysdeps/ieee754/ldbl-128/s_ceill.c: Modified. + (__ceill): Modified function. + +2019-12-11 Stefan Liebler + + COMMIT: d3a0409ab615e133ff3ea27b492de75a607cff4a + Adjust s_floorf.c and s_floorl.c regarding code style. + + * sysdeps/ieee754/flt-32/s_floorf.c: Modified. + (__floorf): Modified function. + * sysdeps/ieee754/ldbl-128/s_floorl.c: Modified. + (__floorl): Modified function. + +2019-12-11 Stefan Liebler + + COMMIT: 99b39a83e72f4b58e2f284fd844622df26b3b5fe + Adjust s_rintf.c and s_rintl.c regarding code style. + + * sysdeps/ieee754/flt-32/s_rintf.c: Modified. + (__rintf): Modified function. + * sysdeps/ieee754/ldbl-128/s_rintl.c: Modified. + (__rintl): Modified function. + +2019-12-11 Stefan Liebler + + COMMIT: 6a3866dae98cccc8cd7a0a4c1fb409dba9192a83 + Adjust s_nearbyintf.c and s_nearbyintl.c regarding code style. + + * sysdeps/ieee754/flt-32/s_nearbyintf.c: Modified. + (__nearbyintf): Modified function. + * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Modified. + (__nearbyintl): Modified function. + +2019-12-11 Stefan Liebler + + COMMIT: f818afdd3b29d7eef2010448457c9f5c16e684cd + Use GCC builtins for copysign functions if desired. + + * sysdeps/generic/math-use-builtins.h: Modified. + [!(__GNUC_PREREQ (7, 0))](USE_COPYSIGNF128_BUILTIN): New. + [__GNUC_PREREQ (7, 0)](USE_COPYSIGNF128_BUILTIN): New. + (features.h): Include file. + (USE_COPYSIGNL_BUILTIN): New. + * sysdeps/ieee754/dbl-64/s_copysign.c: Modified. + (math_private.h): Remove include. + (__copysign): Modified function. + * sysdeps/ieee754/float128/float128_private.h: Modified. + (USE_COPYSIGNL_BUILTIN): New. + * sysdeps/ieee754/flt-32/s_copysignf.c: Modified. + (math_private.h): Remove include. + (__copysignf): Modified function. + * sysdeps/ieee754/ldbl-128/s_copysignl.c: Modified. + (__copysignl): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: Modified. + [!(__GNUC_PREREQ (7, 0))](USE_COPYSIGNF128_BUILTIN): New. + [__GNUC_PREREQ (7, 0)](USE_COPYSIGNF128_BUILTIN): New. + (USE_COPYSIGNL_BUILTIN): New. + +2019-12-11 Stefan Liebler + + COMMIT: f82996f8159981619ac7ed8a4c1838c2ad72ab61 + Use GCC builtins for round functions if desired. + + * sysdeps/generic/math-use-builtins.h: Modified. + (USE_ROUND_BUILTIN): New. + (USE_ROUNDF_BUILTIN): New. + (USE_ROUNDL_BUILTIN): New. + (USE_ROUNDF128_BUILTIN): New. + * sysdeps/ieee754/dbl-64/s_round.c: Modified. + (__round): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/float128/float128_private.h: Modified. + (USE_ROUNDL_BUILTIN): New. + (__builtin_roundl): New. + * sysdeps/ieee754/flt-32/s_roundf.c: Modified. + (__roundf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/ldbl-128/s_roundl.c: Modified. + (__roundl): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: Modified. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_ROUND_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_ROUNDF_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_ROUNDL_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_ROUNDF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][!(__GNUC_PREREQ (8, 0))](USE_ROUNDF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][__GNUC_PREREQ (8, 0)](USE_ROUNDF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_ROUND_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_ROUNDF_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_ROUNDL_BUILTIN): New. + +2019-12-11 Stefan Liebler + + COMMIT: 1ac9c1cf87216bf9f8ac4f7c9754d025d9f2c4ae + Use GCC builtins for trunc functions if desired. + + * sysdeps/generic/math-use-builtins.h: Modified. + (USE_TRUNC_BUILTIN): New. + (USE_TRUNCF_BUILTIN): New. + (USE_TRUNCL_BUILTIN): New. + (USE_TRUNCF128_BUILTIN): New. + * sysdeps/ieee754/dbl-64/s_trunc.c: Modified. + (__trunc): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/float128/float128_private.h: Modified. + (USE_TRUNCL_BUILTIN): New. + (__builtin_truncl): New. + * sysdeps/ieee754/flt-32/s_truncf.c: Modified. + (__truncf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/ldbl-128/s_truncl.c: Modified. + (__truncl): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: Modified. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_TRUNC_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_TRUNCF_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_TRUNCL_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_TRUNCF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][!(__GNUC_PREREQ (8, 0))](USE_TRUNCF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][__GNUC_PREREQ (8, 0)](USE_TRUNCF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_TRUNC_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_TRUNCF_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_TRUNCL_BUILTIN): New. + +2019-12-11 Stefan Liebler + + COMMIT: 62560ee84095274bab1050817f42e782df226a17 + Use GCC builtins for ceil functions if desired. + + * sysdeps/generic/math-use-builtins.h: Modified. + (USE_CEIL_BUILTIN): New. + (USE_CEILF_BUILTIN): New. + (USE_CEILL_BUILTIN): New. + (USE_CEILF128_BUILTIN): New. + * sysdeps/ieee754/dbl-64/s_ceil.c: Modified. + (__ceil): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/float128/float128_private.h: Modified. + (USE_CEILL_BUILTIN): New. + (__builtin_ceill): New. + * sysdeps/ieee754/flt-32/s_ceilf.c: Modified. + (__ceilf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/ldbl-128/s_ceill.c: Modified. + (__ceill): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: Modified. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_CEIL_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_CEILF_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_CEILL_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_CEILF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][!(__GNUC_PREREQ (8, 0))](USE_CEILF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][__GNUC_PREREQ (8, 0)](USE_CEILF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_CEIL_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_CEILF_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_CEILL_BUILTIN): New. + +2019-12-11 Stefan Liebler + + COMMIT: 6c1b6a5e8cd91e0e1965509ad91e627e60eb00a3 + Use GCC builtins for floor functions if desired. + + * sysdeps/generic/math-use-builtins.h: Modified. + (USE_FLOOR_BUILTIN): New. + (USE_FLOORF_BUILTIN): New. + (USE_FLOORL_BUILTIN): New. + (USE_FLOORF128_BUILTIN): New. + * sysdeps/ieee754/dbl-64/s_floor.c: Modified. + (__floor): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/float128/float128_private.h: Modified. + (USE_FLOORL_BUILTIN): New. + (__builtin_floorl): New. + * sysdeps/ieee754/flt-32/s_floorf.c: Modified. + (__floorf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/ldbl-128/s_floorl.c: Modified. + (__floorl): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: Modified. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_FLOOR_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_FLOORF_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_FLOORL_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_FLOORF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][!(__GNUC_PREREQ (8, 0))](USE_FLOORF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][__GNUC_PREREQ (8, 0)](USE_FLOORF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_FLOOR_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_FLOORF_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_FLOORL_BUILTIN): New. + +2019-12-11 Stefan Liebler + + COMMIT: a2a9b004297b777758420c952cb6eea5985d37fe + Use GCC builtins for rint functions if desired. + + * sysdeps/generic/math-use-builtins.h: Modified. + (USE_RINT_BUILTIN): New. + (USE_RINTF_BUILTIN): New. + (USE_RINTL_BUILTIN): New. + (USE_RINTF128_BUILTIN): New. + * sysdeps/ieee754/dbl-64/s_rint.c: Modified. + (TWO52): Remove. + (__rint): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/float128/float128_private.h: Modified. + (USE_RINTL_BUILTIN): New. + (__builtin_rintl): New. + * sysdeps/ieee754/flt-32/s_rintf.c: Modified. + (TWO23): Remove. + (__rintf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/ldbl-128/s_rintl.c: Modified. + (TWO112): Remove. + (__rintl): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: Modified. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_RINT_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_RINTF_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_RINTL_BUILTIN): New. + [! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_RINTF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][!(__GNUC_PREREQ (8, 0))](USE_RINTF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT][__GNUC_PREREQ (8, 0)](USE_RINTF128_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_RINT_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_RINTF_BUILTIN): New. + [HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT](USE_RINTL_BUILTIN): New. + +2019-12-11 Stefan Liebler + + COMMIT: ae3577f607b50bf3ce9b0877e43ad2508c9da61b + Use GCC builtins for nearbyint functions if desired. + + * sysdeps/generic/math-use-builtins.h: New file. + * sysdeps/ieee754/dbl-64/s_nearbyint.c: Modified. + (TWO52): Remove. + (__nearbyint): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/float128/float128_private.h: Modified. + (math-use-builtins.h): Include file. + (USE_NEARBYINTL_BUILTIN): New. + (__builtin_nearbyintl): New. + * sysdeps/ieee754/flt-32/s_nearbyintf.c: Modified. + (TWO23): Remove. + (__nearbyintf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Modified. + (TWO112): Remove. + (__nearbyintl): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: New file. + +2019-12-11 Stefan Liebler + + COMMIT: 36e9acbd5cb2c330c0d53195db4a0ee31f2c3097 + Always use wordsize-64 version of s_round.c. + + * sysdeps/ieee754/dbl-64/s_round.c: Modified. + (__round): Modified function. + (stdint.h): Include file. + * sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Delete file. + +2019-12-11 Stefan Liebler + + COMMIT: 1c94bf0f0a50ce66c808e2ea9b7e417785798b73 + Always use wordsize-64 version of s_trunc.c. + + * sysdeps/ieee754/dbl-64/s_trunc.c: Modified. + (__trunc): Modified function. + * sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: Delete file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-generic.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c): Remove include. + (sysdeps/ieee754/dbl-64/s_trunc.c): Include file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c): Remove include. + (sysdeps/ieee754/dbl-64/s_trunc.c): Include file. + * sysdeps/x86_64/fpu/multiarch/s_trunc-c.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c): Remove include. + (sysdeps/ieee754/dbl-64/s_trunc.c): Include file. + +2019-12-11 Stefan Liebler + + COMMIT: 9f234eafe8698fd9a441ca2309a299d0bd771156 + Always use wordsize-64 version of s_ceil.c. + + * sysdeps/ieee754/dbl-64/s_ceil.c: Modified. + (__ceil): Modified function. + * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Delete file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-generic.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c): Remove include. + (sysdeps/ieee754/dbl-64/s_ceil.c): Include file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c): Remove include. + (sysdeps/ieee754/dbl-64/s_ceil.c): Include file. + * sysdeps/x86_64/fpu/multiarch/s_ceil-c.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c): Remove include. + (sysdeps/ieee754/dbl-64/s_ceil.c): Include file. + +2019-12-11 Stefan Liebler + + COMMIT: 95b0c2c431510013eb2f7385fc078ee2498f83bf + Always use wordsize-64 version of s_floor.c. + + * sysdeps/ieee754/dbl-64/s_floor.c: Modified. + (__floor): Modified function. + (stdint.h): Include file. + * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Delete file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floor-generic.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c): Remove include. + (sysdeps/ieee754/dbl-64/s_floor.c): Include file. + * sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c): Remove include. + (sysdeps/ieee754/dbl-64/s_floor.c): Include file. + * sysdeps/x86_64/fpu/multiarch/s_floor-c.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c): Remove include. + (sysdeps/ieee754/dbl-64/s_floor.c): Include file. + +2019-12-11 Stefan Liebler + + COMMIT: ab48bdd098a675dddb360faafc497a61c4bd4334 + Always use wordsize-64 version of s_rint.c. + + * sysdeps/ieee754/dbl-64/s_rint.c: Modified. + (__rint): Modified function. + * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Delete file. + * sysdeps/x86_64/fpu/multiarch/s_rint-c.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c): Remove include. + (sysdeps/ieee754/dbl-64/s_rint.c): Include file. + +2019-12-11 Stefan Liebler + + COMMIT: af123aa95091d3d2d1b4ff027cf806ca1721d29d + Always use wordsize-64 version of s_nearbyint.c. + + * sysdeps/ieee754/dbl-64/s_nearbyint.c: Modified. + [(LIBM_SCCS) && ! lint](rcsid): Remove. + (__nearbyint): Modified function. + * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Delete file. + * sysdeps/x86_64/fpu/multiarch/s_nearbyint-c.c: Modified. + (sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c): Remove include. + (sysdeps/ieee754/dbl-64/s_nearbyint.c): Include file. + +2019-12-11 Florian Weimer + + COMMIT: b5a1271c76ad03a2e0ee044ecb46af03d771e40a + ldconfig: Do not print a warning for a missing ld.so.conf file + + * elf/ldconfig.c: Modified. + (parse_conf): Modified function. + +2019-12-11 Samuel Thibault + + COMMIT: e46efff89550a8e693a3362976f85070762c5cb8 + hurd: Fix using altstack while in an RPC call to be aborted + + * sysdeps/mach/hurd/i386/trampoline.c: Modified. + (_hurd_setup_sighandler): Modified function. + +2019-12-10 Carlos O'Donell + + COMMIT: 83fe078130f62c35fcceab7133fa4b1512925951 + Fix failure when CFLAGS contains -DNDEBUG (Bug 25251) + + * assert/tst-assert-c++.cc: Modified. + +2019-12-09 Adhemerval Zanella + + COMMIT: 0487ebed2278b20971af4cabf186fd3681adccf0 + nptl: Add more missing placeholder abi symbol from nanosleep move + + * include/shlib-compat.h: Modified. + [! SHARED](compat_symbol_unique): New. + [SHARED](__compat_symbol_unique_concat): New. + [SHARED](_compat_symbol_unique_concat): New. + [SHARED](_compat_symbol_unique_alias): New. + [SHARED](_compat_symbol_unique): New. + [SHARED](compat_symbol_unique): New. + * nptl/libpthread-compat.c: Modified. + [(SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2_6))](__libpthread_version_placeholder): Remove. + [(SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2_6))](compat_symbol): Remove. + [(SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))](compat_symbol_unique): New. + [(SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))](compat_symbol_unique): New. + [SHARED](__libpthread_version_placeholder): New. + (sys/cdefs.h): Include file. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + +2019-12-09 Andreas Schwab + + COMMIT: 7badf7b06fe796b3f549663d0d65d3012a7e0457 + sysdeps/riscv/start.S: rename .Lload_gp to load_gp (bug 24376) + + * sysdeps/riscv/start.S: Modified. + +2019-12-05 Lukasz Majewski + + COMMIT: cae1635a70aff76117e3b4d6cead86606662b0fc + y2038: linux: Provide __timer_settime64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__timer_settime64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__timer_settime64): New. + * sysdeps/unix/sysv/linux/timer_settime.c: Modified. + (timer_settime): Remove function. + [__TIMESIZE != 64](__timer_settime): New. + (kernel-features.h): Include file. + (__timer_settime64): New function. + (weak_alias): New. + (libc_hidden_def): New. + +2019-12-05 Lukasz Majewski + + COMMIT: 562cdc19c761b6749ae31845156366d4b319e200 + y2038: linux: Provide __timer_gettime64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__timer_gettime64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__timer_gettime64): New. + * sysdeps/unix/sysv/linux/timer_gettime.c: Modified. + (timer_gettime): Remove function. + [__TIMESIZE != 64](__timer_gettime): New. + (kernel-features.h): Include file. + (__timer_gettime64): New function. + (weak_alias): New. + (libc_hidden_def): New. + +2019-12-05 Lukasz Majewski + + COMMIT: ab65136e7233183a1f35c7d36867b5937844b368 + timer: Decouple x86_64 specific timer_settime from generic Linux implementation + + * sysdeps/unix/sysv/linux/timer_settime.c: Modified. + [timer_settime_alias](timer_settime): Remove. + (timer_settime): Modified function. + * sysdeps/unix/sysv/linux/x86_64/timer_settime.c: Modified. + (timer_settime_alias): Remove. + (sysdeps/unix/sysv/linux/timer_settime.c): Remove include. + (timer_settime): Remove. + (sysdep.h): Include file. + (kernel-posix-timers.h): Include file. + (__timer_settime_new): New function. + +2019-12-05 Lukasz Majewski + + COMMIT: 115959290f01f6c0674e16e0de5d8a16f79d19de + timer: Decouple x86_64 specific timer_gettime from generic Linux implementation + + * sysdeps/unix/sysv/linux/timer_gettime.c: Modified. + [timer_gettime_alias](timer_gettime): Remove. + (timer_gettime): Modified function. + * sysdeps/unix/sysv/linux/x86_64/timer_gettime.c: Modified. + (timer_gettime_alias): Remove. + (sysdeps/unix/sysv/linux/timer_gettime.c): Remove include. + (timer_gettime): Remove. + (sysdep.h): Include file. + (kernel-posix-timers.h): Include file. + (__timer_gettime_new): New function. + +2019-12-05 Lukasz Majewski + + COMMIT: 4b135425d889cb18b0fb3c3d166e115927042dda + time: Introduce glibc's internal struct __itimerspec64 + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__itimerspec64): New. + [! _ISOMAC][__TIMESIZE == 64](__itimerspec64): New. + +2019-12-05 DJ Delorie + + COMMIT: 16554464bcd9d77b07c6ff419dc54f00e394fa50 + Correct range checking in mallopt/mxfast/tcache [BZ #25194] + + * malloc/malloc.c: Modified. + [USE_TCACHE](do_set_tcache_max): Modified function. + [USE_TCACHE](do_set_tcache_count): Modified function. + (do_set_mxfast): Modified function. + (__libc_mallopt): Modified function. + +2019-12-05 Florian Weimer + + COMMIT: 1f7525d924b608a3e43b10fcfb3d46b8a6e9e4f9 + misc/test-errno-linux: Handle EINVAL from quotactl + + * sysdeps/unix/sysv/linux/test-errno-linux.c: Modified. + (do_test): Modified function. + +2019-12-05 Kamlesh Kumar + + COMMIT: 953ceff17a4a15b10cfdd5edc3c8cae4884c8ec3 + : Define __CORRECT_ISO_CPP_STRING_H_PROTO for Clang [BZ #25232] + + * string/string.h: Modified. + [__cplusplus && __GNUC_PREREQ (4, 4)](__CORRECT_ISO_CPP_STRING_H_PROTO): Remove. + [__cplusplus && (__GNUC_PREREQ (4, 4) || __glibc_clang_prereq (3, 5))](__CORRECT_ISO_CPP_STRING_H_PROTO): New. + +2019-12-05 Adhemerval Zanella + + COMMIT: 066d80a7cdfa5ab7b2dd66cb51e8abeed60227e5 + build-many-glibcs.py: Move sparcv8 to extra_glibcs + + * scripts/build-many-glibcs.py: Modified. + +2019-12-04 Alistair Francis + + COMMIT: ec138c67cbda8b5826a0a2a7ba456408117996dc + sysdeps/clock_gettime: Use clock_gettime64 if avaliable + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__clock_gettime64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__clock_gettime64): New. + * sysdeps/unix/sysv/linux/clock_gettime.c: Modified. + (__clock_gettime): Remove function. + [__TIMESIZE != 64](__clock_gettime): New. + (kernel-features.h): Include file. + (__clock_gettime64): New function. + +2019-12-04 Alistair Francis + + COMMIT: f6fbce7dd72145ed9272ac8ef3ea6123c390a72b + sysdeps: Add clock_gettime64 vDSO + + * sysdeps/unix/sysv/linux/init-first.c: Modified. + (__libc_vdso_platform_setup): Modified function. + [HAVE_CLOCK_GETTIME64_VSYSCALL](int): New. + * sysdeps/unix/sysv/linux/libc-vdso.h: Modified. + [HAVE_CLOCK_GETTIME64_VSYSCALL](int): New. + +2019-12-04 Gabriel F. T. Gomes + + COMMIT: d0bc5b725dac852764b98b9b3e0560c003bd000a + Do not use ld.so to open statically linked programs in debugglibc.sh + + * Makefile: Modified. + +2019-12-04 Gabriel F. T. Gomes + + COMMIT: 6ef1bab699eb82ad24d52a4a045bceb4f7533a5b + Attach to test in container from debugglibc.sh + + * Makefile: Modified. + +2019-12-03 Florian Weimer + + COMMIT: 8b196ac4b8d1be6021a3974f28bba5e947b37db8 + Expand $(as-needed) and $(no-as-needed) throughout the build system + + * Makeconfig: Modified. + * Makerules: Modified. + * elf/Makefile: Modified. + * nptl/Makefile: Modified. + * stdlib/Makefile: Modified. + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + +2019-12-03 Florian Weimer + + COMMIT: 9fb8139079ef0bb1aa33a4ae418cbb113b9b9da7 + x86: Assume --enable-cet if GCC defaults to CET [BZ #25225] + + * configure: Modified. + * configure.ac: Modified. + +2019-12-03 Gabriel F. T. Gomes + Rajalakshmi Srinivasaraghavan + + COMMIT: 39c977b23e3e547e70d199a679b37bdf9c3223f6 + ldbl-128ibm-compat: Add tests for strfroml, strtold, and wcstold + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-strfrom-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-strfrom-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-strfrom-ldbl-compat.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wcstold-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wcstold-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wcstold-ldbl-compat.c: New file. + +2019-12-03 Gabriel F. T. Gomes + + COMMIT: 80a19b003e2836abda4ad96721a40c6f7a32ab4c + ldbl-128ibm-compat: Add tests for strfmon and strfmon_l + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-strfmon-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-strfmon-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-strfmon-ldbl-compat.c: New file. + +2019-12-03 Rajalakshmi Srinivasaraghavan + + COMMIT: 66fa30828a1eb3d96cb92c080fa0b7376bda9b11 + ldbl-128ibm-compat: Add strfmon_l with IEEE long double format + + * include/monetary.h: Modified. + [! _ISOMAC](STRFMON_LDBL_USES_FLOAT128): New. + * stdlib/strfmon_l.c: Modified. + (__vstrfmon_l_internal): Modified function. + (bits/floatn.h): Include file. + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-strfmon.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-strfmon_l.c: New file. + +2019-12-03 Gabriel F. T. Gomes + + COMMIT: 5d39f37b260a98cfcc5ac312817ce8de534c00b1 + ldbl-128ibm-compat: Replace http with https in new files + + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-argp-help.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-err.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-error.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-obprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-obstack_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-scanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-syslog.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vobstack_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf_chk.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wscanf.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ldbl-compat-template.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.sh: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ldbl-compat-template.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c: Modified. + +2019-12-02 Florian Weimer + + COMMIT: 4db71d2f9897c6ca7a9d0cadc1fc4067557a4eb3 + elf: Do not run IFUNC resolvers for LD_DEBUG=unused [BZ #24214] + + * elf/Makefile: Modified. + * elf/tst-ifunc-fault-bindnow.c: New file. + * elf/tst-ifunc-fault-lazy.c: New file. + * sysdeps/aarch64/dl-machine.h: Modified. + [RESOLVE_MAP](elf_machine_rela): Modified function. + * sysdeps/arm/dl-machine.h: Modified. + [RESOLVE_MAP][! RTLD_BOOTSTRAP](elf_machine_rela): Modified function. + [RESOLVE_MAP](elf_machine_rel): Modified function. + * sysdeps/i386/dl-machine.h: Modified. + [RESOLVE_MAP][! RTLD_BOOTSTRAP](elf_machine_rela): Modified function. + [RESOLVE_MAP](elf_machine_rel): Modified function. + * sysdeps/sparc/sparc32/dl-machine.h: Modified. + [RESOLVE_MAP](elf_machine_rela): Modified function. + * sysdeps/sparc/sparc64/dl-machine.h: Modified. + [RESOLVE_MAP](elf_machine_rela): Modified function. + * sysdeps/x86_64/dl-machine.h: Modified. + [RESOLVE_MAP](elf_machine_rela): Modified function. + +2019-12-02 Florian Weimer + + COMMIT: 61a7c9df71ee4e6f94b56c20f0d37c6e17d5f284 + elf/tst-dlopenfail: Disable --no-as-needed for tst-dlopenfailmod1.so + + * elf/Makefile: Modified. + +2019-12-01 Samuel Thibault + + COMMIT: dd67928700bc9b5954c93b29a6e0b0c4b279d454 + hurd: Fix ld.so __access override from libc + + * include/unistd.h: Modified. + [! _ISOMAC](__access): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): New. + * io/access.c: Modified. + (libc_hidden_def): New. + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/access.c: Modified. + (libc_hidden_def): New. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + * sysdeps/unix/sysv/linux/access.c: Modified. + (libc_hidden_def): New. + +2019-12-01 Samuel Thibault + + COMMIT: db25266c9202a1235ce2e2f8a4f84cfb86254196 + hurd: Fix ld.so __getcwd override from libc + + * include/unistd.h: Modified. + [! _ISOMAC](__getcwd): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): New. + * io/getcwd.c: Modified. + (libc_hidden_def): New. + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/getcwd.c: Modified. + (libc_hidden_def): New. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + * sysdeps/posix/getcwd.c: Modified. + [_LIBC && ! __getcwd](libc_hidden_def): New. + * sysdeps/unix/sysv/linux/getcwd.c: Modified. + (libc_hidden_def): New. + +2019-12-01 Samuel Thibault + + COMMIT: 892badc9bbcd4a6f8c2eb6c8a99be3aa22517532 + hurd: Make __sigprocmask GLIBC_PRIVATE + + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/i386/ld.abilist: Modified. + * sysdeps/mach/hurd/i386/libc.abilist: Modified. + +2019-12-01 Samuel Thibault + + COMMIT: d51ca7d6ad1ab41ee8c86680cc82a3b75cbb6fd3 + hurd: Fix renameat2 error + + * sysdeps/mach/hurd/renameat2.c: Modified. + (__renameat2): Modified function. + +2019-12-01 Samuel Thibault + + COMMIT: 563202976e5786ecef491d45e6c0fada2b8d0fdb + hurd: make strerror(0) coherent with other ports + + * mach/err_kern.sub: Modified. + +2019-12-01 Samuel Thibault + + COMMIT: d5ed9ba29a3c818b3433a1784862494968abda45 + hurd: Fix ld.so link + + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/dl-sysdep.c: Modified. + (check_no_hidden): New function. + (__sigprocmask): New function. + * sysdeps/mach/hurd/i386/ld.abilist: Modified. + * sysdeps/mach/hurd/i386/libc.abilist: Modified. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + +2019-11-29 Joseph Myers + + COMMIT: 26e14efdb88e512b36fe4a8310dc95da521477e3 + Update kernel version to 5.4 in tst-mman-consts.py. + + * sysdeps/unix/sysv/linux/tst-mman-consts.py: Modified. + +2019-11-29 Joseph Myers + + COMMIT: 96958e2700f5b4f4d1183a0606b2b9848a53ea44 + Update SOMAXCONN value from Linux 5.4. + + * sysdeps/unix/sysv/linux/bits/socket.h: Modified. + (SOMAXCONN): Modified. + +2019-11-28 Joseph Myers + + COMMIT: a331150af65477fc3fa72ab341eed5e0b2daf7f3 + Update syscall-names.list for Linux 5.4. + + * sysdeps/unix/sysv/linux/syscall-names.list: Modified. + +2019-11-28 Joseph Myers + + COMMIT: cdf203668eedb50db09f66cff494d44178d37131 + Fix syntax error in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2019-11-28 Joseph Myers + + COMMIT: aa9452a3b19e414678062c65ff7a2133482d62c3 + Define MADV_COLD and MADV_PAGEOUT from Linux 5.4. + + * sysdeps/unix/sysv/linux/bits/mman-linux.h: Modified. + [__USE_MISC](MADV_COLD): New. + [__USE_MISC](MADV_PAGEOUT): New. + +2019-11-27 Florian Weimer + + COMMIT: e37c2cf299b61ce18f62852f6c5624c27829b610 + Move _dl_open_check to its original place in dl_open_worker + + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + +2019-11-27 Florian Weimer + + COMMIT: a2e8aa0d9ea648068d8be52dd7b15f1b6a008e23 + Block signals during the initial part of dlopen + + * elf/dl-open.c: Modified. + (dl_open_args): Modified. + (dl_open_worker): Modified function. + (_dl_open): Modified function. + (internal-signals.h): Include file. + +2019-11-27 Florian Weimer + + COMMIT: f63b73814f74032c0e5d0a83300e3d864ef905e5 + Remove all loaded objects if dlopen fails, ignoring NODELETE [BZ #20839] + + * elf/Makefile: Modified. + * elf/dl-close.c: Modified. + (_dl_close_worker): Modified function. + (_dl_close): Modified function. + * elf/dl-lookup.c: Modified. + (do_lookup_unique): Modified function. + (do_lookup_x): Modified function. + (add_dependency): Modified function. + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + (activate_nodelete): New function. + * elf/get-dynamic-info.h: Modified. + [! RESOLVE_MAP](elf_get_dynamic_info): Modified function. + [RESOLVE_MAP](elf_get_dynamic_info): Modified function. + * elf/tst-dlopenfail.c: New file. + * elf/tst-dlopenfaillinkmod.c: New file. + * elf/tst-dlopenfailmod1.c: New file. + * elf/tst-dlopenfailmod2.c: New file. + * include/link.h: Modified. + [! _ISOMAC](link_map): Modified. + [! _ISOMAC](link_map_nodelete): New. + +2019-11-27 Florian Weimer + + COMMIT: a509eb117fac1d764b15eba64993f4bdb63d7f3c + Avoid late dlopen failure due to scope, TLS slotinfo updates [BZ #25112] + + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + (array_length.h): Include file. + (scope_has_map): New function. + (scope_size): New function. + (resize_scopes): New function. + (update_scopes): New function. + (resize_tls_slotinfo): New function. + (update_tls_slotinfo): New function. + * elf/dl-tls.c: Modified. + (_dl_add_to_slotinfo): Modified function. + * elf/rtld.c: Modified. + (dl_main): Modified function. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)](_dl_add_to_slotinfo): Modified. + +2019-11-27 Florian Weimer + + COMMIT: 440b7f8653e4ed8f6e1425145208050b795e9a6c + Avoid late failure in dlopen in global scope update [BZ #25112] + + * elf/dl-open.c: Modified. + (dl_open_args): Modified. + (add_to_global): Remove function. + (dl_open_worker): Modified function. + (_dl_open): Modified function. + (add_to_global_resize_failure): New function. + (add_to_global_resize): New function. + (add_to_global_update): New function. + * sysdeps/generic/ldsodefs.h: Modified. + [SHARED](rtld_global): Modified. + +2019-11-27 Florian Weimer + + COMMIT: 79e0cd7b3c997e211fad44a81fd839dc5b2546e8 + Lazy binding failures during dlopen/dlclose must be fatal [BZ #24304] + + * NEWS: Modified. + * elf/Makefile: Modified. + * elf/dl-close.c: Modified. + (_dl_close_worker): Modified function. + (call_destructors): New function. + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + (dl_init_args): New. + (call_dl_init): New function. + * elf/tst-finilazyfailmod.c: New file. + * elf/tst-initfinilazyfail.c: New file. + * elf/tst-initlazyfailmod.c: New file. + +2019-11-27 Florian Weimer + + COMMIT: 446997ff1433d33452b81dfa9e626b8dccf101a4 + resolv: Implement trust-ad option for /etc/resolv.conf [BZ #20358] + + * NEWS: Modified. + * resolv/Makefile: Modified. + * resolv/res_debug.c: Modified. + [SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_26)](p_option): Modified function. + * resolv/res_init.c: Modified. + (res_setoptions): Modified function. + * resolv/res_mkquery.c: Modified. + (__res_context_mkquery): Modified function. + * resolv/res_send.c: Modified. + (__res_context_send): Modified function. + (mask_ad_bit): New function. + * resolv/resolv.h: Modified. + (RES_TRUSTAD): New. + * resolv/tst-resolv-res_init-skeleton.c: Modified. + (print_resp): Modified function. + (test_file_contents): Modified function. + (name): New. + (conf): New. + * resolv/tst-resolv-trustad.c: New file. + * support/resolv_test.c: Modified. + (resolv_response_init): Modified function. + * support/resolv_test.h: Modified. + (resolv_response_flags): Modified. + +2019-11-27 Florian Weimer + + COMMIT: 4a2ab5843a5cc4a5db1b3b79916a520ea8b115dc + dlsym: Do not determine caller link map if not needed + + * elf/dl-sym.c: Modified. + (do_sym): Modified function. + (find_caller_link_map): New function. + +2019-11-27 Florian Weimer + + COMMIT: cb61630ed712d033f54295f776967532d3f4b46a + libio: Disable vtable validation for pre-2.1 interposed handles [BZ #25203] + + * libio/oldstdfiles.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)][__GNUC__ && __GNUC__ >= 2](_IO_check_libio): Modified function. + +2019-11-27 Gabriel F. T. Gomes + + COMMIT: 381b76d7a3511e152675018457bd432fa2657928 + ldbl-128ibm-compat: Add syslog functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-syslog.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-chk-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-chk-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-chk-ldbl-compat.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ldbl-compat-template.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ldbl-compat.c: New file. + +2019-11-27 Gabriel F. T. Gomes + + COMMIT: 590ef889bc7afe42d4feec94e1c4fbd4ddd65226 + ldbl-128ibm-compat: Add obstack printing functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-obprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-obstack_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vobstack_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-chk-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-chk-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-chk-ldbl-compat.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ldbl-compat-template.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ldbl-compat.c: New file. + +2019-11-27 Gabriel F. T. Gomes + + COMMIT: ff3cb5accb80471df69fac2c0dded9cab794220a + ldbl-128ibm-compat: Reuse tests for err.h and error.h functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + +2019-11-27 Gabriel F. T. Gomes + + COMMIT: 9f25935dda6973292e989302752d11e720e23c0c + ldbl-128ibm-compat: Add error.h functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-error.c: New file. + +2019-11-27 Gabriel F. T. Gomes + + COMMIT: a23ed314630aeb762dad274d2b446a39e26a8c0d + ldbl-128ibm-compat: Add err.h functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-err.c: New file. + +2019-11-27 Gabriel F. T. Gomes + + COMMIT: 77607e7d44e255f83e4df55d55ecb52867a86f03 + ldbl-128ibm-compat: Add argp_error and argp_failure + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-argp-help.c: New file. + +2019-11-27 Adhemerval Zanella + + COMMIT: 3b5ebe85aabfa44583a18a7ef51bc4d387e362c1 + sparc: Use atomic compiler builtins on sparc + + * sysdeps/sparc/Makefile: Modified. + * sysdeps/sparc/atomic-machine.h: New file. + * sysdeps/sparc/sparc64/cpu_relax.c: Move to... + * sysdeps/sparc/cpu_relax.c: ... here. + (__cpu_relax_generic): Remove function. + (__cpu_relax_pause): Remove function. + [__sparc_v9__](__cpu_relax_generic): New. + [__sparc_v9__](__cpu_relax_pause): New. + * sysdeps/sparc/sparc32/atomic-machine.h: Delete file. + * sysdeps/sparc/sparc32/configure: Modified. + * sysdeps/sparc/sparc32/configure.ac: Modified. + * sysdeps/sparc/sparc32/lowlevellock.c: Delete file. + * sysdeps/sparc/sparc32/pthread_barrier_wait.c: Delete file. + * sysdeps/sparc/sparc32/sem_post.c: Delete file. + * sysdeps/sparc/sparc32/sem_waitcommon.c: Delete file. + * sysdeps/sparc/sparc32/sparcv9/Makefile: Modified. + * sysdeps/sparc/sparc32/sparcv9/atomic-machine.h: Delete file. + * sysdeps/sparc/sparc32/sparcv9/cpu_relax.c: Delete file. + * sysdeps/sparc/sparc64/Makefile: Modified. + * sysdeps/sparc/sparc64/atomic-machine.h: Delete file. + * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Delete file. + +2019-11-27 Adhemerval Zanella + + COMMIT: 5d9b7b9fa734c5381e0295c85c0e40520d9f6063 + Remove 32 bit sparc v7 support + + * NEWS: Modified. + * scripts/build-many-glibcs.py: Modified. + * sysdeps/sparc/preconfigure: Modified. + * sysdeps/sparc/sparc32/Makefile: Modified. + * sysdeps/sparc/sparc32/addmul_1.S: Modified. + * sysdeps/sparc/sparc32/configure: New file. + * sysdeps/sparc/sparc32/configure.ac: New file. + * sysdeps/sparc/sparc32/divrem.m4: Delete file. + * sysdeps/sparc/sparc32/dotmul.S: Modified. + * sysdeps/sparc/sparc32/mul_1.S: Modified. + * sysdeps/sparc/sparc32/rem.S: Modified. + * sysdeps/sparc/sparc32/sdiv.S: Modified. + * sysdeps/sparc/sparc32/sparcv8/Makefile: Delete file. + * sysdeps/sparc/sparc32/sparcv8/addmul_1.S: Delete file. + * sysdeps/sparc/sparc32/sparcv8/dotmul.S: Delete file. + * sysdeps/sparc/sparc32/sparcv8/mul_1.S: Delete file. + * sysdeps/sparc/sparc32/sparcv8/rem.S: Delete file. + * sysdeps/sparc/sparc32/sparcv8/sdiv.S: Delete file. + * sysdeps/sparc/sparc32/sparcv8/submul_1.S: Delete file. + * sysdeps/sparc/sparc32/sparcv8/udiv.S: Delete file. + * sysdeps/sparc/sparc32/sparcv8/umul.S: Delete file. + * sysdeps/sparc/sparc32/sparcv8/urem.S: Delete file. + * sysdeps/sparc/sparc32/submul_1.S: Modified. + * sysdeps/sparc/sparc32/udiv.S: Modified. + * sysdeps/sparc/sparc32/umul.S: Modified. + * sysdeps/sparc/sparc32/urem.S: Modified. + +2019-11-27 Stefan Liebler + + COMMIT: bfdb731438206b0f70fe7afa890681155c30b419 + S390: Fix handling of needles crossing a page in strstr z15 ifunc-variant. [BZ #25226] + + * string/test-strstr.c: Modified. + (check2): Modified function. + * sysdeps/s390/strstr-arch13.S: Modified. + +2019-11-26 Adhemerval Zanella + + COMMIT: acfe409119f5db9429a2a2235fd2ad1242940cac + nptl: Fix __PTHREAD_MUTEX_INITIALIZER for !__PTHREAD_MUTEX_HAVE_PREV + + * sysdeps/nptl/bits/struct_mutex.h: Modified. + [__PTHREAD_MUTEX_HAVE_PREV != 1](__PTHREAD_MUTEX_INITIALIZER): Modified. + +2019-11-26 Sandra Loosemore + + COMMIT: c72e5cd87dcb075782f9b6beea024b984f2e1130 + Compile elf/rtld.c with -fno-tree-loop-distribute-patterns. + + * elf/Makefile: Modified. + +2019-11-26 Adhemerval Zanella + + COMMIT: cc0e0b097c3e2176b51c32c09a76766e890cd2d4 + hppa: Remove unrequired nptl headers + + * sysdeps/unix/sysv/linux/hppa/pthread.h: Delete file. + +2019-11-26 Adhemerval Zanella + + COMMIT: 7ddac7f265d3db6888c68b04b86e265d15859ce5 + nptl: Add default pthread-offsets.h + + * sysdeps/aarch64/nptl/pthread-offsets.h: Delete file. + * sysdeps/alpha/nptl/pthread-offsets.h: Delete file. + * sysdeps/arm/nptl/pthread-offsets.h: Delete file. + * sysdeps/csky/nptl/pthread-offsets.h: Delete file. + * sysdeps/ia64/nptl/pthread-offsets.h: Delete file. + * sysdeps/m68k/nptl/pthread-offsets.h: Delete file. + * sysdeps/microblaze/nptl/pthread-offsets.h: Delete file. + * sysdeps/nios2/nptl/pthread-offsets.h: Delete file. + * sysdeps/nptl/pthread-offsets.h: New file. + * sysdeps/riscv/nptl/pthread-offsets.h: Delete file. + * sysdeps/sh/nptl/pthread-offsets.h: Delete file. + * sysdeps/sparc/nptl/pthread-offsets.h: Delete file. + +2019-11-26 Adhemerval Zanella + + COMMIT: 94a62cc55a3175fd375081d9b4366479371ed2ab + nptl: Add default pthreadtypes-arch.h + + * sysdeps/alpha/nptl/bits/pthreadtypes-arch.h: Delete file. + * sysdeps/arm/nptl/bits/pthreadtypes-arch.h: Delete file. + * sysdeps/csky/nptl/bits/pthreadtypes-arch.h: Delete file. + * sysdeps/ia64/nptl/bits/pthreadtypes-arch.h: Delete file. + * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h: Delete file. + * sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Move to... + * sysdeps/nptl/bits/pthreadtypes-arch.h: ... here. + * sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h: Delete file. + * sysdeps/sh/nptl/bits/pthreadtypes-arch.h: Delete file. + * sysdeps/sparc/nptl/bits/pthreadtypes-arch.h: Delete file. + +2019-11-26 Adhemerval Zanella + + COMMIT: 7df8af43ad1cd8ce527444de50bee6f35eebe071 + nptl: Add struct_rwlock.h + + * nptl/Makefile: Modified. + * sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/aarch64/nptl/bits/struct_rwlock.h: New file. + * sysdeps/alpha/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/alpha/nptl/bits/struct_rwlock.h: New file. + * sysdeps/arm/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/csky/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/hppa/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/hppa/nptl/bits/struct_rwlock.h: New file. + * sysdeps/ia64/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/ia64/nptl/bits/struct_rwlock.h: New file. + * sysdeps/m68k/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/mips/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/mips/nptl/bits/struct_rwlock.h: New file. + * sysdeps/nios2/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/nptl/bits/struct_rwlock.h: New file. + * sysdeps/nptl/bits/thread-shared-types.h: Modified. + (bits/struct_rwlock.h): Include file. + * sysdeps/nptl/pthread.h: Modified. + [__USE_UNIX98 || __USE_XOPEN2K][! __PTHREAD_RWLOCK_INT_FLAGS_SHARED][__WORDSIZE == 64](__PTHREAD_RWLOCK_INT_FLAGS_SHARED): Remove. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU][! __PTHREAD_RWLOCK_INT_FLAGS_SHARED][__BYTE_ORDER != __LITTLE_ENDIAN](PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Remove. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU][! __PTHREAD_RWLOCK_INT_FLAGS_SHARED][__BYTE_ORDER == __LITTLE_ENDIAN](PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Remove. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU][__PTHREAD_RWLOCK_INT_FLAGS_SHARED](PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Remove. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU](PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): New. + [__USE_UNIX98 || __USE_XOPEN2K](PTHREAD_RWLOCK_INITIALIZER): Modified. + * sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/powerpc/nptl/bits/struct_rwlock.h: New file. + * sysdeps/riscv/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/riscv/nptl/bits/struct_rwlock.h: New file. + * sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/s390/nptl/bits/struct_rwlock.h: New file. + * sysdeps/sh/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/sparc/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/sparc/nptl/bits/struct_rwlock.h: New file. + * sysdeps/unix/sysv/linux/hppa/pthread.h: Modified. + [__USE_UNIX98 || __USE_XOPEN2K][! __PTHREAD_RWLOCK_INT_FLAGS_SHARED][__WORDSIZE == 64](__PTHREAD_RWLOCK_INT_FLAGS_SHARED): Remove. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU](PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Modified. + [__USE_UNIX98 || __USE_XOPEN2K](PTHREAD_RWLOCK_INITIALIZER): Modified. + * sysdeps/x86/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Remove. + * sysdeps/x86/nptl/bits/struct_rwlock.h: New file. + +2019-11-26 Adhemerval Zanella + + COMMIT: 1c3f9acf1f1f75faa7a28bf39af64afda93839ac + nptl: Add struct_mutex.h + + * nptl/Makefile: Modified. + * sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/alpha/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/arm/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/csky/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/hppa/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/hppa/nptl/bits/struct_mutex.h: New file. + * sysdeps/ia64/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/m68k/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/mips/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/mips/nptl/bits/struct_mutex.h: New file. + * sysdeps/nios2/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/nptl/bits/struct_mutex.h: New file. + * sysdeps/nptl/bits/thread-shared-types.h: Modified. + [! __PTHREAD_MUTEX_LOCK_ELISION](__PTHREAD_SPINS_DATA): Remove. + [! __PTHREAD_MUTEX_LOCK_ELISION](__PTHREAD_SPINS): Remove. + [!__PTHREAD_MUTEX_USE_UNION](__pthread_internal_list): Remove. + [__PTHREAD_MUTEX_LOCK_ELISION][!__PTHREAD_MUTEX_USE_UNION](__PTHREAD_SPINS_DATA): Remove. + [__PTHREAD_MUTEX_LOCK_ELISION][!__PTHREAD_MUTEX_USE_UNION](__PTHREAD_SPINS): Remove. + [__PTHREAD_MUTEX_LOCK_ELISION][__PTHREAD_MUTEX_USE_UNION](__PTHREAD_SPINS_DATA): Remove. + [__PTHREAD_MUTEX_LOCK_ELISION][__PTHREAD_MUTEX_USE_UNION](__PTHREAD_SPINS): Remove. + [__PTHREAD_MUTEX_LOCK_ELISION][__PTHREAD_MUTEX_USE_UNION](__spins): Remove. + [__PTHREAD_MUTEX_LOCK_ELISION][__PTHREAD_MUTEX_USE_UNION](__elision): Remove. + [__PTHREAD_MUTEX_USE_UNION](__pthread_internal_slist): Remove. + (__pthread_mutex_s): Remove. + (__pthread_internal_list): New. + (__pthread_internal_slist): New. + (bits/struct_mutex.h): Include file. + * sysdeps/nptl/pthread.h: Modified. + [! __PTHREAD_MUTEX_HAVE_PREV][__USE_GNU](PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Remove. + [! __PTHREAD_MUTEX_HAVE_PREV][__USE_GNU](PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Remove. + [! __PTHREAD_MUTEX_HAVE_PREV][__USE_GNU](PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Remove. + [! __PTHREAD_MUTEX_HAVE_PREV](PTHREAD_MUTEX_INITIALIZER): Remove. + [__PTHREAD_MUTEX_HAVE_PREV][__USE_GNU](PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Remove. + [__PTHREAD_MUTEX_HAVE_PREV][__USE_GNU](PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Remove. + [__PTHREAD_MUTEX_HAVE_PREV][__USE_GNU](PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Remove. + [__PTHREAD_MUTEX_HAVE_PREV](PTHREAD_MUTEX_INITIALIZER): Remove. + [__USE_GNU](PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): New. + [__USE_GNU](PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): New. + [__USE_GNU](PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): New. + (PTHREAD_MUTEX_INITIALIZER): New. + * sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/powerpc/nptl/bits/struct_mutex.h: New file. + * sysdeps/riscv/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + * sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/s390/nptl/bits/struct_mutex.h: New file. + * sysdeps/sh/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/sparc/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + (__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + (__PTHREAD_MUTEX_USE_UNION): Remove. + * sysdeps/unix/sysv/linux/hppa/pthread.h: Modified. + [__USE_GNU](PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Modified. + [__USE_GNU](PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Modified. + [__USE_GNU](PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Modified. + (PTHREAD_MUTEX_INITIALIZER): Modified. + * sysdeps/x86/nptl/bits/pthreadtypes-arch.h: Modified. + [! __x86_64__](__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + [! __x86_64__](__PTHREAD_MUTEX_USE_UNION): Remove. + [__x86_64__](__PTHREAD_MUTEX_NUSERS_AFTER_KIND): Remove. + [__x86_64__](__PTHREAD_MUTEX_USE_UNION): Remove. + (__PTHREAD_COMPAT_PADDING_MID): Remove. + (__PTHREAD_COMPAT_PADDING_END): Remove. + (__PTHREAD_MUTEX_LOCK_ELISION): Remove. + * sysdeps/x86/nptl/bits/struct_mutex.h: New file. + +2019-11-26 Adhemerval Zanella + + COMMIT: 0377a7fde6dfcc078dda29a1225d7720a0931357 + nptl: Remove rwlock elision definitions + + * sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/alpha/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/arm/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/csky/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/hppa/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/ia64/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/m68k/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/mips/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/nios2/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/nptl/pthread.h: Modified. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU][! __PTHREAD_RWLOCK_INT_FLAGS_SHARED][__BYTE_ORDER == __LITTLE_ENDIAN](PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Modified. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU][__PTHREAD_RWLOCK_INT_FLAGS_SHARED](PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Modified. + [__USE_UNIX98 || __USE_XOPEN2K](PTHREAD_RWLOCK_INITIALIZER): Modified. + * sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Modified. + * sysdeps/riscv/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/sh/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/sparc/nptl/bits/pthreadtypes-arch.h: Modified. + (__PTHREAD_RWLOCK_ELISION_EXTRA): Remove. + * sysdeps/x86/nptl/bits/pthreadtypes-arch.h: Modified. + (__pthread_rwlock_arch_t): Modified. + +2019-11-26 Adhemerval Zanella + + COMMIT: 48dbce60cfdd328b671aaa9ee0c54ded3246ece9 + nptl: Add tests for internal pthread_rwlock_t offsets + + * nptl/pthread_rwlock_init.c: Modified. + (__pthread_rwlock_init): Modified function. + (pthread-offsets.h): Include file. + * sysdeps/aarch64/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/alpha/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/arm/nptl/pthread-offsets.h: Modified. + [__BYTE_ORDER != __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [__BYTE_ORDER == __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/csky/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/hppa/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/i386/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/ia64/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/m68k/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/microblaze/nptl/pthread-offsets.h: Modified. + [__BYTE_ORDER != __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [__BYTE_ORDER == __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/mips/nptl/pthread-offsets.h: Modified. + [_MIPS_SIM != _ABI64][__BYTE_ORDER != __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [_MIPS_SIM != _ABI64][__BYTE_ORDER == __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [_MIPS_SIM == _ABI64](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/nios2/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/powerpc/nptl/pthread-offsets.h: Modified. + [__WORDSIZE != 64](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [__WORDSIZE == 64](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/riscv/nptl/pthread-offsets.h: Modified. + (__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/s390/nptl/pthread-offsets.h: Modified. + [__WORDSIZE != 64](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [__WORDSIZE == 64](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/sh/nptl/pthread-offsets.h: Modified. + [__BYTE_ORDER != __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [__BYTE_ORDER == __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/sparc/nptl/pthread-offsets.h: Modified. + [__WORDSIZE != 64](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [__WORDSIZE == 64](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + * sysdeps/x86_64/nptl/pthread-offsets.h: Modified. + [! __ILP32__](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [__ILP32__](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + +2019-11-26 Adhemerval Zanella + + COMMIT: 71d260c1077ce7ab1530809fc826756bdcd032b0 + nptl: Cleanup mutex internal offset tests + + * nptl/pthreadP.h: Modified. + (ASSERT_PTHREAD_INTERNAL_MEMBER_SIZE): New. + * nptl/pthread_mutex_init.c: Modified. + (__pthread_mutex_init): Modified function. + * sysdeps/aarch64/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/alpha/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/arm/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/csky/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/hppa/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/i386/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/ia64/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/m68k/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/microblaze/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/mips/nptl/pthread-offsets.h: Modified. + [_MIPS_SIM != _ABI64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [_MIPS_SIM != _ABI64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [_MIPS_SIM != _ABI64](__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + [_MIPS_SIM != _ABI64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + [_MIPS_SIM == _ABI64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [_MIPS_SIM == _ABI64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [_MIPS_SIM == _ABI64](__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + [_MIPS_SIM == _ABI64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/nios2/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/powerpc/nptl/pthread-offsets.h: Modified. + [__WORDSIZE != 64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/riscv/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/s390/nptl/pthread-offsets.h: Modified. + [__WORDSIZE != 64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/sh/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/sparc/nptl/pthread-offsets.h: Modified. + [__WORDSIZE != 64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + * sysdeps/x86_64/nptl/pthread-offsets.h: Modified. + (__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + (__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + (__PTHREAD_MUTEX_ELISION_OFFSET): Remove. + (__PTHREAD_MUTEX_LIST_OFFSET): Remove. + +2019-11-26 Egor Kobylkin + + COMMIT: 7fc8c286e31a336caa008a8bcfb00aac1e47cdc8 + locale: Greek -> ASCII transliteration table [BZ #12031] + + * locale/C-translit.h.in: Modified. + +2019-11-26 Rafał Lużyński + + COMMIT: c372d2e863075cbc4b24141743026954b6e2457e + ru_UA locale: use copy "ru_RU" in LC_TIME (bug 25044) + + * localedata/locales/ru_UA: Modified. + +2019-11-26 Tim Rühsen + + COMMIT: c1de872c8cdfadb077b4c0a04b1a4bd8c18f3894 + sysdeps/posix/getaddrinfo: Return early on invalid address family + + * sysdeps/posix/getaddrinfo.c: Modified. + (getaddrinfo): Modified function. + +2019-11-26 Tim Rühsen + + COMMIT: cceb038ac0ea552d5eb81759572a358179fa0fc1 + sysdeps/posix: Simplify if expression in getaddrinfo + + * sysdeps/posix/getaddrinfo.c: Modified. + (getaddrinfo): Modified function. + +2019-11-26 Joseph Myers + + COMMIT: 17832eefeeafbd448c9e721819a7490f33b0f009 + Use Linux 5.4 in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2019-11-25 Adhemerval Zanella + + COMMIT: d9202f1883e86f12b7a371035867be455da09907 + arm: Fix armv7 selection after 'Split BE/LE abilist' + + * sysdeps/arm/be/armv7/multiarch/Implies: New file. + * sysdeps/arm/le/armv6/Implies: New file. + * sysdeps/arm/le/armv6t2/Implies: New file. + * sysdeps/arm/le/armv7/Implies: New file. + * sysdeps/arm/le/armv7/multiarch/Implies: New file. + +2019-11-22 Gabriel F. T. Gomes + + COMMIT: b370c5f014031b2d06bc54a6436e31b46ed0bf43 + ldbl-128ibm-compat: Add wide character scanning functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c: New file. + +2019-11-22 Gabriel F. T. Gomes + + COMMIT: a5b15bdec8015bac998f727d97667acfb17e90c0 + ldbl-128ibm-compat: Add regular character scanning functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-scanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsscanf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.sh: New file. + +2019-11-22 Gabriel F. T. Gomes + + COMMIT: c2f959ed5f244dd4130bcbaab53e0f3ffc49831e + ldbl-128ibm-compat: Test positional arguments + + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c: Modified. + (do_test_call): Modified function. + (do_test): Modified function. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c: Modified. + (do_test_call): Modified function. + (do_test): Modified function. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c: Modified. + (do_test_call): Modified function. + (do_test): Modified function. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c: Modified. + (do_test_call): Modified function. + (do_test): Modified function. + +2019-11-22 Gabriel F. T. Gomes + + COMMIT: 5bbbd5ae057c8f862e65d9a230bccb2364f48f96 + ldbl-128ibm-compat: Test double values + + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c: Modified. + (do_test_call_rarg): Modified function. + (do_test_call): Modified function. + (do_test): Modified function. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c: Modified. + (do_test_call_rarg): Modified function. + (do_test_call): Modified function. + (do_test): Modified function. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c: Modified. + (do_test_call_rarg): Modified function. + (do_test_call): Modified function. + (do_test): Modified function. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c: Modified. + (do_test_call_rarg): Modified function. + (do_test_call): Modified function. + (do_test): Modified function. + +2019-11-22 Gabriel F. T. Gomes + + COMMIT: 329037cead5f7930c6081d130b22e03b0ff5e3a8 + ldbl-128ibm-compat: Add wide character, fortified printing functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-redir-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-redir-ieee128.c: New file. + +2019-11-22 Gabriel F. T. Gomes + + COMMIT: 5aa64dbc298c3ba0dfbeae984bc0915e41464e00 + ldbl-128ibm-compat: Add regular character, fortified printing functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-redir-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-redir-ieee128.c: New file. + +2019-11-22 Gabriel F. T. Gomes + + COMMIT: 1771a5cf0eb58b44adcd3d3fba12c4781a5015af + ldbl-128ibm-compat: Add wide character printing functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c: New file. + +2019-11-22 Gabriel F. T. Gomes + + COMMIT: 421a1d34bffab52263706b6332333e45fc10ab2f + ldbl-128ibm-compat: Add regular character printing functions + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ibm128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ieee128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c: New file. + +2019-11-22 Gabriel F. T. Gomes + Zack Weinberg + + COMMIT: 93486ba583ecef1ba17357cfeb658ce3bea583bd + Use DEPRECATED_SCANF macro for remaining C99-compliant scanf functions + + * include/wchar.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](__vswscanf): Remove. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + * libio/iovswscanf.c: Modified. + (libc_hidden_def): Remove. + * wcsmbs/wchar.h: Modified. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vfwscanf): Remove. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vwscanf): Remove. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vswscanf): Remove. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vfwscanf): Remove. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vwscanf): Remove. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vswscanf): Remove. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT): Remove. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT): Remove. + [__USE_ISOC99][! __USE_GNU && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT_NTH): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vfwscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vwscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vswscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vfwscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vwscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vswscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT_NTH): New. + +2019-11-22 Adhemerval Zanella + + COMMIT: 8781c1301d55db0a95398eb24c11b99205706bae + misc: Set generic pselect as ENOSYS + + * misc/pselect.c: Modified. + [! __pselect](weak_alias): Remove. + (signal.h): Remove include. + (stddef.h): Remove include. + (sys/time.h): Remove include. + (sysdep-cancel.h): Remove include. + (__pselect): Modified function. + (weak_alias): New. + * sysdeps/unix/sysv/linux/microblaze/pselect.c: New file. + * sysdeps/unix/sysv/linux/pselect.c: Modified. + [! __ASSUME_PSELECT](misc/pselect.c): Remove. + [__NR_pselect6][! __ASSUME_PSELECT](__generic_pselect): Remove. + [__NR_pselect6][! __ASSUME_PSELECT](__pselect): Remove. + [__NR_pselect6](__pselect): Remove. + [__NR_pselect6](weak_alias): Remove. + (errno.h): Remove include. + (signal.h): Remove include. + (time.h): Remove include. + (sys/poll.h): Remove include. + (kernel-features.h): Remove include. + [! __pselect](weak_alias): New. + (sys/select.h): Include file. + (__pselect): New function. + +2019-11-22 Paul A. Clarke + + COMMIT: 102b5b0cafaf09758a62f62a53fafb6db2f71136 + Remove duplicate inline implementation of issignalingf + + * sysdeps/ieee754/flt-32/e_powf.c: Modified. + (__powf): Modified function. + * sysdeps/ieee754/flt-32/math_config.h: Modified. + (issignalingf_inline): Remove function. + +2019-11-21 Emilio Cobos Álvarez + + COMMIT: bfa864e1645e140da2e1aae3cf0d0ba0674f6eb5 + Don't use a custom wrapper macro around __has_include (bug 25189). + + * misc/sys/cdefs.h: Modified. + [! __has_include](__glibc_has_include): Remove. + [__has_include](__glibc_has_include): Remove. + * sysdeps/unix/sysv/linux/bits/statx.h: Modified. + [__glibc_has_include ("linux/stat.h")][STATX_TYPE](__statx_timestamp_defined): Remove. + [__glibc_has_include ("linux/stat.h")][STATX_TYPE](__statx_defined): Remove. + [__glibc_has_include ("linux/stat.h")](linux/stat.h): Remove. + [__has_include][__has_include ("linux/stat.h")][STATX_TYPE](__statx_timestamp_defined): New. + [__has_include][__has_include ("linux/stat.h")][STATX_TYPE](__statx_defined): New. + [__has_include][__has_include ("linux/stat.h")](linux/stat.h): New. + +2019-11-21 Paul A. Clarke + + COMMIT: 854e91bf6b4221f424ffa13b9ef50f35623b7b74 + Enable inlining issignalingf within glibc + + * include/math.h: Modified. + [! _ISOMAC][! GET_FLOAT_WORD](GET_FLOAT_WORD): New. + [! _ISOMAC][! SET_FLOAT_WORD](SET_FLOAT_WORD): New. + [! _ISOMAC](stdint.h): Include file. + [! _ISOMAC](nan-high-order-bit.h): Include file. + [! _ISOMAC](ieee_float_shape_type): New. + [! _ISOMAC](__issignalingf): New function. + * sysdeps/generic/math_private.h: Modified. + [! GET_FLOAT_WORD](GET_FLOAT_WORD): Remove. + [! SET_FLOAT_WORD](SET_FLOAT_WORD): Remove. + (ieee_float_shape_type): Remove. + +2019-11-21 Florian Weimer + + COMMIT: fcb04b9aed26a737159ef7be9c5a6ad0994437dc + Introduce DL_LOOKUP_FOR_RELOCATE flag for _dl_lookup_symbol_x + + * elf/dl-reloc.c: Modified. + (_dl_relocate_object): Modified function. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)](): Modified. + +2019-11-21 Marcin Kościelnicki + + COMMIT: d5dfad4326fc683c813df1e37bbf5cf920591c8e + rtld: Check __libc_enable_secure before honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126) [BZ #25204] + + * NEWS: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h: Modified. + (EXTRA_LD_ENVVARS): Modified. + +2019-11-16 Florian Weimer + + COMMIT: 2a764c6ee848dfe92cb2921ed3b14085f15d9e79 + Enhance _dl_catch_exception to allow disabling exception handling + + * elf/dl-error-skeleton.c: Modified. + (_dl_catch_exception): Modified function. + * sysdeps/generic/ldsodefs.h: Modified. + +2019-11-16 Florian Weimer + + COMMIT: 84df7a4637be8ecb545df3501cc724f3a4d53c46 + hurd: Suppress GCC 10 -Warray-bounds warning in init-first.c [BZ #25097] + + * sysdeps/mach/hurd/i386/init-first.c: Modified. + (init): Modified function. + (libc-diag.h): Include file. + +2019-11-15 Florian Weimer + + COMMIT: 9e3e27c4e32c02e93d9779e41356adfb357957e3 + linux: Add comment on affinity set sizes to tst-skeleton-affinity.c + + * sysdeps/unix/sysv/linux/tst-skeleton-affinity.c: Modified. + +2019-11-15 Florian Weimer + + COMMIT: e21a7867713c87d0b0698254685d414d811d72b2 + Avoid zero-length array at the end of struct link_map [BZ #25097] + + * include/link.h: Modified. + [! _ISOMAC](link_map): Modified. + [! _ISOMAC](auditstate): New. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)][SHARED](link_map_audit_state): Modified function. + [SHARED](rtld_global): Modified. + +2019-11-15 Florian Weimer + + COMMIT: e1d559f337de2c8ab68a6749dfe873477c883807 + Introduce link_map_audit_state accessor function + + * csu/libc-start.c: Modified. + [! LIBC_START_MAIN_AUXVEC_ARG](LIBC_START_MAIN): Modified function. + [LIBC_START_MAIN_AUXVEC_ARG](LIBC_START_MAIN): Modified function. + * elf/dl-close.c: Modified. + (_dl_close_worker): Modified function. + * elf/dl-fini.c: Modified. + (_dl_fini): Modified function. + * elf/dl-load.c: Modified. + [! EXTERNAL_MAP_FROM_FD](_dl_map_object_from_fd): Modified function. + (open_verify): Modified function. + (_dl_map_object): Modified function. + * elf/dl-object.c: Modified. + (_dl_new_object): Modified function. + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + * elf/dl-runtime.c: Modified. + [! PROF][! ELF_MACHINE_RUNTIME_FIXUP_ARGS](_dl_fixup): Modified function. + [! PROF][ELF_MACHINE_RUNTIME_FIXUP_ARGS](_dl_fixup): Modified function. + [PROF](_dl_fixup): Modified function. + * elf/dl-sym.c: Modified. + (do_sym): Modified function. + * elf/rtld.c: Modified. + (load_audit_module): Modified function. + (notify_audit_modules_of_loaded_object): Modified function. + (dl_main): Modified function. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)][SHARED](link_map_audit_state): New function. + +2019-11-15 Florian Weimer + + COMMIT: c7bf5ceab6ec776ac7350d3b0190776bf532ac54 + Properly initialize audit cookie for the dynamic loader [BZ #25157] + + * elf/Makefile: Modified. + * elf/rtld.c: Modified. + (load_audit_module): Modified function. + * elf/tst-auditmany.c: New file. + * elf/tst-auditmanymod.h: New file. + * elf/tst-auditmanymod1.c: New file. + * elf/tst-auditmanymod2.c: New file. + * elf/tst-auditmanymod3.c: New file. + * elf/tst-auditmanymod4.c: New file. + * elf/tst-auditmanymod5.c: New file. + * elf/tst-auditmanymod6.c: New file. + * elf/tst-auditmanymod7.c: New file. + * elf/tst-auditmanymod8.c: New file. + * elf/tst-auditmanymod9.c: New file. + +2019-11-14 Florian Weimer + + COMMIT: c9bf28d625ad1533935d40ae94b15453d0c98508 + nios2: Work around backend bug triggered by csu/libc-tls.c (GCC PR 92499) + + * sysdeps/unix/sysv/linux/nios2/Makefile: Modified. + +2019-11-13 Florian Weimer + + COMMIT: 70c6e15654928c603c6d24bd01cf62e7a8e2ce9b + Redefine _IO_iconv_t to store a single gconv step pointer [BZ #25097] + + * libio/fileops.c: Modified. + (_IO_new_file_fopen): Modified function. + * libio/iofclose.c: Modified. + (_IO_new_fclose): Modified function. + * libio/iofwide.c: Modified. + (_IO_fwide): Modified function. + (__libio_codecvt_out): Modified function. + (__libio_codecvt_in): Modified function. + (__libio_codecvt_encoding): Modified function. + (__libio_codecvt_length): Modified function. + * libio/libio.h: Modified. + (_IO_iconv_t): Modified. + +2019-11-13 Krzysztof Koch + + COMMIT: 15740788d79447d863b88a5434f09d488d4088d3 + Add new script for plotting string benchmark JSON output + + * benchtests/scripts/plot_strings.py: New file. + +2019-11-13 Florian Weimer + + COMMIT: 02132c0f4c78f77d4a8cdbdea8f02956347e29ab + support: Fix support_set_small_thread_stack_size to build on Hurd + + * support/support_set_small_thread_stack_size.c: Modified. + (sys/param.h): Remove include. + (support_set_small_thread_stack_size): Modified function. + (limits.h): Include file. + +2019-11-12 Florian Weimer + + COMMIT: d4625a19fe64f664119a541b317fb83de01bb273 + login: Use pread64 in utmp implementation + + * login/utmp_file.c: Modified. + (__libc_getutent_r): Modified function. + (internal_getut_nolock): Modified function. + (__libc_getutid_r): Modified function. + (__libc_getutline_r): Modified function. + (__libc_pututline): Modified function. + (read_last_entry): New function. + +2019-11-12 Florian Weimer + + COMMIT: ca136bb0a36d0a7056c926bfe5126873566efe40 + Clarify purpose of assert in _dl_lookup_symbol_x + + * elf/dl-lookup.c: Modified. + (_dl_lookup_symbol_x): Modified function. + +2019-11-12 Krzysztof Koch + + COMMIT: b9f145df85145506f8e61bac38b792584a38d88f + aarch64: Increase small and medium cases for __memcpy_generic + + * sysdeps/aarch64/memcpy.S: Modified. + +2019-11-12 Florian Weimer + + COMMIT: 76a7c103eb9060f9e3ba01d073ae4621a17d8b46 + login: Introduce matches_last_entry to utmp processing + + * login/utmp_file.c: Modified. + (__libc_setutent): Modified function. + (internal_getut_nolock): Modified function. + (__libc_pututline): Modified function. + (matches_last_entry): New function. + +2019-11-12 Florian Weimer + + COMMIT: cba932a5a9e91cffd7f4172d7e91f9b2efb1f84b + slotinfo in struct dtv_slotinfo_list should be flexible array [BZ #25097] + + * csu/libc-tls.c: Modified. + (): Remove. + (init_slotinfo): Modified function. + (__libc_setup_tls): Modified function. + (array_length.h): Include file. + (static_slotinfo): New. + (slotinfo): New. + * nptl_db/db-symbols.h: Modified. + (DB_STRUCT_FLEXIBLE_ARRAY): New. + (DB_STRUCT_FIELD): New. + (DB_STRUCT_FLEXIBLE_ARRAY): New. + * nptl_db/db_info.c: Modified. + [TLS_DTV_AT_TP](DB_STRUCT_FLEXIBLE_ARRAY): New. + (FLEXIBLE_ARRAY_DESC): New. + * nptl_db/structs.def: Modified. + * nptl_db/thread_dbP.h: Modified. + (): Modified. + (td_thragent): Modified. + * sysdeps/generic/ldsodefs.h: Modified. + [SHARED](rtld_global): Modified. + +2019-11-11 Adhemerval Zanella + + COMMIT: 42b926d303e571d5f9a4e97ffdb8e05d1eabae66 + Fix clock_nanosleep when interrupted by a signal + + * sysdeps/unix/sysv/linux/clock_nanosleep.c: Modified. + [__TIMESIZE != 64](__clock_nanosleep): Modified function. + (__clock_nanosleep_time64): Modified function. + +2019-11-11 Arjun Shankar + + COMMIT: f0f0d79ac3a2ed7b4e2b99ff993027172068446e + libio/tst-fopenloc: Use xsetlocale, xfopen, and xfclose + + * libio/tst-fopenloc.c: Modified. + (do_test): Remove. + (TEST_FUNCTION): Remove. + (../test-skeleton.c): Remove include. + (do_test): Modified function. + (support/support.h): Include file. + (support/xstdio.h): Include file. + (support/test-driver.c): Include file. + +2019-11-11 Arjun Shankar + + COMMIT: cce35a50c1de0cec5cd1f6c18979ff6ee3ea1dd1 + support: Add xsetlocale function + + * support/Makefile: Modified. + * support/support.h: Modified. + (xsetlocale): New function. + * support/xsetlocale.c: New file. + +2019-11-11 Joseph Myers + + COMMIT: 80a5f8b1569bdecd8d517ae312a98e3c8f224f4b + Declare asctime_r, ctime_r, gmtime_r, localtime_r for C2X. + + * time/time.h: Modified. + [__USE_POSIX](gmtime_r): Remove. + [__USE_POSIX](localtime_r): Remove. + [__USE_POSIX](asctime_r): Remove. + [__USE_POSIX](ctime_r): Remove. + [__USE_POSIX || __GLIBC_USE (ISOC2X)](gmtime_r): New. + [__USE_POSIX || __GLIBC_USE (ISOC2X)](localtime_r): New. + [__USE_POSIX || __GLIBC_USE (ISOC2X)](asctime_r): New. + [__USE_POSIX || __GLIBC_USE (ISOC2X)](ctime_r): New. + +2019-11-11 Lukasz Majewski + + COMMIT: 258c242128a35e7fc17aff34c9dc23cd7576e88f + y2038: linux: Provide __ppoll64 implementation + + * include/sys/poll.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](time.h): New. + [! _ISOMAC][__TIMESIZE != 64](signal.h): New. + [! _ISOMAC][__TIMESIZE != 64](__ppoll64): New. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__ppoll64): New. + * sysdeps/unix/sysv/linux/ppoll.c: Modified. + (ppoll): Remove function. + [__TIMESIZE != 64](__ppoll): New. + (kernel-features.h): Include file. + (__ppoll64): New function. + (strong_alias): New. + +2019-11-11 Florian Weimer + + COMMIT: 10cf7f52c60209f34199d216ef6710568d6297bf + linux: Reduce stack size for nptl/tst-thread-affinity-pthread + + * sysdeps/unix/sysv/linux/tst-skeleton-thread-affinity.c: Modified. + (early_test): Modified function. + (support/xthread.h): Include file. + +2019-11-11 Florian Weimer + + COMMIT: 36ada9ee2cd3b686df6952446b92816584eacbb8 + support: Add support_set_small_thread_stack_size + + * support/Makefile: Modified. + * support/support_set_small_thread_stack_size.c: New file. + * support/support_small_stack_thread_attribute.c: New file. + * support/xthread.h: Modified. + (support_set_small_thread_stack_size): New function. + (support_small_stack_thread_attribute): New function. + +2019-11-11 Andreas Schwab + + COMMIT: fc141ea78ee3d87c67b18488827fe2d89c9343e7 + Fix array bounds violation in regex matcher (bug 25149) + + * posix/regexec.c: Modified. + (proceed_next_node): Modified function. + +2019-11-08 Alistair Francis + + COMMIT: 2e44b10b42d68d9887ccab17b76db5d7bbae4fb6 + sysdeps/clock_nanosleep: Use clock_nanosleep_time64 if avaliable + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__clock_nanosleep_time64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__clock_nanosleep_time64): New. + * sysdeps/unix/sysv/linux/clock_nanosleep.c: Modified. + (__clock_nanosleep): Remove function. + [__TIMESIZE != 64](__clock_nanosleep): New. + (kernel-features.h): Include file. + (__clock_nanosleep_time64): New function. + +2019-11-08 Adhemerval Zanella + + COMMIT: 31f000a8a65932bb34f8995f54297486c91648c3 + Remove hppa pthreadP.h + + * sysdeps/unix/sysv/linux/hppa/pthreadP.h: Delete file. + +2019-11-07 Florian Weimer + + COMMIT: be6b16d975683e6cca57852cd4cfe715b2a9d8b1 + login: Acquire write lock early in pututline [BZ #24882] + + * login/Makefile: Modified. + * login/tst-pututxline-cache.c: New file. + * login/utmp_file.c: Modified. + (internal_getut_r): Modified function. + (__libc_pututline): Modified function. + (internal_getut_nolock): New function. + +2019-11-07 Adhemerval Zanella + + COMMIT: 4f4bb489e0ddd2f24b2a5d352bb39f8dcdb38050 + nptl: Add missing placeholder abi symbol from nanosleep move + + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + +2019-11-07 Florian Weimer + + COMMIT: b0a83ae71b2588bd2a9e6b40f95191602940e01e + login: Remove double-assignment of fl.l_whence in try_file_lock + + * login/utmp_file.c: Modified. + (try_file_lock): Modified function. + +2019-11-07 Florian Weimer + + COMMIT: a673c07af3bcfa24432c3fd8a1dea12f931ee903 + hurd: Use __clock_gettime in _hurd_select + + * hurd/hurdselect.c: Modified. + (_hurd_select): Modified function. + +2019-11-07 Florian Weimer + + COMMIT: 50471a8613dc487dce8b7cabc35a01b4b5b242ea + hurd: Remove lingering references to the time function + + * sysdeps/mach/sleep.c: Modified. + (__sleep): Modified function. + +2019-11-07 liqingqing + + COMMIT: dae7bf38978294f7d1aeece7f31c738281a3ba04 + math: enhance the endloop condition of function handle_input_flag + + * math/gen-auto-libm-tests.c: Modified. + (handle_input_flag): Modified function. + +2019-11-06 Adhemerval Zanella + + COMMIT: 807edded258e888dbfa0d19ca967d6e42882d069 + nptl: Refactor thrd_sleep in terms of clock_nanosleep + + * nptl/thrd_sleep.c: Modified. + (thrd_sleep): Modified function. + +2019-11-06 Adhemerval Zanella + + COMMIT: 3537ecb49cf7177274607004c562d6f9ecc99474 + Refactor nanosleep in terms of clock_nanosleep + + * include/time.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](__clock_nanosleep): New. + [! _ISOMAC](libc_hidden_proto): New function. + * posix/nanosleep.c: Modified. + (__nanosleep): Modified function. + (libc_hidden_def): New. + (weak_alias): New. + * sysdeps/unix/clock_nanosleep.c: Move to... + * sysdeps/mach/clock_nanosleep.c: ... here. + (assert.h): Remove include. + (sysdep-cancel.h): Remove include. + (__clock_nanosleep): Modified function. + (mach.h): Include file. + (unistd.h): Include file. + (posix-timer.h): Include file. + (nanosleep_call): New function. + (libc_hidden_def): New. + * sysdeps/mach/nanosleep.c: Delete file. + * sysdeps/unix/sysv/linux/clock_nanosleep.c: Modified. + (libc_hidden_def): New. + * sysdeps/unix/sysv/linux/nanosleep.c: Delete file. + * time/clock_nanosleep.c: Modified. + (libc_hidden_def): New. + +2019-11-06 Adhemerval Zanella + + COMMIT: 79a547b162657b3fa34d31917cc29f0e7af19e4c + nptl: Move nanosleep implementation to libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/libpthread-compat.c: Modified. + [(SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))](__libpthread_version_placeholder): Remove. + [(SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))](compat_symbol): Remove. + [(SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2_6))](__libpthread_version_placeholder): New. + [(SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2_6))](compat_symbol): New. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + * time/Makefile: Modified. + +2019-11-06 Adhemerval Zanella + + COMMIT: 2a0356e1191804d57005e1cfe2a72f019b7a8cce + posix: Sync regex with gnulib + + * include/verify.h: Modified. + (assume): New. + * posix/regcomp.c: Modified. + [_REGEX_RE_COMP || _LIBC][! _LIBC][! _LIBC](parse_bracket_exp): Modified function. + [_REGEX_RE_COMP || _LIBC][! _LIBC][_LIBC](parse_bracket_exp): Modified function. + [_REGEX_RE_COMP || _LIBC][! _LIBC](build_charclass_op): Modified function. + [_REGEX_RE_COMP || _LIBC][! _LIBC](create_tree): Modified function. + [_REGEX_RE_COMP || _LIBC](link_nfa_nodes): Modified function. + [_REGEX_RE_COMP || _LIBC](calc_eclosure): Modified function. + [_REGEX_RE_COMP || _LIBC](parse_expression): Modified function. + * posix/regex_internal.c: Modified. + [RE_ENABLE_I18N](build_wcs_buffer): Modified function. + [RE_ENABLE_I18N](build_wcs_upper_buffer): Modified function. + (re_string_reconstruct): Modified function. + (re_string_context_at): Modified function. + * posix/regex_internal.h: Modified. + [GNULIB_LOCK && ! USE_UNLOCKED_IO][! USE_WINDOWS_THREADS](lock_define): Remove. + [GNULIB_LOCK && ! USE_UNLOCKED_IO][(( __GNUC__ && ! __STRICT_ANSI__) || ( __STDC_VERSION__ && 199901L <= __STDC_VERSION__))](lock_define): Remove. + [GNULIB_LOCK && ! USE_UNLOCKED_IO][USE_POSIX_THREADS](lock_define): Remove. + [GNULIB_LOCK && ! USE_UNLOCKED_IO][USE_PTH_THREADS](lock_define): Remove. + [GNULIB_LOCK && ! USE_UNLOCKED_IO][USE_SOLARIS_THREADS](lock_define): Remove. + [GNULIB_LOCK && ! USE_UNLOCKED_IO][USE_WINDOWS_THREADS](lock_define): Remove. + [GNULIB_LOCK && ! USE_UNLOCKED_IO](lock_define): New. + (assert.h): Remove include. + (re_match_context_t): Modified. + [!(DEBUG && DEBUG != 0)](DEBUG_ASSERT): New. + [DEBUG && DEBUG != 0](assert.h): New. + [DEBUG && DEBUG != 0](DEBUG_ASSERT): New. + (verify.h): Include file. + * posix/regexec.c: Modified. + [RE_ENABLE_I18N](transit_state_mb): Modified function. + [_REGEX_RE_COMP || _LIBC](re_search_internal): Modified function. + (re_search_stub): Modified function. + (re_copy_regs): Modified function. + (prune_impossible_nodes): Modified function. + (check_matching): Modified function. + (check_halt_state_context): Modified function. + (pop_fail_stack): Modified function. + (set_regs): Modified function. + (sift_states_backward): Modified function. + (build_sifted_states): Modified function. + (transit_state_bkref): Modified function. + (check_arrival_add_next_nodes): Modified function. + (check_arrival_expand_ecl): Modified function. + (group_nodes_into_DFAstates): Modified function. + (match_ctx_add_subtop): Modified function. + +2019-11-06 Mike FABIAN + + COMMIT: 4ecd584908109db3ac9bf4aca307ddd44e029275 + Add mnw language code [BZ #25139] + + * locale/iso-639.def: Modified. + +2019-11-06 Talachan Mon + + COMMIT: c5fbd7c3ea4d3f8863e8d195feda64c4a8c29e8a + Add new locale: mnw_MM (Mon language spoken in Myanmar) [BZ #25139] + + * NEWS: Modified. + * localedata/SUPPORTED: Modified. + * localedata/locales/mnw_MM: New file. + +2019-11-06 Stefan Liebler + + COMMIT: 64bca76f42a82e6a9ea2b0166deab7aa2b7efbea + S390: Fp comparison are now raising FE_INVALID with gcc 10. + + * sysdeps/s390/fpu/fix-fp-int-compare-invalid.h: Modified. + (FIX_COMPARE_INVALID): Remove. + [!(__GNUC_PREREQ (10, 0))](FIX_COMPARE_INVALID): New. + [__GNUC_PREREQ (10, 0)](FIX_COMPARE_INVALID): New. + +2019-11-05 Lukasz Majewski + + COMMIT: f2e30cc0f89f348a154c5c09d21a1de561c7b2f8 + linux: pselect: Remove CALL_PSELECT6 macro + + * sysdeps/unix/sysv/linux/pselect.c: Modified. + [__NR_pselect6](__pselect): Modified function. + +2019-11-05 Arjun Shankar + + COMMIT: 81a1fa6cbfef5ca33e7eeb11f8f9a528f4dc0117 + Fix run-one-test so that it runs elf tests + + * Makefile: Modified. + +2019-11-04 Mike Crowe + + COMMIT: 3ef5e118f2684bdc3f8e5776269557038705cefb + nptl: Fix niggles with pthread_clockjoin_np + + * NEWS: Modified. + * manual/threads.texi: Modified. + * sysdeps/nptl/pthread.h: Modified. + [__USE_GNU](pthread_clockjoin_np): Modified. + * sysdeps/unix/sysv/linux/hppa/pthread.h: Modified. + [__USE_GNU](pthread_clockjoin_np): New function. + +2019-11-03 John David Anglin + + COMMIT: e4c23a029a54c8c7788eff9ca771a01cccaaa0ce + hppa: Align __clone stack argument to 8 bytes (Bug 25066) + + * sysdeps/unix/sysv/linux/hppa/clone.S: Modified. + +2019-11-02 Lukasz Majewski + + COMMIT: 42893aa38fd6041d349ea0427c4d5ccbacd9a2be + y2038: linux: Provide __futimens64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__futimens64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__futimens64): New. + * sysdeps/unix/sysv/linux/futimens.c: Modified. + (futimens): Remove function. + [__TIMESIZE != 64](__futimens): New. + (__futimens64): New function. + (weak_alias): New. + +2019-11-02 Lukasz Majewski + + COMMIT: f5b6fd258b6dd520403a20024e58cb491aca4cbd + y2038: linux: Provide __utimensat64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__utimensat64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__utimensat64): New. + [! _ISOMAC](__utimensat64_helper): New function. + [! _ISOMAC](libc_hidden_proto): New function. + * sysdeps/unix/sysv/linux/utimensat.c: Modified. + (utimensat): Remove function. + [__TIMESIZE != 64](__utimensat): New. + (time.h): Include file. + (kernel-features.h): Include file. + (__utimensat64_helper): New function. + (libc_hidden_def): New. + (__utimensat64): New function. + (weak_alias): New. + +2019-11-01 Mike Crowe + + COMMIT: 7aeab82edb38390c2a02519d312e098f4049e867 + nptl: Add pthread_timedjoin_np, pthread_clockjoin_np NULL timeout test + + * nptl/Makefile: Modified. + * nptl/tst-join14.c: New file. + +2019-11-01 Mike Crowe + + COMMIT: 69ca4b54c151cec42ccca5e05790efc1a8206b47 + nptl: Add pthread_clockjoin_np + + * NEWS: Modified. + * manual/threads.texi: Modified. + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/pthreadP.h: Modified. + [IS_IN (libpthread)](hidden_proto): Remove. + (__pthread_timedjoin_ex): Remove. + (__pthread_clockjoin_ex): New function. + * nptl/pthread_clockjoin.c: New file. + * nptl/pthread_join.c: Modified. + (__pthread_join): Modified function. + * nptl/pthread_join_common.c: Modified. + (timedwait_tid): Remove function. + (__pthread_timedjoin_ex): Remove function. + (hidden_def): Remove. + (clockwait_tid): New function. + (__pthread_clockjoin_ex): New function. + * nptl/pthread_timedjoin.c: Modified. + (__pthread_timedjoin_np): Modified function. + * nptl/pthread_tryjoin.c: Modified. + (pthread_tryjoin_np): Modified function. + * nptl/thrd_join.c: Modified. + (thrd_join): Modified function. + * nptl/tst-join10.c: New file. + * nptl/tst-join11.c: New file. + * nptl/tst-join12.c: New file. + * nptl/tst-join13.c: New file. + * nptl/tst-join3.c: Modified. + (tf): Modified function. + (do_test): Modified function. + (CLOCK_USE_TIMEDJOIN): New. + (do_test_clock): New function. + * nptl/tst-join5.c: Modified. + (thread_join): Modified function. + (support/timespec.h): Include file. + (support/xtime.h): Include file. + * sysdeps/nptl/pthread.h: Modified. + [__USE_GNU](pthread_clockjoin_np): New function. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2019-11-01 Mike Crowe + + COMMIT: 893bbdd0072fbf96808e66af04b970e5b39171fb + manual: Add documentation for pthread_tryjoin_np and pthread_timedjoin_np + + * manual/threads.texi: Modified. + +2019-11-01 Mike Crowe + + COMMIT: 22434b2f0360212d6c3ae775f425a0dbc97b2a4d + nptl: Convert tst-join3 to use libsupport + + * nptl/tst-join3.c: Modified. + (tf): Modified function. + (do_test): Modified function. + (TEST_FUNCTION): Remove. + (../test-skeleton.c): Remove include. + (support/check.h): Include file. + (support/timespec.h): Include file. + (support/xthread.h): Include file. + (support/xtime.h): Include file. + (support/test-driver.c): Include file. + +2019-10-31 Paul Eggert + + COMMIT: f8042536dcdef2543b9506500ed22564df12dcd1 + Sync time/mktime.c with gnulib + + * time/mktime.c: Modified. + +2019-10-31 Adhemerval Zanella + + COMMIT: c1dac8f83ecda0d23f92ddacad52818f658988a4 + Sync timespec-{add,sub} with gnulib + + * support/timespec-add.c: Modified. + (timespec_add): Modified function. + * support/timespec-sub.c: Modified. + (timespec_sub): Modified function. + +2019-10-31 Adhemerval Zanella + + COMMIT: 356ced8dcb2c65f2d61eaa0fec32fa4b6628be16 + Sync intprops.h with gnulib + + * include/intprops.h: Modified. + [!(201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS)][! LLONG_MAX](_GL_INT_OP_WRAPV_LONGISH): Modified. + [!(201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS)][LLONG_MAX](_GL_INT_OP_WRAPV_LONGISH): Modified. + [!(201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS)](_GL_INT_OP_WRAPV): Modified. + [!(201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS)][! _GL_HAVE___TYPEOF__](_GL_INT_OP_WRAPV_SMALLISH): New. + [!(201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS)][_GL_HAVE___TYPEOF__](_GL_INT_OP_WRAPV_SMALLISH): New. + [!(5 <= __GNUC__ && ! __ICC)](_GL_HAS_BUILTIN_OVERFLOW): Remove. + [201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS](_GL_INT_OP_WRAPV): Modified. + [5 <= __GNUC__ && ! __ICC](_GL_HAS_BUILTIN_OVERFLOW): Remove. + [5 <= __GNUC__ && ! __ICC](_GL_HAS_BUILTIN_ADD_OVERFLOW): New. + [_GL_HAS_BUILTIN_OVERFLOW](_GL_INT_OP_WRAPV): Remove. + (INT_ADD_WRAPV): Remove. + (INT_SUBTRACT_WRAPV): Remove. + (INT_MULTIPLY_WRAPV): Remove. + (_GL_INT_OP_CALC): Modified. + (_GL_INT_OP_CALC1): Remove. + [! _GL_HAS_BUILTIN_ADD_OVERFLOW](INT_ADD_WRAPV): New. + [! _GL_HAS_BUILTIN_ADD_OVERFLOW](INT_SUBTRACT_WRAPV): New. + [! _GL_HAS_BUILTIN_MUL_OVERFLOW](INT_MULTIPLY_WRAPV): New. + [! __clang__](_GL_HAS_BUILTIN_MUL_OVERFLOW): New. + [! __has_builtin](_GL_HAS_BUILTIN_ADD_OVERFLOW): New. + [_GL_HAS_BUILTIN_ADD_OVERFLOW](INT_ADD_WRAPV): New. + [_GL_HAS_BUILTIN_ADD_OVERFLOW](INT_SUBTRACT_WRAPV): New. + [_GL_HAS_BUILTIN_MUL_OVERFLOW](INT_MULTIPLY_WRAPV): New. + [__clang__](_GL_HAS_BUILTIN_MUL_OVERFLOW): New. + [__has_builtin](_GL_HAS_BUILTIN_ADD_OVERFLOW): New. + (_GL_INT_ADD_RANGE_OVERFLOW): New. + (_GL_INT_SUBTRACT_RANGE_OVERFLOW): New. + (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New. + +2019-10-31 Adhemerval Zanella + + COMMIT: c81aa64e81826c308c4ecbd1982fa086ca6e647b + Refactor adjtimex based on clock_adjtime + + * include/time.h: Modified. + [! _ISOMAC][__linux__](__clock_adjtime): New. + [! _ISOMAC][__linux__](libc_hidden_proto): New. + * sysdeps/unix/sysv/linux/adjtimex.c: Modified. + (___adjtimex): Modified function. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + +2019-10-31 Adhemerval Zanella + + COMMIT: 6b1472eb2ea16f99c4729f975ca25af980ce3894 + Refactor PI mutexes internal definitions + + * nptl/pthread_mutex_init.c: Modified. + (prio_inherit_missing): Modified function. + (futex-internal.h): Include file. + * nptl/pthread_mutex_lock.c: Modified. + (lowlevellock.h): Remove include. + (__pthread_mutex_lock_full): Modified function. + (futex-internal.h): Include file. + * nptl/pthread_mutex_timedlock.c: Modified. + (__pthread_mutex_clocklock_common): Modified function. + (futex-internal.h): Include file. + * nptl/pthread_mutex_trylock.c: Modified. + (__pthread_mutex_trylock): Modified function. + (futex-internal.h): Include file. + * nptl/pthread_mutex_unlock.c: Modified. + (__pthread_mutex_unlock_full): Modified function. + (futex-internal.h): Include file. + * sysdeps/nptl/futex-internal.h: Modified. + (futex_lock_pi): New function. + (futex_unlock_pi): New function. + * sysdeps/nptl/lowlevellock-futex.h: Modified. + [! __ASSEMBLER__](lll_futex_timed_lock_pi): New. + [! __ASSEMBLER__](lll_futex_timed_unlock_pi): New. + +2019-10-31 Adhemerval Zanella + + COMMIT: fbb4a3143724ef3f044a4f05351fe041300ee382 + Remove pause and nanosleep not cancel wrappers + + * sysdeps/generic/not-cancel.h: Modified. + (__pause_nocancel): Remove. + (__nanosleep_nocancel): Remove. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/nanosleep_nocancel.c: Delete file. + * sysdeps/unix/sysv/linux/not-cancel.h: Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Remove. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Remove. + (__pause_nocancel): Remove. + (__nanosleep_nocancel): Remove. + * sysdeps/unix/sysv/linux/pause_nocancel.c: Delete file. + +2019-10-31 Adhemerval Zanella + + COMMIT: 215078017fd25fd64074e25ccd3dde0f6f19d4fe + nptl: Replace non cancellable pause/nanosleep with futex + + * nptl/lll_timedlock_wait.c: Modified. + (__lll_clocklock_wait): Modified function. + * nptl/pthread_mutex_lock.c: Modified. + (__pthread_mutex_lock_full): Modified function. + * nptl/pthread_mutex_timedlock.c: Modified. + (__pthread_mutex_clocklock_common): Modified function. + * sysdeps/nptl/lowlevellock.h: Modified. + (__lll_clocklock_wait): Modified. + (__lll_clocklock): Modified. + (time.h): Include file. + (lll_timedwait): New. + * sysdeps/sparc/sparc32/lll_timedlock_wait.c: Delete file. + * sysdeps/sparc/sparc32/lowlevellock.c: Modified. + [IS_IN (libpthread)](__lll_clocklock_wait): Remove function. + * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Modified. + (__lll_clocklock_wait): Modified. + (__lll_clocklock): Modified function. + (errno.h): Include file. + (lll_timedwait): New. + +2019-10-31 Adhemerval Zanella + + COMMIT: b58032743415575661dddd4e813440b6b9430327 + Consolidate lowlevellock-futex.h + + * sysdeps/nptl/lowlevellock-futex.h: Modified. + (errno.h): Remove include. + (LLL_SHARED): Modified. + (lll_futex_wait): Remove. + (lll_futex_timed_wait): Remove. + (lll_futex_supported_clockid): Remove. + (lll_futex_clock_wait_bitset): Remove. + (lll_futex_wake): Remove. + (lll_futex_requeue): Remove. + (lll_futex_wake_unlock): Remove. + (lll_futex_wait_requeue_pi): Remove. + (lll_futex_timed_wait_requeue_pi): Remove. + (lll_futex_cmp_requeue_pi): Remove. + (lll_futex_wait_cancel): Remove. + (lll_futex_timed_wait_cancel): Remove. + [! __ASSEMBLER__][!(IS_IN (libc) || IS_IN (rtld))](__lll_private_flag): New. + [! __ASSEMBLER__][IS_IN (libc) || IS_IN (rtld)](__lll_private_flag): New. + [! __ASSEMBLER__](sysdep.h): New. + [! __ASSEMBLER__](sysdep-cancel.h): New. + [! __ASSEMBLER__](kernel-features.h): New. + [! __ASSEMBLER__](lll_futex_syscall): New. + [! __ASSEMBLER__](lll_futex_wait): New. + [! __ASSEMBLER__](lll_futex_timed_wait): New. + [! __ASSEMBLER__](lll_futex_supported_clockid): New. + [! __ASSEMBLER__](lll_futex_clock_wait_bitset): New. + [! __ASSEMBLER__](lll_futex_wake): New. + [! __ASSEMBLER__](lll_futex_requeue): New. + [! __ASSEMBLER__](lll_futex_wake_unlock): New. + [! __ASSEMBLER__](lll_futex_wait_requeue_pi): New. + [! __ASSEMBLER__](lll_futex_timed_wait_requeue_pi): New. + [! __ASSEMBLER__](lll_futex_cmp_requeue_pi): New. + [! __ASSEMBLER__](lll_futex_wait_cancel): New. + [! __ASSEMBLER__](lll_futex_timed_wait_cancel): New. + (FUTEX_WAIT): New. + (FUTEX_WAKE): New. + (FUTEX_REQUEUE): New. + (FUTEX_CMP_REQUEUE): New. + (FUTEX_WAKE_OP): New. + (FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): New. + (FUTEX_LOCK_PI): New. + (FUTEX_UNLOCK_PI): New. + (FUTEX_TRYLOCK_PI): New. + (FUTEX_WAIT_BITSET): New. + (FUTEX_WAKE_BITSET): New. + (FUTEX_WAIT_REQUEUE_PI): New. + (FUTEX_CMP_REQUEUE_PI): New. + (FUTEX_PRIVATE_FLAG): New. + (FUTEX_CLOCK_REALTIME): New. + (FUTEX_BITSET_MATCH_ANY): New. + * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Delete file. + +2019-10-31 Adhemerval Zanella + + COMMIT: b865eed0ac73e385b32de7f97003f44e4798b8d4 + Consolidate futex-internal.h + + * sysdeps/nptl/futex-internal.h: Modified. + (futex_supports_pshared): Remove. + (futex_wait): Remove. + (futex_wait_cancelable): Remove. + (futex_reltimed_wait): Remove. + (futex_reltimed_wait_cancelable): Remove. + (futex_abstimed_supported_clockid): Remove. + (futex_abstimed_wait): Remove. + (futex_abstimed_wait_cancelable): Remove. + (futex_wake): Remove. + (futex_supports_pshared): New function. + (futex_wait): New function. + (futex_wait_cancelable): New function. + (futex_reltimed_wait): New function. + (futex_reltimed_wait_cancelable): New function. + (futex_abstimed_supported_clockid): New function. + (futex_abstimed_wait): New function. + (futex_abstimed_wait_cancelable): New function. + (futex_wake): New function. + * sysdeps/unix/sysv/linux/futex-internal.h: Delete file. + +2019-10-30 DJ Delorie + + COMMIT: ff12e0fb91b9072800f031cb21fb2651ee7b6251 + Base max_fast on alignment, not width, of bins (Bug 24903) + + * malloc/malloc.c: Modified. + (set_max_fast): Modified. + +2019-10-30 Zack Weinberg + + COMMIT: 62193c4a3af9c1e15c039b323f45ccd2fddc119f + Revise the documentation of simple calendar time. + + * manual/filesys.texi: Modified. + * manual/llio.texi: Modified. + * manual/threads.texi: Modified. + * manual/time.texi: Modified. + +2019-10-30 Zack Weinberg + Adhemerval Zanella + + COMMIT: 2f2c76e1c8d8c4431c6395afeee420b71a4d772a + Make second argument of gettimeofday as 'void *' + + * include/sys/time.h: Modified. + [! _ISOMAC](__gettimeofday): Modified. + * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: Modified. + [! SHARED](__gettimeofday): Modified function. + (__gettimeofday_vsyscall): Modified function. + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c: Modified. + [! SHARED](__gettimeofday): Modified function. + (__gettimeofday_syscall): Modified function. + * sysdeps/unix/sysv/linux/x86/gettimeofday.c: Modified. + [! SHARED](__gettimeofday): Modified function. + (__gettimeofday_syscall): Modified function. + * time/gettimeofday.c: Modified. + (___gettimeofday): Modified function. + * time/sys/time.h: Modified. + [! __USE_MISC](__timezone_ptr_t): Remove. + [__USE_MISC](__timezone_ptr_t): Remove. + (gettimeofday): Modified. + +2019-10-30 Adhemerval Zanella + Zack Weinberg + + COMMIT: 5e46749c64d51f50f8511ed99c1266d7c13e182b + Use clock_gettime to implement gettimeofday. + + * NEWS: Modified. + * include/sys/time.h: Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + * sysdeps/unix/clock_gettime.c: Move to... + * sysdeps/mach/clock_gettime.c: ... here. + (sys/time.h): Remove include. + (__clock_gettime): Modified function. + (mach.h): Include file. + * sysdeps/mach/gettimeofday.c: Delete file. + * sysdeps/posix/gettimeofday.c: Delete file. + * sysdeps/unix/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: Modified. + [! SHARED](sysdep.h): Remove include. + [! SHARED](__gettimeofday): Modified function. + [! SHARED](libc_hidden_def): Remove. + [SHARED](__gettimeofday_vsyscall): Remove function. + [SHARED](libc_ifunc_hidden): Remove. + [SHARED](libc_hidden_def): Remove. + [SHARED](libc_ifunc): New. + (sys/time.h): Remove include. + (libc_hidden_weak): Remove. + [HAVE_GETTIMEOFDAY_VSYSCALL](HAVE_VSYSCALL): New. + (time.h): Include file. + (sysdep.h): Include file. + (sysdep-vdso.h): Include file. + (__gettimeofday_vsyscall): New function. + * sysdeps/unix/sysv/linux/i386/gettimeofday.c: Move to... + * sysdeps/unix/sysv/linux/alpha/gettimeofday.c: ... here. + [SHARED](__gettimeofday): Remove. + [SHARED](__gettimeofday): Remove. + [SHARED](__gettimeofday_type): Remove. + [SHARED](libc_hidden_def): Remove. + (sys/time.h): Remove include. + (sysdeps/unix/sysv/linux/x86/gettimeofday.c): Remove include. + (VERSION_gettimeofday): New. + (time/gettimeofday.c): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_gettimeofday.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__gettimeofday_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](string.h): Include file. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](time.h): Include file. + * sysdeps/unix/sysv/linux/alpha/tv32-compat.h: Modified. + (valid_timespec_to_timeval32): New function. + * sysdeps/unix/sysv/linux/gettimeofday.c: Delete file. + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c: Modified. + [! SHARED](sysdep.h): Remove include. + [! SHARED](errno.h): Remove include. + [! SHARED](__gettimeofday): Modified function. + [! SHARED](libc_hidden_def): Remove. + [!(SHARED && ! __powerpc64__)](__redirect___gettimeofday): Remove. + [SHARED][! __powerpc64__](__gettimeofday): Remove. + [SHARED][! __powerpc64__](__gettimeofday_vsyscall): Remove. + [SHARED][! __powerpc64__](libc_hidden_def): Remove. + [SHARED](dl-machine.h): Remove include. + [SHARED](sysdep.h): Remove include. + [SHARED](__gettimeofday_syscall): Remove function. + [SHARED](libc_ifunc_hidden): Remove. + [SHARED](libc_hidden_def): Remove. + [SHARED](libc_ifunc): New function. + [SHARED && ! __powerpc64__](__gettimeofday): Remove. + (sys/time.h): Remove include. + (libc_hidden_weak): Remove. + [HAVE_GETTIMEOFDAY_VSYSCALL](HAVE_VSYSCALL): New. + (time.h): Include file. + (sysdep.h): Include file. + (sysdep-vdso.h): Include file. + (__gettimeofday_syscall): New function. + * sysdeps/unix/sysv/linux/x86/gettimeofday.c: Modified. + [! SHARED](sysdep.h): Remove include. + [! SHARED](errno.h): Remove include. + [! SHARED](__gettimeofday): Modified function. + [! SHARED](libc_hidden_def): Remove. + [SHARED][! __gettimeofday_type](__gettimeofday_type): Remove. + [SHARED](errno.h): Remove include. + [SHARED](sysdep-vdso.h): Remove include. + [SHARED](sysdep-vdso.h): Remove include. + [SHARED](__gettimeofday_syscall): Remove function. + [SHARED](libc_ifunc_hidden): Remove. + [SHARED](libc_hidden_def): Remove. + [SHARED](libc-vdso.h): Include file. + [SHARED](libc_ifunc): New function. + (sys/time.h): Remove include. + (libc_hidden_weak): Remove. + [HAVE_GETTIMEOFDAY_VSYSCALL](HAVE_VSYSCALL): New. + (time.h): Include file. + (sysdep.h): Include file. + (sysdep-vdso.h): Include file. + (__gettimeofday_syscall): New function. + * sysdeps/unix/sysv/linux/x86_64/x32/gettimeofday.c: New file. + * sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list: Modified. + * time/gettimeofday.c: Modified. + (errno.h): Remove include. + (__gettimeofday): Remove function. + (libc_hidden_def): Remove. + (weak_alias): Remove. + (libc_hidden_weak): Remove. + [! VERSION_gettimeofday](strong_alias): New. + [! VERSION_gettimeofday](weak_alias): New. + [VERSION_gettimeofday](weak_alias): New. + [VERSION_gettimeofday](default_symbol_version): New. + [VERSION_gettimeofday](default_symbol_version): New. + (string.h): Include file. + (time.h): Include file. + (___gettimeofday): New function. + +2019-10-30 Zack Weinberg + + COMMIT: 40a36935fff4eac83b9676b04048990ccb3c4754 + Use clock_gettime to implement timespec_get. + + * sysdeps/posix/timespec_get.c: Delete file. + * sysdeps/unix/sysv/linux/timespec_get.c: Delete file. + * time/timespec_get.c: Modified. + (timespec_get): Modified function. + +2019-10-30 Zack Weinberg + Adhemerval Zanella + + COMMIT: 2b5fea833bcd0f651579afd16ed7842770ecbae1 + Consolidate and deprecate ftime + + * NEWS: Modified. + * sysdeps/unix/bsd/ftime.c: Delete file. + * sysdeps/unix/sysv/linux/ftime.c: Delete file. + * time/ftime.c: Modified. + (errno.h): Remove include. + (ftime): Modified function. + * time/sys/timeb.h: Modified. + (ftime): Remove. + (__attribute_deprecated__): New. + * time/tst-ftime.c: Modified. + (do_test): Modified function. + (libc-diag.h): Include file. + +2019-10-30 Adhemerval Zanella + + COMMIT: f9a7554009cf38f390e74fcabc5b49f974f72382 + Change most internal uses of time to __clock_gettime. + + * include/time.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](time-clockid.h): Include file. + [! _ISOMAC](time_now): New function. + * misc/syslog.c: Modified. + (__vsyslog_internal): Modified function. + * nscd/nscd_gethst_r.c: Modified. + (__nscd_get_nl_timestamp): Modified function. + * nscd/nscd_helper.c: Modified. + (__nscd_get_mapping): Modified function. + (__nscd_get_map_ref): Modified function. + * string/strfry.c: Modified. + (time.h): Remove include. + (strfry): Modified function. + (random-bits.h): Include file. + * sysdeps/unix/sysv/linux/check_native.c: Modified. + (__check_native): Modified function. + * sysdeps/unix/sysv/linux/check_pf.c: Modified. + (make_request): Modified function. + * sysdeps/unix/sysv/linux/getsysstats.c: Modified. + (__get_nprocs): Modified function. + * sysdeps/unix/sysv/linux/i386/time.c: Delete file. + * sysdeps/unix/sysv/linux/ifaddrs.c: Modified. + (__netlink_sendreq): Modified function. + * sysdeps/unix/sysv/linux/powerpc/time.c: Modified. + [! SHARED](time/time.c): Remove include. + [! SHARED](time): New function. + [SHARED][! __powerpc64__](time): Remove. + [SHARED][! __powerpc64__](time): Remove. + [SHARED][! __powerpc64__](__time_vsyscall): Remove. + [SHARED][! __powerpc64__](libc_hidden_def): Remove. + [SHARED][__powerpc64__](__redirect_time): Remove. + [SHARED](time.h): Remove include. + [SHARED](sysdep.h): Remove include. + [SHARED](dl-machine.h): Remove include. + [SHARED](time_syscall): Remove function. + [SHARED](libc_ifunc_hidden): Remove. + [SHARED](libc_hidden_def): Remove. + [SHARED](libc_ifunc): New function. + [HAVE_TIME_VSYSCALL](HAVE_VSYSCALL): New. + (time.h): Include file. + (sysdep.h): Include file. + (sysdep-vdso.h): Include file. + (time_vsyscall): New function. + * sysdeps/unix/sysv/linux/x86/time.c: Modified. + [! SHARED](sysdep.h): Remove include. + [! SHARED](time): Modified function. + [SHARED][! time_type](time_type): Remove. + [SHARED](errno.h): Remove include. + [SHARED](sysdep-vdso.h): Remove include. + [SHARED](__time_syscall): Remove function. + [SHARED](libc_ifunc_hidden): Remove. + [SHARED](libc_hidden_def): Remove. + [SHARED](libc-vdso.h): Include file. + [SHARED](libc_ifunc): New. + [HAVE_TIME_VSYSCALL](HAVE_VSYSCALL): New. + (sysdep.h): Include file. + (sysdep-vdso.h): Include file. + (time_vsyscall): New function. + * time/getdate.c: Modified. + (__getdate_r): Modified function. + * time/time.c: Modified. + (libc_hidden_def): Remove. + +2019-10-30 Adhemerval Zanella + Zack Weinberg + + COMMIT: 0d563783490bf5b2d7d52cab205760fdff5d5650 + Use clock_gettime to implement time. + + * sysdeps/unix/sysv/linux/time.c: Move to... + * sysdeps/generic/time-clockid.h: ... here. + [! __NR_time](sysdeps/posix/time.c): Remove. + [__NR_time](time): Remove. + [__NR_time](libc_hidden_def): Remove. + (stddef.h): Remove include. + (time.h): Remove include. + (sysdep.h): Remove include. + (TIME_CLOCK_GETTIME_CLOCKID): New. + * sysdeps/unix/sysv/linux/powerpc/time.c: Modified. + [! SHARED](sysdeps/posix/time.c): Remove include. + [! SHARED](time/time.c): Include file. + * sysdeps/posix/time.c: Move to... + * sysdeps/unix/sysv/linux/time-clockid.h: ... here. + (stddef.h): Remove include. + (time.h): Remove include. + (sys/time.h): Remove include. + (time): Remove function. + (libc_hidden_def): Remove. + (TIME_CLOCK_GETTIME_CLOCKID): New. + * time/time.c: Modified. + (errno.h): Remove include. + (time): Modified function. + (time-clockid.h): Include file. + +2019-10-30 Zack Weinberg + + COMMIT: c3f9aef063cd9d5911e20d4f2b919ff2914c7965 + Use clock_settime to implement settimeofday. + + * NEWS: Modified. + * include/sys/time.h: Modified. + [! _ISOMAC](__settimeofday): Remove. + [! _ISOMAC](__settimezone): New function. + * sysdeps/unix/clock_settime.c: Move to... + * sysdeps/mach/hurd/clock_settime.c: ... here. + (sys/time.h): Remove include. + (__clock_settime): Modified function. + (hurd.h): Include file. + (hurd/port.h): Include file. + * sysdeps/unix/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/alpha/osf_settimeofday.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__settimeofday_tv32): Modified function. + * sysdeps/unix/sysv/linux/alpha/settimeofday.c: New file. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/alpha/tv32-compat.h: Modified. + (valid_timeval32_to_timespec): New function. + * sysdeps/unix/sysv/linux/settimezone.c: New file. + * time/Makefile: Modified. + * time/settimeofday.c: Modified. + (__settimeofday): Modified function. + [! VERSION_settimeofday](weak_alias): New. + [VERSION_settimeofday](weak_alias): New. + [VERSION_settimeofday](default_symbol_version): New. + (time.h): Include file. + * sysdeps/mach/hurd/settimeofday.c: Move to... + * time/settimezone.c: ... here. + (hurd.h): Remove include. + (hurd/port.h): Remove include. + (__settimeofday): Remove function. + (weak_alias): Remove. + (__settimezone): New function. + +2019-10-30 Zack Weinberg + + COMMIT: 12cbde1dae6fa4a9a792b64564c7e0debf7544cc + Use clock_settime to implement stime; withdraw stime. + + * NEWS: Modified. + * sysdeps/unix/stime.c: Delete file. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + * time/stime.c: Modified. + (errno.h): Remove include. + (time.h): Remove include. + (stddef.h): Remove include. + (stime): Remove function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31)](time.h): New. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31)](__stime): New. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31)](compat_symbol): New. + (shlib-compat.h): Include file. + * time/time.h: Modified. + [__USE_MISC](stime): Remove. + +2019-10-30 Zack Weinberg + + COMMIT: 4a39c34c4f85de57fb4e648cfa1e774437d69680 + Change most internal uses of __gettimeofday to __clock_gettime. + + * inet/deadline.c: Modified. + (__deadline_current_time): Modified function. + * login/logout.c: Modified. + (logout): Modified function. + (time.h): Include file. + * login/logwtmp.c: Modified. + (logwtmp): Modified function. + * nis/nis_call.c: Modified. + (__nisfind_server): Modified function. + * nptl/pthread_join_common.c: Modified. + (timedwait_tid): Modified function. + * nptl/pthread_mutex_timedlock.c: Modified. + (__pthread_mutex_clocklock_common): Modified function. + * nscd/nscd_helper.c: Modified. + (wait_on_socket): Modified function. + (open_socket): Modified function. + * resolv/gai_misc.c: Modified. + (handle_requests): Modified function. + * resolv/gai_suspend.c: Modified. + (gai_suspend): Modified function. + * resolv/res_send.c: Modified. + (evNowTime): Modified function. + * sunrpc/auth_des.c: Modified. + (authdes_marshal): Modified function. + (synchronize): Modified function. + (time.h): Include file. + * sunrpc/auth_unix.c: Modified. + (authunix_create): Modified function. + (authunix_refresh): Modified function. + (time.h): Include file. + * sunrpc/create_xid.c: Modified. + (_create_xid): Modified function. + * sunrpc/svcauth_des.c: Modified. + (_svcauth_des): Modified function. + (time.h): Include file. + * support/support_test_main.c: Modified. + (print_timestamp): Modified function. + (signal_handler): Modified function. + * sysdeps/generic/memusage.h: Modified. + [! GETTIME](GETTIME): Modified. + * sysdeps/mach/hurd/getitimer.c: Modified. + (__getitimer): Modified function. + (mach.h): Include file. + * sysdeps/mach/hurd/setitimer.c: Modified. + (setitimer_locked): Modified function. + (mach.h): Include file. + * sysdeps/mach/hurd/times.c: Modified. + (__times): Modified function. + * sysdeps/mach/nanosleep.c: Modified. + (sys/time.h): Remove include. + (__libc_nanosleep): Modified function. + (timespec_sub): New. + * sysdeps/mach/usleep.c: Modified. + (usleep): Modified function. + * sysdeps/posix/tempname.c: Modified. + [! _LIBC](__gettimeofday): Remove. + [! _LIBC](RANDOM_BITS): Modified. + (sys/time.h): Remove include. + (time.h): Include file. + * sysdeps/posix/timespec_get.c: Modified. + (timespec_get): Modified function. + * sysdeps/pthread/aio_misc.c: Modified. + (handle_fildes_io): Modified function. + * sysdeps/pthread/aio_suspend.c: Modified. + (aio_suspend): Modified function. + * sysdeps/unix/make-syscalls.sh: Modified. + +2019-10-30 Zack Weinberg + + COMMIT: 04da832e16a7ba9999ff320869b3d8e623cd8a61 + Linux/Alpha: don't use timeval32 system calls. + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/adjtime.c: Modified. + [! ADJTIME](ADJTIME): Remove. + [! ADJTIMEX](NO_LOCAL_ADJTIME): Remove. + [! ADJTIMEX](ADJTIMEX): Remove. + [! LINKAGE](LINKAGE): Remove. + [! MOD_OFFSET](modes): Remove. + [! TIMEVAL](TIMEVAL): Remove. + [! TIMEX](TIMEX): Remove. + [NO_LOCAL_ADJTIME](weak_alias): Remove. + (ADJTIME): Remove function. + [! VERSION_adjtime](weak_alias): New. + [VERSION_adjtime](weak_alias): New. + [VERSION_adjtime](default_symbol_version): New. + (__adjtime): New function. + * sysdeps/unix/sysv/linux/adjtimex.c: New file. + * sysdeps/unix/sysv/linux/alpha/Makefile: Modified. + * sysdeps/unix/sysv/linux/alpha/adjtime.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](timeval32): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](timex32): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](TIMEVAL): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](TIMEX): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](ADJTIME): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](ADJTIMEX): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](ADJTIMEX32): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](sysdeps/unix/sysv/linux/adjtime.c): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtimex_tv32): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](strong_alias): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](strong_alias): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](compat_symbol): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](compat_symbol): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](compat_symbol): Remove. + (shlib-compat.h): Remove include. + (sysdep.h): Remove include. + (sys/time.h): Remove include. + (TIMEVAL): Remove. + (TIMEX): Remove. + (ADJTIME): Remove. + (ADJTIMEX): Remove. + (__adjtimex_tv64): Remove. + (libc_hidden_ver): Remove. + (strong_alias): Remove. + (weak_alias): Remove. + (versioned_symbol): Remove. + (versioned_symbol): Remove. + (versioned_symbol): Remove. + (VERSION_adjtime): New. + * sysdeps/unix/sysv/linux/alpha/adjtimex.c: New file. + * sysdeps/unix/sysv/linux/alpha/osf_adjtime.c: New file. + * sysdeps/unix/sysv/linux/alpha/osf_getitimer.c: New file. + * sysdeps/unix/sysv/linux/alpha/osf_getrusage.c: New file. + * sysdeps/unix/sysv/linux/alpha/osf_gettimeofday.c: New file. + * sysdeps/unix/sysv/linux/alpha/osf_setitimer.c: New file. + * sysdeps/unix/sysv/linux/alpha/osf_settimeofday.c: New file. + * sysdeps/unix/sysv/linux/alpha/osf_utimes.c: New file. + * sysdeps/unix/sysv/linux/alpha/osf_wait4.c: New file. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/alpha/tv32-compat.h: New file. + * sysdeps/unix/sysv/linux/gettimeofday.c: Modified. + (__gettimeofday): Remove function. + (libc_hidden_def): Remove. + (weak_alias): Remove. + (libc_hidden_weak): Remove. + [! VERSION_gettimeofday](strong_alias): New. + [! VERSION_gettimeofday](weak_alias): New. + [! VERSION_gettimeofday](libc_hidden_def): New. + [! VERSION_gettimeofday](libc_hidden_weak): New. + [VERSION_gettimeofday](weak_alias): New. + [VERSION_gettimeofday](default_symbol_version): New. + [VERSION_gettimeofday](default_symbol_version): New. + [VERSION_gettimeofday](libc_hidden_ver): New. + [VERSION_gettimeofday](libc_hidden_ver): New. + (___gettimeofday): New function. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + +2019-10-30 Florian Weimer + + COMMIT: 8dddf0bd5a3d57fba8da27e93f3d1a7032fce184 + resolv/tst-idna_name_classify: Isolate from system libraries + + * inet/Makefile: Modified. + +2019-10-30 Svante Signell + + COMMIT: 0b262ca4c64cd9042576ddb9969607c0ea1187d7 + hurd: Support for file record locking + + * sysdeps/mach/hurd/fcntl.c: Modified. + (__libc_fcntl): Modified function. + +2019-10-29 Carlos O'Donell + + COMMIT: eed1f6fcdb0526498223ebfe95f91ef5dec2172a + Comment out initgroups from example nsswitch.conf (Bug 25146) + + * nss/nsswitch.conf: Modified. + +2019-10-27 Lukasz Majewski + + COMMIT: 177a3d48a1c74d7b2cd6bfd48901519d25a5ecad + y2038: linux: Provide __clock_getres64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__clock_getres64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__clock_getres64): New. + * sysdeps/unix/sysv/linux/clock_getres.c: Modified. + (kernel-posix-cpu-timers.h): Remove include. + (__clock_getres): Remove function. + [__TIMESIZE != 64](__clock_getres): New. + (kernel-features.h): Include file. + (__clock_getres64): New function. + +2019-10-27 Lukasz Majewski + + COMMIT: 48123656609fea92a154f08ab619ab5186276432 + time: Introduce function to check correctness of nanoseconds value + + * hurd/hurdlock.c: Modified. + (__lll_abstimed_lock): Modified function. + * hurd/hurdselect.c: Modified. + (_hurd_select): Modified function. + (time.h): Include file. + * include/time.h: Modified. + [! _ISOMAC](valid_nanoseconds): New function. + * io/ppoll.c: Modified. + (ppoll): Modified function. + (time.h): Include file. + * nptl/lll_timedlock_wait.c: Modified. + (__lll_clocklock_wait): Modified function. + (time.h): Include file. + * nptl/pthread_cond_wait.c: Modified. + (__pthread_cond_timedwait): Modified function. + (__pthread_cond_clockwait): Modified function. + * nptl/pthread_join_common.c: Modified. + (timedwait_tid): Modified function. + (time.h): Include file. + * nptl/pthread_mutex_timedlock.c: Modified. + (__pthread_mutex_clocklock_common): Modified function. + * nptl/pthread_rwlock_common.c: Modified. + (__pthread_rwlock_rdlock_full): Modified function. + (__pthread_rwlock_wrlock_full): Modified function. + (time.h): Include file. + * nptl/sem_clockwait.c: Modified. + (sem_clockwait): Modified function. + (time.h): Include file. + * nptl/sem_timedwait.c: Modified. + (sem_timedwait): Modified function. + (time.h): Include file. + * sysdeps/htl/pt-cond-timedwait.c: Modified. + (__pthread_cond_timedwait_internal): Modified function. + (time.h): Include file. + * sysdeps/htl/pt-mutex-timedlock.c: Modified. + (__pthread_mutex_timedlock_internal): Modified function. + (time.h): Include file. + * sysdeps/htl/pt-rwlock-timedrdlock.c: Modified. + (__pthread_rwlock_timedrdlock_internal): Modified function. + (time.h): Include file. + * sysdeps/htl/pt-rwlock-timedwrlock.c: Modified. + (__pthread_rwlock_timedwrlock_internal): Modified function. + (time.h): Include file. + * sysdeps/htl/sem-timedwait.c: Modified. + (__sem_timedwait_internal): Modified function. + (time.h): Include file. + * sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c: Modified. + (__pthread_hurd_cond_timedwait_internal): Modified function. + (time.h): Include file. + * sysdeps/mach/nanosleep.c: Modified. + (__libc_nanosleep): Modified function. + * sysdeps/pthread/timer_settime.c: Modified. + (timer_settime): Modified function. + * sysdeps/sparc/sparc32/lowlevellock.c: Modified. + [IS_IN (libpthread)](__lll_clocklock_wait): Modified function. + (time.h): Include file. + * sysdeps/unix/clock_nanosleep.c: Modified. + (__clock_nanosleep): Modified function. + * sysdeps/unix/clock_settime.c: Modified. + (__clock_settime): Modified function. + * sysdeps/unix/sysv/linux/clock_settime.c: Modified. + (__clock_settime64): Modified function. + * time/clock_nanosleep.c: Modified. + (__clock_nanosleep): Modified function. + +2019-10-25 Arjun Shankar + + COMMIT: 513aaa0d782f8fae36732d06ca59d658149f0139 + Add Transliterations for Unicode Misc. Mathematical Symbols-A/B [BZ #23132] + + * localedata/Makefile: Modified. + * localedata/locales/translit_neutral: Modified. + * localedata/tst-iconv-math-trans.c: New file. + +2019-10-24 DJ Delorie + + COMMIT: 97476447edff96e526daa1a22d6ed3665181ff93 + Install charmaps uncompressed in testroot + + * Makefile: Modified. + * localedata/Makefile: Modified. + +2019-10-24 DJ Delorie + + COMMIT: 4052fa22f69c0964bb42c0f13daa791617253de5 + Add wait-for-debugger test harness hooks + + * support/support_test_main.c: Modified. + (run_test_function): Modified function. + (support_test_main): Modified function. + (support/support.h): Include file. + (xstdio.h): Include file. + (wait_for_debugger): New. + * support/test-container.c: Modified. + (main): Modified function. + +2019-10-24 Alistair Francis + + COMMIT: acab05949fd28cdac6358f9a143cd010e08914b7 + Define __STATFS_MATCHES_STATFS64 + + * bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __LP64__](__STATFS_MATCHES_STATFS64): New. + [! _BITS_TYPESIZES_H][__LP64__](__STATFS_MATCHES_STATFS64): New. + * sysdeps/mach/hurd/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__STATFS_MATCHES_STATFS64): New. + * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__STATFS_MATCHES_STATFS64): New. + * sysdeps/unix/sysv/linux/generic/bits/statfs.h: Modified. + [__WORDSIZE == 64](__field64): Remove. + [__WORDSIZE == 64 || __STATFS_MATCHES_STATFS64](__field64): New. + * sysdeps/unix/sysv/linux/generic/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __LP64__](__STATFS_MATCHES_STATFS64): New. + [! _BITS_TYPESIZES_H][__LP64__](__STATFS_MATCHES_STATFS64): New. + * sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h: Modified. + (statfs_overflow): Modified function. + * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __s390x__](__STATFS_MATCHES_STATFS64): New. + [! _BITS_TYPESIZES_H][__s390x__](__STATFS_MATCHES_STATFS64): New. + * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][!(__arch64__ || __sparcv9)](__STATFS_MATCHES_STATFS64): New. + [! _BITS_TYPESIZES_H][__arch64__ || __sparcv9](__STATFS_MATCHES_STATFS64): New. + * sysdeps/unix/sysv/linux/x86/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __x86_64__](__STATFS_MATCHES_STATFS64): New. + [! _BITS_TYPESIZES_H][__x86_64__](__STATFS_MATCHES_STATFS64): New. + +2019-10-24 Florian Weimer + + COMMIT: 3007ad2140256e83918ce531435385fa003e9fce + hurd: Fix build after __pread64 usage in the dynamic loader + + * sysdeps/mach/hurd/dl-sysdep.c: Modified. + (check_no_hidden): Modified. + (__read): Modified function. + (libc_hidden_weak): Modified. + (check_no_hidden): Modified. + (libc_hidden_weak): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (__pread64): New function. + (libc_hidden_weak): New. + (check_no_hidden): New function. + +2019-10-23 Alistair Francis + + COMMIT: c82005921ed25cf22959d952c2aded4752f67d99 + sysdeps/stat: Handle 64-bit ino_t types on 32-bit hosts + + * sysdeps/unix/sysv/linux/generic/Makefile: Modified. + * sysdeps/unix/sysv/linux/generic/bits/stat.h: Modified. + [! _BITS_STAT_H][__WORDSIZE == 64](__field64): Remove. + [! _BITS_STAT_H][__WORDSIZE == 64 || __INO_T_MATCHES_INO64_T][__INO_T_MATCHES_INO64_T && ! __OFF_T_MATCHES_OFF64_T](ino_t and off_t must both be the same type"): New. + [! _BITS_STAT_H][__WORDSIZE == 64 || __INO_T_MATCHES_INO64_T](__field64): New. + * sysdeps/unix/sysv/linux/generic/stat-check.c: New file. + * sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h: Modified. + (stat_overflow): Modified function. + +2019-10-23 Stefan Liebler + + COMMIT: 76aaa13d5d654a2ba0d59cd328b3f5425809aa7e + S390: Remove not needed stack frame in syscall function. + + * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Modified. + +2019-10-22 Joseph Myers + DJ Delorie + + COMMIT: 7db1fe38de21831d53ceab9ae83493d8d1aec601 + Fix testroot.pristine creation copying dynamic linker. + + * Makefile: Modified. + +2019-10-21 Wilco Dijkstra + + COMMIT: d0007dc53cc83f22037bf6c7a297fa2e8066a335 + Remove x64 _finite tests and references + + * math/Makefile: Modified. + * sysdeps/x86_64/fpu/Makefile: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core_sse4.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core_avx2.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core_sse4.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core_avx2.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core_sse4.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core_avx2.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_expf4_core_sse4.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_expf8_core_avx2.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_logf4_core_sse4.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_logf8_core_avx2.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_powf4_core_sse4.S: Modified. + * sysdeps/x86_64/fpu/multiarch/svml_s_powf8_core_avx2.S: Modified. + * sysdeps/x86_64/fpu/svml_d_exp2_core.S: Modified. + * sysdeps/x86_64/fpu/svml_d_log2_core.S: Modified. + * sysdeps/x86_64/fpu/svml_d_pow2_core.S: Modified. + * sysdeps/x86_64/fpu/svml_finite_alias.S: Delete file. + * sysdeps/x86_64/fpu/svml_s_expf4_core.S: Modified. + * sysdeps/x86_64/fpu/svml_s_logf4_core.S: Modified. + * sysdeps/x86_64/fpu/svml_s_powf4_core.S: Modified. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-main.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-mod.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-main.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-mod.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-main.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-mod.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-main.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c: Delete file. + * sysdeps/x86_64/fpu/test-double-libmvec-alias.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-main.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-mod.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-main.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-mod.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-main.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-mod.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c: Delete file. + * sysdeps/x86_64/fpu/test-float-libmvec-alias.c: Delete file. + * sysdeps/x86_64/fpu/test-libmvec-alias-mod.c: Delete file. + +2019-10-21 Wilco Dijkstra + + COMMIT: 55d530114ef3513eb8588e31e3850f04ac608077 + Remove finite-math tests + + * math/Makefile: Modified. + * math/gen-libm-test.py: Modified. + * math/libm-test-driver.c: Modified. + [TEST_FINITE](TEST_MSG): Remove. + (flag_test_finite): Remove. + * math/libm-test-support.c: Modified. + (enable_test): Modified function. + * math/libm-test-support.h: Modified. + (flag_test_finite): Remove. + (NON_FINITE): Remove. + * math/test-finite-macros.c: Delete file. + * math/test-math-no-finite.h: Move to... + * math/test-math-exceptions.h: ... here. + (TEST_FINITE): Remove. + * math/test-math-finite.h: Delete file. + * math/test-math-inline.h: Modified. + (TEST_FINITE): Remove. + * math/test-math-vector.h: Modified. + (TEST_FINITE): Remove. + * math/test-signgam-finite-c11.c: Delete file. + * math/test-signgam-finite-c99.c: Delete file. + * math/test-signgam-finite.c: Delete file. + +2019-10-21 Wilco Dijkstra + + COMMIT: 7bdb921d70bf9f93948e2e311fef9ef439314e41 + Remove math-finite.h + + * bits/math-finite.h: Delete file. + * math/Makefile: Modified. + * math/math.h: Modified. + * sysdeps/ia64/fpu/bits/math-finite.h: Delete file. + +2019-10-20 Lukasz Majewski + + COMMIT: e8ac1f71c8547a1dd6cd0c7133070e2219070d8e + Include explicitly in Linux clock_settime.c + + * sysdeps/unix/sysv/linux/clock_settime.c: Modified. + (kernel-features.h): Include file. + +2019-10-18 DJ Delorie + + COMMIT: ef21bd2d8c6805c0c186a01f7c5039189f51b8c4 + loadarchive: guard against locale-archive corruption (Bug #25115) + + * locale/loadarchive.c: Modified. + (_nl_load_locale_from_archive): Modified function. + +2019-10-18 Carlos O'Donell + + COMMIT: 676b2f2050a354b7e1bdf4fec9406c9ed00b44f5 + nptl: Document AS-safe functions in cancellation.c. + + * nptl/cancellation.c: Modified. + +2019-10-18 Leandro Pereira + + COMMIT: 95c1056962a3f2297c94ce47f0eaf0c5b6563231 + elf: Use nocancel pread64() instead of lseek()+read() + + * elf/dl-load.c: Modified. + [! EXTERNAL_MAP_FROM_FD](_dl_map_object_from_fd): Modified function. + (open_verify): Modified function. + * sysdeps/x86/dl-prop.h: Modified. + [FILEBUF_SIZE](_dl_process_pt_note): Modified function. + +2019-10-18 Leandro Pereira + + COMMIT: fed33b0fb03d1942a6713286176d42869c0f1580 + Add nocancel version of pread64() + + * sysdeps/generic/not-cancel.h: Modified. + (__pread64_nocancel): New. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/Versions: Modified. + * sysdeps/unix/sysv/linux/not-cancel.h: Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): New. + (__pread64_nocancel): New. + * sysdeps/unix/sysv/linux/pread64_nocancel.c: New file. + +2019-10-18 DJ Delorie + + COMMIT: 2ac579f9c25388a7734948d77b03e4dd10f35334 + Add run-one-test convenience target and makefile help text + + * Makefile: Modified. + * Makefile.help: New file. + +2019-10-18 Adhemerval Zanella + + COMMIT: 720e9541f5d919f3735925a4e6324ecdec171844 + Update sysvipc kernel-features.h files for Linux 5.1 + + * sysdeps/unix/sysv/linux/i386/kernel-features.h: Modified. + (__ASSUME_DIRECT_SYSVIPC_SYSCALLS): Remove. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): Remove. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_DIRECT_SYSVIPC_SYSCALLS): New. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/m68k/kernel-features.h: Modified. + (__ASSUME_DIRECT_SYSVIPC_SYSCALLS): Remove. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): Remove. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_DIRECT_SYSVIPC_SYSCALLS): New. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/mips/kernel-features.h: Modified. + [_MIPS_SIM == _ABIO32](__ASSUME_DIRECT_SYSVIPC_SYSCALLS): Remove. + [_MIPS_SIM == _ABIO32][__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_DIRECT_SYSVIPC_SYSCALLS): New. + [_MIPS_SIM == _ABIO32][__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): Remove. + [_MIPS_SIM != _ABIO32](__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/msgctl.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)](__old_msgctl): Modified function. + * sysdeps/unix/sysv/linux/powerpc/kernel-features.h: Modified. + (__ASSUME_DIRECT_SYSVIPC_SYSCALLS): Remove. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): Remove. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_DIRECT_SYSVIPC_SYSCALLS): New. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/s390/kernel-features.h: Modified. + (__ASSUME_DIRECT_SYSVIPC_SYSCALLS): Remove. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): Remove. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_DIRECT_SYSVIPC_SYSCALLS): New. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/semctl.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)](__old_semctl): Modified function. + * sysdeps/unix/sysv/linux/semtimedop.c: Modified. + (__semtimedop): Modified function. + * sysdeps/unix/sysv/linux/sh/kernel-features.h: Modified. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_DIRECT_SYSVIPC_SYSCALLS): New. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + (__ASSUME_DIRECT_SYSVIPC_SYSCALLS): Remove. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): Remove. + * sysdeps/unix/sysv/linux/shmctl.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)](__old_shmctl): Modified function. + * sysdeps/unix/sysv/linux/sparc/kernel-features.h: Modified. + [! __arch64__](__ASSUME_SYSVIPC_DEFAULT_IPC_64): Remove. + (__ASSUME_DIRECT_SYSVIPC_SYSCALLS): Remove. + [__LINUX_KERNEL_VERSION < 0x050100][! __arch64__](__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + [__LINUX_KERNEL_VERSION < 0x050100](__ASSUME_DIRECT_SYSVIPC_SYSCALLS): New. + +2019-10-18 Stefan Liebler + + COMMIT: 2901743568452403849be7295c8732faa7732339 + S390: Add new s390 platform z15. + + * sysdeps/s390/dl-procinfo.c: Modified. + * sysdeps/s390/dl-procinfo.h: Modified. + (_DL_PLATFORMS_COUNT): Modified. + +2019-10-18 Florian Weimer + + COMMIT: e4b3707cea0eae2cf46a82534dd9279541e7415a + nptl: SIGCANCEL, SIGTIMER, SIGSETXID are always defined + + * nptl/allocatestack.c: Modified. + [SIGSETXID](setxid_mark_thread): Remove. + [SIGSETXID](setxid_unmark_thread): Remove. + [SIGSETXID](setxid_signal_thread): Remove. + [SIGSETXID](__nptl_setxid_error): Remove. + [SIGSETXID](__nptl_setxid): Remove. + (setxid_mark_thread): New function. + (setxid_unmark_thread): New function. + (setxid_signal_thread): New function. + (__nptl_setxid_error): New function. + (__nptl_setxid): New function. + * nptl/nptl-init.c: Modified. + [SIGCANCEL](sigcancel_handler): Remove. + [SIGSETXID](__xidcmd): Remove. + [SIGSETXID](sighandler_setxid): Remove. + (__pthread_initialize_minimal_internal): Modified function. + (sigcancel_handler): New function. + (__xidcmd): New. + (sighandler_setxid): New function. + * nptl/pthread_cancel.c: Modified. + (__pthread_cancel): Modified function. + * nptl/pthread_create.c: Modified. + [SIGCANCEL](if): Remove. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): New function. + * nptl/pthread_setcanceltype.c: Modified. + (__pthread_setcanceltype): Modified function. + * nptl/pthread_sigmask.c: Modified. + [SIGCANCEL || SIGTIMER || SIGSETXID](This implementation assumes no internal-only signal numbers."): Remove. + (pthread_sigmask): Modified function. + (sysdep.h): Include file. + * nptl/tst-cancel25.c: Modified. + (tf2): Modified function. + * nptl/tst-signal7.c: Modified. + (do_test): Modified function. + * sysdeps/nptl/allocrtsig.c: Modified. + [! SIGCANCEL](SIGCANCEL_CONSUMES): Remove. + [!(( SIGSETXID && (! SIGCANCEL || SIGSETXID != SIGCANCEL) && (! SIGTIMER || SIGSETXID != SIGTIMER)))](SIGSETXID_CONSUMES): Remove. + [!(SIGTIMER && (! SIGCANCEL || SIGTIMER != SIGCANCEL))](SIGTIMER_CONSUMES): Remove. + [( SIGSETXID && (! SIGCANCEL || SIGSETXID != SIGCANCEL) && (! SIGTIMER || SIGSETXID != SIGTIMER))](SIGSETXID_CONSUMES): Remove. + [SIGCANCEL](SIGCANCEL_CONSUMES): Remove. + [SIGTIMER && (! SIGCANCEL || SIGTIMER != SIGCANCEL)](SIGTIMER_CONSUMES): Remove. + (RESERVED_SIGRT): Modified. + [SIGTIMER != SIGCANCEL](SIGTIMER and SIGCANCEL must be the same"): New. + * sysdeps/unix/sysv/linux/pthread_sigmask.c: Delete file. + +2019-10-18 Florian Weimer + + COMMIT: 5e20aae5ee087f394f276bd556c5c1df52d76ff9 + nptl/tst-cancel25 needs to be an internal test + + * nptl/Makefile: Modified. + * nptl/tst-cancel25.c: Modified. + (internal-signals.h): Include file. + +2019-10-17 Florian Weimer + + COMMIT: e3f764b6f2152824692b0b77e1c71416cb2acf78 + Remove libc_hidden_def from __semtimedop stub + + * sysvipc/semtimedop.c: Modified. + (libc_hidden_def): Remove. + +2019-10-17 Adhemerval Zanella + + COMMIT: 765cdd0bffd77960ae852104fc4ea5edcdb8aed3 + sysvipc: Implement semop based on semtimedop + + * include/sys/sem.h: Modified. + [! _ISOMAC](__typeof__): New. + * sysdeps/unix/sysv/linux/semop.c: Modified. + (semop): Modified function. + * sysdeps/unix/sysv/linux/semtimedop.c: Modified. + (semtimedop): Remove function. + (__semtimedop): New function. + (weak_alias): New. + * sysvipc/semtimedop.c: Modified. + (semtimedop): Remove function. + (__semtimedop): New function. + (weak_alias): New. + (libc_hidden_def): New. + +2019-10-17 Adhemerval Zanella + + COMMIT: 06436acf819d9e6ada7be3ca977d5c0a23d3f138 + ipc: Refactor sysvipc internal definitions + + * sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Modified. + (sys/ipc.h): Remove include. + (__IPC_64): Remove. + (__old_ipc_perm): Remove. + (__OLD_IPC_ID_TYPE): New. + (__OLD_IPC_MODE_TYPE): New. + (sysdeps/unix/sysv/linux/ipc_priv.h): Include file. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h: Modified. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/arm/kernel-features.h: Modified. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/hppa/ipc_priv.h: Delete file. + * sysdeps/unix/sysv/linux/i386/kernel-features.h: Modified. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/ia64/ipc_priv.h: Delete file. + * sysdeps/unix/sysv/linux/ipc_priv.h: Modified. + (__IPC_64): Remove. + (__old_ipc_perm): Modified. + [! __ASSUME_SYSVIPC_DEFAULT_IPC_64](__IPC_64): New. + [! __OLD_IPC_ID_TYPE](__OLD_IPC_ID_TYPE): New. + [! __OLD_IPC_MODE_TYPE](__OLD_IPC_MODE_TYPE): New. + [__ASSUME_SYSVIPC_DEFAULT_IPC_64](__IPC_64): New. + (kernel-features.h): Include file. + * sysdeps/unix/sysv/linux/kernel-features.h: Modified. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/m68k/kernel-features.h: Modified. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h: Modified. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/mips/kernel-features.h: Modified. + (__ASSUME_SYSVIPC_DEFAULT_IPC_64): New. + * sysdeps/unix/sysv/linux/mips/mips64/ipc_priv.h: Modified. + (sys/ipc.h): Remove include. + (__IPC_64): Remove. + (__old_ipc_perm): Remove. + (__OLD_IPC_ID_TYPE): New. + (__OLD_IPC_MODE_TYPE): New. + (sysdeps/unix/sysv/linux/ipc_priv.h): Include file. + * sysdeps/unix/sysv/linux/nios2/ipc_priv.h: Delete file. + * sysdeps/unix/sysv/linux/csky/ipc_priv.h: Move to... + * sysdeps/unix/sysv/linux/nios2/kernel-features.h: ... here. + (sys/ipc.h): Remove include. + (__IPC_64): Remove. + (_next + + COMMIT: 7d3db434f910c23591f748a6d0ac3548af1048bb + Rename and split elf/tst-dlopen-aout collection of tests + + * elf/Makefile: Modified. + * elf/tst-dlopen-self-container.c: New file. + * elf/tst-dlopen-aout-container.c: Move to... + * elf/tst-dlopen-self-pie.c: ... here. + (tst-dlopen-aout.c): Remove include. + (tst-dlopen-self.c): Include file. + * elf/tst-dlopen-self.c: New file. + * elf/tst-dlopen-tlsmodid-container.c: New file. + * elf/tst-dlopen-aout-pie.c: Move to... + * elf/tst-dlopen-tlsmodid-pie.c: ... here. + (tst-dlopen-aout.c): Remove include. + (TST_DLOPEN_TLSMODID_PATH): New. + (tst-dlopen-tlsmodid.h): Include file. + * elf/tst-dlopen-tlsmodid.c: New file. + * elf/tst-dlopen-aout.c: Move to... + * elf/tst-dlopen-tlsmodid.h: ... here. + (check_dlopen_failure): Modified function. + (do_test): Modified function. + +2019-10-16 Florian Weimer + + COMMIT: eb77a1fccc7e60cea32245c11288c7f1d92545fa + dlfcn: Remove remnants of caller sensitivity from dlinfo + + * dlfcn/dlinfo.c: Modified. + [! SHARED && IS_IN (libdl)](dlinfo): Modified function. + [!(! SHARED && IS_IN (libdl))](dlinfo_args): Modified. + [!(! SHARED && IS_IN (libdl))](dlinfo_doit): Modified function. + [!(! SHARED && IS_IN (libdl))](__dlinfo): Modified function. + * include/dlfcn.h: Modified. + [! _ISOMAC](dlfcn_hook): Modified. + [! _ISOMAC](__dlinfo): Modified. + +2019-10-16 Andreas Schwab + + COMMIT: 58e8f5fd2ba47b6dc47fd4d0a35e4175c7c87aaa + ldconfig: handle .dynstr located in separate segment (bug 25087) + + * elf/readelflib.c: Modified. + (process_elf_file): Modified function. + +2019-10-15 Florian Weimer + + COMMIT: e7c8ffe4ec059da1523c093d6a240cd87d154df2 + ldd: Print "not a dynamic executable" on standard error [BZ #24150] + + * elf/ldd.bash.in: Modified. + +2019-10-14 Joseph Myers + + COMMIT: d1e411e5c786ce3028d98b4e6fc02c2fcf66ae37 + Add PTRACE_GET_SYSCALL_INFO from Linux 5.3 to sys/ptrace.h. + + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Modified. + (__ptrace_request): Modified. + * sysdeps/unix/sysv/linux/arm/sys/ptrace.h: Modified. + (__ptrace_request): Modified. + * sysdeps/unix/sysv/linux/bits/ptrace-shared.h: Modified. + (__ptrace_get_syscall_info_op): New. + (__ptrace_syscall_info): New. + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Modified. + (__ptrace_request): Modified. + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Modified. + [_LINUX_PTRACE_H || _ASM_POWERPC_PTRACE_H](PTRACE_GET_SYSCALL_INFO): New. + [_LINUX_PTRACE_H || _ASM_POWERPC_PTRACE_H](PTRACE_SYSCALL_INFO_NONE): New. + [_LINUX_PTRACE_H || _ASM_POWERPC_PTRACE_H](PTRACE_SYSCALL_INFO_ENTRY): New. + [_LINUX_PTRACE_H || _ASM_POWERPC_PTRACE_H](PTRACE_SYSCALL_INFO_EXIT): New. + [_LINUX_PTRACE_H || _ASM_POWERPC_PTRACE_H](PTRACE_SYSCALL_INFO_SECCOMP): New. + (__ptrace_request): Modified. + * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Modified. + [_LINUX_PTRACE_H || _S390_PTRACE_H](PTRACE_GET_SYSCALL_INFO): New. + [_LINUX_PTRACE_H || _S390_PTRACE_H](PTRACE_SYSCALL_INFO_NONE): New. + [_LINUX_PTRACE_H || _S390_PTRACE_H](PTRACE_SYSCALL_INFO_ENTRY): New. + [_LINUX_PTRACE_H || _S390_PTRACE_H](PTRACE_SYSCALL_INFO_EXIT): New. + [_LINUX_PTRACE_H || _S390_PTRACE_H](PTRACE_SYSCALL_INFO_SECCOMP): New. + (__ptrace_request): Modified. + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Modified. + (__ptrace_request): Modified. + * sysdeps/unix/sysv/linux/sys/ptrace.h: Modified. + (__ptrace_request): Modified. + * sysdeps/unix/sysv/linux/x86/sys/ptrace.h: Modified. + (__ptrace_request): Modified. + diff --git a/ChangeLog.old/ChangeLog.21 b/ChangeLog.old/ChangeLog.21 new file mode 100644 index 0000000000..90932ff57a --- /dev/null +++ b/ChangeLog.old/ChangeLog.21 @@ -0,0 +1,15377 @@ +2020-08-04 Carlos O'Donell + + COMMIT: 6d403f2e1b82ceeac69c9dc0123dffcf23ddcff8 + Regenerate configure scripts. + + * sysdeps/unix/sysv/linux/arc/configure: Modified. + * sysdeps/unix/sysv/linux/csky/configure: Modified. + +2020-08-04 Carlos O'Donell + + COMMIT: 923adfcb588dabf6b8dee60b00e2de4e88afdb97 + Update NEWS with bugs. + + * NEWS: Modified. + +2020-08-04 Carlos O'Donell + + COMMIT: 0ffaa7be6ea3649f883248f41a2bea5065383976 + Update translations. + + * po/be.po: Modified. + * po/bg.po: Modified. + * po/ca.po: Modified. + * po/cs.po: Modified. + * po/da.po: Modified. + * po/de.po: Modified. + * po/el.po: Modified. + * po/eo.po: Modified. + * po/es.po: Modified. + * po/fi.po: Modified. + * po/fr.po: Modified. + * po/gl.po: Modified. + * po/hr.po: Modified. + * po/hu.po: Modified. + * po/ia.po: Modified. + * po/id.po: Modified. + * po/it.po: Modified. + * po/ja.po: Modified. + * po/ko.po: Modified. + * po/lt.po: Modified. + * po/nb.po: Modified. + * po/nl.po: Modified. + * po/pl.po: Modified. + * po/pt.po: Modified. + * po/pt_BR.po: Modified. + * po/ru.po: Modified. + * po/rw.po: Modified. + * po/sk.po: Modified. + * po/sl.po: Modified. + * po/sv.po: Modified. + * po/tr.po: Modified. + * po/uk.po: Modified. + * po/vi.po: Modified. + * po/zh_CN.po: Modified. + * po/zh_TW.po: Modified. + +2020-08-04 Alan Modra + + COMMIT: bd7a8e038ac01fc61f0fe58b57ae52ccb85a562f + Don't mix linker error messages into edited scripts + + * Makerules: Modified. + +2020-08-04 Paul Zimmermann + + COMMIT: 50a8dd367e305bb6c6146c564fd48c193cc94069 + benchtests/README update. + + * benchtests/README: Modified. + +2020-08-04 Maciej W. Rozycki + + COMMIT: 45069ac2a994758d06c035804a600066016801f9 + RISC-V: Update lp64d libm-test-ulps according to HiFive Unleashed + + * sysdeps/riscv/rv64/rvd/libm-test-ulps: Modified. + +2020-08-03 Szabolcs Nagy + + COMMIT: 42c9e9af22dc645c06395879d36a565c6dc19f3a + aarch64: update NEWS about branch protection + + * NEWS: Modified. + +2020-08-03 Aurelien Jarno + + COMMIT: 17a0126abf02955cabf6256c67f8f9462a64163f + Add NEWS entry for CVE-2016-10228 (bug 19519) + + * NEWS: Modified. + +2020-08-03 Florian Weimer + + COMMIT: 7650321ce037302bfc2f026aa19e0213b8d02fe6 + powerpc: Fix incorrect cache line size load in memset (bug 26332) + + * sysdeps/powerpc/powerpc32/sysdep.h: Modified. + [__ASSEMBLER__][! PIC](__GLRO): Modified. + +2020-08-03 Chung-Lin Tang + + COMMIT: 783fdd969fe6652e0ee5b6b574a14a7dc28dee5f + Update Nios II libm-test-ulps file. + + * sysdeps/nios2/libm-test-ulps: Modified. + +2020-07-31 Florian Weimer + + COMMIT: 7f1a08cff82255cd4252a2c75fd65b80a6a170bf + Move NEWS entry for CVE-2020-1751 to the 2.31 section + + * NEWS: Modified. + +2020-07-31 Florian Weimer + + COMMIT: 89c255294a5b14dd88e45ed3b2a2a66517ed1a6f + NEWS: Deprecate weak libpthread symbols for single-threaded checks + + * NEWS: Modified. + +2020-07-31 Florian Weimer + + COMMIT: 20fb7452c04221608be1359cc100387db3e36356 + NEWS: Deprecate nss_hesiod + + * NEWS: Modified. + +2020-07-27 H.J. Lu + + COMMIT: 0ad926f34937f7b4843a8b49e5d93199601fe324 + nptl: Zero-extend arguments to SETXID syscalls [BZ #26248] + + * nptl/Makefile: Modified. + * nptl/descr.h: Modified. + (xid_command): Modified. + * nptl/tst-setgroups.c: New file. + +2020-07-27 Joseph Myers + + COMMIT: b51c1500e02cec3a61c385d5aa919287f32bbd58 + Use binutils 2.35 branch in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2020-07-27 Szabolcs Nagy + + COMMIT: 2dc33b928b389f50e7fd8cadd952b79112a071ab + aarch64: Use future HWCAP2_MTE in ifunc resolver + + * sysdeps/aarch64/multiarch/strlen.c: Modified. + (MTE_ENABLED): Modified. + (FUTURE_HWCAP2_MTE): New. + +2020-07-25 Andreas K. Hüttel + + COMMIT: 180d5a045f6c2e245beafef3e2036bd7286c8c17 + Update x86-64 libm-test-ulps + + * sysdeps/x86_64/fpu/libm-test-ulps: Modified. + +2020-07-24 Szabolcs Nagy + + COMMIT: 7ebd114211dcd290efd54e610bbde0765bd7764c + aarch64: Respect p_flags when protecting code with PROT_BTI + + * sysdeps/aarch64/dl-bti.c: Modified. + (enable_bti): Modified function. + +2020-07-23 Arjun Shankar + + COMMIT: 04726be814c6fd6d9cf974e15d684dd3ac1a180e + Disable warnings due to deprecated libselinux symbols used by nss and nscd + + * nscd/selinux.c: Modified. + [HAVE_SELINUX](nscd_avc_cache_stats): Modified function. + [HAVE_SELINUX](DIAG_IGNORE_NEEDS_COMMENT): New function. + [HAVE_SELINUX](DIAG_IGNORE_NEEDS_COMMENT): New function. + (libc-diag.h): Include file. + * nss/makedb.c: Modified. + [HAVE_SELINUX](reset_file_creation_context): Modified function. + [HAVE_SELINUX](DIAG_IGNORE_NEEDS_COMMENT): New function. + (libc-diag.h): Include file. + +2020-07-22 Carlos O'Donell + + COMMIT: ba0ec34c62a3a108f2db5575a92ace9bd3ac8a8f + Regenerate INSTALL for ARC port updates. + + * INSTALL: Modified. + +2020-07-22 Carlos O'Donell + + COMMIT: 0bede41cf38dc8d3b4d611e31900d5d6cff6c06c + Update libc.pot for 2.32 release. + + * po/libc.pot: Modified. + +2020-07-21 Tulio Magno Quites Machado Filho + + COMMIT: f6add169c89bbdd139a2eb845686127ead5799cd + powerpc: Fix POWER10 selection + + * sysdeps/powerpc/dl-procinfo.h: Modified. + (_dl_string_platform): Modified function. + +2020-07-21 Paul E. Murphy + + COMMIT: c79607a474439d50e9f0bcae59709817112900cc + powerpc64le: guarantee a .gnu.attributes section [BZ #26220] + + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + +2020-07-21 Florian Weimer + + COMMIT: ec2f1fddf29053957d061dfe310f106388472a4f + libio: Remove __libc_readline_unlocked + + * include/stdio.h: Modified. + [! _ISOMAC](__libc_readline_unlocked): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + * libio/Makefile: Modified. + * libio/Versions: Modified. + * libio/readline.c: Delete file. + * libio/tst-readline.c: Delete file. + +2020-07-21 Florian Weimer + + COMMIT: 00bc6830e3fe3f10495917afe0835ddd19133c6a + shadow: Implement fgetspent_r using __nss_fgetent_r + + * gshadow/tst-fgetsgent_r.c: Modified. + (run_test): Modified function. + * shadow/fgetspent_r.c: Modified. + (flockfile): Remove. + (funlockfile): Remove. + (__fgetspent_r): Modified function. + +2020-07-21 Florian Weimer + + COMMIT: ee1c062be09da006e82ab34c1c9b5c82dd2af92c + pwd: Implement fgetpwent_r using __nss_fgetent_r + + * pwd/fgetpwent_r.c: Modified. + (flockfile): Remove. + (funlockfile): Remove. + (p): Remove. + (flockfile): Remove. + (buffer): Remove. + (p): Remove. + (p): Remove. + (result): Modified. + (__set_errno): Remove. + (errno): Remove. + (p): Remove. + (result): Remove. + (__set_errno): Remove. + (errno): Remove. + (p): Remove. + (p): Remove. + (funlockfile): Remove. + (result): Remove. + (0): Remove. + (ret): New. + (ret): New. + (ret): New. + +2020-07-21 Florian Weimer + + COMMIT: 2add4235ef674988948155f9a8f60a8c7b09bcff + gshadow: Implement fgetsgent_r using __nss_fgetent_r (bug 20338) + + * gshadow/Makefile: Modified. + * gshadow/fgetsgent_r.c: Modified. + (__fgetsgent_r): Modified function. + * gshadow/tst-fgetsgent_r.c: New file. + +2020-07-21 Florian Weimer + + COMMIT: 4f62a21d0ed19ff29bba704167179b862140d011 + grp: Implement fgetgrent_r using __nss_fgetent_r + + * grp/fgetgrent_r.c: Modified. + (libio/iolibio.h): Remove include. + (flockfile): Remove. + (funlockfile): Remove. + (gr_name): Modified. + (parse_result): Remove. + (flockfile): Remove. + (buffer): Remove. + (p): Remove. + (p): Remove. + (result): Modified. + (__set_errno): Remove. + (errno): Remove. + (p): Remove. + (result): Remove. + (__set_errno): Remove. + (errno): Remove. + (p): Remove. + (p): Remove. + (funlockfile): Remove. + (if): Remove function. + (result): Remove. + (0): Remove. + (ret): New. + (ret): New. + +2020-07-21 Florian Weimer + + COMMIT: bdee910e88006ae33dc83ac3d2c0708adb6627d0 + nss: Add __nss_fgetent_r + + * include/nss_files.h: Modified. + (libc_hidden_proto): Modified. + (libc_hidden_proto): Modified. + (libc_hidden_proto): Modified. + (libc_hidden_proto): Modified. + (__nss_readline): New function. + (__nss_readline_seek): New function. + (__nss_parse_line_result): New function. + (libc_hidden_proto): New. + (libc_hidden_proto): New. + (__nss_fgetent_r): New function. + * nss/Makefile: Modified. + * nss/Versions: Modified. + * nss/nss_fgetent_r.c: New file. + * nss/nss_files/files-XXX.c: Modified. + (internal_getent): Modified function. + * nss/nss_parse_line_result.c: New file. + * nss/nss_readline.c: New file. + +2020-07-21 Florian Weimer + + COMMIT: d4b4586315974d2471486d41891aa9463a5838ad + libio: Add fseterr_unlocked for internal use + + * include/stdio.h: Modified. + [! _ISOMAC](fseterr_unlocked): New function. + +2020-07-21 Florian Weimer + + COMMIT: 9980bf0b307368959cb29f3ca3f7446ad92347f1 + nss_files: Use generic result pointer in parse_line + + * include/nss_files.h: Modified. + (etherent): Remove. + (group): Remove. + (netent): Remove. + (passwd): Remove. + (protoent): Remove. + (rpcent): Remove. + (servent): Remove. + (sgrp): Remove. + (spwd): Remove. + (_nss_files_parse_etherent): Remove. + (_nss_files_parse_grent): Remove. + (_nss_files_parse_netent): Remove. + (_nss_files_parse_protoent): Remove. + (_nss_files_parse_pwent): Remove. + (_nss_files_parse_rpcent): Remove. + (_nss_files_parse_servent): Remove. + (_nss_files_parse_sgent): Remove. + (_nss_files_parse_spent): Remove. + (nss_files_parse_line): New function. + (_nss_files_parse_etherent): New. + (_nss_files_parse_grent): New. + (_nss_files_parse_netent): New. + (_nss_files_parse_protoent): New. + (_nss_files_parse_pwent): New. + (_nss_files_parse_rpcent): New. + (_nss_files_parse_servent): New. + (_nss_files_parse_sgent): New. + (_nss_files_parse_spent): New. + * nss/nss_files/files-parse.c: Modified. + [! EXTERN_PARSER](LINE_PARSER): Modified. + [EXTERN_PARSER](parse_line): Modified. + +2020-07-21 Florian Weimer + + COMMIT: e9b2340998ab22402a8e968ba674c380a625b9dc + nss_files: Consolidate line parse declarations in + + * include/grp.h: Modified. + [! _ISOMAC](parser_data): Remove. + [! _ISOMAC](_nss_files_parse_grent): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + * include/gshadow.h: Modified. + [! _ISOMAC](parser_data): Remove. + [! _ISOMAC](_nss_files_parse_sgent): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + * include/netdb.h: Modified. + [! _ISOMAC](parser_data): Remove. + [! _ISOMAC](_nss_files_parse_protoent): Remove. + [! _ISOMAC](_nss_files_parse_servent): Remove. + [! _ISOMAC](_nss_files_parse_netent): Remove. + [! _ISOMAC](libnss_files_hidden_proto): Modified. + [! _ISOMAC](libnss_files_hidden_proto): Remove. + [! _ISOMAC](libnss_files_hidden_proto): Remove. + [! _ISOMAC](libnss_files_hidden_proto): Remove. + * include/netinet/ether.h: Modified. + [! _ISOMAC](parser_data): Remove. + [! _ISOMAC](_nss_files_parse_etherent): Remove. + [! _ISOMAC](libnss_files_hidden_proto): Remove. + * include/nss_files.h: Modified. + (parser_data): New. + (etherent): New. + (group): New. + (netent): New. + (passwd): New. + (protoent): New. + (rpcent): New. + (servent): New. + (sgrp): New. + (spwd): New. + (_nss_files_parse_etherent): New function. + (_nss_files_parse_grent): New function. + (_nss_files_parse_netent): New function. + (_nss_files_parse_protoent): New function. + (_nss_files_parse_pwent): New function. + (_nss_files_parse_rpcent): New function. + (_nss_files_parse_servent): New function. + (_nss_files_parse_sgent): New function. + (_nss_files_parse_spent): New function. + (libnss_files_hidden_proto): New. + (libc_hidden_proto): New. + (libnss_files_hidden_proto): New. + (libnss_files_hidden_proto): New. + (libc_hidden_proto): New. + (libnss_files_hidden_proto): New. + (libnss_files_hidden_proto): New. + (libc_hidden_proto): New. + (libc_hidden_proto): New. + * include/pwd.h: Modified. + [! _ISOMAC](parser_data): Remove. + [! _ISOMAC](_nss_files_parse_pwent): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + * include/rpc/netdb.h: Modified. + [! _ISOMAC](parser_data): Remove. + [! _ISOMAC](_nss_files_parse_rpcent): Remove. + [! _ISOMAC](libnss_files_hidden_proto): Remove. + * include/shadow.h: Modified. + [! _ISOMAC](parser_data): Remove. + [! _ISOMAC](_nss_files_parse_spent): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + * nss/nss_files/files-parse.c: Modified. + (nss_files.h): Include file. + +2020-07-21 Florian Weimer + + COMMIT: 23ed36735af09c258e542266aaed92cdd8571c6c + nss_compat: Do not use mmap to read database files (bug 26258) + + * nss/nss_compat/compat-grp.c: Modified. + (internal_setgrent): Modified function. + (nss_files.h): Include file. + * nss/nss_compat/compat-initgroups.c: Modified. + (internal_setgrent): Modified function. + (nss_files.h): Include file. + * nss/nss_compat/compat-pwd.c: Modified. + (internal_setpwent): Modified function. + (nss_files.h): Include file. + * nss/nss_compat/compat-spwd.c: Modified. + (internal_setspent): Modified function. + (nss_files.h): Include file. + +2020-07-21 Florian Weimer + + COMMIT: 299210c1fa67e2dfb564475986fce11cd33db9ad + nss_files: Consolidate file opening in __nss_files_fopen + + * include/nss_files.h: New file. + * nss/Makefile: Modified. + * nss/Versions: Modified. + * nss/nss_files/files-XXX.c: Modified. + (internal_setent): Modified function. + (nss_files.h): Include file. + * nss/nss_files/files-alias.c: Modified. + (internal_setent): Modified function. + (get_next_alias): Modified function. + (nss_files.h): Include file. + * nss/nss_files/files-initgroups.c: Modified. + (NSS_DECLARE_MODULE_FUNCTIONS): Modified function. + (nss_files.h): Include file. + * nss/nss_files/files-netgrp.c: Modified. + (NSS_DECLARE_MODULE_FUNCTIONS): Modified function. + (nss_files.h): Include file. + * nss/nss_files_fopen.c: New file. + +2020-07-20 Joseph Myers + + COMMIT: 469c03907b116c37c98d8ad7a9edac2bdbf3e934 + Update powerpc-nofpu libm-test-ulps. + + * sysdeps/powerpc/nofpu/libm-test-ulps: Modified. + +2020-07-20 Joseph Myers + + COMMIT: 63ce2425c224330b9add994c2811a103610d0995 + Use MPFR 4.1.0 in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2020-07-20 Florian Weimer + + COMMIT: 07ed32f920f0bcb1ddb400e4ed606104756dee32 + elf: Change TLS static surplus default back to 1664 + + * elf/Makefile: Modified. + * elf/dl-tls.c: Modified. + (LIBC_IE_TLS): Modified. + (_dl_tls_static_surplus_init): Modified function. + (DEFAULT_NNS): New. + (OPTIONAL_TLS): New. + (tls_static_surplus): New function. + (LEGACY_TLS): New. + * elf/tst-tls-surplus.c: New file. + +2020-07-18 Samuel Thibault + + COMMIT: 5baad9a6f948b7822db3392097e7d79e9e018655 + hurd: Fix longjmp check for sigstate + + * sysdeps/mach/hurd/i386/____longjmp_chk.S: Modified. + * sysdeps/mach/hurd/i386/__longjmp.S: Modified. + +2020-07-18 Samuel Thibault + + COMMIT: 115bcf921a52005b89ff2859ccae4a8fc6d6deed + hurd: Fix longjmp early in initialization + + * sysdeps/mach/hurd/i386/____longjmp_chk.S: Modified. + * sysdeps/mach/hurd/i386/__longjmp.S: Modified. + +2020-07-17 Florian Weimer + + COMMIT: e9422236a2dd4cf2b7e900af5e84706da68bd43e + manual: New signal and errno string functions are AS-safe + + * manual/errno.texi: Modified. + * manual/signal.texi: Modified. + +2020-07-17 Wilco Dijkstra + + COMMIT: f46ef33ad134bec7ac992f28ee4b8b0614590e3e + AArch64: Improve strlen_asimd performance (bug 25824) + + * sysdeps/aarch64/multiarch/Makefile: Modified. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/aarch64/multiarch/strlen.c: Modified. + (USE_ASIMD_STRLEN): Remove. + (__strlen_generic): Remove. + (libc_ifunc): Modified. + (MTE_ENABLED): New. + (__strlen_mte): New. + * sysdeps/aarch64/multiarch/strlen_asimd.S: Modified. + * sysdeps/aarch64/multiarch/strlen_generic.S: Move to... + * sysdeps/aarch64/multiarch/strlen_mte.S: ... here. + +2020-07-17 Florian Weimer + + COMMIT: 76b8442db51a8976de19934638a42532a3af607f + Move from sunrpc to inet + + * include/rpc/netdb.h: Modified. + (sunrpc/rpc/netdb.h): Remove include. + (inet/rpc/netdb.h): Include file. + * inet/Makefile: Modified. + * sunrpc/rpc/netdb.h: Move to... + * inet/rpc/netdb.h: ... here. + * resolv/Makefile: Modified. + * resolv/rpc/netdb.h: Delete file. + +2020-07-16 Carlos O'Donell + + COMMIT: 8cde977077b3568310c743b21a905ca9ab286724 + en_US: Minimize changes to date_fmt (Bug 25923) + + * localedata/locales/en_US: Modified. + +2020-07-16 Florian Weimer + + COMMIT: efedd1ed3d211941fc66d14ba245be3552b2616a + Linux: Remove rseq support + + * NEWS: Modified. + * csu/libc-tls.c: Modified. + (__libc_setup_tls): Modified function. + * elf/dl-tls.c: Modified. + [SHARED](_dl_determine_tlsoffset): Modified function. + (LIBC_IE_TLS): Modified. + * elf/libc_early_init.c: Modified. + (rseq-internal.h): Remove include. + (__libc_early_init): Modified function. + * manual/threads.texi: Modified. + * nptl/pthread_create.c: Modified. + (rseq-internal.h): Remove include. + (rseq_register_current_thread): Remove. + * sysdeps/generic/rseq-internal.h: Delete file. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/Versions: Modified. + * sysdeps/unix/sysv/linux/aarch64/bits/rseq.h: Delete file. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arc/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/bits/rseq.h: Delete file. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/bits/rseq.h: Delete file. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/bits/rseq.h: Delete file. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/bits/rseq.h: Delete file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/rseq-internal.h: Delete file. + * sysdeps/unix/sysv/linux/rseq-sym.c: Delete file. + * sysdeps/unix/sysv/linux/s390/bits/rseq.h: Delete file. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sched_getcpu.c: Modified. + [! RSEQ_SIG](sched_getcpu): Remove. + [RSEQ_SIG](sched_getcpu): Remove. + (atomic.h): Remove include. + (sys/rseq.h): Remove include. + (vsyscall_sched_getcpu): Remove function. + (sched_getcpu): New function. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sys/rseq.h: Delete file. + * sysdeps/unix/sysv/linux/tst-rseq-nptl.c: Delete file. + * sysdeps/unix/sysv/linux/tst-rseq.c: Delete file. + * sysdeps/unix/sysv/linux/tst-rseq.h: Delete file. + * sysdeps/unix/sysv/linux/x86/bits/rseq.h: Delete file. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + +2020-07-16 Florian Weimer + + COMMIT: da7d62b50396c8b6d67c1ba800a196e83e2ec469 + manual: Use Unicode instead HTML entities for characters (bug 19737) + + * manual/math.texi: Modified. + +2020-07-16 Aurelien Jarno + + COMMIT: 17400c4bcd57d84add1da3aa93248ef2efdb0ccb + Add NEWS entry for CVE-2020-6096 (bug 25620) + + * NEWS: Modified. + +2020-07-16 Aurelien Jarno + + COMMIT: 7b5f02dc2a9278cd068a58a3db3644e24707be49 + arm: remove string/tst-memmove-overflow XFAIL + + * sysdeps/arm/Makefile: Modified. + +2020-07-15 Wilco Dijkstra + + COMMIT: 0f6278a8793a5d04ea31878119eccf99f469a02d + AArch64: Rename IS_ARES to IS_NEOVERSE_N1 + + * sysdeps/aarch64/multiarch/memcpy.c: Modified. + (libc_ifunc): Modified. + * sysdeps/aarch64/multiarch/memmove.c: Modified. + (libc_ifunc): Modified. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h: Modified. + (IS_ARES): Remove. + (IS_NEOVERSE_N1): New. + +2020-07-15 Wilco Dijkstra + + COMMIT: 4a733bf375238a6a595033b5785cea7f27d61307 + AArch64: Add optimized Q-register memcpy + + * sysdeps/aarch64/multiarch/Makefile: Modified. + * sysdeps/aarch64/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/aarch64/multiarch/memcpy.c: Modified. + (libc_ifunc): Modified. + (__memcpy_simd): New. + * sysdeps/aarch64/multiarch/memcpy_advsimd.S: New file. + * sysdeps/aarch64/multiarch/memmove.c: Modified. + (libc_ifunc): Modified. + (__memmove_simd): New. + +2020-07-15 Wilco Dijkstra + + COMMIT: 34f0d01d5e43c7dedd002ab47f6266dfb5b79c22 + AArch64: Align ENTRY to a cacheline + + * sysdeps/aarch64/sysdep.h: Modified. + [__ASSEMBLER__](ENTRY): Modified. + +2020-07-14 H.J. Lu + Lucas A. M. Magalhaes + + COMMIT: f896fc0f2bfc9f3f8df0563a7c99dcbf24bab655 + Correct timespec implementation [BZ #26232] + + * support/Makefile: Modified. + * support/timespec.c: Modified. + (support_timespec_ns): Modified function. + (support_timespec_check_in_range): Modified function. + * support/timespec.h: Modified. + (support_timespec_ns): Modified. + * support/tst-timespec.c: Modified. + (timespec_ns_test_case): Modified. + (TEST_COMPARE): Modified. + (printf): Modified. + (result): Modified. + (printf): Modified. + (intprops.h): Include file. + (TIME_T_MIN): New. + (TIME_T_MAX): New. + (printf): New function. + (printf): New function. + +2020-07-13 Petr Vorel + + COMMIT: 5500cdba4018ddbda7909bc7f4f9718610b43cf0 + Remove --enable-obsolete-rpc configure flag + + * NEWS: Modified. + * benchtests/strcoll-inputs/filelist#en_US.UTF-8: Modified. + * config.h.in: Modified. + * config.make.in: Modified. + * configure: Modified. + * configure.ac: Modified. + * include/libc-symbols.h: Modified. + [! _ISOMAC][IS_IN (libc)][! LINK_OBSOLETE_RPC](libc_hidden_nolink_sunrpc): Remove. + [! _ISOMAC][IS_IN (libc)][LINK_OBSOLETE_RPC](libc_hidden_nolink_sunrpc): Remove. + [! _ISOMAC][IS_IN (libc)](libc_hidden_nolink_sunrpc): New. + * include/shlib-compat.h: Modified. + [! LINK_OBSOLETE_RPC](libc_sunrpc_symbol): Remove. + [LINK_OBSOLETE_RPC](libc_sunrpc_symbol): Remove. + (libc_sunrpc_symbol): New. + * malloc/thread-freeres.c: Modified. + (__libc_thread_freeres): Modified function. + (shlib-compat.h): Include file. + * manual/nss.texi: Modified. + * scripts/build-many-glibcs.py: Modified. + * sunrpc/Makefile: Modified. + * sunrpc/bug20790.x: Delete file. + * sunrpc/proto.h: Delete file. + * sunrpc/rpc_clntout.c: Delete file. + * sunrpc/rpc_cout.c: Delete file. + * sunrpc/rpc_hout.c: Delete file. + * sunrpc/rpc_main.c: Delete file. + * sunrpc/rpc_parse.c: Delete file. + * sunrpc/rpc_parse.h: Delete file. + * sunrpc/rpc_sample.c: Delete file. + * sunrpc/rpc_scan.c: Delete file. + * sunrpc/rpc_scan.h: Delete file. + * sunrpc/rpc_svcout.c: Delete file. + * sunrpc/rpc_tblout.c: Delete file. + * sunrpc/rpc_util.c: Delete file. + * sunrpc/rpc_util.h: Delete file. + * sunrpc/rpcgen.c: Delete file. + * sunrpc/rpcsvc/bootparam.h: Delete file. + * sunrpc/rpcsvc/bootparam_prot.x: Delete file. + * sunrpc/rpcsvc/key_prot.x: Delete file. + * sunrpc/rpcsvc/klm_prot.x: Delete file. + * sunrpc/rpcsvc/mount.x: Delete file. + * sunrpc/rpcsvc/nfs_prot.x: Delete file. + * sunrpc/rpcsvc/nlm_prot.x: Delete file. + * sunrpc/rpcsvc/rex.x: Delete file. + * sunrpc/rpcsvc/rquota.x: Delete file. + * sunrpc/rpcsvc/rstat.x: Delete file. + * sunrpc/rpcsvc/rusers.x: Delete file. + * sunrpc/rpcsvc/sm_inter.x: Delete file. + * sunrpc/rpcsvc/spray.x: Delete file. + * sunrpc/rpcsvc/yppasswd.x: Delete file. + * sysdeps/unix/sysv/linux/arc/libc.abilist: Modified. + +2020-07-13 Adhemerval Zanella + + COMMIT: 3486924dc749d87ca7e5983b59baab474c6808a8 + hurd: Fix build-many-glibcs.py + + * sysdeps/hurd/include/sys/msg.h: New file. + * sysdeps/hurd/include/sys/sem.h: New file. + * sysdeps/hurd/include/sys/shm.h: New file. + +2020-07-13 H.J. Lu + + COMMIT: 107e6a3c2212ba7a3a4ec7cae8d82d73f7c95d0b + x86: Support usable check for all CPU features + + * sysdeps/i386/fpu/fclrexcpt.c: Modified. + (__feclearexcept): Modified function. + * sysdeps/i386/fpu/fedisblxcpt.c: Modified. + (fedisableexcept): Modified function. + * sysdeps/i386/fpu/feenablxcpt.c: Modified. + (feenableexcept): Modified function. + * sysdeps/i386/fpu/fegetenv.c: Modified. + (__fegetenv): Modified function. + * sysdeps/i386/fpu/fegetmode.c: Modified. + (fegetmode): Modified function. + * sysdeps/i386/fpu/feholdexcpt.c: Modified. + (__feholdexcept): Modified function. + * sysdeps/i386/fpu/fesetenv.c: Modified. + (__fesetenv): Modified function. + * sysdeps/i386/fpu/fesetmode.c: Modified. + (fesetmode): Modified function. + * sysdeps/i386/fpu/fesetround.c: Modified. + (__fesetround): Modified function. + * sysdeps/i386/fpu/feupdateenv.c: Modified. + (__feupdateenv): Modified function. + * sysdeps/i386/fpu/fgetexcptflg.c: Modified. + (__fegetexceptflag): Modified function. + * sysdeps/i386/fpu/fsetexcptflg.c: Modified. + (__fesetexceptflag): Modified function. + * sysdeps/i386/fpu/ftestexcept.c: Modified. + (fetestexcept): Modified function. + * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Modified. + (libm_ifunc): Modified. + * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Modified. + (libm_ifunc): Modified. + * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Modified. + (libm_ifunc): Modified. + * sysdeps/i386/i686/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/i386/i686/multiarch/ifunc-memmove.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/i386/i686/multiarch/ifunc-memset.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/i386/i686/multiarch/ifunc-sse2.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/i386/i686/multiarch/s_fma.c: Modified. + (libm_ifunc): Modified. + * sysdeps/i386/i686/multiarch/s_fmaf.c: Modified. + (libm_ifunc): Modified. + * sysdeps/i386/i686/multiarch/wcscpy.c: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/i386/setfpucw.c: Modified. + (__setfpucw): Modified function. + * sysdeps/unix/sysv/linux/x86/elision-conf.c: Modified. + [HAVE_TUNABLES](do_set_elision_enable): Modified function. + * sysdeps/x86/cacheinfo.c: Modified. + (get_common_cache_info): Modified function. + (init_cacheinfo): Modified function. + * sysdeps/x86/cpu-features.c: Modified. + (get_extended_indices): Modified function. + (get_common_indices): Modified function. + (init_cpu_features): Modified function. + (update_usable): New function. + * sysdeps/x86/cpu-features.h: Modified. + [(_LIBC) && !IS_IN (nonlib)](x86_get_cpuid_registers): Remove. + (): Modified. + (): Modified. + (): Remove. + (cpu_features): Modified. + (CPU_FEATURES_CPU_P): Modified. + (CPU_FEATURES_ARCH_P): Modified. + (HAS_CPU_FEATURE): Modified. + (HAS_ARCH_FEATURE): Modified. + (CPU_FEATURE_USABLE): Modified. + (bit_arch_AVX_Usable): Remove. + (bit_arch_AVX2_Usable): Remove. + (bit_arch_AVX512F_Usable): Remove. + (bit_arch_AVX512CD_Usable): Remove. + (bit_arch_AVX512ER_Usable): Remove. + (bit_arch_AVX512PF_Usable): Remove. + (bit_arch_AVX512VL_Usable): Remove. + (bit_arch_AVX512DQ_Usable): Remove. + (bit_arch_AVX512BW_Usable): Remove. + (bit_arch_AVX512_4FMAPS_Usable): Remove. + (bit_arch_AVX512_4VNNIW_Usable): Remove. + (bit_arch_AVX512_BITALG_Usable): Remove. + (bit_arch_AVX512_IFMA_Usable): Remove. + (bit_arch_AVX512_VBMI_Usable): Remove. + (bit_arch_AVX512_VBMI2_Usable): Remove. + (bit_arch_AVX512_VNNI_Usable): Remove. + (bit_arch_AVX512_VPOPCNTDQ_Usable): Remove. + (bit_arch_FMA_Usable): Remove. + (bit_arch_FMA4_Usable): Remove. + (bit_arch_VAES_Usable): Remove. + (bit_arch_VPCLMULQDQ_Usable): Remove. + (bit_arch_XOP_Usable): Remove. + (bit_arch_XSAVEC_Usable): Remove. + (bit_arch_F16C_Usable): Remove. + (bit_arch_AVX512_VP2INTERSECT_Usable): Remove. + (bit_arch_AVX512_BF16_Usable): Remove. + (bit_arch_PKU_Usable): Remove. + (bit_arch_AMX_BF16_Usable): Remove. + (bit_arch_AMX_TILE_Usable): Remove. + (bit_arch_AMX_INT8_Usable): Remove. + (index_arch_AVX_Usable): Remove. + (index_arch_AVX2_Usable): Remove. + (index_arch_AVX512F_Usable): Remove. + (index_arch_AVX512CD_Usable): Remove. + (index_arch_AVX512ER_Usable): Remove. + (index_arch_AVX512PF_Usable): Remove. + (index_arch_AVX512VL_Usable): Remove. + (index_arch_AVX512BW_Usable): Remove. + (index_arch_AVX512DQ_Usable): Remove. + (index_arch_AVX512_4FMAPS_Usable): Remove. + (index_arch_AVX512_4VNNIW_Usable): Remove. + (index_arch_AVX512_BITALG_Usable): Remove. + (index_arch_AVX512_IFMA_Usable): Remove. + (index_arch_AVX512_VBMI_Usable): Remove. + (index_arch_AVX512_VBMI2_Usable): Remove. + (index_arch_AVX512_VNNI_Usable): Remove. + (index_arch_AVX512_VPOPCNTDQ_Usable): Remove. + (index_arch_FMA_Usable): Remove. + (index_arch_FMA4_Usable): Remove. + (index_arch_VAES_Usable): Remove. + (index_arch_VPCLMULQDQ_Usable): Remove. + (index_arch_XOP_Usable): Remove. + (index_arch_XSAVEC_Usable): Remove. + (index_arch_F16C_Usable): Remove. + (index_arch_AVX512_VP2INTERSECT_Usable): Remove. + (index_arch_AVX512_BF16_Usable): Remove. + (index_arch_PKU_Usable): Remove. + (index_arch_AMX_BF16_Usable): Remove. + (index_arch_AMX_TILE_Usable): Remove. + (index_arch_AMX_INT8_Usable): Remove. + (feature_AVX_Usable): Remove. + (feature_AVX2_Usable): Remove. + (feature_AVX512F_Usable): Remove. + (feature_AVX512CD_Usable): Remove. + (feature_AVX512ER_Usable): Remove. + (feature_AVX512PF_Usable): Remove. + (feature_AVX512VL_Usable): Remove. + (feature_AVX512BW_Usable): Remove. + (feature_AVX512DQ_Usable): Remove. + (feature_AVX512_4FMAPS_Usable): Remove. + (feature_AVX512_4VNNIW_Usable): Remove. + (feature_AVX512_BITALG_Usable): Remove. + (feature_AVX512_IFMA_Usable): Remove. + (feature_AVX512_VBMI_Usable): Remove. + (feature_AVX512_VBMI2_Usable): Remove. + (feature_AVX512_VNNI_Usable): Remove. + (feature_AVX512_VPOPCNTDQ_Usable): Remove. + (feature_FMA_Usable): Remove. + (feature_FMA4_Usable): Remove. + (feature_VAES_Usable): Remove. + (feature_VPCLMULQDQ_Usable): Remove. + (feature_XOP_Usable): Remove. + (feature_XSAVEC_Usable): Remove. + (feature_F16C_Usable): Remove. + (feature_AVX512_VP2INTERSECT_Usable): Remove. + (feature_AVX512_BF16_Usable): Remove. + (feature_PKU_Usable): Remove. + (feature_AMX_BF16_Usable): Remove. + (feature_AMX_TILE_Usable): Remove. + (feature_AMX_INT8_Usable): Remove. + (feature_Fast_Rep_String): Remove. + (feature_Fast_Copy_Backward): Remove. + (feature_Slow_BSF): Remove. + (feature_Fast_Unaligned_Load): Remove. + (feature_Prefer_PMINUB_for_stringop): Remove. + (feature_Fast_Unaligned_Copy): Remove. + (feature_I586): Remove. + (feature_I686): Remove. + (feature_Slow_SSE4_2): Remove. + (feature_AVX_Fast_Unaligned_Load): Remove. + (feature_Prefer_MAP_32BIT_EXEC): Remove. + (feature_Prefer_No_VZEROUPPER): Remove. + (feature_Prefer_ERMS): Remove. + (feature_Prefer_No_AVX512): Remove. + (feature_MathVec_Prefer_No_AVX512): Remove. + (feature_Prefer_FSRM): Remove. + (cpuid_features): New. + (CPU_FEATURE_CHECK_P): New. + (CPU_FEATURE_SET): New. + (CPU_FEATURE_UNSET): New. + (CPU_FEATURE_SET_USABLE): New. + (CPU_FEATURE_PREFERRED_P): New. + (CPU_FEATURE_CPU_P): New. + (CPU_FEATURE_USABLE_P): New. + (CPU_FEATURE_PREFERRED): New. + (bit_cpu_INDEX_1_ECX_16): New. + (bit_cpu_INDEX_1_ECX_31): New. + (bit_cpu_INDEX_1_EDX_10): New. + (bit_cpu_INDEX_1_EDX_20): New. + (bit_cpu_INDEX_1_EDX_30): New. + (bit_cpu_INDEX_7_EBX_6): New. + (bit_cpu_DEPR_FPU_CS_DS): New. + (bit_cpu_INDEX_7_EBX_22): New. + (bit_cpu_INDEX_7_ECX_13): New. + (bit_cpu_INDEX_7_ECX_15): New. + (bit_cpu_INDEX_7_ECX_16): New. + (bit_cpu_INDEX_7_ECX_23): New. + (bit_cpu_INDEX_7_ECX_24): New. + (bit_cpu_INDEX_7_ECX_26): New. + (bit_cpu_INDEX_7_EDX_0): New. + (bit_cpu_INDEX_7_EDX_1): New. + (bit_cpu_INDEX_7_EDX_5): New. + (bit_cpu_INDEX_7_EDX_6): New. + (bit_cpu_INDEX_7_EDX_7): New. + (bit_cpu_INDEX_7_EDX_9): New. + (bit_cpu_INDEX_7_EDX_11): New. + (bit_cpu_INDEX_7_EDX_12): New. + (bit_cpu_INDEX_7_EDX_13): New. + (bit_cpu_INDEX_7_EDX_17): New. + (bit_cpu_INDEX_7_EDX_19): New. + (bit_cpu_INDEX_7_EDX_21): New. + (bit_cpu_INDEX_7_EDX_23): New. + (index_cpu_INDEX_1_ECX_16): New. + (index_cpu_INDEX_1_ECX_31): New. + (index_cpu_INDEX_1_EDX_10): New. + (index_cpu_INDEX_1_EDX_20): New. + (index_cpu_INDEX_1_EDX_30): New. + (index_cpu_INDEX_7_EBX_6): New. + (index_cpu_DEPR_FPU_CS_DS): New. + (index_cpu_INDEX_7_EBX_22): New. + (index_cpu_INDEX_7_ECX_13): New. + (index_cpu_INDEX_7_ECX_15): New. + (index_cpu_INDEX_7_ECX_16): New. + (index_cpu_INDEX_7_ECX_23): New. + (index_cpu_INDEX_7_ECX_24): New. + (index_cpu_INDEX_7_ECX_26): New. + (index_cpu_INDEX_7_EDX_0): New. + (index_cpu_INDEX_7_EDX_1): New. + (index_cpu_INDEX_7_EDX_5): New. + (index_cpu_INDEX_7_EDX_6): New. + (index_cpu_INDEX_7_EDX_7): New. + (index_cpu_INDEX_7_EDX_9): New. + (index_cpu_INDEX_7_EDX_11): New. + (index_cpu_INDEX_7_EDX_12): New. + (index_cpu_INDEX_7_EDX_13): New. + (index_cpu_INDEX_7_EDX_17): New. + (index_cpu_INDEX_7_EDX_19): New. + (index_cpu_INDEX_7_EDX_21): New. + (index_cpu_INDEX_7_EDX_23): New. + (reg_INDEX_1_ECX_16): New. + (reg_INDEX_1_ECX_31): New. + (reg_INDEX_1_EDX_10): New. + (reg_INDEX_1_EDX_20): New. + (reg_INDEX_1_EDX_30): New. + (reg_INDEX_7_EBX_6): New. + (reg_DEPR_FPU_CS_DS): New. + (reg_INDEX_7_EBX_22): New. + (reg_INDEX_7_ECX_13): New. + (reg_INDEX_7_ECX_15): New. + (reg_INDEX_7_ECX_16): New. + (reg_INDEX_7_ECX_23): New. + (reg_INDEX_7_ECX_24): New. + (reg_INDEX_7_ECX_26): New. + (reg_INDEX_7_EDX_0): New. + (reg_INDEX_7_EDX_1): New. + (reg_INDEX_7_EDX_5): New. + (reg_INDEX_7_EDX_6): New. + (reg_INDEX_7_EDX_7): New. + (reg_INDEX_7_EDX_9): New. + (reg_INDEX_7_EDX_11): New. + (reg_INDEX_7_EDX_12): New. + (reg_INDEX_7_EDX_13): New. + (reg_INDEX_7_EDX_17): New. + (reg_INDEX_7_EDX_19): New. + (reg_INDEX_7_EDX_21): New. + (reg_INDEX_7_EDX_23): New. + * sysdeps/x86/cpu-tunables.c: Modified. + (CHECK_GLIBC_IFUNC_CPU_OFF): Modified. + (CHECK_GLIBC_IFUNC_ARCH_OFF): Remove. + (CHECK_GLIBC_IFUNC_ARCH_BOTH): Remove. + (CHECK_GLIBC_IFUNC_ARCH_NEED_ARCH_BOTH): Remove. + (CHECK_GLIBC_IFUNC_ARCH_NEED_CPU_BOTH): Remove. + (TUNABLE_CALLBACK): Modified function. + (CHECK_GLIBC_IFUNC_PREFERRED_OFF): New. + (CHECK_GLIBC_IFUNC_PREFERRED_BOTH): New. + (CHECK_GLIBC_IFUNC_PREFERRED_NEED_BOTH): New. + * sysdeps/x86/dl-cet.c: Modified. + (dl_cet_check): Modified function. + * sysdeps/x86/tst-get-cpu-features.c: Modified. + (do_test): Modified function. + * sysdeps/x86_64/Makefile: Modified. + * sysdeps/x86_64/dl-machine.h: Modified. + [! dl_machine_h](elf_machine_runtime_setup): Modified function. + * sysdeps/x86_64/fpu/math-tests-arch.h: Modified. + [REQUIRE_AVX](CHECK_ARCH_EXT): Modified. + [REQUIRE_AVX2](CHECK_ARCH_EXT): Modified. + [REQUIRE_AVX512F](CHECK_ARCH_EXT): Modified. + * sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/fpu/multiarch/ifunc-fma.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/fpu/multiarch/s_fma.c: Modified. + (libm_ifunc): Modified. + * sysdeps/x86_64/fpu/multiarch/s_fmaf.c: Modified. + (libm_ifunc): Modified. + * sysdeps/x86_64/multiarch/ifunc-avx2.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/x86_64/multiarch/ifunc-memcmp.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/ifunc-memmove.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/ifunc-memset.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/ifunc-sse4_2.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/ifunc-strcasecmp.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/ifunc-strcpy.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/ifunc-wmemset.h: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/sched_cpucount.c: Modified. + (libc_ifunc): Modified. + * sysdeps/x86_64/multiarch/strchr.c: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/strcmp.c: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/strncmp.c: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/test-multiarch.c: Modified. + (do_test): Modified function. + * sysdeps/x86_64/multiarch/wcscpy.c: Modified. + (IFUNC_SELECTOR): Modified function. + * sysdeps/x86_64/multiarch/wcsnlen.c: Modified. + (IFUNC_SELECTOR): Modified function. + +2020-07-13 Adhemerval Zanella + + COMMIT: 10b01bd4529336bffc2c398ce43a171ed94aacc7 + string: Make tst-strerror/tst-strsignal unsupported if msgfmt is not installed + + * string/Makefile: Modified. + * string/tst-strerror.c: Modified. + (do_test): Modified function. + (stdlib.h): Include file. + * string/tst-strsignal.c: Modified. + (do_test): Modified function. + (stdlib.h): Include file. + +2020-07-13 Florian Weimer + + COMMIT: e72b98e6f858583a3ef904e27c6fbd932bdc86c8 + malloc: Deprecate more hook-related functionality + + * NEWS: Modified. + * malloc/malloc.h: Modified. + (__morecore): Remove. + (__attribute_malloc__): Remove. + (__MALLOC_DEPRECATED): Modified. + (__MALLOC_DEPRECATED): Modified. + (__MALLOC_DEPRECATED): Modified. + (__MALLOC_DEPRECATED): Modified. + (void): Remove. + (__MALLOC_DEPRECATED): New. + (__MALLOC_DEPRECATED): New. + (__MALLOC_DEPRECATED): New. + +2020-07-12 Florian Weimer + + COMMIT: 48699da1c468543ade14777819bd1b4d652709de + elf: Support at least 32-byte alignment in static dlopen + + * csu/libc-tls.c: Modified. + (__libc_setup_tls): Modified function. + +2020-07-11 H.J. Lu + H.J. Lu + + COMMIT: 43530ba1dc4fccd438fefa26f50977ff6bf284c7 + x86: Remove __ASSEMBLER__ check in init-arch.h + + * sysdeps/x86/init-arch.h: Modified. + [! __ASSEMBLER__](ldsodefs.h): Remove. + [__ASSEMBLER__](cpu-features.h): Remove. + (ldsodefs.h): Include file. + +2020-07-11 H.J. Lu + H.J. Lu + + COMMIT: 9016b6f3893789ddfbd978aa572b46b3d3ce762f + x86: Remove the unused __x86_prefetchw + + * sysdeps/i386/Makefile: Modified. + * sysdeps/i386/cacheinfo.c: Delete file. + * sysdeps/x86/Makefile: Modified. + * sysdeps/x86/cacheinfo.c: Modified. + [! DISABLE_PREFETCHW](__x86_prefetchw): Remove. + (init_cacheinfo): Modified function. + * sysdeps/x86_64/Makefile: Modified. + +2020-07-10 Vineet Gupta + + COMMIT: 758caf37366c3bebd349cd3107341dbfd761189a + Documentation for ARC port + + * NEWS: Modified. + * README: Modified. + * manual/install.texi: Modified. + +2020-07-10 Vineet Gupta + + COMMIT: 2fc2260ba467831ddd4e0809c4df20bb5cdecd0e + build-many-glibcs.py: Enable ARC builds + + * scripts/build-many-glibcs.py: Modified. + +2020-07-10 Vineet Gupta + + COMMIT: 0be8ae3679570ff9a193615a035fc8074a8c704f + ARC: Build Infrastructure + + * config.h.in: Modified. + * sysdeps/arc/Implies: New file. + * sysdeps/arc/Makefile: New file. + * sysdeps/arc/Versions: New file. + * sysdeps/arc/configure: New file. + * sysdeps/arc/configure.ac: New file. + * sysdeps/arc/nptl/Makefile: New file. + * sysdeps/arc/preconfigure: New file. + * sysdeps/unix/sysv/linux/arc/Implies: New file. + * sysdeps/unix/sysv/linux/arc/Makefile: New file. + * sysdeps/unix/sysv/linux/arc/Versions: New file. + * sysdeps/unix/sysv/linux/arc/configure: New file. + * sysdeps/unix/sysv/linux/arc/configure.ac: New file. + * sysdeps/unix/sysv/linux/arc/ldconfig.h: New file. + * sysdeps/unix/sysv/linux/arc/shlib-versions: New file. + +2020-07-10 Vineet Gupta + + COMMIT: 33ff7b398830522ef5ef39fa3bbd9249944f7404 + ARC: ABI lists + + * sysdeps/arc/fpu/libm-test-ulps: New file. + * sysdeps/arc/fpu/libm-test-ulps-name: New file. + * sysdeps/arc/nofpu/libm-test-ulps: New file. + * sysdeps/arc/nofpu/libm-test-ulps-name: New file. + * sysdeps/unix/sysv/linux/arc/c++-types.data: New file. + * sysdeps/unix/sysv/linux/arc/ld.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libanl.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libc.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libcrypt.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libdl.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libm.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libpthread.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libresolv.abilist: New file. + * sysdeps/unix/sysv/linux/arc/librt.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libthread_db.abilist: New file. + * sysdeps/unix/sysv/linux/arc/libutil.abilist: New file. + * sysdeps/unix/sysv/linux/arc/localplt.data: New file. + +2020-07-10 Vineet Gupta + + COMMIT: c86a9483f4fbb401be4125b7b6ca490a6d3e776c + ARC: Linux Startup and Dynamic Loading + + * sysdeps/unix/sysv/linux/arc/dl-static.c: New file. + * sysdeps/unix/sysv/linux/arc/ldsodefs.h: New file. + +2020-07-10 Vineet Gupta + + COMMIT: e5ccf113cdcf053815bc368119eb992aa39c2cc6 + ARC: Linux ABI + + * sysdeps/arc/nptl/pthreaddef.h: New file. + * sysdeps/unix/sysv/linux/arc/bits/procfs.h: New file. + * sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h: New file. + * sysdeps/unix/sysv/linux/arc/getcontext.S: New file. + * sysdeps/unix/sysv/linux/arc/makecontext.c: New file. + * sysdeps/unix/sysv/linux/arc/setcontext.S: New file. + * sysdeps/unix/sysv/linux/arc/sigcontextinfo.h: New file. + * sysdeps/unix/sysv/linux/arc/swapcontext.S: New file. + * sysdeps/unix/sysv/linux/arc/sys/cachectl.h: New file. + * sysdeps/unix/sysv/linux/arc/sys/ucontext.h: New file. + * sysdeps/unix/sysv/linux/arc/sys/user.h: New file. + * sysdeps/unix/sysv/linux/arc/ucontext-macros.h: New file. + * sysdeps/unix/sysv/linux/arc/ucontext_i.sym: New file. + +2020-07-10 Vineet Gupta + + COMMIT: add5071a5c95083b628a3bd03654437fcc6d8f81 + ARC: Linux Syscall Interface + + * sysdeps/unix/sysv/linux/arc/arch-syscall.h: New file. + * sysdeps/unix/sysv/linux/arc/bits/timesize.h: New file. + * sysdeps/unix/sysv/linux/arc/clone.S: New file. + * sysdeps/unix/sysv/linux/arc/fixup-asm-unistd.h: New file. + * sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h: New file. + * sysdeps/unix/sysv/linux/arc/kernel-features.h: New file. + * sysdeps/unix/sysv/linux/arc/kernel_stat.h: New file. + * sysdeps/unix/sysv/linux/arc/mmap_internal.h: New file. + * sysdeps/unix/sysv/linux/arc/sigaction.c: New file. + * sysdeps/unix/sysv/linux/arc/sigrestorer.S: New file. + * sysdeps/unix/sysv/linux/arc/syscall.S: New file. + * sysdeps/unix/sysv/linux/arc/syscalls.list: New file. + * sysdeps/unix/sysv/linux/arc/sysdep.c: New file. + * sysdeps/unix/sysv/linux/arc/sysdep.h: New file. + * sysdeps/unix/sysv/linux/arc/vfork.S: New file. + +2020-07-10 Vineet Gupta + + COMMIT: 3ab8611a229fc2bd9a165d067390f7b6165ef6d4 + ARC: hardware floating point support + + * sysdeps/arc/fpu/fclrexcpt.c: New file. + * sysdeps/arc/fpu/fegetenv.c: New file. + * sysdeps/arc/fpu/fegetmode.c: New file. + * sysdeps/arc/fpu/fegetround.c: New file. + * sysdeps/arc/fpu/feholdexcpt.c: New file. + * sysdeps/arc/fpu/fesetenv.c: New file. + * sysdeps/arc/fpu/fesetexcept.c: New file. + * sysdeps/arc/fpu/fesetmode.c: New file. + * sysdeps/arc/fpu/fesetround.c: New file. + * sysdeps/arc/fpu/feupdateenv.c: New file. + * sysdeps/arc/fpu/fgetexcptflg.c: New file. + * sysdeps/arc/fpu/fraiseexcpt.c: New file. + * sysdeps/arc/fpu/fsetexcptflg.c: New file. + * sysdeps/arc/fpu/ftestexcept.c: New file. + * sysdeps/arc/fpu/math-use-builtins-fma.h: New file. + * sysdeps/arc/fpu/math-use-builtins-sqrt.h: New file. + * sysdeps/arc/fpu_control.h: New file. + * sysdeps/arc/get-rounding-mode.h: New file. + * sysdeps/arc/math-tests-trap.h: New file. + * sysdeps/arc/tininess.h: New file. + +2020-07-10 Vineet Gupta + + COMMIT: fd9dec20c8f53383ffdc9fb259f5529d85f5cf24 + ARC: math soft float support + + * sysdeps/arc/bits/fenv.h: New file. + * sysdeps/arc/nofpu/Implies: New file. + * sysdeps/arc/nofpu/math-tests-exceptions.h: New file. + * sysdeps/arc/nofpu/math-tests-rounding.h: New file. + * sysdeps/arc/sfp-machine.h: New file. + +2020-07-10 Vineet Gupta + + COMMIT: 9679dd5ecdf46fc697b287ec5cba0c4dc9a7afa7 + ARC: Atomics and Locking primitives + + * sysdeps/arc/atomic-machine.h: New file. + +2020-07-10 Vineet Gupta + + COMMIT: 0261315289cfd3183cd447dc1d7a7a5ab5aeb93d + ARC: Thread Local Storage support + + * sysdeps/arc/dl-tls.h: New file. + * sysdeps/arc/libc-tls.c: New file. + * sysdeps/arc/nptl/tcb-offsets.sym: New file. + * sysdeps/arc/nptl/tls.h: New file. + * sysdeps/arc/stackinfo.h: New file. + +2020-07-10 Vineet Gupta + + COMMIT: dd2e6ef179e1b50496ae6afc057b276a7786a78f + ARC: startup and dynamic linking code + + * sysdeps/arc/bits/link.h: New file. + * sysdeps/arc/dl-machine.h: New file. + * sysdeps/arc/entry.h: New file. + * sysdeps/arc/ldsodefs.h: New file. + * sysdeps/arc/sotruss-lib.c: New file. + * sysdeps/arc/start.S: New file. + * sysdeps/arc/tst-audit.h: New file. + +2020-07-10 Vineet Gupta + + COMMIT: 0e7d930c4c11de896fe807f67fa1eb756c9c1e05 + ARC: ABI Implementation + + * sysdeps/arc/__longjmp.S: New file. + * sysdeps/arc/abort-instr.h: New file. + * sysdeps/arc/bits/endianness.h: New file. + * sysdeps/arc/bits/setjmp.h: New file. + * sysdeps/arc/bsd-_setjmp.S: New file. + * sysdeps/arc/bsd-setjmp.S: New file. + * sysdeps/arc/dl-runtime.h: New file. + * sysdeps/arc/dl-sysdep.h: New file. + * sysdeps/arc/dl-trampoline.S: New file. + * sysdeps/arc/gccframe.h: New file. + * sysdeps/arc/jmpbuf-offsets.h: New file. + * sysdeps/arc/jmpbuf-unwind.h: New file. + * sysdeps/arc/machine-gmon.h: New file. + * sysdeps/arc/memusage.h: New file. + * sysdeps/arc/setjmp.S: New file. + * sysdeps/arc/sysdep.h: New file. + * sysdeps/arc/tls-macros.h: New file. + +2020-07-10 Lucas A. M. Magalhaes + + COMMIT: 04deeaa9ea74b0679dfc9d9155a37b6425f19a9f + Fix time/tst-cpuclock1 intermitent failures + + * support/Makefile: Modified. + * support/timespec.c: Modified. + (assert.h): Include file. + (intprops.h): Include file. + (support_timespec_ns): New function. + (support_timespec_normalize): New function. + (support_timespec_check_in_range): New function. + * support/timespec.h: Modified. + (support_timespec_ns): New function. + (support_timespec_normalize): New function. + (support_timespec_check_in_range): New function. + * support/tst-timespec.c: New file. + * time/tst-cpuclock1.c: Modified. + (do_test): Modified function. + (support/timespec.h): Include file. + +2020-07-10 Tulio Magno Quites Machado Filho + + COMMIT: 7c7bcf3634e44cf7e001aaa302138c1ee0e58f8c + powerpc64: Fix calls when r2 is not used [BZ #26173] + + * config.h.in: Modified. + * sysdeps/powerpc/powerpc64/configure: Modified. + * sysdeps/powerpc/powerpc64/configure.ac: Modified. + * sysdeps/powerpc/powerpc64/ppc-mcount.S: Modified. + * sysdeps/powerpc/powerpc64/setjmp-common.S: Modified. + * sysdeps/powerpc/powerpc64/sysdep.h: Modified. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](OPD_ENT): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](ENTRY_1): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](DOT_PREFIX): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](BODY_PREFIX): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](ENTRY_2): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](END_2): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](LOCALENTRY): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](OPD_ENT): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](PPC64_LOAD_FUNCPTR): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](DOT_PREFIX): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](BODY_PREFIX): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](ENTRY_2): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](END_2): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](LOCALENTRY): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][!(IS_IN (rtld))][_CALL_ELF != 2](PPC64_LOAD_FUNCPTR): Remove. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][! USE_PPC64_NOTOC](NOTOC): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](OPD_ENT): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](ENTRY_1): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](DOT_PREFIX): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](BODY_PREFIX): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](ENTRY_2): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](END_2): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][! USE_PPC64_OVERLAPPING_OPD](LOCALENTRY): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](OPD_ENT): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](PPC64_LOAD_FUNCPTR): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](DOT_PREFIX): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](BODY_PREFIX): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](ENTRY_2): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](END_2): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2][USE_PPC64_OVERLAPPING_OPD](LOCALENTRY): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC][_CALL_ELF != 2](PPC64_LOAD_FUNCPTR): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][! SHARED][SHARED][IS_IN (rtld)][USE_PPC64_NOTOC](NOTOC): New. + [__ASSEMBLER__][! PROF][_CALL_ELF == 2][SHARED](TAIL_CALL_SYSCALL_ERROR): Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Modified. + +2020-07-10 Mike FABIAN + + COMMIT: 936c9666aed6747f7a76221118f7cf59100075e6 + Add NEWS entry for Update to Unicode 13.0.0 [BZ #25819] + + * NEWS: Modified. + +2020-07-09 Patsy Franklin + + COMMIT: b21c2c24ed1ceaf4b5bcb07b3f6e2d9f54a38831 + Update i686 libm-test-ulps + + * sysdeps/i386/fpu/libm-test-ulps: Modified. + +2020-07-09 Joseph Myers + + COMMIT: 90663e9c814a919fa1fb41a878c06ef2fae58ed2 + Fix memory leak in __printf_fp_l (bug 26215). + + * stdio-common/Makefile: Modified. + * stdio-common/printf_fp.c: Modified. + (outchar): Modified. + (PRINT): Modified. + (PADN): Modified. + (__printf_fp_l): Modified function. + * stdio-common/tst-printf-fp-leak.c: New file. + +2020-07-09 Joseph Myers + + COMMIT: ede56038e50235cd1ca7de3602c9491d3b84b49b + Fix double free in __printf_fp_l (bug 26214). + + * stdio-common/Makefile: Modified. + * stdio-common/printf_fp.c: Modified. + (__printf_fp_l): Modified function. + * stdio-common/tst-printf-fp-free.c: New file. + +2020-07-09 Maciej W. Rozycki + + COMMIT: c363f834cfcbf5efa5449ef13f62233a6d5b9422 + linux: Fix syscall list generation instructions + + * sysdeps/unix/sysv/linux/Makefile: Modified. + +2020-07-09 Adhemerval Zanella + + COMMIT: ffd178c651b827f24acead02284abbb12f3f723b + sysv: linux: Add 64-bit time_t variant for shmctl + + * include/sys/shm.h: Modified. + (sysvipc/sys/shm.h): Remove include. + (_next + + COMMIT: 7929d779850aaaf9fd2377ed0945fb53f60dee63 + sysvipc: Remove the linux shm-pad.h file + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/bits/shm-pad.h: Delete file. + * sysdeps/unix/sysv/linux/bits/shm.h: Modified. + (bits/shm-pad.h): Remove include. + * sysdeps/unix/sysv/linux/bits/types/struct_shmid_ds.h: Modified. + [! __SHM_PAD_AFTER_TIME](__SHM_PAD_TIME): Remove. + [__SHM_PAD_AFTER_TIME](__SHM_PAD_TIME): Remove. + [__SHM_PAD_BEFORE_TIME](__SHM_PAD_TIME): Remove. + (bits/shm-pad.h): Remove include. + (shmid_ds): Modified. + * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h: Delete file. + * sysdeps/unix/sysv/linux/hppa/bits/types/struct_shmid_ds.h: New file. + * sysdeps/unix/sysv/linux/mips/bits/shm-pad.h: Delete file. + * sysdeps/unix/sysv/linux/mips/bits/types/struct_shmid_ds.h: New file. + * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h: Delete file. + * sysdeps/unix/sysv/linux/powerpc/bits/types/struct_shmid_ds.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h: Delete file. + * sysdeps/unix/sysv/linux/sparc/bits/types/struct_shmid_ds.h: New file. + +2020-07-09 Adhemerval Zanella + + COMMIT: 380b7ced6ab792cf2095377498ed4bbc2716f139 + sysvipc: Split out linux struct shmid_ds + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/bits/shm.h: Modified. + [! __SHM_PAD_AFTER_TIME](__SHM_PAD_TIME): Remove. + [__SHM_PAD_AFTER_TIME](__SHM_PAD_TIME): Remove. + [__SHM_PAD_BEFORE_TIME](__SHM_PAD_TIME): Remove. + (shmid_ds): Remove. + (bits/types/struct_shmid_ds.h): Include file. + * sysdeps/unix/sysv/linux/bits/types/struct_shmid_ds.h: New file. + +2020-07-09 Adhemerval Zanella + + COMMIT: 3283f711132eaadc4f04bd8c1d84c910c29ba066 + sysv: linux: Add 64-bit time_t variant for msgctl + + * include/sys/msg.h: Modified. + [! _ISOMAC](__libc_msgrcv): Remove. + [! _ISOMAC](__libc_msgsnd): Remove. + (sysvipc/sys/msg.h): Remove include. + (_next + + COMMIT: 915b9fe3124d87ff1734c902c0d36b5eac7688ff + sysvipc: Remove the linux msq-pad.h file + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/bits/msq-pad.h: Delete file. + * sysdeps/unix/sysv/linux/bits/types/struct_msqid_ds.h: Modified. + [! __MSQ_PAD_AFTER_TIME](__MSQ_PAD_TIME): Remove. + [__MSQ_PAD_AFTER_TIME](__MSQ_PAD_TIME): Remove. + [__MSQ_PAD_BEFORE_TIME](__MSQ_PAD_TIME): Remove. + (bits/msq-pad.h): Remove include. + (msqid_ds): Modified. + * sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h: Delete file. + * sysdeps/unix/sysv/linux/hppa/bits/types/struct_msqid_ds.h: New file. + * sysdeps/unix/sysv/linux/mips/bits/msq-pad.h: Delete file. + * sysdeps/unix/sysv/linux/mips/bits/types/struct_msqid_ds.h: New file. + * sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h: Delete file. + * sysdeps/unix/sysv/linux/powerpc/bits/types/struct_msqid_ds.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h: Delete file. + * sysdeps/unix/sysv/linux/sparc/bits/types/struct_msqid_ds.h: New file. + +2020-07-09 Adhemerval Zanella + + COMMIT: 078a8920854217d0251fa699145174121e76f15d + sysvipc: Split out linux struct semid_ds + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/bits/msq.h: Modified. + [! __MSQ_PAD_AFTER_TIME](__MSQ_PAD_TIME): Remove. + [__MSQ_PAD_AFTER_TIME](__MSQ_PAD_TIME): Remove. + [__MSQ_PAD_BEFORE_TIME](__MSQ_PAD_TIME): Remove. + (bits/msq-pad.h): Remove include. + (msqid_ds): Remove. + (bits/types/struct_msqid_ds.h): Include file. + * sysdeps/unix/sysv/linux/bits/types/struct_msqid_ds.h: New file. + +2020-07-09 Adhemerval Zanella + + COMMIT: dba950e3174a5210b900a26a7d2f361cadea2834 + sysv: linux: Add 64-bit time_t variant for semctl + + * include/sys/sem.h: Modified. + [! _ISOMAC](__typeof__): Remove. + (sysvipc/sys/sem.h): Remove include. + (_next + + COMMIT: ffb17e7ba3a5ba9632cee97330b325072fbe41dd + rtld: Avoid using up static TLS surplus for optimizations [BZ #25051] + + * csu/libc-tls.c: Modified. + (_dl_tls_static_optional): New. + * elf/Makefile: Modified. + * elf/dl-reloc.c: Modified. + (_dl_try_allocate_static_tls): Modified function. + (_dl_allocate_static_tls): Modified function. + * elf/dl-tls.c: Modified. + (OPT_SURPLUS_TLS): Remove. + (_dl_tls_static_surplus_init): Modified function. + * elf/dl-tunables.list: Modified. + * elf/dynamic-link.h: Modified. + (TRY_STATIC_TLS): Modified. + (_dl_try_allocate_static_tls): Modified. + * elf/tst-tls-ie-dlmopen.c: New file. + * elf/tst-tls-ie-mod.h: New file. + * elf/tst-tls-ie-mod0.c: New file. + * elf/tst-tls-ie-mod1.c: New file. + * elf/tst-tls-ie-mod2.c: New file. + * elf/tst-tls-ie-mod3.c: New file. + * elf/tst-tls-ie-mod4.c: New file. + * elf/tst-tls-ie-mod5.c: New file. + * elf/tst-tls-ie-mod6.c: New file. + * elf/tst-tls-ie.c: New file. + * manual/tunables.texi: Modified. + * sysdeps/generic/ldsodefs.h: Modified. + [SHARED](rtld_global): Modified. + +2020-07-08 Szabolcs Nagy + + COMMIT: 17796419b5fd694348cceb65c3f77601faae082c + rtld: Account static TLS surplus for audit modules + + * csu/libc-tls.c: Modified. + (__libc_setup_tls): Modified function. + * elf/dl-tls.c: Modified. + (_dl_tls_static_surplus_init): Modified function. + * elf/rtld.c: Modified. + (init_tls): Modified function. + (dl_main): Modified function. + (audit_list_count): New function. + * manual/tunables.texi: Modified. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)](_dl_tls_static_surplus_init): Modified. + +2020-07-08 Szabolcs Nagy + + COMMIT: 0c7b002fac12dcb2f53ba83ee56bb3b5d2439447 + rtld: Add rtld.nns tunable for the number of supported namespaces + + * csu/libc-tls.c: Modified. + (_dl_tls_static_size): Remove. + (init_static_tls): Modified function. + (__libc_setup_tls): Modified function. + (_dl_tls_static_size): New. + (_dl_tls_static_surplus): New. + * elf/dl-tls.c: Modified. + [SHARED](_dl_determine_tlsoffset): Modified function. + (TLS_STATIC_SURPLUS): Remove. + (TUNABLE_NAMESPACE): New. + (dl-tunables.h): Include file. + (LIBC_IE_TLS): New. + (OTHER_IE_TLS): New. + (OPT_SURPLUS_TLS): New. + (_dl_tls_static_surplus_init): New function. + * elf/dl-tunables.list: Modified. + * elf/rtld.c: Modified. + (init_tls): Modified function. + * manual/tunables.texi: Modified. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)](_dl_tls_static_surplus_init): New function. + [SHARED](rtld_global_ro): Modified. + +2020-07-08 Petr Vorel + + COMMIT: ae7a94e5e3edf78f4da562edc05ece229614c716 + Remove --enable-obsolete-nsl configure flag + + * INSTALL: Modified. + * NEWS: Modified. + * config.h.in: Modified. + * config.make.in: Modified. + * configure: Modified. + * configure.ac: Modified. + * grp/initgroups.c: Modified. + [! LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + [LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + (internal_getgrouplist): Modified function. + * include/aliases.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * include/dlfcn.h: Modified. + * include/grp.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * include/libc-symbols.h: Modified. + [! _ISOMAC][!(IS_IN (libnsl))](libnsl_hidden_def): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_proto): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_tls_proto): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_def): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_weak): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_ver): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_data_def): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_tls_def): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_data_weak): Remove. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_data_ver): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_proto): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_tls_proto): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_def): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_weak): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_ver): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_data_def): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_tls_def): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_data_weak): Remove. + [! _ISOMAC][!(IS_IN (libnss_nisplus))](libnss_nisplus_hidden_data_ver): Remove. + [! _ISOMAC][IS_IN (libnsl)][! LINK_OBSOLETE_NSL](libnsl_hidden_nolink_def): Remove. + [! _ISOMAC][IS_IN (libnsl)][LINK_OBSOLETE_NSL](libnsl_hidden_nolink_def): Remove. + [! _ISOMAC][IS_IN (libnsl)](libnsl_hidden_def): Remove. + [! _ISOMAC][IS_IN (libnsl)](libnsl_hidden_nolink_def): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_proto): Remove. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_tls_proto): Remove. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_def): Remove. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_weak): Remove. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_ver): Remove. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_data_def): Remove. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_tls_def): Remove. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_data_weak): Remove. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_data_ver): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_proto): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_tls_proto): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_def): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_weak): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_ver): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_data_def): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_tls_def): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_data_weak): Remove. + [! _ISOMAC][IS_IN (libnss_nisplus)](libnss_nisplus_hidden_data_ver): Remove. + * include/netdb.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * include/netinet/ether.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * include/pwd.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * include/rpc/auth.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * include/rpc/auth_des.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * include/rpc/netdb.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * include/rpcsvc/yp_prot.h: Delete file. + * include/shadow.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Remove. + * manual/install.texi: Modified. + * manual/nss.texi: Modified. + * manual/nsswitch.texi: Modified. + * nis/Makefile: Modified. + * nis/Versions: Modified. + * nis/libnsl.h: Modified. + (_nsl_default_nss): Remove. + * nis/nisplus-parser.h: Delete file. + * nis/nss-default.c: Delete file. + * nis/nss-nis.c: Delete file. + * nis/nss-nis.h: Delete file. + * nis/nss-nisplus.c: Delete file. + * nis/nss-nisplus.h: Delete file. + * nis/nss_nis/nis-alias.c: Delete file. + * nis/nss_nis/nis-ethers.c: Delete file. + * nis/nss_nis/nis-grp.c: Delete file. + * nis/nss_nis/nis-hosts.c: Delete file. + * nis/nss_nis/nis-initgroups.c: Delete file. + * nis/nss_nis/nis-netgrp.c: Delete file. + * nis/nss_nis/nis-network.c: Delete file. + * nis/nss_nis/nis-proto.c: Delete file. + * nis/nss_nis/nis-pwd.c: Delete file. + * nis/nss_nis/nis-rpc.c: Delete file. + * nis/nss_nis/nis-service.c: Delete file. + * nis/nss_nis/nis-spwd.c: Delete file. + * nis/nss_nisplus/nisplus-alias.c: Delete file. + * nis/nss_nisplus/nisplus-ethers.c: Delete file. + * nis/nss_nisplus/nisplus-grp.c: Delete file. + * nis/nss_nisplus/nisplus-hosts.c: Delete file. + * nis/nss_nisplus/nisplus-initgroups.c: Delete file. + * nis/nss_nisplus/nisplus-netgrp.c: Delete file. + * nis/nss_nisplus/nisplus-network.c: Delete file. + * nis/nss_nisplus/nisplus-parser.c: Delete file. + * nis/nss_nisplus/nisplus-proto.c: Delete file. + * nis/nss_nisplus/nisplus-pwd.c: Delete file. + * nis/nss_nisplus/nisplus-rpc.c: Delete file. + * nis/nss_nisplus/nisplus-service.c: Delete file. + * nis/nss_nisplus/nisplus-spwd.c: Delete file. + * nis/rpcsvc/nis.x: Delete file. + * nis/rpcsvc/nis_callback.x: Delete file. + * nis/rpcsvc/nis_object.x: Delete file. + * nis/rpcsvc/yp.x: Delete file. + * nis/rpcsvc/yp_prot.h: Delete file. + * nscd/initgrcache.c: Modified. + [! LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + [LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + (addinitgroupsX): Modified function. + * nss/grp-lookup.c: Modified. + [! LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + [LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + (DEFAULT_CONFIG): New. + * nss/nsswitch.c: Modified. + [! LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + [! LINK_OBSOLETE_NSL](DEFAULT_DEFCONFIG): Remove. + [! USE_NSCD][SHARED && USE_NSCD](__nss_disable_nscd): Modified function. + [! USE_NSCD](__nss_database_lookup2): Modified function. + [LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + [LINK_OBSOLETE_NSL](DEFAULT_DEFCONFIG): Remove. + * nss/nsswitch.conf: Modified. + * nss/pwd-lookup.c: Modified. + [! LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + [LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + (DEFAULT_CONFIG): New. + * nss/spwd-lookup.c: Modified. + [! LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + [LINK_OBSOLETE_NSL](DEFAULT_CONFIG): Remove. + (DEFAULT_CONFIG): New. + * scripts/build-many-glibcs.py: Modified. + * shlib-versions: Modified. + * sysdeps/mach/Makefile: Modified. + * sysdeps/unix/sysv/linux/mips/shlib-versions: Modified. + +2020-07-08 Florian Weimer + + COMMIT: acb527929d0c2b3bb0798472c42ddb3203729708 + Move non-deprecated RPC-related functions from sunrpc to inet + + * inet/Makefile: Modified. + * sunrpc/bindrsvprt.c: Move to... + * inet/bindresvport.c: ... here. + * sunrpc/etc.rpc: Move to... + * inet/etc.rpc: ... here. + * sunrpc/getrpcbyname.c: Move to... + * inet/getrpcbyname.c: ... here. + * sunrpc/getrpcbyname_r.c: Move to... + * inet/getrpcbyname_r.c: ... here. + * sunrpc/getrpcbynumber.c: Move to... + * inet/getrpcbynumber.c: ... here. + * sunrpc/getrpcbynumber_r.c: Move to... + * inet/getrpcbynumber_r.c: ... here. + * sunrpc/getrpcent.c: Move to... + * inet/getrpcent.c: ... here. + * sunrpc/getrpcent_r.c: Move to... + * inet/getrpcent_r.c: ... here. + * sunrpc/Makefile: Modified. + +2020-07-08 Szabolcs Nagy + + COMMIT: a2a83bf6d9f1d4d297c5378f0fda0d8f85bc75f2 + aarch64: add NEWS entry about branch protection support + + * NEWS: Modified. + +2020-07-08 Szabolcs Nagy + + COMMIT: d174ec248d5b6bba3842f425f036495b682c313f + aarch64: redefine RETURN_ADDRESS to strip PAC + + * sysdeps/aarch64/sysdep.h: Modified. + [! __ASSEMBLER__][HAVE_AARCH64_PAC_RET](RETURN_ADDRESS): New. + +2020-07-08 Szabolcs Nagy + + COMMIT: c94767712b06fd37e82d23f86d4d6e1c93948d8a + aarch64: fix pac-ret support in _mcount + + * sysdeps/aarch64/machine-gmon.h: Modified. + (MCOUNT): Modified. + * sysdeps/aarch64/sysdep.h: Modified. + [! __ASSEMBLER__](strip_pac): New. + +2020-07-08 Szabolcs Nagy + + COMMIT: 1be3d6eb823d8b952fa54b7bbc90cbecb8981380 + aarch64: Add pac-ret support to assembly files + + * sysdeps/aarch64/crti.S: Modified. + * sysdeps/aarch64/crtn.S: Modified. + * sysdeps/aarch64/dl-tlsdesc.S: Modified. + * sysdeps/aarch64/dl-trampoline.S: Modified. + * sysdeps/aarch64/sysdep.h: Modified. + [__ASSEMBLER__][HAVE_AARCH64_BTI && HAVE_AARCH64_PAC_RET](GNU_PROPERTY): New. + [__ASSEMBLER__](PACIASP): New. + [__ASSEMBLER__](AUTIASP): New. + +2020-07-08 Szabolcs Nagy + + COMMIT: 9e1751e6d693b73b95db2f6d8438dd80f1aeffe0 + aarch64: configure check for pac-ret code generation + + * config.h.in: Modified. + * sysdeps/aarch64/configure: Modified. + * sysdeps/aarch64/configure.ac: Modified. + +2020-07-08 Szabolcs Nagy + + COMMIT: de9301c02e898fb20a609b459d81afda42f39c61 + aarch64: ensure objects are BTI compatible + + * sysdeps/aarch64/Makefile: Modified. + * sysdeps/aarch64/configure: Modified. + * sysdeps/aarch64/configure.ac: Modified. + +2020-07-08 Sudakshina Das + Szabolcs Nagy + + COMMIT: 605338745ba15930e9acac46c32ce6cada12a52b + aarch64: enable BTI at runtime + + * sysdeps/aarch64/Makefile: Modified. + * sysdeps/aarch64/dl-bti.c: New file. + * sysdeps/aarch64/dl-prop.h: New file. + * sysdeps/aarch64/linkmap.h: Modified. + (link_map_machine): Modified. + (stdbool.h): Include file. + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h: Modified. + (HWCAP2_BTI): New. + * sysdeps/unix/sysv/linux/aarch64/bits/mman.h: New file. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.c: Modified. + (init_cpu_features): Modified function. + * sysdeps/unix/sysv/linux/aarch64/cpu-features.h: Modified. + (cpu_features): Modified. + (stdbool.h): Include file. + +2020-07-08 Szabolcs Nagy + + COMMIT: 5f846c8b0dea05554a48ec5ad13874cc757a886f + aarch64: fix RTLD_START for BTI + + * sysdeps/aarch64/dl-machine.h: Modified. + [! dl_machine_h](RTLD_START_1): Modified. + +2020-07-08 Szabolcs Nagy + + COMMIT: fddbd7c0ef4960fc0a17712a95a146dd3f43de0a + aarch64: fix swapcontext for BTI + + * sysdeps/unix/sysv/linux/aarch64/swapcontext.S: Modified. + +2020-07-08 Sudakshina Das + Szabolcs Nagy + + COMMIT: 91181954f94917b1e1ae591c60cbadf0321d35af + aarch64: Add BTI support to assembly files + + * sysdeps/aarch64/crti.S: Modified. + * sysdeps/aarch64/crtn.S: Modified. + * sysdeps/aarch64/dl-tlsdesc.S: Modified. + * sysdeps/aarch64/dl-trampoline.S: Modified. + * sysdeps/aarch64/multiarch/memset_emag.S: Modified. + * sysdeps/aarch64/multiarch/memset_falkor.S: Modified. + * sysdeps/aarch64/multiarch/memset_generic.S: Modified. + * sysdeps/aarch64/multiarch/rtld-memset.S: Modified. + * sysdeps/aarch64/start.S: Modified. + * sysdeps/aarch64/sysdep.h: Modified. + [__ASSEMBLER__](ENTRY): Modified. + [__ASSEMBLER__](ENTRY_ALIGN): Modified. + [__ASSEMBLER__](ENTRY_ALIGN_AND_PAD): Modified. + [__ASSEMBLER__][HAVE_AARCH64_BTI](GNU_PROPERTY): New. + [__ASSEMBLER__](BTI_C): New. + [__ASSEMBLER__](BTI_J): New. + [__ASSEMBLER__](FEATURE_1_AND): New. + [__ASSEMBLER__](FEATURE_1_BTI): New. + [__ASSEMBLER__](FEATURE_1_PAC): New. + [__ASSEMBLER__](GNU_PROPERTY): New. + +2020-07-08 Szabolcs Nagy + + COMMIT: 2a4c2dde4918c2c4e443e8328eab97db2c26e327 + aarch64: Rename place holder .S files to .c + + * sysdeps/aarch64/bsd-_setjmp.S: Move to... + * sysdeps/aarch64/bsd-_setjmp.c: ... here. + * sysdeps/aarch64/bsd-setjmp.S: Move to... + * sysdeps/aarch64/bsd-setjmp.c: ... here. + * sysdeps/aarch64/memmove.S: Move to... + * sysdeps/aarch64/memmove.c: ... here. + +2020-07-08 Szabolcs Nagy + + COMMIT: 1b0a4f58f5b10cf6d5ad10ee8d81772c5bd29248 + aarch64: configure test for BTI support + + * config.h.in: Modified. + * sysdeps/aarch64/configure: Modified. + * sysdeps/aarch64/configure.ac: Modified. + +2020-07-08 Szabolcs Nagy + + COMMIT: dbfefbdc3aeec88868cb9d46267f91dc62461226 + Rewrite abi-note.S in C. + + * csu/abi-note.S: Move to... + * csu/abi-note.c: ... here. + (link.h): Include file. + (stdint.h): Include file. + (): New. + * sysdeps/arm/abi-note.S: Delete file. + +2020-07-08 Szabolcs Nagy + H.J. Lu + + COMMIT: c7aa8596de86fb667914ccb95c10495ad056ff96 + rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling + + * elf/dl-load.c: Modified. + [! EXTERNAL_MAP_FROM_FD](_dl_map_object_from_fd): Modified function. + (_dl_process_pt_gnu_property): New function. + * elf/rtld.c: Modified. + (dl_main): Modified function. + * sysdeps/generic/dl-prop.h: Modified. + [FILEBUF_SIZE](_dl_process_pt_note): Remove. + (_rtld_process_pt_note): Remove function. + (_dl_process_pt_note): New function. + (_dl_process_gnu_property): New function. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)](_dl_process_pt_gnu_property): New function. + * sysdeps/x86/dl-prop.h: Modified. + [FILEBUF_SIZE](_dl_process_pt_note): Remove. + (not-cancel.h): Remove include. + (_rtld_process_pt_note): Remove function. + (_dl_process_pt_note): New function. + (_dl_process_gnu_property): New function. + +2020-07-08 Adhemerval Zanella + + COMMIT: c1e63c7214aaef99039068da384a0ab3abc176f2 + string: Move tst-strsignal tst-strerror to tests-container + + * string/Makefile: Modified. + +2020-07-08 Florian Weimer + + COMMIT: 5b2deed8a5d5cca2d82423572415a1c629bea488 + string: Fix prototype mismatch in sigabbrev_np, __sigdescr_np + + * string/sigabbrev_np.c: Modified. + (sigabbrev_np): Modified function. + * string/sigdescr_np.c: Modified. + (__sigdescr_np): Modified function. + +2020-07-08 Alexander Anisimov + + COMMIT: beea361050728138b82c57dda0c4810402d342b9 + arm: CVE-2020-6096: Fix multiarch memcpy for negative length [BZ #25620] + + * sysdeps/arm/armv7/multiarch/memcpy_impl.S: Modified. + +2020-07-08 Evgeny Eremin + + COMMIT: 79a4fa341b8a89cb03f84564fd72abaa1a2db394 + arm: CVE-2020-6096: fix memcpy and memmove for negative length [BZ #25620] + + * sysdeps/arm/memcpy.S: Modified. + * sysdeps/arm/memmove.S: Modified. + +2020-07-08 Florian Weimer + + COMMIT: 78e02c469828fcfb6a5cf73dbcceb4f60fb6fafd + sunrpc: Remove hidden aliases for global data symbols (bug 26210) + + * include/rpc/clnt.h: Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + * include/rpc/svc.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + * sunrpc/rpc_common.c: Modified. + (libc_hidden_nolink_sunrpc): Remove. + (libc_hidden_nolink_sunrpc): Remove. + (libc_hidden_nolink_sunrpc): Remove. + (libc_hidden_nolink_sunrpc): Remove. + [SHARED][! EXPORT_RPC_SYMBOLS](compat_symbol): New. + [SHARED][! EXPORT_RPC_SYMBOLS](compat_symbol): New. + [SHARED][! EXPORT_RPC_SYMBOLS](compat_symbol): New. + [SHARED][! EXPORT_RPC_SYMBOLS](compat_symbol): New. + +2020-07-07 Samuel Thibault + + COMMIT: 01ac385ca819599f7f1815115ffe926b5e1460ef + hurd: Fix strerror not setting errno + + * sysdeps/mach/strerror_l.c: Modified. + (__strerror_l): Modified function. + (errno.h): Include file. + +2020-07-07 Samuel Thibault + + COMMIT: 5549370a73c45b12621a1abe58920771278a72b4 + tst-strsignal: fix checking for RT signals support + + * string/tst-strsignal.c: Modified. + (do_test): Modified function. + +2020-07-07 Samuel Thibault + + COMMIT: d63387d81d575ba8187345d216070595bd58cb2b + hurd: Evaluate fd before entering the critical section + + * sysdeps/hurd/include/hurd/fd.h: Modified. + [! _ISOMAC](HURD_FD_PORT_USE_CANCEL): Modified. + +2020-07-07 Arjun Shankar + + COMMIT: 91927b7c76437db860cd86a7714476b56bb39d07 + Rewrite iconv option parsing [BZ #19519] + + * iconv/Makefile: Modified. + * iconv/Versions: Modified. + * iconv/gconv_charset.c: New file. + * iconv/gconv_charset.h: Modified. + (strip): Modified function. + (stdbool.h): Include file. + (string.h): Include file. + (sys/stat.h): Include file. + (stdlib.h): Include file. + (gconv_int.h): Include file. + (GCONV_TRIPLE_SEPARATOR): New. + (GCONV_SUFFIX_SEPARATOR): New. + (GCONV_TRANSLIT_SUFFIX): New. + (GCONV_IGNORE_ERRORS_SUFFIX): New. + (__gconv_create_spec): New function. + (libc_hidden_proto): New. + (gconv_destroy_spec): New function. + * iconv/gconv_int.h: Modified. + (__libc_lock_define): Modified. + (libc_hidden_proto): Modified. + (gconv_spec): New. + (libc_hidden_proto): New. + * iconv/gconv_open.c: Modified. + (__gconv_open): Modified function. + (libc_hidden_def): New. + * iconv/iconv_open.c: Modified. + (iconv_open): Modified function. + * iconv/iconv_prog.c: Modified. + (main): Modified function. + (gconv_charset.h): Include file. + * iconv/tst-iconv-opt.c: New file. + * iconv/tst-iconv_prog.sh: New file. + * intl/dcigettext.c: Modified. + [! IN_LIBGLOCALE](_nl_find_msg): Modified function. + [IN_LIBGLOCALE](_nl_find_msg): Modified function. + +2020-07-07 Florian Weimer + + COMMIT: 94d9c76e4acc798894ea23d9ac049ce7ce995ec0 + nss: Remove cryptographic key support from nss_files, nss_nis, nss_nisplus + + * NEWS: Modified. + * nis/Makefile: Modified. + * nis/nss_nis/nis-publickey.c: Delete file. + * nis/nss_nisplus/nisplus-publickey.c: Delete file. + * nss/Makefile: Modified. + * nss/nss_files/files-key.c: Delete file. + +2020-07-07 Florian Weimer + + COMMIT: afc3a2eb80617adaa8be75a7649c7ee2e1116a72 + sunrpc: Do not export getrpcport by default + + * sunrpc/getrpcport.c: Modified. + [SHARED][! EXPORT_RPC_SYMBOLS](compat_symbol): New. + +2020-07-07 Florian Weimer + + COMMIT: ed6fc7daed8858ae971e3d9c165ec45816759dbd + sunrpc: Do not export key handling hooks by default + + * sunrpc/key_call.c: Modified. + [! SO_PASSCRED](key_call_keyenvoy): Remove function. + (__key_encryptsession_pk_LOCAL): Remove. + (__key_decryptsession_pk_LOCAL): Remove. + (__key_gendes_LOCAL): Remove. + (key_call_private): Remove. + (key_call_private_main): Remove. + (__libc_lock_define_initialized): Remove function. + (key_call_socket): Remove function. + (key_call): Remove function. + (__rpc_thread_key_cleanup): Remove function. + [SHARED][! EXPORT_RPC_SYMBOLS](compat_symbol): New. + [SHARED][! EXPORT_RPC_SYMBOLS](compat_symbol): New. + [SHARED][! EXPORT_RPC_SYMBOLS](compat_symbol): New. + [SHARED][EXPORT_RPC_SYMBOLS][! SO_PASSCRED](key_call_keyenvoy): New. + [SHARED][EXPORT_RPC_SYMBOLS][SO_PASSCRED](key_call_private): New. + [SHARED][EXPORT_RPC_SYMBOLS](key_call_private): New. + [SHARED][EXPORT_RPC_SYMBOLS](key_call_private_main): New. + [SHARED][EXPORT_RPC_SYMBOLS](__libc_lock_define_initialized): New. + [SHARED][EXPORT_RPC_SYMBOLS](key_call_socket): New. + [SHARED][EXPORT_RPC_SYMBOLS](key_call): New. + [SHARED][EXPORT_RPC_SYMBOLS](__rpc_thread_key_cleanup): New. + +2020-07-07 Florian Weimer + + COMMIT: d7ebcd43804891434c167ab4f1487aac65399548 + sunrpc: Turn clnt_sperrno into a libc_hidden_nolink_sunrpc symbol + + * sunrpc/clnt_perr.c: Modified. + [! EXPORT_RPC_SYMBOLS](libc_hidden_nolink_sunrpc): Modified. + [! EXPORT_RPC_SYMBOLS](libc_hidden_nolink_sunrpc): Modified. + [! EXPORT_RPC_SYMBOLS](libc_hidden_nolink_sunrpc): New. + [EXPORT_RPC_SYMBOLS](libc_hidden_def): Modified. + [EXPORT_RPC_SYMBOLS](libc_hidden_def): Modified. + [EXPORT_RPC_SYMBOLS](libc_hidden_def): New. + (libc_hidden_def): Remove. + +2020-07-07 Adhemerval Zanella + + COMMIT: 325081b9eb2035f8f025255206889208f330b590 + string: Add strerrorname_np and strerrordesc_np + + * NEWS: Modified. + * include/stdio.h: Modified. + [! _ISOMAC](__get_errname): New function. + * manual/errno.texi: Modified. + * stdio-common/errlist.c: Modified. + (sys_errname_t): New. + (_sys_errnameidx): New. + (__get_errname): New function. + * stdio-common/test-strerr.c: New file. + * string/Makefile: Modified. + * string/Versions: Modified. + * string/strerrordesc_np.c: New file. + * string/strerrorname_np.c: New file. + * string/string.h: Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][! __USE_GNU][__GNUC_PREREQ (3,4)][__USE_FORTIFY_LEVEL > 0 && __forty_function](bits/string_fortified.h): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][! __CORRECT_ISO_CPP_STRING_H_PROTO](basename): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][__CORRECT_ISO_CPP_STRING_H_PROTO](basename): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][__CORRECT_ISO_CPP_STRING_H_PROTO](basename): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](strverscmp): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](strfry): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](memfrob): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8][__USE_GNU](sigabbrev_np): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8][__USE_GNU](sigdescr_np): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](strsignal): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](__stpcpy): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](stpcpy): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](__stpncpy): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](stpncpy): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][__USE_MISC](strings.h): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][__USE_MISC](explicit_bzero): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][__USE_MISC](strsep): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][__USE_XOPEN2K8](strerror_l): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][! __USE_GNU][__GNUC_PREREQ (3,4)][__USE_FORTIFY_LEVEL > 0 && __forty_function](bits/string_fortified.h): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][! __CORRECT_ISO_CPP_STRING_H_PROTO](basename): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][__CORRECT_ISO_CPP_STRING_H_PROTO](basename): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][__CORRECT_ISO_CPP_STRING_H_PROTO](basename): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](strverscmp): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](strfry): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](memfrob): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8][__USE_GNU](sigabbrev_np): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8][__USE_GNU](sigdescr_np): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](strsignal): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](__stpcpy): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](stpcpy): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](__stpncpy): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](stpncpy): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][__USE_MISC](strings.h): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][__USE_MISC](explicit_bzero): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][! __USE_XOPEN2K8][__USE_MISC](strsep): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_GNU][__USE_XOPEN2K8](strerror_l): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][__USE_GNU](strerrordesc_np): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][__USE_GNU](strerrorname_np): New. + * sysdeps/mach/hurd/i386/libc.abilist: Modified. + * sysdeps/mach/hurd/test-err_np.c: New file. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + +2020-07-07 Adhemerval Zanella + + COMMIT: bfe05aa289054744b68f136b701705cfd242c4de + string: Add sigabbrev_np and sigdescr_np + + * NEWS: Modified. + * include/signal.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](__sys_sigabbrev): New. + [! _ISOMAC](libc_hidden_proto): New. + * include/string.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](__sigdescr_np): New function. + [! _ISOMAC](libc_hidden_proto): New. + * manual/signal.texi: Modified. + * stdio-common/siglist.c: Modified. + (libc_hidden_def): New. + * string/Makefile: Modified. + * string/Versions: Modified. + * string/sigabbrev_np.c: New file. + * string/sigdescr_np.c: New file. + * string/string.h: Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8][__USE_GNU](sigabbrev_np): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8][__USE_GNU](sigdescr_np): New. + * string/strsignal.c: Modified. + (array_length.h): Remove include. + (strsignal): Modified function. + * string/test-sig_np.c: New file. + * sysdeps/mach/hurd/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + +2020-07-07 Adhemerval Zanella + + COMMIT: 4f92497488c90fea1ef6796c6d564ff5f8a3add6 + string: Add strerror_l on test-strerror-errno + + * string/test-strerror-errno.c: Modified. + (do_test): Modified function. + +2020-07-07 Adhemerval Zanella + + COMMIT: 653200ef42674cd0b71c9e07145054ccfadf2f0f + string: Add strerror, strerror_r, and strerror_l test + + * string/Makefile: Modified. + * string/tst-strerror.c: New file. + * support/Makefile: Modified. + * support/support.h: Modified. + (locale.h): Include file. + (xnewlocale): New function. + (xuselocale): New function. + * support/xnewlocale.c: New file. + * support/xuselocale.c: New file. + +2020-07-07 Adhemerval Zanella + + COMMIT: c2723ce317f858f70237fc8866935114e2bb61b2 + string: Add strsignal test + + * string/Makefile: Modified. + * string/tst-strsignal.c: New file. + +2020-07-07 Adhemerval Zanella + + COMMIT: 08d2024b4167913623cefcceb2fec6e483972868 + string: Simplify strerror_r + + * string/_strerror.c: Modified. + [! dgettext](locale.h): Remove. + [! dgettext](dgettext): Remove. + (stdbool.h): Remove include. + (sys/param.h): Remove include. + (_itoa.h): Remove include. + (__strerror_r): Modified function. + * sysdeps/mach/_strerror.c: Modified. + [! dgettext](locale.h): Remove. + [! dgettext](dgettext): Remove. + (sys/param.h): Remove include. + (_itoa.h): Remove include. + (__strerror_r): Modified function. + (string.h): Include file. + +2020-07-07 Adhemerval Zanella + + COMMIT: 725eeb4af14c6fec4ed26a796cdfd6d50df86d42 + string: Use tls-internal on strerror_l + + * include/string.h: Modified. + [! _ISOMAC](__strerror_thread_freeres): Remove. + * malloc/thread-freeres.c: Modified. + (__libc_thread_freeres): Modified function. + * string/strerror_l.c: Modified. + (stdlib.h): Remove include. + (errno.h): Remove include. + (last_value): Remove. + (__strerror_l): Modified function. + (__strerror_thread_freeres): Remove function. + (text_set_element): Remove. + (tls-internal.h): Include file. + * sysdeps/generic/tls-internal-struct.h: Modified. + (tls_internal_t): Modified. + * sysdeps/generic/tls-internal.h: Modified. + (__glibc_tls_internal_free): Modified function. + * sysdeps/mach/strerror_l.c: Modified. + (sys/param.h): Remove include. + (libc-symbols.h): Remove include. + (last_value): Remove. + (__strerror_l): Modified function. + (__strerror_thread_freeres): Remove function. + (text_set_element): Remove. + (tls-internal.h): Include file. + * sysdeps/unix/sysv/linux/tls-internal.h: Modified. + (__glibc_tls_internal_free): Modified function. + +2020-07-07 Adhemerval Zanella + + COMMIT: 28aff047818eb1726394296d27b9c7885340bead + string: Implement strerror in terms of strerror_l + + * NEWS: Modified. + * include/string.h: Modified. + [! _ISOMAC](locale.h): Include file. + [! _ISOMAC](__strerror_l): New function. + [! _ISOMAC](libc_hidden_proto): New. + * string/strerror.c: Modified. + (libintl.h): Remove include. + (stdio.h): Remove include. + (errno.h): Remove include. + (libc_freeres_ptr): Remove. + (strerror): Modified function. + (locale/localeinfo.h): Include file. + * string/strerror_l.c: Modified. + (sys/param.h): Remove include. + (libc-symbols.h): Remove include. + (strerror_l): Remove function. + (errno.h): Include file. + (__strerror_l): New function. + (weak_alias): New. + (libc_hidden_def): New. + * sysdeps/mach/strerror_l.c: Modified. + (strerror_l): Remove function. + (__strerror_l): New function. + (weak_alias): New. + (libc_hidden_def): New. + +2020-07-07 Adhemerval Zanella + + COMMIT: 9deec7c8bab24659e78172dd850f4ca37c57940c + string: Remove old TLS usage on strsignal + + * malloc/thread-freeres.c: Modified. + (__libc_thread_freeres): Modified function. + (tls-internal.h): Include file. + * nptl/allocatestack.c: Modified. + (get_cached_stack): Modified function. + * nptl/descr.h: Modified. + (pthread): Modified. + (tls-internal-struct.h): Include file. + * string/strsignal.c: Modified. + (libc-lock.h): Remove include. + (key): Remove. + (BUFFERSIZ): Remove. + (local_buf): Remove. + (static_buf): Remove. + (init): Remove. + (free_key_mem): Remove. + (getbuffer): Remove. + (strsignal): Modified function. + (init): Remove function. + (free_key_mem): Remove function. + (getbuffer): Remove function. + (tls-internal.h): Include file. + (array_length.h): Include file. + * sysdeps/generic/Makefile: Modified. + * sysdeps/generic/tls-internal-struct.h: New file. + * sysdeps/generic/tls-internal.c: New file. + * sysdeps/generic/tls-internal.h: New file. + * sysdeps/unix/sysv/linux/tls-internal.c: New file. + * sysdeps/unix/sysv/linux/tls-internal.h: New file. + +2020-07-07 Adhemerval Zanella + + COMMIT: f26d456b98abf02b3ff92f1a3c0d4473b7ffd85c + linux: Fix __NSIG_WORDS and add __NSIG_BYTES + + * include/signal.h: Modified. + [! _ISOMAC](sigsetops.h): Include file. + * nptl/nptl-init.c: Modified. + (__pthread_initialize_minimal_internal): Modified function. + * nptl/pthread_sigmask.c: Modified. + (__pthread_sigmask): Modified function. + * sysdeps/unix/sysv/linux/aio_misc.h: Modified. + (__aio_start_notify_thread): Modified function. + (__aio_create_helper_thread): Modified function. + * sysdeps/unix/sysv/linux/epoll_pwait.c: Modified. + (epoll_pwait): Modified function. + * sysdeps/unix/sysv/linux/internal-signals.h: Modified. + (__libc_signal_block_all): Modified function. + (__libc_signal_block_app): Modified function. + (__libc_signal_block_sigtimer): Modified function. + (__libc_signal_unblock_sigtimer): Modified function. + (__libc_signal_restore_set): Modified function. + * sysdeps/unix/sysv/linux/ppoll.c: Modified. + (__ppoll64): Modified function. + * sysdeps/unix/sysv/linux/pselect.c: Modified. + (__pselect): Modified function. + * sysdeps/unix/sysv/linux/sigaction.c: Modified. + (__libc_sigaction): Modified function. + * sysdeps/unix/sysv/linux/signalfd.c: Modified. + (signalfd): Modified function. + * sysdeps/unix/sysv/linux/sigpending.c: Modified. + (sigpending): Modified function. + * sysdeps/unix/sysv/linux/sigsetops.h: Modified. + (__sigmask): Modified. + (__sigword): Modified function. + (__NSIG_WORDS): Modified. + (limits.h): Include file. + (libc-pointer-arith.h): Include file. + (_Static_assert): New function. + (__NSIG_BYTES): New. + * sysdeps/unix/sysv/linux/sigsuspend.c: Modified. + (__sigsuspend): Modified function. + * sysdeps/unix/sysv/linux/sigtimedwait.c: Modified. + (__sigtimedwait): Modified function. + * sysdeps/unix/sysv/linux/x86/setjmpP.h: Modified. + (_SIGPROCMASK_NSIG_WORDS): Remove. + (__sigprocmask_sigset_t): Modified. + (sigsetops.h): Include file. + +2020-07-07 Adhemerval Zanella + + COMMIT: f13d260190d47bd38c0ae939080001e7bb58bd04 + signal: Move sys_errlist to a compat symbol + + * NEWS: Modified. + * include/stdio.h: Modified. + [! _ISOMAC](_sys_nerr_internal): Remove. + [! _ISOMAC](__get_errlist): New function. + * libio/Makefile: Modified. + * libio/stdio.h: Modified. + (bits/sys_errlist.h): Remove include. + * scripts/build-many-glibcs.py: Modified. + * stdio-common/Makefile: Modified. + * stdio-common/errlist-compat.c: New file. + * stdio-common/errlist.c: Modified. + (stddef.h): Remove include. + (_sys_errlist): Remove. + (_sys_nerr): Remove. + (stdio.h): Include file. + (errno.h): Include file. + (libintl.h): Include file. + (_sys_errlist_internal): New. + (__get_errlist): New function. + (errlist-compat.c): Include file. + * stdio-common/tst-errno-manual.py: New file. + * string/_strerror.c: Modified. + (__strerror_r): Modified function. + * string/strerror_l.c: Modified. + (strerror_l): Modified function. + * string/xpg-strerror.c: Modified. + (__xpg_strerror_r): Modified function. + * sysdeps/gnu/Makefile: Modified. + * sysdeps/gnu/errlist-compat.awk: Delete file. + * sysdeps/gnu/errlist.awk: Delete file. + * sysdeps/gnu/errlist.c: Delete file. + * sysdeps/gnu/errlist.h: New file. + * sysdeps/mach/hurd/err_hurd.sub: Modified. + * sysdeps/mach/hurd/errlist.c: Modified. + (_sys_errlist_internal): Remove. + (_sys_nerr_internal): Remove. + (ERRLIST_NO_COMPAT): Remove. + (ERR_REMAP): Remove. + (sysdeps/gnu/errlist.c): Remove include. + (ERR_MAP): New. + (stdio-common/errlist.c): Include file. + * sysdeps/unix/sysv/linux/Versions: Modified. + * sysdeps/unix/sysv/linux/alpha/Versions: Modified. + * sysdeps/unix/sysv/linux/alpha/errlist-compat.c: New file. + * sysdeps/unix/sysv/linux/bits/sys_errlist.h: Move to... + * sysdeps/unix/sysv/linux/errlist-compat.c: ... here. + [! _STDIO_H](Never include directly; use instead."): Remove. + [__USE_GNU](_sys_nerr): Remove. + [__USE_GNU](_sys_errlist): Remove. + [__USE_MISC](sys_nerr): Remove. + [__USE_MISC](sys_errlist): Remove. + (errlist-compat.h): Include file. + * sysdeps/unix/sysv/linux/errlist-compat.h: New file. + * sysdeps/unix/sysv/linux/hppa/Versions: Modified. + * sysdeps/unix/sysv/linux/hppa/errlist-compat.c: New file. + * sysdeps/unix/sysv/linux/mips/Versions: Modified. + * bits/sys_errlist.h: Move to... + * sysdeps/unix/sysv/linux/mips/errlist-compat.c: ... here. + (Never include directly; use instead."): Remove. + (errlist-compat.h): Include file. + * sysdeps/unix/sysv/linux/sparc/Versions: Modified. + * sysdeps/unix/sysv/linux/sparc/errlist-compat.c: New file. + +2020-07-07 Adhemerval Zanella + + COMMIT: b1ccfc061feee9ce616444ded8e1cd5acf9fa97f + signal: Move sys_siglist to a compat symbol + + * NEWS: Modified. + * debug/segfault.c: Modified. + (write_strsignal): Modified function. + * include/signal.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](__sys_siglist): New. + * manual/signal.texi: Modified. + * signal/signal.h: Modified. + [__USE_MISC](_sys_siglist): Remove. + [__USE_MISC](sys_siglist): Remove. + * stdio-common/psiginfo.c: Modified. + (psiginfo): Modified function. + * stdio-common/psignal.c: Modified. + (psignal): Modified function. + * stdio-common/siglist.c: Modified. + (_sys_siglist): Remove. + (_sys_sigabbrev): Remove. + (__sys_siglist): New. + (libc_hidden_def): New. + (__sys_sigabbrev): New. + (siglist-compat.c): Include file. + * string/strsignal.c: Modified. + (strsignal): Modified function. + * sysdeps/generic/siglist-compat.c: New file. + * sysdeps/generic/siglist-compat.h: New file. + * sysdeps/gnu/siglist.c: Delete file. + * sysdeps/mach/hurd/siglist.h: Move to... + * sysdeps/mach/hurd/siglist-compat.c: ... here. + (_next + + COMMIT: e4e11b1dba261cb650e631978622bf3b4a4d8c37 + signal: Add signum-{generic,arch}.h + + * bits/signum-arch.h: New file. + * bits/signum-generic.h: Modified. + (SIGBUS): Remove. + (SIGSYS): Remove. + (SIGURG): Remove. + (SIGSTOP): Remove. + (SIGTSTP): Remove. + (SIGCONT): Remove. + (SIGCHLD): Remove. + (SIGTTIN): Remove. + (SIGTTOU): Remove. + (SIGPOLL): Remove. + (SIGXCPU): Remove. + (SIGXFSZ): Remove. + (SIGVTALRM): Remove. + (SIGPROF): Remove. + (SIGUSR1): Remove. + (SIGUSR2): Remove. + (SIGWINCH): Remove. + (__SIGRTMIN): Remove. + (__SIGRTMAX): Remove. + (bits/signum-arch.h): Include file. + * bits/signum.h: Delete file. + * signal/Makefile: Modified. + * signal/signal.h: Modified. + (bits/signum.h): Remove include. + (bits/signum-generic.h): Include file. + * sysdeps/mach/hurd/bits/signum-arch.h: New file. + * sysdeps/unix/bsd/bits/signum.h: Delete file. + * sysdeps/unix/sysv/linux/alpha/bits/signum-arch.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/signum.h: Delete file. + * sysdeps/unix/sysv/linux/bits/signum-arch.h: New file. + * sysdeps/unix/sysv/linux/bits/signum.h: Delete file. + * sysdeps/unix/sysv/linux/hppa/bits/signum-arch.h: New file. + * sysdeps/unix/sysv/linux/hppa/bits/signum.h: Delete file. + * sysdeps/unix/sysv/linux/ia64/vfork.S: Modified. + * sysdeps/unix/sysv/linux/mips/bits/signum-arch.h: New file. + * sysdeps/unix/sysv/linux/mips/bits/signum.h: Delete file. + * sysdeps/unix/sysv/linux/sparc/bits/signum-arch.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/signum.h: Delete file. + +2020-07-07 Joseph Myers + + COMMIT: 6caddd34bd7ffb5ac4f36c8e036eee100c2cc535 + Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). + + * stdio-common/Makefile: Modified. + * stdio-common/bug22.c: Modified. + (do_test): Modified function. + * stdio-common/tst-vfprintf-width-prec-alloc.c: New file. + * stdio-common/vfprintf-internal.c: Modified. + (EXTSIZ): Remove. + (vfprintf): Modified function. + (printf_positional): Modified function. + +2020-07-07 Florian Weimer + + COMMIT: 3ad5dab476205d6e16156cf0511fa6884b3b0fc4 + elf: Do not signal LA_ACT_CONSISTENT for an empty namespace [BZ #26076] + + * elf/dl-close.c: Modified. + (_dl_close_worker): Modified function. + +2020-07-07 Stefan Liebler + + COMMIT: 08538f360f14dbe2e3b04a30148e342f248d9de5 + Fix stringop-overflow errors from gcc 10 in iconv. + + * iconv/loop.c: Modified. + [!(! DEFINE_UNALIGNED && !_STRING_ARCH_unaligned && MIN_NEEDED_INPUT != 1 && MAX_NEEDED_INPUT % MIN_NEEDED_INPUT == 0 && MIN_NEEDED_OUTPUT != 1 && MAX_NEEDED_OUTPUT % MIN_NEEDED_OUTPUT == 0)][MAX_NEEDED_INPUT > 1](SINGLE): Modified function. + * iconv/skeleton.c: Modified. + (FUNCTION_NAME): Modified function. + +2020-07-06 H.J. Lu + + COMMIT: 3f4b61a0b8de67ef9f20737919c713ddfc4bd620 + x86: Add thresholds for "rep movsb/stosb" to tunables + + * manual/tunables.texi: Modified. + * sysdeps/x86/cacheinfo.c: Modified. + (init_cacheinfo): Modified function. + (__x86_rep_movsb_threshold): New. + (__x86_rep_stosb_threshold): New. + * sysdeps/x86/cpu-features.c: Modified. + (init_cpu_features): Modified function. + * sysdeps/x86/cpu-features.h: Modified. + (cpu_features): Modified. + * sysdeps/x86/dl-tunables.list: Modified. + * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Modified. + * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: Modified. + +2020-07-06 Joseph Myers + + COMMIT: 6c010c5dde1735f93cc3a6597cdcc2b482af85f8 + Use C2x return value from getpayload of non-NaN (bug 26073). + + * manual/arith.texi: Modified. + * math/libm-test-getpayload.inc: Modified. + * sysdeps/ieee754/dbl-64/s_getpayload.c: Modified. + (__getpayload): Modified function. + * sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c: Modified. + (__getpayload): Modified function. + * sysdeps/ieee754/flt-32/s_getpayloadf.c: Modified. + (__getpayloadf): Modified function. + * sysdeps/ieee754/ldbl-128/s_getpayloadl.c: Modified. + (__getpayloadl): Modified function. + * sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c: Modified. + (__getpayloadl): Modified function. + * sysdeps/ieee754/ldbl-96/s_getpayloadl.c: Modified. + (__getpayloadl): Modified function. + +2020-07-06 H.J. Lu + + COMMIT: 28c13ae5bbc81aa2ae67890ce53e65257d4703a4 + x86: Detect Extended Feature Disable (XFD) + + * sysdeps/x86/cpu-features.h: Modified. + (bit_cpu_XFD): New. + (index_cpu_XFD): New. + (reg_XFD): New. + * sysdeps/x86/tst-get-cpu-features.c: Modified. + (do_test): Modified function. + +2020-07-06 H.J. Lu + + COMMIT: f8b4630ef673486c2c77bd291a08ef132981e149 + x86: Correct bit_cpu_CLFSH [BZ #26208] + + * sysdeps/x86/cpu-features.h: Modified. + (bit_cpu_CLFSH): Modified. + +2020-07-06 Florian Weimer + + COMMIT: 01ffa6002e4f1917574be4fbaddeec31ad829390 + manual: Document __libc_single_threaded + + * manual/threads.texi: Modified. + +2020-07-06 Florian Weimer + + COMMIT: 706ad1e7af37be1d25fc2359bda006d31fe0d11b + Add the __libc_single_threaded variable + + * NEWS: Modified. + * elf/Makefile: Modified. + * elf/libc_early_init.c: Modified. + (__libc_early_init): Modified function. + (sys/single_threaded.h): Include file. + * elf/tst-single_threaded-mod1.c: New file. + * elf/tst-single_threaded-mod2.c: New file. + * elf/tst-single_threaded-mod3.c: New file. + * elf/tst-single_threaded-mod4.c: New file. + * elf/tst-single_threaded-pthread-static.c: New file. + * elf/tst-single_threaded-pthread.c: New file. + * elf/tst-single_threaded-static-dlopen.c: New file. + * elf/tst-single_threaded-static.c: New file. + * elf/tst-single_threaded.c: New file. + * htl/pt-create.c: Modified. + (__pthread_create_internal): Modified function. + (sys/single_threaded.h): Include file. + * include/sys/single_threaded.h: New file. + * misc/Makefile: Modified. + * misc/Versions: Modified. + * misc/single_threaded.c: New file. + * misc/sys/single_threaded.h: New file. + * nptl/pthread_create.c: Modified. + (sys/single_threaded.h): Include file. + (__libc_single_threaded): New. + * sysdeps/generic/libc.abilist: Modified. + * sysdeps/mach/hurd/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + +2020-07-06 Mathieu Desnoyers + + COMMIT: 8f4632deb3545b2949cec5454afc3cb21a0024ea + Linux: rseq registration tests + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/tst-rseq-nptl.c: New file. + * sysdeps/unix/sysv/linux/tst-rseq.c: New file. + * sysdeps/unix/sysv/linux/tst-rseq.h: New file. + +2020-07-06 Mathieu Desnoyers + + COMMIT: 6e29cb3f61ff5432c78a1c84b0d9b123a350ab36 + Linux: Use rseq in sched_getcpu if available + + * sysdeps/unix/sysv/linux/sched_getcpu.c: Modified. + (sched_getcpu): Remove function. + [! RSEQ_SIG](sched_getcpu): New. + [RSEQ_SIG](sched_getcpu): New. + (atomic.h): Include file. + (sys/rseq.h): Include file. + (vsyscall_sched_getcpu): New function. + +2020-07-06 Mathieu Desnoyers + + COMMIT: 0c76fc3c2b346dc5401dc055d97d4279632b0fb3 + Linux: Perform rseq registration at C startup and thread creation + + * NEWS: Modified. + * elf/dl-tls.c: Modified. + [SHARED](_dl_determine_tlsoffset): Modified function. + (TLS_STATIC_SURPLUS): Modified. + * elf/libc_early_init.c: Modified. + (__libc_early_init): Modified function. + (rseq-internal.h): Include file. + * manual/threads.texi: Modified. + * nptl/pthread_create.c: Modified. + (rseq-internal.h): Include file. + (rseq_register_current_thread): New function. + * sysdeps/generic/rseq-internal.h: New file. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/Versions: Modified. + * sysdeps/unix/sysv/linux/aarch64/bits/rseq.h: New file. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/bits/rseq.h: New file. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/bits/rseq.h: New file. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/bits/rseq.h: New file. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/bits/rseq.h: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/rseq-internal.h: New file. + * sysdeps/unix/sysv/linux/rseq-sym.c: New file. + * sysdeps/unix/sysv/linux/s390/bits/rseq.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sys/rseq.h: New file. + * sysdeps/unix/sysv/linux/x86/bits/rseq.h: New file. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + +2020-07-05 Samuel Thibault + + COMMIT: f9cf87353772ca370b7bb901d86365a564fba49f + tst-cancel4: deal with ENOSYS errors + + * nptl/tst-cancel4.c: Modified. + (tf_sigwaitinfo): Modified function. + (tf_sigtimedwait): Modified function. + (tf_msgrcv): Modified function. + (tf_msgsnd): Modified function. + +2020-07-03 Florian Weimer + + COMMIT: a3f747a912c53a172388a0a0f896cb88ca3549c8 + manual: Show copyright information not just in the printed manual + + * manual/libc.texinfo: Modified. + +2020-07-01 Joseph Myers + + COMMIT: c6aac3bf3663709cdefde5f5d5e9e875d607be5e + Fix typo in comment in bug 26137 fix. + + * stdlib/strtod_l.c: Modified. + +2020-06-30 Joseph Myers + + COMMIT: 09555b9721d090f7917f8221be2613a4d6a9b0f6 + Fix strtod multiple-precision division bug (bug 26137). + + * stdlib/strtod_l.c: Modified. + [howmany][____STRTOF_INTERNAL](str_to_mpn): Modified function. + * stdlib/tst-strtod-round-data: Modified. + * stdlib/tst-strtod-round-data.h: Modified. + +2020-06-30 Florian Weimer + + COMMIT: 5f40e4b1ba69a22923f6ec692d2d0f65733ccb0b + Linux: Fix UTC offset setting in settimeofday for __TIMESIZE != 64 + + * sysdeps/unix/sysv/linux/settimeofday.c: Modified. + [__TIMESIZE != 64](__settimeofday): Modified function. + +2020-06-30 John Marshall + + COMMIT: 354b98cdfd78fc8ca0f6ed7b0e3aa8c311f1deba + random: range is not portably RAND_MAX [BZ #7003] + + * stdlib/stdlib.h: Modified. + +2020-06-29 Joseph Myers + + COMMIT: 3ee1e0ec5cd0441954be9181dc437358846b39c6 + Update kernel version to 5.7 in tst-mman-consts.py. + + * sysdeps/unix/sysv/linux/tst-mman-consts.py: Modified. + +2020-06-29 Tulio Magno Quites Machado Filho + + COMMIT: d2ba3677da7a785556fcd708404d8e049b1c063b + powerpc: Add support for POWER10 + + * sysdeps/powerpc/dl-procinfo.h: Modified. + (_DL_PLATFORMS_COUNT): Modified. + (_dl_string_platform): Modified function. + (PPC_PLATFORM_POWER10): New. + * sysdeps/powerpc/powerpc32/power10/Implies: New file. + * sysdeps/powerpc/powerpc32/power10/fpu/multiarch/Implies: New file. + * sysdeps/powerpc/powerpc32/power10/multiarch/Implies: New file. + * sysdeps/powerpc/powerpc64/be/power10/Implies: New file. + * sysdeps/powerpc/powerpc64/be/power10/fpu/Implies: New file. + * sysdeps/powerpc/powerpc64/be/power10/fpu/multiarch/Implies: New file. + * sysdeps/powerpc/powerpc64/be/power10/multiarch/Implies: New file. + * sysdeps/powerpc/powerpc64/le/power10/Implies: New file. + * sysdeps/powerpc/powerpc64/le/power10/fpu/Implies: New file. + * sysdeps/powerpc/powerpc64/le/power10/fpu/multiarch/Implies: New file. + * sysdeps/powerpc/powerpc64/le/power10/multiarch/Implies: New file. + * sysdeps/powerpc/preconfigure: Modified. + * sysdeps/powerpc/preconfigure.ac: Modified. + +2020-06-29 Samuel Thibault + + COMMIT: 81b1c8cbb5b486da60e81ba8435ddf08e554206a + hurd: Simplify usleep timeout computation + + * sysdeps/mach/usleep.c: Modified. + (usleep): Modified function. + +2020-06-29 Samuel Thibault + + COMMIT: 269e4c17cd1031d3feb5adc608edf7c2b19b3f41 + htl: Enable cancel*16 an cancel*20 tests + + * nptl/Makefile: Modified. + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-cancel16.c: Move to... + * sysdeps/pthread/tst-cancel16.c: ... here. + * nptl/tst-cancel20.c: Move to... + * sysdeps/pthread/tst-cancel20.c: ... here. + * nptl/tst-cancelx16.c: Move to... + * sysdeps/pthread/tst-cancelx16.c: ... here. + * nptl/tst-cancelx20.c: Move to... + * sysdeps/pthread/tst-cancelx20.c: ... here. + +2020-06-28 Samuel Thibault + + COMMIT: f512321130d6c02332d441812ef4780908bb744d + hurd: Add remaining cancelation points + + * hurd/hurdselect.c: Modified. + (_hurd_select): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/accept4.c: Modified. + (__libc_accept4): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/connect.c: Modified. + (__connect): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/fdatasync.c: Modified. + (fdatasync): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/fsync.c: Modified. + (fsync): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/ioctl.c: Modified. + (__ioctl): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/msync.c: Modified. + (msync): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/sigsuspend.c: Modified. + (__sigsuspend): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/sigwait.c: Modified. + (__sigwait): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/msync.c: Modified. + [VM_SYNC_SYNCHRONOUS](msync): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/sleep.c: Modified. + (__sleep): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/usleep.c: Modified. + (usleep): Modified function. + (sysdep-cancel.h): Include file. + +2020-06-28 Samuel Thibault + + COMMIT: 1f3413338e31e65f2927aef02c151745d3b899d0 + hurd: fix usleep(ULONG_MAX) + + * sysdeps/mach/usleep.c: Modified. + (usleep): Modified function. + +2020-06-28 Samuel Thibault + + COMMIT: 3c9f67e7a58487c084f3b657c1dfe490d1a318d5 + hurd: Make fcntl(F_SETLKW*) cancellation points + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/fcntl.c: Modified. + (__libc_fcntl): Modified function. + (weak_alias): Remove. + (libc_hidden_weak): Remove. + (weak_alias): Remove. + (strong_alias): Remove. + (libc_hidden_def): Remove. + (weak_alias): Remove. + (libc_hidden_weak): Remove. + (weak_alias): Remove. + [! NOCANCEL](sysdep-cancel.h): New. + [! NOCANCEL](weak_alias): New. + [! NOCANCEL](libc_hidden_weak): New. + [! NOCANCEL](weak_alias): New. + [! NOCANCEL](strong_alias): New. + [! NOCANCEL](libc_hidden_def): New. + [! NOCANCEL](weak_alias): New. + [! NOCANCEL](libc_hidden_weak): New. + [! NOCANCEL](weak_alias): New. + [NOCANCEL](not-cancel.h): New. + * sysdeps/mach/hurd/fcntl_nocancel.c: New file. + * sysdeps/mach/hurd/not-cancel.h: Modified. + [IS_IN (libc)](hidden_proto): New. + (__fcntl64_nocancel): Modified. + (__fcntl_nocancel): New. + +2020-06-28 Samuel Thibault + + COMMIT: 09effdc9b04a3a04d4f128fd9e1fa360a251ed81 + hurd: make wait4 a cancellation point + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/not-cancel.h: Modified. + [IS_IN (libc)](hidden_proto): New. + (__waitpid_nocancel): Modified. + (__wait4_nocancel): New. + * sysdeps/mach/hurd/wait4.c: Modified. + (__wait4): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/wait4_nocancel.c: New file. + +2020-06-28 Samuel Thibault + + COMMIT: d60fdd480d32a9b4bd781cae08e9a8dfb486c3bd + hurd: Fix port definition in HURD_PORT_USE_CANCEL + + * sysdeps/hurd/include/hurd/port.h: Modified. + [! _ISOMAC](HURD_PORT_USE_CANCEL): Modified. + [! _ISOMAC](libc-lock.h): Include file. + +2020-06-28 Samuel Thibault + + COMMIT: fd3df63fb6649720098597ced59eaa3969bbe067 + hurd: make close a cancellation point + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/close.c: Modified. + (__close): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/close_nocancel.c: New file. + * sysdeps/mach/hurd/dl-sysdep.c: Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): New. + (check_no_hidden): New function. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + * sysdeps/mach/hurd/not-cancel.h: Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): New. + (__close_nocancel): Remove. + (__close_nocancel): New. + +2020-06-28 Samuel Thibault + + COMMIT: 4cafcd839f8c002c290ec96c64b6d85e87e270e8 + hurd: make open and openat cancellation points + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/dl-sysdep.c: Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): New. + (check_no_hidden): New function. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + * sysdeps/mach/hurd/not-cancel.h: Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): New. + [IS_IN (libc)](hidden_proto): New. + (__open_nocancel): Remove. + (__open64_nocancel): Modified. + (__openat_nocancel): Remove. + (__openat64_nocancel): Modified. + (__open_nocancel): New. + (__openat_nocancel): New. + * sysdeps/mach/hurd/open.c: Modified. + (__libc_open): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/open_nocancel.c: New file. + * sysdeps/mach/hurd/openat.c: Modified. + (__openat): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/openat_nocancel.c: New file. + +2020-06-28 Samuel Thibault + + COMMIT: 67a78072e2891b8b16a7bfb20675844a5854cff1 + hurd: clean fd and port on thread cancel + + * hurd/Makefile: Modified. + * hurd/fd-cleanup.c: New file. + * hurd/fd-read.c: Modified. + (_hurd_fd_read): Modified function. + * hurd/fd-write.c: Modified. + (_hurd_fd_write): Modified function. + * hurd/hurd.h: Modified. + * hurd/hurd/fd.h: Modified. + * hurd/hurd/port.h: Modified. + * hurd/port-cleanup.c: Modified. + (_hurd_port_use_cleanup): New function. + * sysdeps/hurd/include/hurd.h: Modified. + (__USEPORT_CANCEL): New. + * sysdeps/hurd/include/hurd/fd.h: Modified. + [! _ISOMAC](libc-lock.h): Include file. + [! _ISOMAC](_hurd_fd_port_use_data): New. + [! _ISOMAC](_hurd_fd_port_use_cleanup): New function. + [! _ISOMAC](HURD_DPORT_USE_CANCEL): New. + [! _ISOMAC](HURD_FD_PORT_USE_CANCEL): New. + * sysdeps/hurd/include/hurd/port.h: Modified. + [! _ISOMAC](_hurd_port_use_data): New. + [! _ISOMAC](_hurd_port_use_cleanup): New function. + [! _ISOMAC](HURD_PORT_USE_CANCEL): New. + * sysdeps/mach/hurd/recv.c: Modified. + (__recv): Modified function. + * sysdeps/mach/hurd/recvfrom.c: Modified. + (__recvfrom): Modified function. + * sysdeps/mach/hurd/recvmsg.c: Modified. + (__libc_recvmsg): Modified function. + * sysdeps/mach/hurd/send.c: Modified. + (__send): Modified function. + * sysdeps/mach/hurd/sendmsg.c: Modified. + (__libc_sendmsg): Modified function. + * sysdeps/mach/hurd/sendto.c: Modified. + (__sendto): Modified function. + +2020-06-28 Samuel Thibault + + COMMIT: 6414eef6e013f46ee94d5f961af15659e1933182 + htl: Move cleanup handling to non-private libc-lock + + * sysdeps/htl/libc-lock.h: New file. + * sysdeps/htl/libc-lockP.h: Modified. + [! __NO_WEAK_PTHREAD_ALIASES && !IS_IN (libpthread)][weak_extern](weak_extern): Remove. + (libc-lock.h): Remove include. + (__libc_cleanup_region_start): Remove. + (__libc_cleanup_region_end): Remove. + (__libc_cleanup_end): Remove. + +2020-06-28 Samuel Thibault + + COMMIT: cf2c8cc2c674dd6c1145c6984121ea4754b79162 + htl: Fix includes for lockfile + + * sysdeps/htl/flockfile.c: Modified. + (libc-lock.h): Remove include. + (libc-lockP.h): Include file. + * sysdeps/htl/ftrylockfile.c: Modified. + (errno.h): Remove include. + (pthread.h): Remove include. + (stdio-lock.h): Remove include. + (libc-lockP.h): Include file. + * sysdeps/htl/funlockfile.c: Modified. + (pthread.h): Remove include. + (stdio-lock.h): Remove include. + (libc-lockP.h): Include file. + +2020-06-27 Samuel Thibault + + COMMIT: 726117e01b59b129d471304fec4bf78fa280ff9e + htl: avoid cancelling threads inside critical sections + + * sysdeps/mach/hurd/htl/pt-docancel.c: Modified. + (__pthread_do_cancel): Modified function. + (hurd/signal.h): Include file. + +2020-06-26 Samuel Thibault + + COMMIT: b9ca3f3efb4659cadf4b0b81308ce9d45de61e0b + tst-cancel4-common.c: fix calling socketpair + + * nptl/tst-cancel4-common.c: Modified. + (do_test): Modified function. + +2020-06-26 H.J. Lu + + COMMIT: 4fdd4d41a17dda26c854ed935658154a17d4b906 + x86: Detect Intel Advanced Matrix Extensions + + * sysdeps/x86/cpu-features.c: Modified. + (get_common_indices): Modified function. + * sysdeps/x86/cpu-features.h: Modified. + (bit_arch_AMX_BF16_Usable): New. + (bit_arch_AMX_TILE_Usable): New. + (bit_arch_AMX_INT8_Usable): New. + (index_arch_AMX_BF16_Usable): New. + (index_arch_AMX_TILE_Usable): New. + (index_arch_AMX_INT8_Usable): New. + (feature_AMX_BF16_Usable): New. + (feature_AMX_TILE_Usable): New. + (feature_AMX_INT8_Usable): New. + (bit_cpu_AMX_BF16): New. + (bit_cpu_AMX_TILE): New. + (bit_cpu_AMX_INT8): New. + (index_cpu_AMX_BF16): New. + (index_cpu_AMX_TILE): New. + (index_cpu_AMX_INT8): New. + (reg_AMX_BF16): New. + (reg_AMX_TILE): New. + (reg_AMX_INT8): New. + (bit_XTILECFG_state): New. + (bit_XTILEDATA_state): New. + * sysdeps/x86/tst-get-cpu-features.c: Modified. + (do_test): Modified function. + +2020-06-26 Mike FABIAN + + COMMIT: 6e540caa21616d5ec5511fafb22819204525138e + Set width of JUNGSEONG/JONGSEONG characters from UD7B0 to UD7FB to 0 [BZ #26120] + + * localedata/charmaps/UTF-8: Modified. + * localedata/locales/i18n_ctype: Modified. + * localedata/locales/tr_TR: Modified. + * localedata/locales/translit_circle: Modified. + * localedata/locales/translit_cjk_compat: Modified. + * localedata/locales/translit_combining: Modified. + * localedata/locales/translit_compat: Modified. + * localedata/locales/translit_font: Modified. + * localedata/locales/translit_fraction: Modified. + * localedata/unicode-gen/utf8_gen.py: Modified. + +2020-06-26 Stefan Liebler + + COMMIT: 1d21fb1061cbeb50414a8f371abb36548d90f150 + S390: Optimize __memset_z196. + + * sysdeps/s390/memset-z900.S: Modified. + +2020-06-26 Stefan Liebler + + COMMIT: 0792c8ae1aebf538de45ff9a0e2e401a60525de2 + S390: Optimize __memcpy_z196. + + * sysdeps/s390/memcpy-z900.S: Modified. + +2020-06-25 Florian Weimer + + COMMIT: 2034c70e64b31e48140c8e31c5ae839af5ccb6eb + elf: Include (for size_t), in + + * sysdeps/generic/ldconfig.h: Modified. + (stddef.h): Include file. + (sys/stat.h): Include file. + +2020-06-25 Szabolcs Nagy + + COMMIT: 087942251f26d5fd5802b8d14e47d460263a0c4d + nptl: Don't madvise user provided stack + + * nptl/pthread_create.c: Modified. + (advise_stack_range): Remove. + (if): Modified. + (if): Modified. + (if): Modified. + (if): New function. + +2020-06-24 Stefan Liebler + + COMMIT: f6b955e8ba4f0bcc7b9dafa64406d3b40edfa107 + S390: Regenerate ULPs. + + * sysdeps/s390/fpu/libm-test-ulps: Modified. + +2020-06-24 Florian Weimer + + COMMIT: 1fb7dc751edc462f6954b9c16dd126bf48a1df18 + htl: Add wrapper header for with hidden __sem_post + + * sysdeps/htl/include/semaphore.h: New file. + * sysdeps/htl/sem-post.c: Modified. + (libpthread_hidden_def): New. + * sysdeps/htl/sem-timedwait.c: Modified. + (__sem_timedwait_internal): Modified function. + +2020-06-24 Florian Weimer + + COMMIT: 6f3331f26d2ee5d210ba768389828c391750f7a0 + elf: Include in because bool is used + + * elf/dl-tunables.h: Modified. + (stdbool.h): Include file. + +2020-06-24 Samuel Thibault + + COMMIT: 1b90d52df96c4f768570e148c33bc9c2db53373d + htl: Fix case when sem_*wait is canceled while holding a token + + * sysdeps/htl/sem-timedwait.c: Modified. + (cancel_ctx): Modified. + (cancel_hook): Modified function. + (__sem_timedwait_internal): Modified function. + +2020-06-24 Samuel Thibault + + COMMIT: eca16db02d660242e709d4b8a11a2c5b94cca540 + htl: Make sem_*wait cancellations points + + * nptl/Makefile: Modified. + * sysdeps/htl/sem-timedwait.c: Modified. + (__sem_timedwait_internal): Modified function. + (cancel_ctx): New. + (cancel_hook): New function. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-cancel13.c: Move to... + * sysdeps/pthread/tst-cancel13.c: ... here. + * nptl/tst-cancelx13.c: Move to... + * sysdeps/pthread/tst-cancelx13.c: ... here. + +2020-06-24 Samuel Thibault + + COMMIT: 3513d5af3d111f322cf2b64f2c7d415ea923bf25 + htl: Simplify non-cancel path of __pthread_cond_timedwait_internal + + * sysdeps/htl/pt-cond-timedwait.c: Modified. + (__pthread_cond_timedwait_internal): Modified function. + +2020-06-24 Samuel Thibault + + COMMIT: 9f6e508b4270093607676361e68dfd7a0bf91492 + htl: Enable tst-cancel25 test + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-cancel25.c: Move to... + * sysdeps/pthread/tst-cancel25.c: ... here. + (tf2): Modified function. + +2020-06-23 Tulio Magno Quites Machado Filho + + COMMIT: ae725e3f9cb4e1eb825ebe1d55241c98c2ea32f1 + powerpc: Add new hwcap values + + * sysdeps/powerpc/bits/hwcap.h: Modified. + (PPC_FEATURE2_ARCH_3_1): New. + (PPC_FEATURE2_MMA): New. + * sysdeps/powerpc/dl-procinfo.c: Modified. + +2020-06-23 Alex Butler + Branislav Rankov + Wilco Dijkstra + + COMMIT: 03e1378f94173fc192a81e421457198f7b8a34a0 + aarch64: MTE compatible strncmp + + * sysdeps/aarch64/strncmp.S: Modified. + +2020-06-23 Alex Butler + Branislav Rankov + Wilco Dijkstra + + COMMIT: adac54ffc5ded48cba7deb18e46df984b213b0ac + aarch64: MTE compatible strcmp + + * sysdeps/aarch64/strcmp.S: Modified. + +2020-06-23 Alex Butler + Wilco Dijkstra + + COMMIT: 79160c06c7b74672c7f7368355ca0b59103b2d30 + aarch64: MTE compatible strrchr + + * sysdeps/aarch64/strrchr.S: Modified. + +2020-06-23 Alex Butler + Wilco Dijkstra + + COMMIT: df06b0d90f3aa5a4702aa7d6772665e2228a0915 + aarch64: MTE compatible memrchr + + * sysdeps/aarch64/memrchr.S: Modified. + +2020-06-23 Alex Butler + Gabor Kertesz + + COMMIT: 7ff899969fbff7f254c0ffabb4480afe1ccbfa22 + aarch64: MTE compatible memchr + + * sysdeps/aarch64/memchr.S: Modified. + +2020-06-23 Alex Butler + Wilco Dijkstra + + COMMIT: bb2c12aecbd26a8d29f63b51b80b7c84e65d1818 + aarch64: MTE compatible strcpy + + * sysdeps/aarch64/strcpy.S: Modified. + +2020-06-23 Joseph Myers + + COMMIT: 8ec13b46395a7075d3f01e9d0a65b4bee0adbfca + Add MREMAP_DONTUNMAP from Linux 5.7 + + * sysdeps/unix/sysv/linux/bits/mman-shared.h: Modified. + [__USE_GNU](MREMAP_DONTUNMAP): New. + +2020-06-22 H.J. Lu + + COMMIT: ecbbadbf107ea1155ae5b71a8b7bd48f38c76731 + x86: Update CPU feature detection [BZ #26149] + + * sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h: Modified. + (EXTRA_LD_ENVVARS): Modified. + * sysdeps/x86/cpu-features.c: Modified. + (get_common_indices): Modified function. + (init_cpu_features): Modified function. + * sysdeps/x86/cpu-features.h: Modified. + (): Modified. + (): Modified. + (cpu_features): Modified. + (CPU_FEATURES_ARCH_P): Modified. + (CPU_FEATURE_USABLE): Modified. + (index_arch_AVX_Usable): Modified. + (index_arch_AVX2_Usable): Modified. + (index_arch_AVX512F_Usable): Modified. + (index_arch_AVX512CD_Usable): Modified. + (index_arch_AVX512ER_Usable): Modified. + (index_arch_AVX512PF_Usable): Modified. + (index_arch_AVX512VL_Usable): Modified. + (index_arch_AVX512BW_Usable): Modified. + (index_arch_AVX512DQ_Usable): Modified. + (index_arch_AVX512_4FMAPS_Usable): Modified. + (index_arch_AVX512_4VNNIW_Usable): Modified. + (index_arch_AVX512_BITALG_Usable): Modified. + (index_arch_AVX512_IFMA_Usable): Modified. + (index_arch_AVX512_VBMI_Usable): Modified. + (index_arch_AVX512_VBMI2_Usable): Modified. + (index_arch_AVX512_VNNI_Usable): Modified. + (index_arch_AVX512_VPOPCNTDQ_Usable): Modified. + (index_arch_FMA_Usable): Modified. + (index_arch_FMA4_Usable): Modified. + (index_arch_VAES_Usable): Modified. + (index_arch_VPCLMULQDQ_Usable): Modified. + (index_arch_XOP_Usable): Modified. + (index_arch_XSAVEC_Usable): Modified. + (index_arch_F16C_Usable): Modified. + (bit_arch_SSE3_Usable): Remove. + (bit_arch_PCLMULQDQ_Usable): Remove. + (bit_arch_SSSE3_Usable): Remove. + (bit_arch_CMPXCHG16B_Usable): Remove. + (bit_arch_SSE4_1_Usable): Remove. + (bit_arch_SSE4_2_Usable): Remove. + (bit_arch_MOVBE_Usable): Remove. + (bit_arch_POPCNT_Usable): Remove. + (bit_arch_AES_Usable): Remove. + (bit_arch_XSAVE_Usable): Remove. + (bit_arch_OSXSAVE_Usable): Remove. + (bit_arch_RDRAND_Usable): Remove. + (bit_arch_FPU_Usable): Remove. + (bit_arch_TSC_Usable): Remove. + (bit_arch_MSR_Usable): Remove. + (bit_arch_CX8_Usable): Remove. + (bit_arch_SEP_Usable): Remove. + (bit_arch_CMOV_Usable): Remove. + (bit_arch_CLFSH_Usable): Remove. + (bit_arch_MMX_Usable): Remove. + (bit_arch_FXSR_Usable): Remove. + (bit_arch_SSE_Usable): Remove. + (bit_arch_SSE2_Usable): Remove. + (bit_arch_FSGSBASE_Usable): Remove. + (bit_arch_BMI1_Usable): Remove. + (bit_arch_HLE_Usable): Remove. + (bit_arch_BMI2_Usable): Remove. + (bit_arch_ERMS_Usable): Remove. + (bit_arch_RTM_Usable): Remove. + (bit_arch_RDSEED_Usable): Remove. + (bit_arch_ADX_Usable): Remove. + (bit_arch_CLFLUSHOPT_Usable): Remove. + (bit_arch_CLWB_Usable): Remove. + (bit_arch_SHA_Usable): Remove. + (bit_arch_PREFETCHWT1_Usable): Remove. + (bit_arch_GFNI_Usable): Remove. + (bit_arch_RDPID_Usable): Remove. + (bit_arch_CLDEMOTE_Usable): Remove. + (bit_arch_MOVDIRI_Usable): Remove. + (bit_arch_MOVDIR64B_Usable): Remove. + (bit_arch_FSRM_Usable): Remove. + (bit_arch_LAHF64_SAHF64_Usable): Remove. + (bit_arch_SVM_Usable): Remove. + (bit_arch_LZCNT_Usable): Remove. + (bit_arch_SSE4A_Usable): Remove. + (bit_arch_PREFETCHW_Usable): Remove. + (bit_arch_TBM_Usable): Remove. + (bit_arch_SYSCALL_SYSRET_Usable): Remove. + (bit_arch_RDTSCP_Usable): Remove. + (bit_arch_XSAVEOPT_Usable): Remove. + (bit_arch_XGETBV_ECX_1_Usable): Remove. + (bit_arch_XSAVES_Usable): Remove. + (bit_arch_INVARIANT_TSC_Usable): Remove. + (bit_arch_WBNOINVD_Usable): Remove. + (index_arch_SSE3_Usable): Remove. + (index_arch_PCLMULQDQ_Usable): Remove. + (index_arch_SSSE3_Usable): Remove. + (index_arch_CMPXCHG16B_Usable): Remove. + (index_arch_SSE4_1_Usable): Remove. + (index_arch_SSE4_2_Usable): Remove. + (index_arch_MOVBE_Usable): Remove. + (index_arch_POPCNT_Usable): Remove. + (index_arch_AES_Usable): Remove. + (index_arch_XSAVE_Usable): Remove. + (index_arch_OSXSAVE_Usable): Remove. + (index_arch_RDRAND_Usable): Remove. + (index_arch_FPU_Usable): Remove. + (index_arch_TSC_Usable): Remove. + (index_arch_MSR_Usable): Remove. + (index_arch_CX8_Usable): Remove. + (index_arch_SEP_Usable): Remove. + (index_arch_CMOV_Usable): Remove. + (index_arch_CLFSH_Usable): Remove. + (index_arch_MMX_Usable): Remove. + (index_arch_FXSR_Usable): Remove. + (index_arch_SSE_Usable): Remove. + (index_arch_SSE2_Usable): Remove. + (index_arch_FSGSBASE_Usable): Remove. + (index_arch_BMI1_Usable): Remove. + (index_arch_HLE_Usable): Remove. + (index_arch_BMI2_Usable): Remove. + (index_arch_ERMS_Usable): Remove. + (index_arch_RTM_Usable): Remove. + (index_arch_RDSEED_Usable): Remove. + (index_arch_ADX_Usable): Remove. + (index_arch_CLFLUSHOPT_Usable): Remove. + (index_arch_CLWB_Usable): Remove. + (index_arch_SHA_Usable): Remove. + (index_arch_PREFETCHWT1_Usable): Remove. + (index_arch_GFNI_Usable): Remove. + (index_arch_RDPID_Usable): Remove. + (index_arch_CLDEMOTE_Usable): Remove. + (index_arch_MOVDIRI_Usable): Remove. + (index_arch_MOVDIR64B_Usable): Remove. + (index_arch_FSRM_Usable): Remove. + (index_arch_LAHF64_SAHF64_Usable): Remove. + (index_arch_LZCNT_Usable): Remove. + (index_arch_SSE4A_Usable): Remove. + (index_arch_PREFETCHW_Usable): Remove. + (index_arch_TBM_Usable): Remove. + (index_arch_SYSCALL_SYSRET_Usable): Remove. + (index_arch_RDTSCP_Usable): Remove. + (index_arch_XSAVEOPT_Usable): Remove. + (index_arch_XGETBV_ECX_1_Usable): Remove. + (index_arch_XSAVES_Usable): Remove. + (index_arch_INVARIANT_TSC_Usable): Remove. + (index_arch_WBNOINVD_Usable): Remove. + (need_arch_feature_SSE3): Remove. + (need_arch_feature_PCLMULQDQ): Remove. + (need_arch_feature_SSSE3): Remove. + (need_arch_feature_FMA): Remove. + (need_arch_feature_CMPXCHG16B): Remove. + (need_arch_feature_SSE4_1): Remove. + (need_arch_feature_SSE4_2): Remove. + (need_arch_feature_MOVBE): Remove. + (need_arch_feature_POPCNT): Remove. + (need_arch_feature_AES): Remove. + (need_arch_feature_XSAVE): Remove. + (need_arch_feature_OSXSAVE): Remove. + (need_arch_feature_AVX): Remove. + (need_arch_feature_F16C): Remove. + (need_arch_feature_RDRAND): Remove. + (need_arch_feature_FPU): Remove. + (need_arch_feature_TSC): Remove. + (need_arch_feature_MSR): Remove. + (need_arch_feature_CX8): Remove. + (need_arch_feature_SEP): Remove. + (need_arch_feature_CMOV): Remove. + (need_arch_feature_CLFSH): Remove. + (need_arch_feature_MMX): Remove. + (need_arch_feature_FXSR): Remove. + (need_arch_feature_SSE): Remove. + (need_arch_feature_SSE2): Remove. + (need_arch_feature_FSGSBASE): Remove. + (need_arch_feature_BMI1): Remove. + (need_arch_feature_HLE): Remove. + (need_arch_feature_AVX2): Remove. + (need_arch_feature_BMI2): Remove. + (need_arch_feature_ERMS): Remove. + (need_arch_feature_RTM): Remove. + (need_arch_feature_AVX512F): Remove. + (need_arch_feature_AVX512DQ): Remove. + (need_arch_feature_RDSEED): Remove. + (need_arch_feature_ADX): Remove. + (need_arch_feature_AVX512_IFMA): Remove. + (need_arch_feature_CLFLUSHOPT): Remove. + (need_arch_feature_CLWB): Remove. + (need_arch_feature_AVX512PF): Remove. + (need_arch_feature_AVX512ER): Remove. + (need_arch_feature_AVX512CD): Remove. + (need_arch_feature_SHA): Remove. + (need_arch_feature_AVX512BW): Remove. + (need_arch_feature_AVX512VL): Remove. + (need_arch_feature_PREFETCHWT1): Remove. + (need_arch_feature_AVX512_VBMI): Remove. + (need_arch_feature_AVX512_VBMI2): Remove. + (need_arch_feature_GFNI): Remove. + (need_arch_feature_VAES): Remove. + (need_arch_feature_VPCLMULQDQ): Remove. + (need_arch_feature_AVX512_VNNI): Remove. + (need_arch_feature_AVX512_BITALG): Remove. + (need_arch_feature_AVX512_VPOPCNTDQ): Remove. + (need_arch_feature_RDPID): Remove. + (need_arch_feature_CLDEMOTE): Remove. + (need_arch_feature_MOVDIRI): Remove. + (need_arch_feature_MOVDIR64B): Remove. + (need_arch_feature_AVX512_4VNNIW): Remove. + (need_arch_feature_AVX512_4FMAPS): Remove. + (need_arch_feature_FSRM): Remove. + (need_arch_feature_LAHF64_SAHF64): Remove. + (need_arch_feature_LZCNT): Remove. + (need_arch_feature_SSE4A): Remove. + (need_arch_feature_PREFETCHW): Remove. + (need_arch_feature_XOP): Remove. + (need_arch_feature_FMA4): Remove. + (need_arch_feature_TBM): Remove. + (need_arch_feature_SYSCALL_SYSRET): Remove. + (need_arch_feature_RDTSCP): Remove. + (need_arch_feature_XSAVEOPT): Remove. + (need_arch_feature_XSAVEC): Remove. + (need_arch_feature_XGETBV_ECX_1): Remove. + (need_arch_feature_XSAVES): Remove. + (need_arch_feature_INVARIANT_TSC): Remove. + (need_arch_feature_WBNOINVD): Remove. + (bit_cpu_CAPABILITIES): Remove. + (index_cpu_CAPABILITIES): Remove. + (reg_CAPABILITIES): Remove. + (index_arch_Fast_Rep_String): Modified. + (index_arch_Fast_Copy_Backward): Modified. + (index_arch_Slow_BSF): Modified. + (index_arch_Fast_Unaligned_Load): Modified. + (index_arch_Prefer_PMINUB_for_stringop): Modified. + (index_arch_Fast_Unaligned_Copy): Modified. + (index_arch_I586): Modified. + (index_arch_I686): Modified. + (index_arch_Slow_SSE4_2): Modified. + (index_arch_AVX_Fast_Unaligned_Load): Modified. + (index_arch_Prefer_MAP_32BIT_EXEC): Modified. + (index_arch_Prefer_No_VZEROUPPER): Modified. + (index_arch_Prefer_ERMS): Modified. + (index_arch_Prefer_No_AVX512): Modified. + (index_arch_MathVec_Prefer_No_AVX512): Modified. + (index_arch_Prefer_FSRM): Modified. + (): New. + (bit_arch_AVX512_VP2INTERSECT_Usable): New. + (bit_arch_AVX512_BF16_Usable): New. + (bit_arch_PKU_Usable): New. + (index_arch_AVX512_VP2INTERSECT_Usable): New. + (index_arch_AVX512_BF16_Usable): New. + (index_arch_PKU_Usable): New. + (feature_AVX_Usable): New. + (feature_AVX2_Usable): New. + (feature_AVX512F_Usable): New. + (feature_AVX512CD_Usable): New. + (feature_AVX512ER_Usable): New. + (feature_AVX512PF_Usable): New. + (feature_AVX512VL_Usable): New. + (feature_AVX512BW_Usable): New. + (feature_AVX512DQ_Usable): New. + (feature_AVX512_4FMAPS_Usable): New. + (feature_AVX512_4VNNIW_Usable): New. + (feature_AVX512_BITALG_Usable): New. + (feature_AVX512_IFMA_Usable): New. + (feature_AVX512_VBMI_Usable): New. + (feature_AVX512_VBMI2_Usable): New. + (feature_AVX512_VNNI_Usable): New. + (feature_AVX512_VPOPCNTDQ_Usable): New. + (feature_FMA_Usable): New. + (feature_FMA4_Usable): New. + (feature_VAES_Usable): New. + (feature_VPCLMULQDQ_Usable): New. + (feature_XOP_Usable): New. + (feature_XSAVEC_Usable): New. + (feature_F16C_Usable): New. + (feature_AVX512_VP2INTERSECT_Usable): New. + (feature_AVX512_BF16_Usable): New. + (feature_PKU_Usable): New. + (bit_cpu_ENQCMD): New. + (bit_cpu_PKS): New. + (bit_cpu_AVX512_VP2INTERSECT): New. + (bit_cpu_MD_CLEAR): New. + (bit_cpu_SERIALIZE): New. + (bit_cpu_HYBRID): New. + (bit_cpu_TSXLDTRK): New. + (bit_cpu_L1D_FLUSH): New. + (bit_cpu_ARCH_CAPABILITIES): New. + (bit_cpu_CORE_CAPABILITIES): New. + (bit_cpu_AVX512_BF16): New. + (index_cpu_ENQCMD): New. + (index_cpu_PKS): New. + (index_cpu_AVX512_VP2INTERSECT): New. + (index_cpu_MD_CLEAR): New. + (index_cpu_SERIALIZE): New. + (index_cpu_HYBRID): New. + (index_cpu_TSXLDTRK): New. + (index_cpu_L1D_FLUSH): New. + (index_cpu_ARCH_CAPABILITIES): New. + (index_cpu_CORE_CAPABILITIES): New. + (index_cpu_AVX512_BF16): New. + (reg_ENQCMD): New. + (reg_PKS): New. + (reg_AVX512_VP2INTERSECT): New. + (reg_MD_CLEAR): New. + (reg_SERIALIZE): New. + (reg_HYBRID): New. + (reg_TSXLDTRK): New. + (reg_L1D_FLUSH): New. + (reg_ARCH_CAPABILITIES): New. + (reg_CORE_CAPABILITIES): New. + (reg_AVX512_BF16): New. + (feature_Fast_Rep_String): New. + (feature_Fast_Copy_Backward): New. + (feature_Slow_BSF): New. + (feature_Fast_Unaligned_Load): New. + (feature_Prefer_PMINUB_for_stringop): New. + (feature_Fast_Unaligned_Copy): New. + (feature_I586): New. + (feature_I686): New. + (feature_Slow_SSE4_2): New. + (feature_AVX_Fast_Unaligned_Load): New. + (feature_Prefer_MAP_32BIT_EXEC): New. + (feature_Prefer_No_VZEROUPPER): New. + (feature_Prefer_ERMS): New. + (feature_Prefer_No_AVX512): New. + (feature_MathVec_Prefer_No_AVX512): New. + (feature_Prefer_FSRM): New. + * sysdeps/x86/cpu-tunables.c: Modified. + (CHECK_GLIBC_IFUNC_ARCH_OFF): Modified. + (CHECK_GLIBC_IFUNC_ARCH_BOTH): Modified. + (CHECK_GLIBC_IFUNC_ARCH_NEED_ARCH_BOTH): Modified. + (CHECK_GLIBC_IFUNC_ARCH_NEED_CPU_BOTH): Modified. + * sysdeps/x86/tst-get-cpu-features.c: Modified. + (do_test): Modified function. + +2020-06-22 Adhemerval Zanella + + COMMIT: ea04f0213135b13d80f568ca2c4127c2ec112537 + aarch64: Remove fpu Makefile + + * sysdeps/aarch64/fpu/Makefile: Delete file. + +2020-06-22 Adhemerval Zanella + + COMMIT: 9f21672b8988ca3a95689f99eee6b485e9263da4 + m68k: Use sqrt{f} builtin for coldfire + + * sysdeps/m68k/coldfire/fpu/e_sqrt.c: Delete file. + * sysdeps/m68k/coldfire/fpu/e_sqrtf.c: Delete file. + * sysdeps/m68k/coldfire/fpu/math-use-builtins-sqrt.h: New file. + +2020-06-22 Adhemerval Zanella + + COMMIT: cbf3571f49134388bc589b74445b5d6bdd21ef02 + arm: Use sqrt{f} builtin + + * sysdeps/arm/e_sqrt.c: Delete file. + * sysdeps/arm/e_sqrtf.c: Delete file. + * sysdeps/arm/math-use-builtins-sqrt.h: New file. + +2020-06-22 Adhemerval Zanella + + COMMIT: 9dbb3fdfb788129d20a7d456be94157f31f38800 + riscv: Use sqrt{f} builtin + + * sysdeps/riscv/rvd/e_sqrt.c: Delete file. + * sysdeps/riscv/rvd/math-use-builtins-sqrt.h: New file. + * sysdeps/riscv/rvf/e_sqrtf.c: Delete file. + +2020-06-22 Adhemerval Zanella + + COMMIT: 3ca05a8e9e8f13d93bd27ceb998075bdcd63d9f9 + s390: Use sqrt{f} builtin + + * sysdeps/s390/fpu/e_sqrt.c: Delete file. + * sysdeps/s390/fpu/e_sqrtf.c: Delete file. + * sysdeps/s390/fpu/math-use-builtins-sqrt.h: New file. + +2020-06-22 Adhemerval Zanella + + COMMIT: c9a30f08e145c4d48af331923f471eeaa22e520f + sparc: Use sqrt{f} builtin + + * sysdeps/sparc/fpu/math-use-builtins-sqrt.h: New file. + * sysdeps/sparc/sparc32/e_sqrt.c: Delete file. + +2020-06-22 Adhemerval Zanella + + COMMIT: 32c65b28f37fc6c328685e252f301ed34e3d5dfc + mips: Use sqrt{f} builtin + + * sysdeps/mips/fpu/e_sqrt.c: Delete file. + * sysdeps/mips/fpu/e_sqrtf.c: Delete file. + * sysdeps/mips/fpu/math-use-builtins-sqrt.h: New file. + * sysdeps/mips/mips32/fpu/e_sqrt.c: Delete file. + * sysdeps/mips/mips32/fpu/e_sqrtf.c: Delete file. + * sysdeps/mips/mips64/n32/fpu/e_sqrt.c: Delete file. + * sysdeps/mips/mips64/n32/fpu/e_sqrtf.c: Delete file. + * sysdeps/mips/mips64/n64/fpu/e_sqrt.c: Delete file. + * sysdeps/mips/mips64/n64/fpu/e_sqrtf.c: Delete file. + +2020-06-22 Adhemerval Zanella + + COMMIT: 8a7923b57e70ea500815d666e82156d291aa11fd + alpha: Use builtin sqrt{f} + + * sysdeps/alpha/alphaev6/fpu/e_sqrt.S: Delete file. + * sysdeps/alpha/alphaev6/fpu/e_sqrtf.S: Delete file. + * sysdeps/alpha/fpu/e_sqrt.c: Modified. + [! _IEEE_FP_INEXACT][!(SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18))](__sqrt_finite): Remove. + [! _IEEE_FP_INEXACT][SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)](__sqrt_dummy): Remove. + [! _IEEE_FP_INEXACT](sqrt_data_struct): Remove. + [! _IEEE_FP_INEXACT](DN): Remove. + [! _IEEE_FP_INEXACT](__attribute_used__): Remove. + [! _IEEE_FP_INEXACT](__ieee754_sqrt): Remove. + [SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)](strong_alias): Remove. + [SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)](__ieee754_sqrt): Remove. + [SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)](compat_symbol): Remove. + [SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31)](compat_symbol): Modified. + [SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31)](strong_alias): New. + (math.h): Remove include. + (math_private.h): Remove include. + (__ieee754_sqrt): Remove. + * sysdeps/alpha/fpu/e_sqrtf.c: Modified. + [SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)](strong_alias): Remove. + [SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)](compat_symbol): Remove. + [SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31)](compat_symbol): Modified. + [SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31)](strong_alias): New. + (__ieee754_sqrtf): Remove. + * sysdeps/alpha/fpu/math-use-builtins-sqrt.h: New file. + +2020-06-22 Adhemerval Zanella + + COMMIT: b24381e50f0f8aee1e39bf86ebcbe962b70a9247 + i386: Use builtin sqrtl + + * sysdeps/i386/fpu/e_sqrtl.c: Delete file. + * sysdeps/x86_64/fpu/e_sqrtl.c: Move to... + * sysdeps/x86/fpu/e_sqrtl.c: ... here. + +2020-06-22 Adhemerval Zanella + + COMMIT: d19d25dd063af97ff04b2cb1db967a646b150332 + x86_64: Use builtin sqrt{f,l} + + * sysdeps/x86_64/fpu/e_sqrt.c: Delete file. + * sysdeps/x86_64/fpu/e_sqrtf.c: Delete file. + * sysdeps/x86_64/fpu/e_sqrtl.c: Modified. + (sysdeps/i386/fpu/e_sqrtl.c): Remove include. + (math.h): Include file. + (libm-alias-finite.h): Include file. + (__ieee754_sqrtl): New function. + * sysdeps/x86_64/fpu/math-use-builtins-sqrt.h: New file. + +2020-06-22 Adhemerval Zanella + + COMMIT: 169ea8f928fc04a2824f67b2f69b6355a00153b2 + powerpc: Use sqrt{f} builtin + + * sysdeps/powerpc/fpu/e_sqrt.c: Modified. + [! _ARCH_PPCSQ](almost_half): Remove. + [! _ARCH_PPCSQ](a_nan): Remove. + [! _ARCH_PPCSQ](a_inf): Remove. + [! _ARCH_PPCSQ](two108): Remove. + [! _ARCH_PPCSQ](twom54): Remove. + [! _ARCH_PPCSQ](__t_sqrt): Remove. + [! _ARCH_PPCSQ](__slow_ieee754_sqrt): Remove. + (fenv.h): Remove include. + (inttypes.h): Remove include. + (stdint.h): Remove include. + (sysdep.h): Remove include. + (ldsodefs.h): Remove include. + (__ieee754_sqrt): Remove. + (__ieee754_sqrt): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/powerpc/fpu/e_sqrtf.c: Modified. + [! _ARCH_PPCSQ](almost_half): Remove. + [! _ARCH_PPCSQ](a_nan): Remove. + [! _ARCH_PPCSQ](a_inf): Remove. + [! _ARCH_PPCSQ](two48): Remove. + [! _ARCH_PPCSQ](twom24): Remove. + [! _ARCH_PPCSQ](__t_sqrt): Remove. + [! _ARCH_PPCSQ](__slow_ieee754_sqrtf): Remove. + (fenv.h): Remove include. + (inttypes.h): Remove include. + (stdint.h): Remove include. + (sysdep.h): Remove include. + (ldsodefs.h): Remove include. + (__ieee754_sqrtf): Remove. + (__ieee754_sqrtf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/powerpc/fpu/math-use-builtins-sqrt.h: New file. + +2020-06-22 Adhemerval Zanella + + COMMIT: a2e833667d5de877fbc0c5a221a72c68abaa1203 + s390x: Use fma{f} builtin + + * sysdeps/s390/fpu/math-use-builtins-fma.h: New file. + * sysdeps/s390/fpu/s_fma.c: Delete file. + * sysdeps/s390/fpu/s_fmaf.c: Delete file. + +2020-06-22 Adhemerval Zanella + + COMMIT: 271afad8f4051c81401e4d2649f35c51345b4a1b + aarch64: Use math-use-builtins for ceil{f} + + * sysdeps/aarch64/fpu/s_ceil.c: Delete file. + * sysdeps/aarch64/fpu/s_ceilf.c: Delete file. + +2020-06-22 Adhemerval Zanella + + COMMIT: e80501a5c971c13f9bd72fe7b34a83aa36ec6541 + math: Decompose math-use-builtins.h + + * sysdeps/aarch64/fpu/math-use-builtins-ceil.h: New file. + * sysdeps/aarch64/fpu/math-use-builtins-floor.h: New file. + * sysdeps/aarch64/fpu/math-use-builtins-fma.h: New file. + * sysdeps/aarch64/fpu/math-use-builtins-nearbyint.h: New file. + * sysdeps/aarch64/fpu/math-use-builtins-rint.h: New file. + * sysdeps/aarch64/fpu/math-use-builtins-round.h: New file. + * sysdeps/aarch64/fpu/math-use-builtins-sqrt.h: New file. + * sysdeps/aarch64/fpu/math-use-builtins-trunc.h: New file. + * sysdeps/aarch64/fpu/math-use-builtins.h: Delete file. + * sysdeps/generic/math-use-builtins-ceil.h: New file. + * sysdeps/generic/math-use-builtins-copysign.h: New file. + * sysdeps/generic/math-use-builtins-floor.h: New file. + * sysdeps/generic/math-use-builtins-fma.h: New file. + * sysdeps/generic/math-use-builtins-nearbyint.h: New file. + * sysdeps/generic/math-use-builtins-rint.h: New file. + * sysdeps/generic/math-use-builtins-round.h: New file. + * sysdeps/generic/math-use-builtins-sqrt.h: New file. + * sysdeps/generic/math-use-builtins-trunc.h: New file. + * sysdeps/generic/math-use-builtins.h: Modified. + [!(__GNUC_PREREQ (7, 0))](USE_COPYSIGNF128_BUILTIN): Remove. + [__GNUC_PREREQ (7, 0)](USE_COPYSIGNF128_BUILTIN): Remove. + (USE_NEARBYINT_BUILTIN): Remove. + (USE_NEARBYINTF_BUILTIN): Remove. + (USE_NEARBYINTL_BUILTIN): Remove. + (USE_NEARBYINTF128_BUILTIN): Remove. + (USE_RINT_BUILTIN): Remove. + (USE_RINTF_BUILTIN): Remove. + (USE_RINTL_BUILTIN): Remove. + (USE_RINTF128_BUILTIN): Remove. + (USE_FLOOR_BUILTIN): Remove. + (USE_FLOORF_BUILTIN): Remove. + (USE_FLOORL_BUILTIN): Remove. + (USE_FLOORF128_BUILTIN): Remove. + (USE_CEIL_BUILTIN): Remove. + (USE_CEILF_BUILTIN): Remove. + (USE_CEILL_BUILTIN): Remove. + (USE_CEILF128_BUILTIN): Remove. + (USE_TRUNC_BUILTIN): Remove. + (USE_TRUNCF_BUILTIN): Remove. + (USE_TRUNCL_BUILTIN): Remove. + (USE_TRUNCF128_BUILTIN): Remove. + (USE_ROUND_BUILTIN): Remove. + (USE_ROUNDF_BUILTIN): Remove. + (USE_ROUNDL_BUILTIN): Remove. + (USE_ROUNDF128_BUILTIN): Remove. + (USE_COPYSIGNL_BUILTIN): Remove. + (USE_SQRT_BUILTIN): Remove. + (USE_SQRTF_BUILTIN): Remove. + (USE_FMA_BUILTIN): Remove. + (USE_FMAF_BUILTIN): Remove. + (USE_FMAL_BUILTIN): Remove. + (USE_FMAF128_BUILTIN): Remove. + (math-use-builtins-nearbyint.h): Include file. + (math-use-builtins-rint.h): Include file. + (math-use-builtins-floor.h): Include file. + (math-use-builtins-ceil.h): Include file. + (math-use-builtins-trunc.h): Include file. + (math-use-builtins-round.h): Include file. + (math-use-builtins-copysign.h): Include file. + (math-use-builtins-sqrt.h): Include file. + (math-use-builtins-fma.h): Include file. + * sysdeps/powerpc/fpu/math-use-builtins-fma.h: New file. + * sysdeps/powerpc/fpu/math-use-builtins.h: Delete file. + * sysdeps/s390/fpu/math-use-builtins-ceil.h: New file. + * sysdeps/s390/fpu/math-use-builtins-floor.h: New file. + * sysdeps/s390/fpu/math-use-builtins-nearbyint.h: New file. + * sysdeps/s390/fpu/math-use-builtins-rint.h: New file. + * sysdeps/s390/fpu/math-use-builtins-round.h: New file. + * sysdeps/s390/fpu/math-use-builtins-trunc.h: New file. + * sysdeps/s390/fpu/math-use-builtins.h: Delete file. + +2020-06-20 Samuel Thibault + + COMMIT: c013d5d3aae97c09e10c7b73a72af6086e6e1b98 + hurd: Add mremap + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/i386/libc.abilist: Modified. + * sysdeps/mach/hurd/mremap.c: New file. + +2020-06-19 Adhemerval Zanella + + COMMIT: 3297d019e108aa9d16fc5a6a5aee0854f377f289 + ia64: Use generic exp10f + + * sysdeps/ia64/fpu/e_exp10f.S: Delete file. + * sysdeps/ia64/fpu/e_exp10f.c: New file. + * sysdeps/ia64/fpu/e_exp2f_data.c: Delete file. + * sysdeps/ia64/fpu/libm-test-ulps: Modified. + * sysdeps/ia64/fpu/math_errf.c: Delete file. + * sysdeps/ia64/fpu/w_exp10f.c: Delete file. + * sysdeps/ia64/fpu/w_exp10f_compat.c: Delete file. + +2020-06-19 Adhemerval Zanella + + COMMIT: be668a8d782ab6bf363d4cdd7086295b5eebb8ea + New exp10f version without SVID compat wrapper + + * math/Versions: Modified. + * math/w_exp10f.c: New file. + * math/w_exp10f_compat.c: Modified. + [LIBM_SVID_COMPAT][SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)](libm_alias_float): Remove. + [LIBM_SVID_COMPAT][SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)](strong_alias): New. + [LIBM_SVID_COMPAT][SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)](compat_symbol): New function. + [LIBM_SVID_COMPAT](__exp10f): Remove function. + [LIBM_SVID_COMPAT](__exp10f_compat): New function. + [LIBM_SVID_COMPAT](compat_symbol): New function. + * sysdeps/ia64/fpu/e_exp10f.S: Modified. + * sysdeps/ieee754/flt-32/e_exp10f.c: Modified. + (__ieee754_exp10f): Remove function. + [! __exp10f][!LIBM_SVID_COMPAT](EXP10F_VERSION): New. + [! __exp10f][!LIBM_SVID_COMPAT](libm_alias_finite): New. + [! __exp10f][LIBM_SVID_COMPAT](EXP10F_VERSION): New. + [! __exp10f][LIBM_SVID_COMPAT](libm_alias_finite): New. + [! __exp10f](strong_alias): New. + (shlib-compat.h): Include file. + (math-svid-compat.h): Include file. + (__exp10f): New function. + * sysdeps/m68k/m680x0/fpu/e_exp10f.c: Modified. + (libm-alias-float.h): Include file. + (strong_alias): New. + (libm_alias_finite): New function. + * sysdeps/mach/hurd/i386/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Modified. + +2020-06-19 Adhemerval Zanella + + COMMIT: 4b2d8e4442745a09f24804c1fcc97b7c5c4506f1 + i386: Use generic exp10f + + * sysdeps/i386/fpu/e_exp10f.S: Delete file. + +2020-06-19 Paul Zimmermann + + COMMIT: 6e98983c0991433fec8cef8702e2028fa6bef12d + math: Optimized generic exp10f with wrappers + + * math/e_exp10f.c: Delete file. + * sysdeps/ieee754/flt-32/e_exp10f.c: New file. + * sysdeps/ieee754/flt-32/math_config.h: Modified. + +2020-06-19 Adhemerval Zanella + + COMMIT: 2004063fb4658095b3b0311606462430e9d0ab2d + benchtests: Add exp10f benchmark + + * benchtests/Makefile: Modified. + * benchtests/exp10f-inputs: New file. + +2020-06-18 H.J. Lu + + COMMIT: 27f8864bd41f0f1b61e8e947d9a030b1a0d23df9 + x86: Update F16C detection [BZ #26133] + + * sysdeps/x86/cpu-features.c: Modified. + (get_common_indices): Modified function. + * sysdeps/x86/cpu-features.h: Modified. + (bit_arch_F16C_Usable): Modified. + (need_arch_feature_F16C): Modified. + +2020-06-17 Sunil K Pandey + + COMMIT: 75870237ff3bb363447b03f4b0af100227570910 + Fix avx2 strncmp offset compare condition check [BZ #25933] + + * sysdeps/x86_64/multiarch/strcmp-avx2.S: Modified. + +2020-06-17 Samuel Thibault + + COMMIT: 7a508406dfbf9121daeef2a32a3a41c7be7e5add + nptl: Remove now-spurious tst-cancelx9 references + + * nptl/Makefile: Modified. + +2020-06-17 H.J. Lu + + COMMIT: a35a59036ebae3efcdf5e8167610e0656fca9770 + x86_64: Use %xmmN with vpxor to clear a vector register + + * sysdeps/x86_64/multiarch/strcmp-avx2.S: Modified. + * sysdeps/x86_64/multiarch/strrchr-avx2.S: Modified. + +2020-06-17 H.J. Lu + + COMMIT: b7c9bb183b799b10c09ec32e98d1843546ea4324 + x86: Correct bit_cpu_CLFLUSHOPT [BZ #26128] + + * sysdeps/x86/cpu-features.h: Modified. + (bit_cpu_CLFLUSHOPT): Modified. + +2020-06-16 Paul E. Murphy + + COMMIT: b637306d3e3a04c065dadf390639ce9932d1d295 + powerpc64le: refactor e_sqrtf128.c + + * sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c: Modified. + (__ieee754_sqrtf128): Modified function. + (float128_private.h): Include file. + * sysdeps/powerpc/powerpc64/le/power9/fpu/e_sqrtf128.c: Delete file. + +2020-06-15 Joseph Myers + + COMMIT: b67339d0bbc07911859ca8c488e1923441cd3c33 + Update syscall-names.list for Linux 5.7. + + * sysdeps/unix/sysv/linux/syscall-names.list: Modified. + +2020-06-15 Vineet Gupta + + COMMIT: e93c2643362c1b9f47952c126ae1bcac5ad20d0d + ieee754/dbl-64: Reduce the scope of temporary storage variables + + * sysdeps/ieee754/dbl-64/dla.h: Modified. + [! DLA_FMS](EMULV): Modified. + [! DLA_FMS](MUL12): Modified. + [DLA_FMS](EMULV): Modified. + [DLA_FMS](MUL12): Modified. + (MUL2): Modified. + (DIV2): Modified. + * sysdeps/ieee754/dbl-64/doasin.c: Modified. + (__doasin): Modified function. + * sysdeps/ieee754/dbl-64/dosincos.c: Modified. + (__dubsin): Modified function. + (__dubcos): Modified function. + * sysdeps/ieee754/dbl-64/e_atan2.c: Modified. + (__ieee754_atan2): Modified function. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Modified. + (__ieee754_sqrt): Modified function. + * sysdeps/ieee754/dbl-64/s_atan.c: Modified. + (__atan): Modified function. + * sysdeps/ieee754/dbl-64/s_tan.c: Modified. + (__tan): Modified function. + +2020-06-15 Florian Weimer + + COMMIT: 27bf5e95061d05b780c629270003da2d9a1a2f52 + manual: Add pthread_attr_setsigmask_np, pthread_attr_getsigmask_np + + * manual/threads.texi: Modified. + +2020-06-15 Florian Weimer + + COMMIT: e221c512c74ec42fd47b71de2981a475b38110a4 + ld.so: Check for new cache format first and enhance corruption check + + * elf/dl-cache.c: Modified. + (_dl_load_cache_lookup): Modified function. + +2020-06-14 Samuel Thibault + + COMMIT: c1dcc541131bb090ddc792139545ffcd2511a1dc + hurd: Fix __writev_nocancel_nostatus + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/not-cancel.h: Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): New. + [IS_IN (libc)](hidden_proto): New. + (__writev_nocancel_nostatus): Remove. + (__writev_nocancel): New. + (__writev_nocancel_nostatus): New function. + * sysdeps/mach/hurd/writev_nocancel_nostatus.c: New file. + * sysdeps/posix/writev.c: Modified. + (weak_alias): Remove. + [! __writev](weak_alias): New. + * sysdeps/posix/writev_nocancel.c: New file. + +2020-06-14 Samuel Thibault + + COMMIT: 0c46891442c0b4ca593691f62ad1213e022ff00b + hurd: Make send* cancellation points + + * sysdeps/mach/hurd/send.c: Modified. + (__send): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/sendmsg.c: Modified. + (__libc_sendmsg): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/sendto.c: Modified. + (__sendto): Modified function. + (sysdep-cancel.h): Include file. + +2020-06-14 Samuel Thibault + + COMMIT: 45fce058fe7c9a14800a10564a7bc1970f4c7c49 + htl: Enable more cancellation tests + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-cancel-self-cancelstate.c: Move to... + * sysdeps/pthread/tst-cancel-self-cancelstate.c: ... here. + * nptl/tst-cancel-self.c: Move to... + * sysdeps/pthread/tst-cancel-self.c: ... here. + * nptl/tst-cancel9.c: Move to... + * sysdeps/pthread/tst-cancel9.c: ... here. + * nptl/tst-cancelx9.c: Move to... + * sysdeps/pthread/tst-cancelx9.c: ... here. + +2020-06-14 Samuel Thibault + + COMMIT: 662de0889a040e3ebeefcfdde547edc8a11f87d7 + hurd: Make write and pwrite64 cancellation points + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/dl-sysdep.c: Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (weak_alias): New. + (check_no_hidden): New function. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + * sysdeps/mach/hurd/not-cancel.h: Modified. + [IS_IN (libc)](hidden_proto): Modified. + [IS_IN (libc)](hidden_proto): New. + [IS_IN (libc)](hidden_proto): New. + (__write_nocancel): Remove. + (__write_nocancel): New. + (__pwrite64_nocancel): New. + * sysdeps/mach/hurd/pwrite64.c: Modified. + (errno.h): Remove include. + (unistd.h): Remove include. + (hurd/fd.h): Remove include. + (__libc_pwrite64): Modified function. + (sysdep-cancel.h): Include file. + (not-cancel.h): Include file. + * sysdeps/mach/hurd/pwrite64_nocancel.c: New file. + * sysdeps/mach/hurd/write.c: Modified. + (errno.h): Remove include. + (unistd.h): Remove include. + (hurd/fd.h): Remove include. + (__libc_write): Modified function. + (sysdep-cancel.h): Include file. + (not-cancel.h): Include file. + * sysdeps/mach/hurd/write_nocancel.c: New file. + +2020-06-14 Samuel Thibault + + COMMIT: 76fe4ef4be842e78e175a200f7afa4a567b57db2 + htl: Fix cleanup support for IO locking + + * sysdeps/htl/libc-lockP.h: Modified. + [! __NO_WEAK_PTHREAD_ALIASES && !IS_IN (libpthread)][weak_extern](weak_extern): New. + (libc-lock.h): Include file. + (__libc_cleanup_region_start): New. + (__libc_cleanup_region_end): New. + (__libc_cleanup_end): New. + * sysdeps/htl/stdio-lock.h: New file. + +2020-06-14 Samuel Thibault + + COMMIT: a50efac19a1eb0a9dc6f5917ae299c0fbbf3c46b + htl: Move cleanup stack to variable shared between libc and pthread + + * htl/Versions: Modified. + * htl/forward.c: Modified. + (dummy_list): Remove. + (FORWARD2): Modified. + (pt-internal.h): Include file. + * htl/libc_pthread_init.c: Modified. + (__pthread_cleanup_stack): New. + * htl/pt-alloc.c: Modified. + (initialize_pthread): Modified function. + * htl/pt-cleanup.c: Modified. + (__pthread_get_cleanup_stack): Modified function. + * htl/pt-internal.h: Modified. + (__pthread): Modified. + (__pthread_cleanup_stack): New. + +2020-06-14 Samuel Thibault + + COMMIT: e2b9d562d1e024fda6d10f0f272521bf20fa664f + htl: initialize first and prevent from unloading + + * htl/Makefile: Modified. + +2020-06-14 Samuel Thibault + + COMMIT: ea5cad3e37ad54b10f49a2d9f9c0feb1e285da77 + htl: Add noreturn attribute on __pthread_exit forward + + * sysdeps/htl/pthread-functions.h: Modified. + (__pthread_exit): Modified. + (pthread_functions): Modified. + +2020-06-14 Samuel Thibault + + COMMIT: 89edef7b390ab25fc0d41ef6fc618f5e22c7551b + hurd: Make recv* cancellation points + + * sysdeps/mach/hurd/recv.c: Modified. + (__recv): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/recvfrom.c: Modified. + (__recvfrom): Modified function. + (sysdep-cancel.h): Include file. + * sysdeps/mach/hurd/recvmsg.c: Modified. + (__libc_recvmsg): Modified function. + (sysdep-cancel.h): Include file. + +2020-06-11 Paul E. Murphy + Carlos Eduardo Seo + Tulio Magno Quites Machado Filho + + COMMIT: 146fea07640387c78e334933de24b6353e1f0eba + powerpc: Automatic CPU detection in preconfigure + + * sysdeps/powerpc/preconfigure: Modified. + * sysdeps/powerpc/preconfigure.ac: New file. + +2020-06-10 Joseph Myers + + COMMIT: c477beb2cc3fd0c24e3b33915dae8db5d7360ba8 + Use Linux 5.7 in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2020-06-10 Samuel Thibault + + COMMIT: 62d97c34320923f31380cb7851c81c5c9ce5284e + htl: Enable more cancel tests + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-cancel11.c: Move to... + * sysdeps/pthread/tst-cancel11.c: ... here. + * nptl/tst-cancel21-static.c: Move to... + * sysdeps/pthread/tst-cancel21-static.c: ... here. + * nptl/tst-cancel21.c: Move to... + * sysdeps/pthread/tst-cancel21.c: ... here. + * nptl/tst-cancel6.c: Move to... + * sysdeps/pthread/tst-cancel6.c: ... here. + * nptl/tst-cancelx11.c: Move to... + * sysdeps/pthread/tst-cancelx11.c: ... here. + * nptl/tst-cancelx21.c: Move to... + * sysdeps/pthread/tst-cancelx21.c: ... here. + * nptl/tst-cancelx6.c: Move to... + * sysdeps/pthread/tst-cancelx6.c: ... here. + +2020-06-10 Samuel Thibault + + COMMIT: bc9cf8fbe8eafe375719ad869ab81609cfc3529c + htl: Fix linking static tests by factorizing the symbols list + + * htl/Makefile: Modified. + * htl/libpthread.a: Modified. + * htl/libpthread_pic.a: Modified. + * htl/libpthread_syms.a: New file. + +2020-06-09 H.J. Lu + + COMMIT: 533dd2acf7eefa969fb770fa782b20519bd4bc0f + Add "%d" support to _dl_debug_vdprintf + + * elf/dl-misc.c: Modified. + (_dl_debug_vdprintf): Modified function. + +2020-06-09 Andrea Corallo + Wilco Dijkstra + + COMMIT: a365ac45b7b51dbd9dc65629203cc2a9603420bb + aarch64: MTE compatible strlen + + * sysdeps/aarch64/strlen.S: Modified. + +2020-06-09 Andrea Corallo + Wilco Dijkstra + + COMMIT: 49beaaec1bd333c543f7150576a0f9f6a28a4879 + aarch64: MTE compatible strchr + + * sysdeps/aarch64/strchr.S: Modified. + +2020-06-09 Andrea Corallo + Wilco Dijkstra + + COMMIT: f7de454f20c05a748b5d421ed22d96a5232b6093 + aarch64: MTE compatible strchrnul + + * sysdeps/aarch64/strchrnul.S: Modified. + +2020-06-08 Krzysztof Koch + + COMMIT: d1f75e964484504e4f30f4623569d5889a97ac18 + AArch64: Merge Falkor memcpy and memmove implementations + + * sysdeps/aarch64/multiarch/Makefile: Modified. + * sysdeps/aarch64/multiarch/memcpy_falkor.S: Modified. + * sysdeps/aarch64/multiarch/memmove_falkor.S: Delete file. + +2020-06-08 Samuel Thibault + + COMMIT: f112dcc506a6ec0aac5c34891736eec3c4f5dad6 + hurd: document that gcc&gdb look at the trampoline code + + * sysdeps/mach/hurd/i386/trampoline.c: Modified. + +2020-06-08 Samuel Thibault + + COMMIT: dd7a8ad7ba25cb2269b306758c7d97d4a95527e6 + pthread: Move back linking rules to nptl and htl + + * htl/Makefile: Modified. + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + +2020-06-07 Samuel Thibault + + COMMIT: 314a431d37757ad179e89b83c3cb5720bae26e60 + htl: Enable more tests + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-_res1.c: Move to... + * sysdeps/pthread/tst-_res1.c: ... here. + * nptl/tst-_res1mod1.c: Move to... + * sysdeps/pthread/tst-_res1mod1.c: ... here. + * nptl/tst-_res1mod2.c: Move to... + * sysdeps/pthread/tst-_res1mod2.c: ... here. + * nptl/tst-atfork2.c: Move to... + * sysdeps/pthread/tst-atfork2.c: ... here. + * nptl/tst-atfork2mod.c: Move to... + * sysdeps/pthread/tst-atfork2mod.c: ... here. + * nptl/tst-fini1.c: Move to... + * sysdeps/pthread/tst-fini1.c: ... here. + * nptl/tst-fini1mod.c: Move to... + * sysdeps/pthread/tst-fini1mod.c: ... here. + * nptl/tst-tls4.c: Move to... + * sysdeps/pthread/tst-pt-tls4.c: ... here. + * nptl/tst-tls4moda.c: Move to... + * sysdeps/pthread/tst-tls4moda.c: ... here. + * nptl/tst-tls4modb.c: Move to... + * sysdeps/pthread/tst-tls4modb.c: ... here. + +2020-06-07 Samuel Thibault + + COMMIT: 15e995a8fb94a00d76da03756579ae6ff645b161 + htl: Fix registration of atfork handlers in modules + + * sysdeps/htl/old_pt-atfork.c: Modified. + [SHLIB_COMPAT(libpthread, GLIBC_2_12, GLIBC_2_23)](pthread_atfork): Remove. + [SHLIB_COMPAT(libpthread, GLIBC_2_12, GLIBC_2_23)](pthread_atfork): Remove. + [SHLIB_COMPAT(libpthread, GLIBC_2_12, GLIBC_2_23)](__pthread_atfork): New. + [SHLIB_COMPAT(libpthread, GLIBC_2_12, GLIBC_2_23)](__pthread_atfork): New. + * sysdeps/htl/pt-atfork.c: Modified. + (__pthread_atfork): Remove function. + (weak_alias): Remove. + [! __pthread_atfork](__pthread_atfork): New. + [! __pthread_atfork](pthread_atfork): New. + [! __pthread_atfork](weak_alias): New. + [__pthread_atfork](__pthread_atfork): New. + +2020-06-07 Samuel Thibault + + COMMIT: af27fabe405c757d372b106c8aa383a386a4a79e + htl: Fix tls initialization for already-created threads + + * htl/pt-alloc.c: Modified. + (__pthread_init_static_tls): New function. + * sysdeps/htl/pthreadP.h: Modified. + (link.h): Include file. + (__pthread_init_static_tls): New function. + * sysdeps/mach/hurd/htl/pt-sysdep.c: Modified. + (_init_routine): Modified function. + +2020-06-07 Samuel Thibault + + COMMIT: 3944c61bdf5d1530d0576a396eb3e2f9a4d6caff + hurd: Make read and pread64 cancellable + + * sysdeps/mach/hurd/Makefile: Modified. + * sysdeps/mach/hurd/Versions: Modified. + * sysdeps/mach/hurd/dl-sysdep.c: Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (check_no_hidden): Modified. + (not-cancel.h): Include file. + (weak_alias): New. + (weak_alias): New. + (check_no_hidden): New function. + (check_no_hidden): New function. + * sysdeps/mach/hurd/i386/ld.abilist: Modified. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + * sysdeps/mach/hurd/not-cancel.h: Modified. + [IS_IN (libc) || IS_IN (rtld)](hidden_proto): Remove. + (__read_nocancel): Remove. + (__pread64_nocancel): Remove. + [IS_IN (libc)](hidden_proto): New. + [IS_IN (libc)](hidden_proto): New. + [IS_IN (libc)](hidden_proto): New. + (__read_nocancel): New. + (__pread64_nocancel): New. + * sysdeps/mach/hurd/pread64.c: Modified. + (errno.h): Remove include. + (unistd.h): Remove include. + (hurd/fd.h): Remove include. + (__libc_pread64): Modified function. + (sysdep-cancel.h): Include file. + (not-cancel.h): Include file. + * sysdeps/mach/hurd/pread64_nocancel.c: New file. + * sysdeps/mach/hurd/read.c: Modified. + (errno.h): Remove include. + (unistd.h): Remove include. + (hurd/fd.h): Remove include. + (__libc_read): Modified function. + (sysdep-cancel.h): Include file. + (not-cancel.h): Include file. + * sysdeps/mach/hurd/read_nocancel.c: New file. + +2020-06-07 Samuel Thibault + + COMMIT: 337a7b74faed2c8daf8c91cbb3038dc4984f3207 + hurd: Fix unwinding over interruptible RPC + + * sysdeps/mach/hurd/i386/intr-msg.h: Modified. + (INTR_MSG_TRAP): Modified. + +2020-06-07 Samuel Thibault + + COMMIT: 4bab9ad854b50fab23eacf29550325552e7a9f4b + htl: Enable but XFAIL tst-flock2, tst-signal1, tst-signal2 + + * nptl/Makefile: Modified. + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-flock2.c: Move to... + * sysdeps/pthread/tst-flock2.c: ... here. + * nptl/tst-signal1.c: Move to... + * sysdeps/pthread/tst-signal1.c: ... here. + * nptl/tst-signal2.c: Move to... + * sysdeps/pthread/tst-signal2.c: ... here. + +2020-06-07 Samuel Thibault + + COMMIT: 7b6b18319ee6441bbec89fb0568a4bf7ba96e3d0 + hurd: XFAIL more tests that require setpshared support + + * sysdeps/mach/hurd/i386/Makefile: Modified. + +2020-06-07 Samuel Thibault + + COMMIT: e797c57f9324187f9c154bac66c7433d8b4200bf + hurd: Briefly document in xfails the topics of the bugzilla entries + + * sysdeps/mach/hurd/i386/Makefile: Modified. + +2020-06-07 Samuel Thibault + + COMMIT: d6d74ec16c77126c59db264ebfa04d08d5b4c5c0 + htl: Enable more tests + + * htl/Makefile: Modified. + * nptl/Makefile: Modified. + * sysdeps/pthread/tst-cond22.c: Move to... + * nptl/tst-cond22.c: ... here. + * sysdeps/pthread/tst-cond26.c: Move to... + * nptl/tst-cond26.c: ... here. + * sysdeps/pthread/Makefile: Modified. + * nptl/eintr.c: Move to... + * sysdeps/pthread/eintr.c: ... here. + * nptl/tst-atfork1.c: Move to... + * sysdeps/pthread/tst-atfork1.c: ... here. + * nptl/tst-backtrace1.c: Move to... + * sysdeps/pthread/tst-backtrace1.c: ... here. + * nptl/tst-bad-schedattr.c: Move to... + * sysdeps/pthread/tst-bad-schedattr.c: ... here. + * nptl/tst-cancel-self-canceltype.c: Move to... + * sysdeps/pthread/tst-cancel-self-canceltype.c: ... here. + * nptl/tst-cancel-self-cleanup.c: Move to... + * sysdeps/pthread/tst-cancel-self-cleanup.c: ... here. + * nptl/tst-cancel-self-testcancel.c: Move to... + * sysdeps/pthread/tst-cancel-self-testcancel.c: ... here. + * nptl/tst-cancel1.c: Move to... + * sysdeps/pthread/tst-cancel1.c: ... here. + * nptl/tst-cancel10.c: Move to... + * sysdeps/pthread/tst-cancel10.c: ... here. + * nptl/tst-cancel12.c: Move to... + * sysdeps/pthread/tst-cancel12.c: ... here. + * nptl/tst-cancel14.c: Move to... + * sysdeps/pthread/tst-cancel14.c: ... here. + * nptl/tst-cancel15.c: Move to... + * sysdeps/pthread/tst-cancel15.c: ... here. + * nptl/tst-cancel18.c: Move to... + * sysdeps/pthread/tst-cancel18.c: ... here. + * nptl/tst-cancel19.c: Move to... + * sysdeps/pthread/tst-cancel19.c: ... here. + * nptl/tst-cancel2.c: Move to... + * sysdeps/pthread/tst-cancel2.c: ... here. + * nptl/tst-cancel22.c: Move to... + * sysdeps/pthread/tst-cancel22.c: ... here. + * nptl/tst-cancel23.c: Move to... + * sysdeps/pthread/tst-cancel23.c: ... here. + * nptl/tst-cancel26.c: Move to... + * sysdeps/pthread/tst-cancel26.c: ... here. + * nptl/tst-cancel27.c: Move to... + * sysdeps/pthread/tst-cancel27.c: ... here. + * nptl/tst-cancel28.c: Move to... + * sysdeps/pthread/tst-cancel28.c: ... here. + * nptl/tst-cancel3.c: Move to... + * sysdeps/pthread/tst-cancel3.c: ... here. + * nptl/tst-cancel8.c: Move to... + * sysdeps/pthread/tst-cancel8.c: ... here. + * nptl/tst-cancelx1.c: Move to... + * sysdeps/pthread/tst-cancelx1.c: ... here. + * nptl/tst-cancelx10.c: Move to... + * sysdeps/pthread/tst-cancelx10.c: ... here. + * nptl/tst-cancelx12.c: Move to... + * sysdeps/pthread/tst-cancelx12.c: ... here. + * nptl/tst-cancelx14.c: Move to... + * sysdeps/pthread/tst-cancelx14.c: ... here. + * nptl/tst-cancelx15.c: Move to... + * sysdeps/pthread/tst-cancelx15.c: ... here. + * nptl/tst-cancelx18.c: Move to... + * sysdeps/pthread/tst-cancelx18.c: ... here. + * nptl/tst-cancelx2.c: Move to... + * sysdeps/pthread/tst-cancelx2.c: ... here. + * nptl/tst-cancelx3.c: Move to... + * sysdeps/pthread/tst-cancelx3.c: ... here. + * nptl/tst-cancelx8.c: Move to... + * sysdeps/pthread/tst-cancelx8.c: ... here. + * nptl/tst-cleanup0.c: Move to... + * sysdeps/pthread/tst-cleanup0.c: ... here. + * nptl/tst-cleanup0.expect: Move to... + * sysdeps/pthread/tst-cleanup0.expect: ... here. + * nptl/tst-cleanup1.c: Move to... + * sysdeps/pthread/tst-cleanup1.c: ... here. + * nptl/tst-cleanup2.c: Move to... + * sysdeps/pthread/tst-cleanup2.c: ... here. + * nptl/tst-cleanup3.c: Move to... + * sysdeps/pthread/tst-cleanup3.c: ... here. + * nptl/tst-cleanupx0.c: Move to... + * sysdeps/pthread/tst-cleanupx0.c: ... here. + * nptl/tst-cleanupx0.expect: Move to... + * sysdeps/pthread/tst-cleanupx0.expect: ... here. + * nptl/tst-cleanupx1.c: Move to... + * sysdeps/pthread/tst-cleanupx1.c: ... here. + * nptl/tst-cleanupx2.c: Move to... + * sysdeps/pthread/tst-cleanupx2.c: ... here. + * nptl/tst-cleanupx3.c: Move to... + * sysdeps/pthread/tst-cleanupx3.c: ... here. + * nptl/tst-clock1.c: Move to... + * sysdeps/pthread/tst-clock1.c: ... here. + * nptl/tst-create-detached.c: Move to... + * sysdeps/pthread/tst-create-detached.c: ... here. + * nptl/tst-detach1.c: Move to... + * sysdeps/pthread/tst-detach1.c: ... here. + * nptl/tst-eintr2.c: Move to... + * sysdeps/pthread/tst-eintr2.c: ... here. + * nptl/tst-eintr3.c: Move to... + * sysdeps/pthread/tst-eintr3.c: ... here. + * nptl/tst-eintr4.c: Move to... + * sysdeps/pthread/tst-eintr4.c: ... here. + * nptl/tst-eintr5.c: Move to... + * sysdeps/pthread/tst-eintr5.c: ... here. + * nptl/tst-exec1.c: Move to... + * sysdeps/pthread/tst-exec1.c: ... here. + * nptl/tst-exec2.c: Move to... + * sysdeps/pthread/tst-exec2.c: ... here. + * nptl/tst-exec3.c: Move to... + * sysdeps/pthread/tst-exec3.c: ... here. + * nptl/tst-exit1.c: Move to... + * sysdeps/pthread/tst-exit1.c: ... here. + * nptl/tst-exit2.c: Move to... + * sysdeps/pthread/tst-exit2.c: ... here. + * nptl/tst-exit3.c: Move to... + * sysdeps/pthread/tst-exit3.c: ... here. + * nptl/tst-flock1.c: Move to... + * sysdeps/pthread/tst-flock1.c: ... here. + * nptl/tst-fork1.c: Move to... + * sysdeps/pthread/tst-fork1.c: ... here. + * nptl/tst-fork2.c: Move to... + * sysdeps/pthread/tst-fork2.c: ... here. + * nptl/tst-fork3.c: Move to... + * sysdeps/pthread/tst-fork3.c: ... here. + * nptl/tst-fork4.c: Move to... + * sysdeps/pthread/tst-fork4.c: ... here. + * nptl/tst-getpid3.c: Move to... + * sysdeps/pthread/tst-getpid3.c: ... here. + * nptl/tst-kill1.c: Move to... + * sysdeps/pthread/tst-kill1.c: ... here. + * nptl/tst-kill2.c: Move to... + * sysdeps/pthread/tst-kill2.c: ... here. + * nptl/tst-kill3.c: Move to... + * sysdeps/pthread/tst-kill3.c: ... here. + * nptl/tst-kill4.c: Move to... + * sysdeps/pthread/tst-kill4.c: ... here. + * nptl/tst-kill5.c: Move to... + * sysdeps/pthread/tst-kill5.c: ... here. + * nptl/tst-kill6.c: Move to... + * sysdeps/pthread/tst-kill6.c: ... here. + * nptl/tst-locale1.c: Move to... + * sysdeps/pthread/tst-locale1.c: ... here. + * nptl/tst-locale2.c: Move to... + * sysdeps/pthread/tst-locale2.c: ... here. + * nptl/tst-memstream.c: Move to... + * sysdeps/pthread/tst-memstream.c: ... here. + * nptl/tst-align.c: Move to... + * sysdeps/pthread/tst-pt-align.c: ... here. + * nptl/tst-align3.c: Move to... + * sysdeps/pthread/tst-pt-align3.c: ... here. + * nptl/tst-popen1.c: Move to... + * sysdeps/pthread/tst-pt-popen1.c: ... here. + * nptl/tst-sysconf.c: Move to... + * sysdeps/pthread/tst-pt-sysconf.c: ... here. + * nptl/tst-tls1.c: Move to... + * sysdeps/pthread/tst-pt-tls1.c: ... here. + * nptl/tst-tls2.c: Move to... + * sysdeps/pthread/tst-pt-tls2.c: ... here. + * nptl/tst-vfork1.c: Move to... + * sysdeps/pthread/tst-pt-vfork1.c: ... here. + * nptl/tst-vfork2.c: Move to... + * sysdeps/pthread/tst-pt-vfork2.c: ... here. + * nptl/tst-raise1.c: Move to... + * sysdeps/pthread/tst-raise1.c: ... here. + * nptl/tst-setuid3.c: Move to... + * sysdeps/pthread/tst-setuid3.c: ... here. + * nptl/tst-signal4.c: Move to... + * sysdeps/pthread/tst-signal4.c: ... here. + * nptl/tst-signal5.c: Move to... + * sysdeps/pthread/tst-signal5.c: ... here. + * nptl/tst-signal6.c: Move to... + * sysdeps/pthread/tst-signal6.c: ... here. + * nptl/tst-signal8.c: Move to... + * sysdeps/pthread/tst-signal8.c: ... here. + * nptl/tst-stack1.c: Move to... + * sysdeps/pthread/tst-stack1.c: ... here. + (do_test): Modified function. + * nptl/tst-stdio1.c: Move to... + * sysdeps/pthread/tst-stdio1.c: ... here. + * nptl/tst-stdio2.c: Move to... + * sysdeps/pthread/tst-stdio2.c: ... here. + * nptl/tst-tsd1.c: Move to... + * sysdeps/pthread/tst-tsd1.c: ... here. + * nptl/tst-tsd2.c: Move to... + * sysdeps/pthread/tst-tsd2.c: ... here. + * nptl/tst-tsd5.c: Move to... + * sysdeps/pthread/tst-tsd5.c: ... here. + * nptl/tst-tsd6.c: Move to... + * sysdeps/pthread/tst-tsd6.c: ... here. + * nptl/tst-umask1.c: Move to... + * sysdeps/pthread/tst-umask1.c: ... here. + * nptl/tst-unload.c: Move to... + * sysdeps/pthread/tst-unload.c: ... here. + * nptl/tst-unwind-thread.c: Move to... + * sysdeps/pthread/tst-unwind-thread.c: ... here. + * nptl/tst-vfork1x.c: Move to... + * sysdeps/pthread/tst-vfork1x.c: ... here. + * nptl/tst-vfork2x.c: Move to... + * sysdeps/pthread/tst-vfork2x.c: ... here. + +2020-06-07 Samuel Thibault + + COMMIT: be22a151f3e2c2e4b9127d4fa30b269f30a7ea2e + htl: Add sem_clockwait support + + * htl/Versions: Modified. + * nptl/Makefile: Modified. + * sysdeps/htl/sem-timedwait.c: Modified. + (__sem_timedwait_internal): Modified function. + (__sem_timedwait): Modified function. + (weak_alias): Modified. + (__sem_clockwait): New function. + (weak_alias): New function. + * sysdeps/htl/sem-wait.c: Modified. + (__sem_timedwait_internal): Modified. + (__sem_wait): Modified function. + * sysdeps/mach/hurd/i386/libpthread.abilist: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-sem5.c: Move to... + * sysdeps/pthread/tst-sem5.c: ... here. + +2020-06-07 Samuel Thibault + + COMMIT: 6c5ca98d096a5f61144555c76fdfd3c2ad561082 + htl: fix register-atfork ordering + + * htl/register-atfork.c: Modified. + (__register_atfork): Modified function. + +2020-06-07 Samuel Thibault + + COMMIT: fab94894d5c5b25d24010f823515fb53822d6623 + hurd: Fix hang in _hurd_raise_signal from pthread_kill + + * hurd/hurd-raise.c: Modified. + (_hurd_raise_signal): Modified function. + +2020-06-07 Samuel Thibault + + COMMIT: 785ec62dbd37b0b236c9a7fcc0ac71a2aeb472de + hurd: Reject raising invalid signals + + * hurd/hurd-raise.c: Modified. + (_hurd_raise_signal): Modified function. + +2020-06-06 Samuel Thibault + + COMMIT: 02937d825a71636c13b3f4229e5d6c9e54e327d5 + hurd: fix clearing SS_ONSTACK when longjmp-ing from sighandler + + * sysdeps/i386/htl/Makefile: New file. + * sysdeps/i386/htl/tcb-offsets.sym: New file. + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/mach/hurd/i386/____longjmp_chk.S: Modified. + * sysdeps/mach/hurd/i386/__longjmp.S: New file. + +2020-06-06 Samuel Thibault + + COMMIT: 8fcc772da8381476e914979fc887fdc54e62b15f + hurd: Add pointer guard support + + * sysdeps/mach/hurd/i386/tls.h: Modified. + [! __ASSEMBLER__](THREAD_SET_POINTER_GUARD): New. + [! __ASSEMBLER__](THREAD_COPY_POINTER_GUARD): New. + +2020-06-06 Samuel Thibault + + COMMIT: ecfa912f4217c0af277bb5d9cd26155010556baf + hurd: Add stack guard support + + * sysdeps/mach/hurd/i386/ld.abilist: Modified. + * sysdeps/mach/hurd/i386/tls.h: Modified. + [! __ASSEMBLER__](THREAD_SET_STACK_GUARD): New. + [! __ASSEMBLER__](THREAD_COPY_STACK_GUARD): New. + +2020-06-05 Vineet Gupta + + COMMIT: 8dbb7a08ec52057819db4ee234f9429ab99eb4ae + dl-runtime: reloc_{offset,index} now functions arch overide'able + + * elf/dl-runtime.c: Modified. + [! ELF_MACHINE_RUNTIME_FIXUP_ARGS](_dl_fixup): Modified function. + [! PROF][! ELF_MACHINE_RUNTIME_FIXUP_ARGS](_dl_fixup): Modified function. + [! PROF][ELF_MACHINE_RUNTIME_FIXUP_ARGS](_dl_fixup): Modified function. + [! reloc_offset](reloc_offset): Remove. + [! reloc_offset](reloc_index): Remove. + [ELF_MACHINE_RUNTIME_FIXUP_ARGS](_dl_fixup): Modified function. + [PROF](_dl_fixup): Modified function. + (dl-runtime.h): Include file. + * elf/dl-runtime.h: New file. + * sysdeps/hppa/dl-runtime.c: Modified. + (reloc_offset): Remove. + (reloc_index): Remove. + * sysdeps/hppa/dl-runtime.h: New file. + * sysdeps/x86_64/dl-runtime.c: Delete file. + * sysdeps/x86_64/dl-runtime.h: New file. + +2020-06-05 Paul E. Murphy + + COMMIT: a23bd00f9d810c28d9e83ce1d7cf53968375937d + powerpc64le: add optimized strlen for P9 + + * sysdeps/powerpc/powerpc64/le/power9/rtld-strlen.S: New file. + * sysdeps/powerpc/powerpc64/le/power9/strlen.S: New file. + * sysdeps/powerpc/powerpc64/multiarch/Makefile: Modified. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/powerpc/powerpc64/multiarch/strlen-power9.S: New file. + * sysdeps/powerpc/powerpc64/multiarch/strlen.c: Modified. + (libc_ifunc): Remove. + (strong_alias): Remove. + (libc_hidden_ver): Remove. + [! __LITTLE_ENDIAN__](libc_ifunc): New. + [__LITTLE_ENDIAN__](libc_ifunc): New. + (__strlen_power9): New. + +2020-06-05 Paul E. Murphy + + COMMIT: 6ef422750985f7e60a8d480f07ecda59e0311fdf + powerpc64le: use common fmaf128 implementation + + * sysdeps/powerpc/fpu/math-use-builtins.h: Modified. + (USE_FMAF128_BUILTIN): Remove. + [! __FP_FAST_FMAF128](USE_FMAF128_BUILTIN): New. + [__FP_FAST_FMAF128](USE_FMAF128_BUILTIN): New. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-power9.c: Modified. + (sysdeps/powerpc/powerpc64/le/power9/fpu/s_fmaf128.c): Remove include. + (strong_alias): New. + (sysdeps/ieee754/float128/s_fmaf128.c): Include file. + * sysdeps/powerpc/powerpc64/le/power9/fpu/s_fmaf128.c: Delete file. + +2020-06-05 H.J. Lu + Wilco Dijkstra + + COMMIT: e52434a2e4d1105272daaef87678da950fbec73f + benchtests: Restore the clock_gettime option + + * benchtests/Makefile: Modified. + * benchtests/README: Modified. + * benchtests/bench-timing.h: Modified. + (hp-timing.h): Remove include. + [! USE_CLOCK_GETTIME](hp-timing.h): New. + [USE_CLOCK_GETTIME](sysdeps/generic/hp-timing.h): New. + +2020-06-05 H.J. Lu + Lukasz Majewski + + COMMIT: f6070476687af9ca1b5837f8a45047acdd419b08 + Update HP_TIMING_NOW for _ISOMAC in sysdeps/generic/hp-timing.h + + * benchtests/bench-timing.h: Modified. + (__clock_gettime): Remove. + * sysdeps/generic/hp-timing.h: Modified. + (HP_TIMING_NOW): Remove. + [! _ISOMAC](HP_TIMING_NOW): New. + [_ISOMAC](HP_TIMING_NOW): New. + +2020-06-04 H.J. Lu + + COMMIT: 9b7424215b10ae01d680ef91e10fc10f51227177 + Replace val with __val in TUNABLE_SET_VAL_IF_VALID_RANGE + + * elf/dl-tunables.c: Modified. + (TUNABLE_SET_VAL_IF_VALID_RANGE): Modified. + +2020-06-04 Samuel Thibault + + COMMIT: 3f6e4fc4542b5b881906bf2f83eb4b8359b0dcd4 + support: Fix detecting hole support on >2KB-block filesystems + + * support/support_descriptor_supports_holes.c: Modified. + (support_descriptor_supports_holes): Modified function. + +2020-06-04 Adhemerval Zanella + + COMMIT: 6f10ff02cb04c2b1e031d7d3ba0f99e906699126 + powerpc: Fix powerpc64le due a7a3435c9a + + * sysdeps/powerpc/fpu/math-use-builtins.h: Modified. + (USE_FMAL_BUILTIN): New. + (USE_FMAF128_BUILTIN): New. + +2020-06-03 Aurélien Aptel + + COMMIT: 74edc05817c126212c826c1a046a9465d0efe287 + manual/jobs.texi: remove unused var from example code + + * manual/job.texi: Modified. + +2020-06-03 Vineet Gupta + + COMMIT: a7a3435c9a0769744c7748f9d95510d0a99be7d1 + powerpc/fpu: use generic fma functions + + * sysdeps/powerpc/fpu/math-use-builtins.h: New file. + * sysdeps/powerpc/fpu/s_fma.c: Delete file. + * sysdeps/powerpc/fpu/s_fmaf.c: Delete file. + +2020-06-03 Vineet Gupta + + COMMIT: c9feb1be938c3b259ece1a07ef78ddcf89194f31 + aarch/fpu: use generic builtins based math functions + + * sysdeps/aarch64/fpu/e_sqrt.c: Delete file. + * sysdeps/aarch64/fpu/e_sqrtf.c: Delete file. + * sysdeps/aarch64/fpu/math-use-builtins.h: New file. + * sysdeps/aarch64/fpu/s_floor.c: Delete file. + * sysdeps/aarch64/fpu/s_floorf.c: Delete file. + * sysdeps/aarch64/fpu/s_fma.c: Delete file. + * sysdeps/aarch64/fpu/s_fmaf.c: Delete file. + * sysdeps/aarch64/fpu/s_nearbyint.c: Delete file. + * sysdeps/aarch64/fpu/s_nearbyintf.c: Delete file. + * sysdeps/aarch64/fpu/s_rint.c: Delete file. + * sysdeps/aarch64/fpu/s_rintf.c: Delete file. + * sysdeps/aarch64/fpu/s_round.c: Delete file. + * sysdeps/aarch64/fpu/s_roundf.c: Delete file. + * sysdeps/aarch64/fpu/s_trunc.c: Delete file. + * sysdeps/aarch64/fpu/s_truncf.c: Delete file. + +2020-06-03 Vineet Gupta + + COMMIT: 628d90c5f97b6f0f8b79a079b682febb1f486a38 + ieee754: provide gcc builtins based generic fma functions + + * sysdeps/generic/math-use-builtins.h: Modified. + (USE_FMA_BUILTIN): New. + (USE_FMAF_BUILTIN): New. + (USE_FMAL_BUILTIN): New. + (USE_FMAF128_BUILTIN): New. + * sysdeps/ieee754/dbl-64/s_fma.c: Modified. + (__fma): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/dbl-64/s_fmaf.c: Modified. + (__fmaf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/float128/float128_private.h: Modified. + (USE_FMAL_BUILTIN): New. + * sysdeps/ieee754/ldbl-128/s_fma.c: Modified. + (__fma): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/ldbl-128/s_fmal.c: Modified. + (__fmal): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: Modified. + (USE_FMA_BUILTIN): New. + (USE_FMAF_BUILTIN): New. + (USE_FMAL_BUILTIN): New. + (USE_FMAF128_BUILTIN): New. + +2020-06-03 Vineet Gupta + + COMMIT: 3374868668e708581ca06e256f6122518c89a8ad + ieee754: provide gcc builtins based generic sqrt functions + + * sysdeps/generic/math-use-builtins.h: Modified. + (USE_SQRT_BUILTIN): New. + (USE_SQRTF_BUILTIN): New. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Modified. + (__ieee754_sqrt): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/ieee754/flt-32/e_sqrtf.c: Modified. + (one): Remove. + (__ieee754_sqrtf): Modified function. + (math-use-builtins.h): Include file. + * sysdeps/s390/fpu/math-use-builtins.h: Modified. + (USE_SQRT_BUILTIN): New. + (USE_SQRTF_BUILTIN): New. + +2020-06-02 Florian Weimer + + COMMIT: ba9f6ee9bb8a894c9e2fb715edf693dd157b420a + Linux: Use __pthread_attr_setsigmask_internal for timer helper thread + + * sysdeps/unix/sysv/linux/timer_routines.c: Modified. + (__start_helper_thread): Modified function. + +2020-06-02 Florian Weimer + + COMMIT: ec41af45a6d25f70f9c7ea15cb831a2b2fea3855 + nptl: Add pthread_attr_setsigmask_np, pthread_attr_getsigmask_np + + * NEWS: Modified. + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/pthreadP.h: Modified. + (libc_hidden_proto): Modified. + (__pthread_attr_setsigmask_internal): New function. + (__pthread_attr_getsigmask_np): New. + (libc_hidden_proto): New. + (libc_hidden_proto): New. + * nptl/pthread_attr_copy.c: Modified. + (__pthread_attr_copy): Modified function. + * nptl/pthread_attr_getsigmask.c: New file. + * nptl/pthread_attr_setsigmask.c: New file. + * nptl/pthread_attr_setsigmask_internal.c: New file. + * nptl/pthread_create.c: Modified. + (sigmask): Modified. + (if): Modified function. + (sigmask): New. + (stopped_start): New. + (retval): New. + (assert): New function. + (eventnum): New. + (eventdata): New. + (nextevent): New. + (while): New function. + (__nptl_create_event): New function. + (retval): New. + * nptl/tst-pthread-attr-sigmask.c: New file. + * sysdeps/nptl/internaltypes.h: Modified. + (pthread_attr_extension): Modified. + * sysdeps/nptl/pthread.h: Modified. + [__USE_GNU](pthread_attr_setsigmask_np): New function. + [__USE_GNU](pthread_attr_getsigmask_np): New function. + [__USE_GNU](PTHREAD_ATTR_NO_SIGMASK_NP): New. + (bits/types/__sigset_t.h): Include file. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + +2020-06-02 Florian Weimer + + COMMIT: 7538d461134bf306e31b40e4032f0c225bb40d51 + nptl: Make pthread_attr_t dynamically extensible + + * nptl/Makefile: Modified. + * nptl/pthreadP.h: Modified. + (__attribute_warn_unused_result__): New. + * nptl/pthread_attr_copy.c: Modified. + (__pthread_attr_copy): Modified function. + * nptl/pthread_attr_destroy.c: Modified. + (__pthread_attr_destroy): Modified function. + * nptl/pthread_attr_extension.c: New file. + * nptl/pthread_attr_getaffinity.c: Modified. + (__pthread_attr_getaffinity_new): Modified function. + * nptl/pthread_attr_setaffinity.c: Modified. + (__pthread_attr_setaffinity_np): Modified function. + * nptl/pthread_create.c: Modified. + [SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)](__pthread_create_2_0): Modified function. + * sysdeps/nptl/internaltypes.h: Modified. + (pthread_attr): Modified. + (pthread_attr_extension): New. + * sysdeps/unix/sysv/linux/createthread.c: Modified. + (create_thread): Modified function. + +2020-06-02 Florian Weimer + + COMMIT: 6993670b52daa413717e840dfb17b5322e7f4a88 + nptl: Destroy the default thread attribute as part of freeres + + * nptl/nptlfreeres.c: Modified. + (__libpthread_freeres): Modified function. + * nptl/pthreadP.h: Modified. + (__default_pthread_attr_freeres): New function. + * nptl/pthread_setattr_default_np.c: Modified. + (__default_pthread_attr_freeres): New function. + +2020-06-02 Florian Weimer + + COMMIT: c2322a561f74b8fa41b9d9c6b8eb57e28de46f3e + nptl: Change type of __default_pthread_attr + + * nptl/allocatestack.c: Modified. + (allocate_stack): Modified function. + * nptl/nptl-init.c: Modified. + (__pthread_initialize_minimal_internal): Modified function. + * nptl/pthreadP.h: Modified. + (__default_pthread_attr): Modified. + * nptl/pthread_attr_getstacksize.c: Modified. + (__pthread_attr_getstacksize): Modified function. + * nptl/pthread_create.c: Modified. + (default_attr): Modified. + (iattr): Modified. + (iattr): Modified. + (if): Modified. + * nptl/pthread_getattr_default_np.c: Modified. + (__pthread_getattr_default_np): Modified function. + * nptl/pthread_setattr_default_np.c: Modified. + (pthread_setattr_default_np): Modified function. + * nptl/vars.c: Modified. + (__default_pthread_attr): Modified. + +2020-06-02 Florian Weimer + + COMMIT: 86ed0774cf0de1d281ca3c773758c9fe6f2784b4 + nptl: Use __pthread_attr_setaffinity_np in pthread_getattr_np + + * nptl/pthread_getattr_np.c: Modified. + (__pthread_getattr_np): Modified function. + +2020-06-02 Florian Weimer + + COMMIT: 8111c457b8c4f1c113a8475e3da38bd88270ab37 + nptl: Use __pthread_getattr_default_np in pthread_create + + * nptl/pthread_create.c: Modified. + (free_cpuset): Remove. + (iattr): Modified. + (default_attr): Remove. + (cpusetsize): Remove. + (if): Modified function. + (lll_unlock): Remove. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Remove function. + (if): Modified. + (destroy_default_attr): New. + (ret): New. + (destroy_default_attr): New. + +2020-06-02 Florian Weimer + + COMMIT: dd05e154accfd3b9cd5984fa8419ffbd4edd90da + nptl: Add internal alias __pthread_getattr_default_np + + * nptl/Versions: Modified. + * nptl/pthreadP.h: Modified. + (__pthread_getattr_default_np): New. + (libpthread_hidden_proto): New. + * nptl/pthread_getattr_default_np.c: Modified. + (pthread_getattr_default_np): Remove function. + (__pthread_getattr_default_np): New function. + (libpthread_hidden_def): New. + (weak_alias): New. + +2020-06-01 Samuel Thibault + + COMMIT: 8c64cc78bcce284b985d26a1393bdfcedcb1d128 + htl: Fix gsync_wait symbol exposition + + * sysdeps/htl/pt-cond-destroy.c: Modified. + (__pthread_cond_destroy): Modified function. + +2020-06-01 Samuel Thibault + + COMMIT: 8081702460726304af496be52234385094392a6f + htl: Make pthread_cond_destroy wait for threads to be woken + + * nptl/Makefile: Modified. + * sysdeps/htl/bits/types/struct___pthread_cond.h: Modified. + (__pthread_cond): Modified. + (__PTHREAD_COND_INITIALIZER): Modified. + * sysdeps/htl/pt-cond-destroy.c: Modified. + (__pthread_cond_destroy): Modified function. + * sysdeps/htl/pt-cond-timedwait.c: Modified. + (__pthread_cond_timedwait_internal): Modified function. + * sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c: Modified. + (__pthread_hurd_cond_timedwait_internal): Modified function. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-cond20.c: Move to... + * sysdeps/pthread/tst-cond20.c: ... here. + * nptl/tst-cond21.c: Move to... + * sysdeps/pthread/tst-cond21.c: ... here. + +2020-06-01 Samuel Thibault + + COMMIT: a3e589d1f68d43d4c3f67d59497862875c2d5afc + htl: Enable more cond tests + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + +2020-06-01 Samuel Thibault + + COMMIT: 347885928184a5605111bcbc3513b3d28d2daed4 + tst-cond11: Fix build with _SC_MONOTONIC_CLOCK > 0 + + * sysdeps/pthread/tst-cond11.c: Modified. + (do_test): Modified function. + +2020-06-01 Carlos O'Donell + + COMMIT: 61af4bbb2ae5a4eefc4c4243135747bbdb0f0684 + mbstowcs: Document, test, and fix null pointer dst semantics (Bug 25219) + + * manual/charset.texi: Modified. + * stdlib/stdlib.h: Modified. + (mbstowcs): Modified. + * wcsmbs/Makefile: Modified. + * wcsmbs/tst-mbstowcs.c: New file. + +2020-05-29 Girish Joshi + + COMMIT: 9e2dc874e62b0950891b319c000b009ea12ac8c2 + build: Use FAIL_EXIT1 () on failure to exec child [BZ #23990] + + * support/test-container.c: Modified. + (recursive_remove): Modified function. + +2020-05-29 Girish Joshi + + COMMIT: 5d5b3bd94ceebe13d54a6e0cc9e2a899adbbc56f + manual: Fix backtraces code example [BZ #10441] + + * manual/examples/execinfo.c: Modified. + (print_trace): Modified function. + +2020-05-28 Samuel Thibault + + COMMIT: 6544999083437dabdadcec18185a1b2169b9637a + hurd: Fix fexecve + + * sysdeps/mach/hurd/fexecve.c: Modified. + (fexecve): Modified function. + +2020-05-28 Florian Weimer + + COMMIT: cc0118983a3b3ca36fa7ddd9a5dde2cb28160f1d + i386: Remove unused file sysdeps/unix/i386/sysdep.S + + * sysdeps/unix/i386/sysdep.S: Delete file. + +2020-05-28 Samuel Thibault + + COMMIT: c318f663bd417f0477fdbae077c078b2219109b2 + hurd: fix ptsname error when called on a non-tty + + * sysdeps/mach/hurd/ptsname.c: Modified. + (__ptsname_internal): Modified function. + +2020-05-28 Samuel Thibault + + COMMIT: 94884ff506d25ddca4f918c2cd40cc748bc5bbb3 + hurd: Fix fdopendir checking for directory type + + * sysdeps/mach/hurd/fdopendir.c: Modified. + (__fdopendir): Modified function. + +2020-05-28 Florian Weimer + + COMMIT: fff30716a7517a2d1d4682c5b94e56b0e87f6a67 + i386: Remove NO_TLS_DIRECT_SEG_REFS handling + + * sysdeps/i386/Makefile: Modified. + * sysdeps/i386/i686/multiarch/strcmp-sse4.S: Modified. + * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Modified. + +2020-05-28 Florian Weimer + + COMMIT: 6321f9e5e8a7953095183c1ae41ed3ccf5a0cdd3 + Hurd: Move internals into wrapper header + + * hurd/hurd/sigpreempt.h: Modified. + (HURD_PREEMPT_SIGNAL_P): Remove. + (_hurdsig_preemptors): Remove. + (_hurdsig_preempted_set): Remove. + * sysdeps/hurd/include/hurd/sigpreempt.h: New file. + +2020-05-28 Florian Weimer + + COMMIT: a9175662f8cdce65aa9e2c54ea09cbebd1215f7a + Hurd: Use __sigmask in favor of deprecated sigmask + + * hurd/catch-signal.c: Modified. + (hurd_safe_memset): Modified function. + (hurd_safe_copyout): Modified function. + (hurd_safe_copyin): Modified function. + (hurd_safe_memmove): Modified function. + * hurd/hurd/sigpreempt.h: Modified. + (HURD_PREEMPT_SIGNAL_P): Modified. + * hurd/hurdfault.h: Modified. + (_hurdsig_catch_memory_fault): Modified. + * hurd/hurdsig.c: Modified. + (STOPSIGS): Modified. + * sysdeps/generic/sigset-cvt-mask.h: Modified. + (sigset_set_old_mask): Modified function. + (sigset_get_old_mask): Modified function. + +2020-05-28 Samuel Thibault + + COMMIT: f9011787497a276f84ef79ae233992692a626dc7 + hurd: Fix pselect atomicity + + * hurd/hurdselect.c: Modified. + (_hurd_select): Modified function. + * hurd/hurdsig.c: Modified. + +2020-05-28 Florian Weimer + + COMMIT: 31563b68410ff8e9490c5aafca31ec71b38f87a5 + elf: Remove extra hwcap mechanism from ldconfig + + * elf/ldconfig.c: Modified. + [! _DL_FIRST_PLATFORM](_DL_FIRST_EXTRA): Remove. + [_DL_FIRST_PLATFORM](_DL_FIRST_EXTRA): Remove. + (print_version): Modified. + (is_hwcap_platform): Modified function. + (path_hwcap): Modified function. + (parse_conf): Modified function. + (main): Modified function. + (TLS_SUBPATH): New. + (TLS_HWCAP_BIT): New. + +2020-05-28 Florian Weimer + + COMMIT: dcbc6b83eff5b9238170bdfed834ba934150895f + elf: Do not read hwcaps from the vDSO in ld.so + + * elf/dl-hwcaps.c: Modified. + [! _DL_FIRST_PLATFORM](_DL_FIRST_EXTRA): Remove. + [_DL_FIRST_PLATFORM](_DL_FIRST_EXTRA): Remove. + (_dl_important_hwcaps): Modified function. + +2020-05-27 Adhemerval Zanella + + COMMIT: ef3330fde49502c342cf0541cd3c283a3c4a79cd + linux: Use internal DIR locks when accessing filepos on telldir + + * sysdeps/posix/telldir.c: Modified. + (telldir): Modified function. + +2020-05-26 Samuel Thibault + + COMMIT: 415d0b0b3f1649d688f18c34bcfb16ad72e337ce + Update i386 libm-test-ulps + + * sysdeps/i386/fpu/libm-test-ulps: Modified. + +2020-05-26 Samuel Thibault + + COMMIT: 28cada041811fe49c8da1eb7ffdbc949719f9009 + htl: Add clock variants + + * htl/Versions: Modified. + * htl/pt-join.c: Modified. + (__pthread_join): Modified function. + (__pthread_join_common): New function. + (__pthread_tryjoin_np): New function. + (weak_alias): New function. + (__pthread_timedjoin_np): New function. + (weak_alias): New function. + (__pthread_clockjoin_np): New function. + (weak_alias): New function. + * hurd/hurdlock.c: Modified. + (__lll_abstimed_wait): Modified function. + (__lll_abstimed_xwait): Modified function. + (__lll_abstimed_lock): Modified function. + (__lll_robust_abstimed_lock): Modified function. + * nptl/Makefile: Modified. + * sysdeps/pthread/tst-mutex8.c: Move to... + * nptl/tst-mutex8.c: ... here. + * sysdeps/htl/pt-cond-timedwait.c: Modified. + (__pthread_cond_timedwait_internal): Modified. + (__pthread_cond_timedwait): Modified function. + (__pthread_cond_timedwait_internal): Modified function. + (__pthread_cond_clockwait): New function. + (weak_alias): New function. + * sysdeps/htl/pt-cond-wait.c: Modified. + (__pthread_cond_timedwait_internal): Modified. + (__pthread_cond_wait): Modified function. + * sysdeps/htl/pt-rwlock-rdlock.c: Modified. + (__pthread_rwlock_timedrdlock_internal): Modified. + (__pthread_rwlock_rdlock): Modified function. + * sysdeps/htl/pt-rwlock-timedrdlock.c: Modified. + (__pthread_rwlock_timedrdlock_internal): Modified function. + (__pthread_rwlock_timedrdlock): Modified function. + (__pthread_rwlock_clockrdlock): New function. + (weak_alias): New. + * sysdeps/htl/pt-rwlock-timedwrlock.c: Modified. + (__pthread_rwlock_timedwrlock_internal): Modified function. + (__pthread_rwlock_timedwrlock): Modified function. + (__pthread_rwlock_clockwrlock): New function. + (weak_alias): New. + * sysdeps/htl/pt-rwlock-wrlock.c: Modified. + (__pthread_rwlock_timedwrlock_internal): Modified. + (__pthread_rwlock_wrlock): Modified function. + * sysdeps/htl/pthread.h: Modified. + [__USE_GNU](pthread_tryjoin_np): New function. + [__USE_GNU](pthread_timedjoin_np): New function. + [__USE_GNU](pthread_clockjoin_np): New function. + [__USE_GNU](pthread_mutex_clocklock): New function. + [__USE_GNU](pthread_cond_clockwait): New function. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU](pthread_rwlock_clockrdlock): New. + [__USE_UNIX98 || __USE_XOPEN2K][__USE_GNU](pthread_rwlock_clockwrlock): New. + * sysdeps/htl/pthreadP.h: Modified. + (__pthread_cond_clockwait): New function. + * sysdeps/mach/hurd/htl/pt-mutex-timedlock.c: Modified. + (__pthread_mutex_timedlock): Modified function. + (weak_alias): Modified. + (__pthread_mutex_clocklock): New function. + (weak_alias): New. + * sysdeps/mach/hurd/i386/libpthread.abilist: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-abstime.c: Move to... + * sysdeps/pthread/tst-abstime.c: ... here. + * nptl/tst-join10.c: Move to... + * sysdeps/pthread/tst-join10.c: ... here. + * nptl/tst-join11.c: Move to... + * sysdeps/pthread/tst-join11.c: ... here. + * nptl/tst-join12.c: Move to... + * sysdeps/pthread/tst-join12.c: ... here. + * nptl/tst-join13.c: Move to... + * sysdeps/pthread/tst-join13.c: ... here. + * nptl/tst-join14.c: Move to... + * sysdeps/pthread/tst-join14.c: ... here. + * nptl/tst-join2.c: Move to... + * sysdeps/pthread/tst-join2.c: ... here. + * nptl/tst-join3.c: Move to... + * sysdeps/pthread/tst-join3.c: ... here. + * nptl/tst-join8.c: Move to... + * sysdeps/pthread/tst-join8.c: ... here. + * nptl/tst-join9.c: Move to... + * sysdeps/pthread/tst-join9.c: ... here. + * nptl/tst-mutex-errorcheck.c: Move to... + * sysdeps/pthread/tst-mutex-errorcheck.c: ... here. + * nptl/tst-mutex11.c: Move to... + * sysdeps/pthread/tst-mutex11.c: ... here. + * nptl/tst-mutex5.c: Move to... + * sysdeps/pthread/tst-mutex5.c: ... here. + * nptl/tst-mutex7.c: Move to... + * sysdeps/pthread/tst-mutex7.c: ... here. + * nptl/tst-mutex7robust.c: Move to... + * sysdeps/pthread/tst-mutex7robust.c: ... here. + * nptl/tst-mutex9.c: Move to... + * sysdeps/pthread/tst-mutex9.c: ... here. + * nptl/tst-pthread-mutexattr.c: Move to... + * sysdeps/pthread/tst-pthread-mutexattr.c: ... here. + * nptl/tst-rwlock12.c: Move to... + * sysdeps/pthread/tst-rwlock12.c: ... here. + * nptl/tst-rwlock14.c: Move to... + * sysdeps/pthread/tst-rwlock14.c: ... here. + +2020-05-25 Florian Weimer + + COMMIT: 02802fafcf6e11ea3f998f685035ffe568dfddeb + signal: Deprecate additional legacy signal handling functions + + * NEWS: Modified. + * manual/signal.texi: Modified. + * nptl/Makefile: Modified. + * nptl/tst-cancel4.c: Modified. + (tf_sigpause): Modified function. + (libc-diag.h): Include file. + * nptl/tst-exec1.c: Modified. + (do_test): Modified function. + (support/xsignal.h): Include file. + * nptl/tst-exec2.c: Modified. + (do_test): Modified function. + (support/xsignal.h): Include file. + * nptl/tst-exec3.c: Modified. + (do_test): Modified function. + (support/xsignal.h): Include file. + * nptl/tst-exec4.c: Modified. + (tf): Modified function. + (support/xsignal.h): Include file. + * nptl/tst-exec5.c: Modified. + (do_test): Modified function. + * signal/signal.h: Modified. + [__USE_MISC](sigmask): Modified. + [__USE_XOPEN_EXTENDED][__GNUC__](sigpause): Modified. + [__USE_XOPEN_EXTENDED](sighold): Modified. + [__USE_XOPEN_EXTENDED](sigrelse): Modified. + [__USE_XOPEN_EXTENDED](sigignore): Modified. + [__USE_XOPEN_EXTENDED](sigset): Modified. + [__USE_XOPEN_EXTENDED || __USE_MISC](siginterrupt): Modified. + * signal/tst-sigset2.c: Modified. + (libc-diag.h): Include file. + (DIAG_IGNORE_NEEDS_COMMENT): New function. + * signal/tst-sigsimple.c: Modified. + (libc-diag.h): Include file. + (DIAG_IGNORE_NEEDS_COMMENT): New function. + +2020-05-25 Florian Weimer + + COMMIT: de42613540de8d3d70b5f14a14923cab7bd694d0 + elf: Turn _dl_printf, _dl_error_printf, _dl_fatal_printf into functions + + * elf/Versions: Modified. + * elf/dl-misc.c: Modified. + (_dl_printf): New function. + (_dl_error_printf): New function. + (_dl_fatal_printf): New function. + (rtld_hidden_def): New. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)](_dl_printf): Remove. + [IS_IN (rtld)](_dl_error_printf): Remove. + [IS_IN (rtld)](_dl_fatal_printf): Remove. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](rtld_hidden_proto): Modified. + [IS_IN (rtld)](_dl_printf): New function. + [IS_IN (rtld)](_dl_error_printf): New function. + [IS_IN (rtld)](_dl_fatal_printf): New function. + [IS_IN (rtld)](rtld_hidden_proto): New. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + +2020-05-21 H.J. Lu + + COMMIT: 76d5b2f002a1243ddba06bd646249553353f4322 + x86: Update Intel Atom processor family optimization + + * sysdeps/x86/cpu-features.c: Modified. + (init_cpu_features): Modified function. + +2020-05-21 Szabolcs Nagy + + COMMIT: 03acbc1f71800a34dfbf4371c3443b1f1c73a4b9 + elf.h: add aarch64 property definitions + + * elf/elf.h: Modified. + (GNU_PROPERTY_AARCH64_FEATURE_1_AND): New. + (GNU_PROPERTY_AARCH64_FEATURE_1_BTI): New. + (GNU_PROPERTY_AARCH64_FEATURE_1_PAC): New. + +2020-05-21 Szabolcs Nagy + + COMMIT: 7787a35fd0ac1d42a05d3a45223158efa54d87d7 + elf.h: Add PT_GNU_PROPERTY + + * elf/elf.h: Modified. + (PT_GNU_PROPERTY): New. + +2020-05-20 Florian Weimer + + COMMIT: e3022f4bcd69eb9f103a6de626a1e9e343fc7ada + : Add libpthread hidden alias support + + * include/libc-symbols.h: Modified. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_proto): New. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_tls_proto): New. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_def): New. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_weak): New. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_ver): New. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_data_def): New. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_tls_def): New. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_data_weak): New. + [! _ISOMAC][!(IS_IN (libpthread))](libpthread_hidden_data_ver): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_proto): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_tls_proto): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_def): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_weak): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_ver): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_data_def): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_tls_def): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_data_weak): New. + [! _ISOMAC][IS_IN (libpthread)](libpthread_hidden_data_ver): New. + +2020-05-20 Florian Weimer + + COMMIT: 7bf1094e8253e19753ae467ab5b86a18d9abd9f3 + nptl: Use __pthread_attr_copy in pthread_setattr_default_np + + * nptl/pthread_setattr_default_np.c: Modified. + (pthread_setattr_default_np): Modified function. + +2020-05-20 Florian Weimer + + COMMIT: cea81e2b7e441663539d196c18bb2568e3e2fae8 + nptl: Use __pthread_attr_copy in pthread_getattr_default_np (bug 25999) + + * nptl/Makefile: Modified. + * nptl/pthread_getattr_default_np.c: Modified. + (errno.h): Remove include. + (stdlib.h): Remove include. + (pthread_getattr_default_np): Modified function. + * nptl/tst-pthread-defaultattr-free.c: New file. + +2020-05-20 Florian Weimer + + COMMIT: 331c6e8a184167dd21a9f0b3fc165aeefea6eeca + nptl: Add __pthread_attr_copy for copying pthread_attr_t objects + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/pthreadP.h: Modified. + (__pthread_attr_copy): New function. + (libc_hidden_proto): New. + * nptl/pthread_attr_copy.c: New file. + * sysdeps/nptl/internaltypes.h: Modified. + (pthread_attr_transparent): New. + +2020-05-20 Florian Weimer + + COMMIT: 3699ef99de0d69284cdd28c3cc5e1aa89e398443 + nptl: Make __pthread_attr_init, __pthread_attr_destroy available internally + + * nptl/Versions: Modified. + * nptl/pthreadP.h: Modified. + (__pthread_attr_init_2_1): Remove. + (libc_hidden_proto): Modified. + (libc_hidden_proto): Modified. + (libc_hidden_proto): Modified. + (libc_hidden_proto): Modified. + (__pthread_attr_init): New function. + (libc_hidden_proto): New. + (libc_hidden_proto): New. + * nptl/pthread_attr_destroy.c: Modified. + (strong_alias): Remove. + (libc_hidden_def): New. + (weak_alias): New. + * nptl/pthread_attr_init.c: Modified. + (__pthread_attr_init_2_1): Remove function. + (versioned_symbol): Modified. + (__pthread_attr_init): New function. + (libc_hidden_def): New. + +2020-05-20 Florian Weimer + + COMMIT: 07a73d521988a7fdea1bb3c3b5bbb2b23a0da2e1 + nptl: Move pthread_gettattr_np into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/libpthread-compat.c: Modified. + [(SHLIB_COMPAT (libpthread, GLIBC_2_2_3, GLIBC_2_2_4))](compat_symbol_unique): New. + * nptl/pthread_getattr_np.c: Modified. + (pthread_getattr_np): Remove function. + [SHLIB_COMPAT (libc, GLIBC_2_2_3, GLIBC_2_32)](strong_alias): New. + [SHLIB_COMPAT (libc, GLIBC_2_2_3, GLIBC_2_32)](compat_symbol): New. + (__pthread_getattr_np): New function. + (versioned_symbol): New function. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-05-20 Florian Weimer + + COMMIT: 52302bc298c99dc0d2ca3d1b07b4349129babae3 + nptl: Move pthread_getaffinity_np into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/pthreadP.h: Modified. + (libc_hidden_proto): New. + * nptl/pthread_getaffinity.c: Modified. + [SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)](__pthread_getaffinity_old): Remove. + [SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): Remove. + (__pthread_getaffinity_new): Remove function. + (strong_alias): Remove. + (versioned_symbol): Modified. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__pthread_getaffinity_old): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_4, GLIBC_2_32)](strong_alias): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_4, GLIBC_2_32)](compat_symbol): New. + (__pthread_getaffinity_np): New function. + (libc_hidden_def): New. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-05-20 Florian Weimer + + COMMIT: 1979819d680bb5394a878261519f8a3e4a2886a1 + nptl: Move pthread_attr_setaffinity_np into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/pthreadP.h: Modified. + (libc_hidden_proto): Modified. + (libc_hidden_proto): Modified. + (__pthread_attr_setaffinity_np): New function. + (libc_hidden_proto): New. + * nptl/pthread_attr_setaffinity.c: Modified. + [SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)](__pthread_attr_setaffinity_old): Remove. + [SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): Remove. + (__pthread_attr_setaffinity_new): Remove function. + (versioned_symbol): Modified. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__pthread_attr_setaffinity_old): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_4, GLIBC_2_32)](strong_alias): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_4, GLIBC_2_32)](compat_symbol): New. + (__pthread_attr_setaffinity_np): New function. + (libc_hidden_def): New. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-05-20 Florian Weimer + + COMMIT: 714da1d4eac32400187255254dd40334b48b80f3 + nptl: Replace some stubs with the Linux implementation + + * nptl/Makefile: Modified. + * nptl/pthread_getaffinity.c: Modified. + (__pthread_getaffinity_np): Remove function. + (weak_alias): Remove. + [SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)](__pthread_getaffinity_old): New. + [SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): New. + (errno.h): Include file. + (limits.h): Include file. + (string.h): Include file. + (sysdep.h): Include file. + (sys/param.h): Include file. + (sys/types.h): Include file. + (shlib-compat.h): Include file. + (__pthread_getaffinity_new): New function. + (strong_alias): New. + (versioned_symbol): New function. + * nptl/pthread_getname.c: Modified. + (pthread_getname_np): Modified function. + (fcntl.h): Include file. + (stdio.h): Include file. + (string.h): Include file. + (unistd.h): Include file. + (sys/prctl.h): Include file. + (not-cancel.h): Include file. + * nptl/pthread_setaffinity.c: Modified. + (pthread_setaffinity_np): Remove function. + [SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)](__pthread_setaffinity_old): New. + [SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): New. + (errno.h): Include file. + (sysdep.h): Include file. + (sys/types.h): Include file. + (shlib-compat.h): Include file. + (__pthread_setaffinity_new): New function. + (versioned_symbol): New function. + * nptl/pthread_setname.c: Modified. + (pthread_setname_np): Modified function. + (fcntl.h): Include file. + (stdio.h): Include file. + (string.h): Include file. + (unistd.h): Include file. + (sys/prctl.h): Include file. + (not-cancel.h): Include file. + * sysdeps/unix/sysv/linux/tst-setgetname.c: Move to... + * nptl/tst-setgetname.c: ... here. + * sysdeps/unix/sysv/linux/tst-thread-affinity-pthread.c: Move to... + * nptl/tst-thread-affinity-pthread.c: ... here. + * sysdeps/unix/sysv/linux/tst-thread-affinity-pthread2.c: Move to... + * nptl/tst-thread-affinity-pthread2.c: ... here. + * sysdeps/unix/sysv/linux/tst-thread-affinity-sched.c: Move to... + * nptl/tst-thread-affinity-sched.c: ... here. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/pthread_getaffinity.c: Delete file. + * sysdeps/unix/sysv/linux/pthread_getname.c: Delete file. + * sysdeps/unix/sysv/linux/pthread_setaffinity.c: Delete file. + * sysdeps/unix/sysv/linux/pthread_setname.c: Delete file. + +2020-05-20 Florian Weimer + + COMMIT: b6ad64b907ab0066902215cf28eadc1e97307e84 + Linux: Add missing handling of tai field to __ntp_gettime64 + + * sysdeps/unix/sysv/linux/ntp_gettime.c: Modified. + (__ntp_gettime64): Modified function. + +2020-05-20 Martin Sebor + + COMMIT: 901ac8431c9c031673f965e30b0d4a24ec3b8370 + Mention GCC 10 attribute access. + + * NEWS: Modified. + +2020-05-20 Lukasz Majewski + + COMMIT: e9698175b0b60407db1e89bcf29437ab224bca0b + y2038: Replace __clock_gettime with __clock_gettime64 + + * benchtests/bench-timing.h: Modified. + (__clock_gettime): Modified. + * include/random-bits.h: Modified. + (random_bits): Modified function. + * login/logout.c: Modified. + (logout): Modified function. + * login/logwtmp.c: Modified. + (logwtmp): Modified function. + (struct___timespec64.h): Include file. + * nis/nis_call.c: Modified. + (nis_server_cache): Modified. + (__libc_lock_define_initialized): Modified function. + (nis_server_cache_add): Modified function. + (__nisfind_server): Modified function. + * sysdeps/generic/hp-timing.h: Modified. + (HP_TIMING_NOW): Modified. + * sysdeps/generic/memusage.h: Modified. + [! GETTIME](GETTIME): Modified. + * sysdeps/unix/sysv/linux/alpha/osf_gettimeofday.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__gettimeofday_tv32): Modified function. + * sysdeps/unix/sysv/linux/clock.c: Modified. + (clock): Modified function. + +2020-05-20 Florian Weimer + + COMMIT: 5b9b177bf62bcdaf42255f88ad9ebf090528c5e1 + manual: Add missing section and node for clockid_t wait functions + + * manual/threads.texi: Modified. + +2020-05-20 Lukasz Majewski + + COMMIT: 4c4fc04826c2e02635c65163efb1244148735c41 + y2038: linux: Provide __ntp_gettimex64 implementation + + * sysdeps/unix/sysv/linux/include/sys/timex.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__ntp_gettimex64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__ntp_gettimex64): New. + * sysdeps/unix/sysv/linux/ntp_gettimex.c: Modified. + (ntp_gettimex): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](__ntp_gettimex): New. + (time.h): Include file. + (__ntp_gettimex64): New function. + (strong_alias): New. + +2020-05-20 Lukasz Majewski + + COMMIT: 5613afe9e3dff54b10e4850804cd574e8c420e3d + y2038: linux: Provide __ntp_gettime64 implementation + + * sysdeps/unix/sysv/linux/include/sys/timex.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__ntp_gettime64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__ntp_gettime64): New. + * sysdeps/unix/sysv/linux/ntp_gettime.c: Modified. + (ntp_gettime): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](__ntp_gettime): New. + (time.h): Include file. + (__ntp_gettime64): New function. + (strong_alias): New. + +2020-05-20 Lukasz Majewski + + COMMIT: 10ae49d2ce4576d8bb8f01d1fc1cbdf550ad4cbd + y2038: Provide conversion helpers for struct __ntptimeval64 + + * sysdeps/unix/sysv/linux/include/sys/timex.h: Modified. + [! _ISOMAC](__ntptimeval64): New. + [! _ISOMAC](valid_ntptimeval_to_ntptimeval64): New function. + [! _ISOMAC](valid_ntptimeval64_to_ntptimeval): New function. + +2020-05-20 Lukasz Majewski + + COMMIT: df4289508a3a0e345a87544ee4eea8cbb4c9d197 + y2038: Introduce struct __ntptimeval64 - new internal glibc type + + * sysdeps/unix/sysv/linux/include/sys/timex.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__ntptimeval64): New. + [! _ISOMAC][__TIMESIZE == 64](__ntptimeval64): New. + +2020-05-20 Lukasz Majewski + + COMMIT: 0308077e3a4ff1c123cdddd311f55a2ecdd3115c + y2038: linux: Provide __adjtime64 implementation + + * include/sys/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__adjtime64): New. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__adjtime64): New. + [! _ISOMAC](struct___timeval64.h): Include file. + * sysdeps/unix/sysv/linux/adjtime.c: Modified. + (__adjtime): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](__adjtime): New. + (__adjtime64): New function. + +2020-05-20 Lukasz Majewski + + COMMIT: 8f8a6cae487beb7af465fd42fba892eee5e0c319 + y2038: linux: Provide ___adjtimex64 implementation + + * sysdeps/unix/sysv/linux/adjtimex.c: Modified. + (___adjtimex): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](___adjtimex): New. + (___adjtimex64): New function. + * sysdeps/unix/sysv/linux/include/sys/timex.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](___adjtimex64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](___adjtimex64): New. + +2020-05-20 Lukasz Majewski + + COMMIT: 63ff4a6d1732e7472cbfa59a8f31db0441269105 + y2038: linux: Provide __clock_adjtime64 implementation + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/clock_adjtime.c: New file. + * sysdeps/unix/sysv/linux/include/sys/timex.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__clock_adjtime64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__clock_adjtime64): New. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + +2020-05-19 Josh Triplett + + COMMIT: cad64f778aced84efdaa04ae64f8737b86f063ab + ldconfig: Default to the new format for ld.so.cache + + * NEWS: Modified. + * elf/ldconfig.c: Modified. + (opt_format): Modified. + +2020-05-19 Florian Weimer + + COMMIT: 790b8dda4455865cb8c3a47801f4304c1a43baf6 + nss_compat: internal_end*ent may clobber errno, hiding ERANGE [BZ #25976] + + * nss/nss_compat/compat-grp.c: Modified. + (internal_endgrent): Modified function. + (_nss_compat_getgrnam_r): Modified function. + (_nss_compat_getgrgid_r): Modified function. + (internal_endgrent_noerror): New function. + * nss/nss_compat/compat-initgroups.c: Modified. + (internal_endgrent): Modified function. + (_nss_compat_initgroups_dyn): Modified function. + (internal_endgrent_noerror): New function. + * nss/nss_compat/compat-pwd.c: Modified. + (internal_endpwent): Modified function. + (_nss_compat_getpwnam_r): Modified function. + (_nss_compat_getpwuid_r): Modified function. + (internal_endpwent_noerror): New function. + * nss/nss_compat/compat-spwd.c: Modified. + (internal_endspent): Modified function. + (_nss_compat_getspnam_r): Modified function. + (internal_endspent_noerror): New function. + +2020-05-18 Anton Blanchard + + COMMIT: 765de945efc5d5602999b2999fe8abdf04881370 + powerpc: Optimized rawmemchr for POWER9 + + * sysdeps/powerpc/powerpc64/le/power9/rawmemchr.S: New file. + * sysdeps/powerpc/powerpc64/multiarch/Makefile: Modified. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/powerpc/powerpc64/multiarch/rawmemchr-power9.S: New file. + * sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c: Modified. + [IS_IN (libc)](libc_ifunc_redirected): Remove. + [IS_IN (libc)](weak_alias): Remove. + [IS_IN (libc)][! __LITTLE_ENDIAN__](libc_ifunc_redirected): New. + [IS_IN (libc)][__LITTLE_ENDIAN__](__rawmemchr_power9): New. + [IS_IN (libc)][__LITTLE_ENDIAN__](libc_ifunc_redirected): New. + +2020-05-18 H.J. Lu + + COMMIT: 9e38f455a6c602be86b7b5a8d6523cbdcd7ec051 + x86: Add --enable-cet=permissive + + * INSTALL: Modified. + * config.h.in: Modified. + * manual/install.texi: Modified. + * sysdeps/unix/sysv/linux/x86/Makefile: Modified. + * sysdeps/x86/Makefile: Modified. + * sysdeps/x86/configure: Modified. + * sysdeps/x86/configure.ac: Modified. + * sysdeps/x86/dl-procruntime.c: Modified. + * sysdeps/x86/tst-cet-legacy-5.c: Modified. + (do_test_1): Modified function. + [!(CET_IS_PERMISSIVE || CET_DISABLED_BY_ENV)](CET_MAYBE_DISABLED): New. + [CET_IS_PERMISSIVE || CET_DISABLED_BY_ENV](CET_MAYBE_DISABLED): New. + (x86intrin.h): Include file. + (support/check.h): Include file. + * sysdeps/x86/tst-cet-legacy-6.c: Modified. + (do_test_1): Modified function. + [!(CET_IS_PERMISSIVE || CET_DISABLED_BY_ENV)](CET_MAYBE_DISABLED): New. + [CET_IS_PERMISSIVE || CET_DISABLED_BY_ENV](CET_MAYBE_DISABLED): New. + (x86intrin.h): Include file. + (support/check.h): Include file. + +2020-05-18 Florian Weimer + + COMMIT: ce12fc711387375d0248ab3ff9084fb958c43bc6 + Remove NO_CTORS_DTORS_SECTIONS macro + + * Makerules: Modified. + * config.h.in: Modified. + * configure: Modified. + * configure.ac: Modified. + * csu/init-first.c: Modified. + (_init_first): Modified function. + * elf/Makefile: Modified. + * elf/sofini.c: Modified. + (mode): Modified. + * elf/soinit.c: Delete file. + * include/libc-internal.h: Modified. + (__libc_global_ctors): Remove. + * sysdeps/mach/hurd/i386/init-first.c: Modified. + (__libc_global_ctors): Remove. + (posixland_init): Modified function. + +2020-05-18 Florian Weimer + + COMMIT: 7b5bfe77836442b9aeb75cc520f0d1eb7f82be67 + elf: Assert that objects are relocated before their constructors run + + * elf/dl-init.c: Modified. + (call_init): Modified function. + (assert.h): Include file. + +2020-05-18 Anton Blanchard via Libc-alpha + + COMMIT: aa70d0563256b8ea053203177f756bca33b5cf37 + powerpc: Optimized stpcpy for POWER9 + + * sysdeps/powerpc/powerpc64/le/power9/stpcpy.S: New file. + * sysdeps/powerpc/powerpc64/le/power9/strcpy.S: Modified. + * sysdeps/powerpc/powerpc64/multiarch/Makefile: Modified. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power9.S: New file. + * sysdeps/powerpc/powerpc64/multiarch/stpcpy.c: Modified. + [SHARED && IS_IN (libc)](libc_ifunc_hidden): Remove. + [SHARED && IS_IN (libc)](weak_alias): Remove. + [SHARED && IS_IN (libc)](libc_hidden_def): Remove. + [SHARED && IS_IN (libc)](libc_hidden_def): Remove. + [SHARED && IS_IN (libc)][! __LITTLE_ENDIAN__](libc_ifunc_hidden): New. + [SHARED && IS_IN (libc)][__LITTLE_ENDIAN__](__stpcpy_power9): New. + [SHARED && IS_IN (libc)][__LITTLE_ENDIAN__](libc_ifunc_hidden): New. + +2020-05-18 Anton Blanchard via Libc-alpha + + COMMIT: 39037048502d52ab6422c18f2d178d6228d2c7b9 + powerpc: Optimized strcpy for POWER9 + + * sysdeps/powerpc/powerpc64/le/power9/strcpy.S: New file. + * sysdeps/powerpc/powerpc64/multiarch/Makefile: Modified. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Modified. + (__libc_ifunc_impl_list): Modified function. + * sysdeps/powerpc/powerpc64/multiarch/strcpy-power9.S: New file. + * sysdeps/powerpc/powerpc64/multiarch/strcpy.c: Modified. + (libc_ifunc_redirected): Remove. + [! __LITTLE_ENDIAN__](libc_ifunc_redirected): New. + [__LITTLE_ENDIAN__](__strcpy_power9): New. + [__LITTLE_ENDIAN__](libc_ifunc_redirected): New. + +2020-05-18 H.J. Lu + + COMMIT: 674ea88294bfb8d89878a0ebbbcec38a85e118a5 + x86: Move CET control to _dl_x86_feature_control [BZ #25887] + + * elf/rtld.c: Modified. + * sysdeps/i386/dl-machine.h: Modified. + [! dl_machine_h](elf_machine_runtime_setup): Modified function. + * sysdeps/unix/sysv/linux/x86/cpu-features.c: Modified. + [CET_ENABLED][! SHARED](x86_setup_tls): Modified function. + * sysdeps/x86/cet-tunables.h: Move to... + * sysdeps/x86/cet-control.h: ... here. + (CET_ELF_PROPERTY): Remove. + (CET_ALWAYS_OFF): Remove. + (CET_ALWAYS_ON): Remove. + (CET_PERMISSIVE): Remove. + (CET_MAX): Remove. + (_CET_CONTROL_H): New. + (dl_x86_cet_control): New. + (dl_x86_feature_control): New. + * sysdeps/x86/cpu-features.c: Modified. + [CET_ENABLED](cet-tunables.h): Remove include. + (init_cpu_features): Modified function. + * sysdeps/x86/cpu-tunables.c: Modified. + [CET_ENABLED](cet-tunables.h): Remove include. + [CET_ENABLED](TUNABLE_CALLBACK): Modified function. + [CET_ENABLED](TUNABLE_CALLBACK): Modified function. + * sysdeps/x86/dl-cet.c: Modified. + (cet-tunables.h): Remove include. + (dl_cet_check): Modified function. + * sysdeps/x86/dl-procruntime.c: Modified. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][! SHARED || PROCINFO_DECL](_dl_x86_feature_1): Remove. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][! PROCINFO_DECL](_dl_x86_feature_1): New. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL && SHARED)][! PROCINFO_DECL](_dl_x86_feature_control): New. + * sysdeps/x86/ldsodefs.h: Modified. + (cet-control.h): Include file. + +2020-05-16 Samuel Thibault + + COMMIT: cbfc16122e9c4948b3a17224aeb5f8b70f02417d + sunrpc/tst-udp-*: Fix timeout value + + * sunrpc/tst-udp-nonblocking.c: Modified. + (do_test): Modified function. + * sunrpc/tst-udp-timeout.c: Modified. + (test_udp_server): Modified function. + +2020-05-16 Florian Weimer + + COMMIT: 501bdb5dd61afc714a098cd5ff441bd114584f75 + Linux: Remove remnants of the getcpu cache + + * sysdeps/unix/sysv/linux/pthread_setaffinity.c: Modified. + (__pthread_setaffinity_new): Modified function. + * sysdeps/unix/sysv/linux/sched_setaffinity.c: Modified. + (__sched_setaffinity_new): Modified function. + * sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c: Delete file. + * sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c: Delete file. + * sysdeps/x86_64/nptl/tcb-offsets.sym: Modified. + * sysdeps/x86_64/nptl/tls.h: Modified. + [! __ASSEMBLER__](tcbhead_t): Modified. + +2020-05-15 Paul Eggert + + COMMIT: 61d64408a1f42b0340d37ea0c90a9f028ffb1bfd + Update timezone code from tzcode 2020a + + * time/tzfile.c: Modified. + (__tzfile_read): Modified function. + * timezone/private.h: Modified. + [ALTZONE](altzone): Remove. + [TZ_TIME_T](asctime): New. + [TZ_TIME_T](asctime_r): New. + [TZ_TIME_T](asctime): New function. + [TZ_TIME_T](asctime_r): New function. + [TZ_TIME_T || !HAVE_POSIX_DECLS][HAVE_TZNAME](tzname): Remove. + [TZ_TIME_T || !HAVE_POSIX_DECLS][USG_COMPAT](timezone): Remove. + [TZ_TIME_T || !HAVE_POSIX_DECLS][USG_COMPAT](daylight): Remove. + [! ALTZONE][!(__sun || _M_XENIX)](ALTZONE): New. + [! ALTZONE][__sun || _M_XENIX](ALTZONE): New. + [2 <= ALTZONE + (TZ_TIME_T || !HAVE_POSIX_DECLS)](altzone): New. + [2 <= HAVE_TZNAME + (TZ_TIME_T || !HAVE_POSIX_DECLS)](tzname): New. + [2 <= USG_COMPAT + (TZ_TIME_T || !HAVE_POSIX_DECLS)](timezone): New. + [2 <= USG_COMPAT + (TZ_TIME_T || !HAVE_POSIX_DECLS)](daylight): New. + [USG_COMPAT && USG_COMPAT == 2](timezone): New. + [USG_COMPAT && USG_COMPAT == 2](timezone): New. + * timezone/tzfile.h: Modified. + (tzhead): Modified. + * timezone/version: Modified. + * timezone/zdump.c: Modified. + (abbrok): Modified function. + * timezone/zic.c: Modified. + (rule): Modified. + (zone): Modified. + (leapadd): Modified. + (getstdoff): Remove. + (ZF_GMTOFF): Remove. + (ZFC_GMTOFF): Remove. + (RF_STDOFF): Remove. + (gmtoffs): Remove. + (abbrinds): Remove. + (ttisgmts): Remove. + (usage): Modified function. + (main): Modified function. + (associate): Modified function. + (infile): Modified function. + (getstdoff): Remove function. + (inrule): Modified function. + (inzsub): Modified function. + (inleap): Modified function. + (rulesub): Modified function. + (puttzcode64): Remove function. + (swaptypes): Remove function. + (writezone): Modified function. + (doabbr): Modified function. + (stringrule): Modified function. + (): Remove. + (stringzone): Modified function. + (outzone): Modified function. + (addtype): Modified function. + (leapadd): Modified function. + (adjleap): Modified function. + (byword): Modified function. + [! ZIC_BLOAT_DEFAULT](ZIC_BLOAT_DEFAULT): New. + (getsave): New function. + (inexpires): New function. + (LC_EXPIRES): New. + (ZF_STDOFF): New. + (ZFC_STDOFF): New. + (RF_SAVE): New. + (EXPIRES_FIELDS): New. + (utoffs): New. + (desigidx): New. + (ttisuts): New. + (lo_time): New. + (hi_time): New. + (leapexpires): New. + (comment_leapexpires): New. + (timerange_option): New function. + (bloat): New. + (want_bloat): New function. + (getsave): New function. + (getleapdatetime): New function. + (inexpires): New function. + (puttzcodepass): New function. + (timerange): New. + (limitrange): New function. + +2020-05-15 Lexi Shao + + COMMIT: 59b64f9cbbf1e98c6d187873de6c363994aee19d + aarch64: fix strcpy and strnlen for big-endian [BZ #25824] + + * sysdeps/aarch64/strcpy.S: Modified. + * sysdeps/aarch64/strnlen.S: Modified. + +2020-05-15 Florian Weimer + + COMMIT: 981e638d38947837fd36520c4cb051342348779d + locale: Add transliteration for Geresh, Gershayim (U+05F3, U+05F4) + + * locale/C-translit.h.in: Modified. + +2020-05-14 Florian Weimer + + COMMIT: a4a351924575879fd96bf470f6340157ed560186 + string: Fix string/tst-memmove-overflow to compile with GCC 7 + + * string/tst-memmove-overflow.c: Modified. + (unshared_size): Remove. + (allocation_size): Remove. + (): New. + (): New. + +2020-05-14 guojinhui + + COMMIT: 98b2dc7e208772e7088c63e3031f75c2b92548b4 + Add arch-syscall.h dependency for generating sysd-syscalls file + + * sysdeps/unix/Makefile: Modified. + +2020-05-13 Florian Weimer + + COMMIT: eca1b233322914d9013f3ee4aabecaadc9245abd + arm: XFAIL string/tst-memmove-overflow due to bug 25620 + + * string/tst-memmove-overflow.c: Modified. + (test_main): Modified function. + (mismatch_count): New. + (check_one_index): New function. + * sysdeps/arm/Makefile: Modified. + +2020-05-12 Florian Weimer + + COMMIT: ad78d702757a189b1fa552d607e8aaa22252a45f + elf: Remove redundant add_to_global_resize_failure call from dl_open_args + + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + +2020-05-12 Florian Weimer + + COMMIT: eec0f4218cda936a6ab8f543e90b96b196df3fc2 + string: Add string/tst-memmove-overflow, a test case for bug 25620 + + * string/Makefile: Modified. + * string/tst-memmove-overflow.c: New file. + +2020-05-12 Florian Weimer + + COMMIT: 0e28cfff9dfdb71352151054e0d38816856182d5 + support: Add support_blob_repeat_allocate_shared + + * support/blob_repeat.c: Modified. + (allocate_big): Modified function. + (support_blob_repeat_allocate): Modified function. + (repeat_allocate): New function. + (support_blob_repeat_allocate_shared): New function. + * support/blob_repeat.h: Modified. + (support_blob_repeat_allocate_shared): New function. + * support/tst-support_blob_repeat.c: Modified. + (do_test): Modified function. + (string.h): Include file. + +2020-05-12 Andreas Schwab + + COMMIT: 4cab20fa49b3ea3e3454fdc4f13bf3828d8efd19 + nptl: wait for pending setxid request also in detached thread (bug 25942) + + * nptl/pthread_create.c: Modified. + (if): Modified function. + +2020-05-12 Florian Weimer + + COMMIT: 16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936 + aarch64: Accept PLT calls to __getauxval within libc.so + + * sysdeps/unix/sysv/linux/aarch64/localplt.data: Modified. + +2020-05-11 Sergey + + COMMIT: c2d0411488c68a07cc22a5dd76fa37e952d2a66b + Use unsigned constants for ICMP6 filters [BZ #22489] + + * inet/netinet/icmp6.h: Modified. + (ICMP6_FILTER_WILLPASS): Modified. + (ICMP6_FILTER_WILLBLOCK): Modified. + (ICMP6_FILTER_SETPASS): Modified. + (ICMP6_FILTER_SETBLOCK): Modified. + +2020-05-11 Florian Weimer + + COMMIT: 6fcb0272f76721a45e33061404120907e8c5dae4 + Linux: Enhance glibcsyscalls.py to support listing system calls + + * sysdeps/unix/sysv/linux/glibcsyscalls.py: Modified. + +2020-05-11 Martin Sebor + + COMMIT: 978e8ac39f8ba2d694031e521511da1ae803ccfc + Suppress GCC 10 true positive warnings [BZ #25967] + + * io/tst-getcwd.c: Modified. + (do_test): Modified function. + (libc-diag.h): Include file. + * posix/test-errno.c: Modified. + (do_test): Modified function. + (libc-diag.h): Include file. + +2020-05-11 Florian Weimer + + COMMIT: e627106266ad8785457fadbf5bf67ed604d2a353 + POWER: Add context-synchronizing instructions to pkey_write [BZ #25954] + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-pkey.h: Modified. + (pkey_write): Modified function. + +2020-05-11 Samuel Thibault + + COMMIT: 61416e19218605a54e94edd9740bbe9d2785af6d + hurd: Add missing sigstate members initialization + + * hurd/hurdsig.c: Modified. + (_hurd_thread_sigstate): Modified function. + +2020-05-09 H.J. Lu + + COMMIT: 55c7bcc71b84123d5d4bd2814366a6b05fcf8ebd + x86-64: Use RDX_LP on __x86_shared_non_temporal_threshold [BZ #25966] + + * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Modified. + +2020-05-08 Adhemerval Zanella + + COMMIT: e1b871e25f3add3b63d465694b6731d95cafb299 + linux: Remove assembly umount2 implementation + + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/include/sys/mount.h: New file. + * sysdeps/unix/sysv/linux/umount.c: Modified. + (__umount2): Remove. + (__umount): Modified function. + (sys/mount.h): Include file. + (sysdep.h): Include file. + * sysdeps/unix/sysv/linux/umount2.S: Delete file. + * sysdeps/unix/sysv/linux/umount2.c: New file. + +2020-05-08 Florian Weimer + + COMMIT: 9f6bd1f6057e57cce9b07844c28f15859ab15d49 + signal: Use for sigemptyset, sigfillset + + * signal/sigempty.c: Modified. + (string.h): Remove include. + (sigemptyset): Modified function. + (sigsetops.h): Include file. + * signal/sigfillset.c: Modified. + (string.h): Remove include. + (sigfillset): Modified function. + (sigsetops.h): Include file. + +2020-05-08 Florian Weimer + + COMMIT: 3404def00a1b332080fa51044733f6ead0eae5f3 + ckb_IQ, or_IN locales: Add missing reorder-end keywords + + * localedata/locales/ckb_IQ: Modified. + * localedata/locales/or_IN: Modified. + +2020-05-06 Vineet Gupta + + COMMIT: 1270fbaaeebe642db335fccaaf98c82e6647cc0d + semaphore: consolidate arch headers into a generic one + + * sysdeps/arm/nptl/bits/semaphore.h: Delete file. + * sysdeps/csky/nptl/bits/semaphore.h: Delete file. + * sysdeps/hppa/nptl/bits/semaphore.h: Delete file. + * sysdeps/ia64/nptl/bits/semaphore.h: Delete file. + * sysdeps/microblaze/nptl/bits/semaphore.h: Delete file. + * sysdeps/nios2/nptl/bits/semaphore.h: Delete file. + * sysdeps/riscv/nptl/bits/semaphore.h: Delete file. + * sysdeps/s390/nptl/bits/semaphore.h: Delete file. + * sysdeps/sh/nptl/bits/semaphore.h: Delete file. + * sysdeps/sparc/nptl/bits/semaphore.h: Delete file. + * sysdeps/unix/sysv/linux/alpha/bits/semaphore.h: Delete file. + * sysdeps/x86/bits/semaphore.h: Move to... + * sysdeps/unix/sysv/linux/bits/semaphore.h: ... here. + * sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: Delete file. + +2020-05-06 Joseph Myers + + COMMIT: 99a327f801f7dbc8ca33b202718ef5bd0bf02ba5 + Use GCC 10 branch in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2020-05-06 Florian Weimer + + COMMIT: d69c3a9e75a5cc592f658e1a2f7e8c7f1e023d11 + Document the internal _ and N_ macros + + * include/libintl.h: Modified. + +2020-05-05 Lukasz Majewski + + COMMIT: 898f3793164c0e811b28a37827f4bedce334066f + y2038: Provide conversion helpers for struct __timex64 + + * sysdeps/unix/sysv/linux/include/sys/timex.h: Modified. + [! _ISOMAC](time.h): Include file. + [! _ISOMAC](__timex64): New. + [! _ISOMAC](valid_timex_to_timex64): New function. + [! _ISOMAC](valid_timex64_to_timex): New function. + +2020-05-05 Lukasz Majewski + + COMMIT: dbf8178fdc1cc1c884efd2f5b55703da5adfb051 + y2038: Introduce struct __timex64 - new internal glibc type + + * sysdeps/unix/sysv/linux/include/sys/timex.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__timex64): New. + [! _ISOMAC][__TIMESIZE == 64](__timex64): New. + [! _ISOMAC](struct___timeval64.h): Include file. + +2020-05-05 Lukasz Majewski + + COMMIT: a308615f7c067371df8bd96cb233cd0574537863 + y2038: include: Move struct __timeval64 definition to a separate file + + * include/struct___timeval64.h: New file. + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__timeval64): Remove. + [! _ISOMAC][__TIMESIZE == 64](__timeval64): Remove. + [! _ISOMAC](__timeval64): Remove. + [! _ISOMAC](valid_timeval_to_timeval64): Modified function. + [! _ISOMAC](__timeval64): Remove. + [! _ISOMAC](timespec64_to_timeval64): Modified function. + [! _ISOMAC](__timeval64): Remove. + [! _ISOMAC](valid_timeval32_to_timeval64): Modified function. + [! _ISOMAC](struct___timeval64.h): Include file. + +2020-05-05 Lukasz Majewski + + COMMIT: 481d01fa2b07d3c6f9e6ef9ae239bc616b1ac757 + y2038: nscd: Modify nscd_helper to use __clock_gettime64 + + * nscd/nscd_helper.c: Modified. + (wait_on_socket): Modified function. + (open_socket): Modified function. + (struct___timespec64.h): Include file. + +2020-05-05 Lukasz Majewski + + COMMIT: e008836c4afeeb81abe548b898fdf2db7d70eaff + y2038: inet: Convert inet deadline to support 64 bit time + + * inet/deadline.c: Modified. + (__deadline_current_time): Modified function. + * inet/net-internal.h: Modified. + (deadline_current_time): Modified. + (deadline): Modified. + (struct___timespec64.h): Include file. + +2020-05-05 Lukasz Majewski + + COMMIT: 1959ed4b9e9f95c991abdf31b24fb8cdf98475e2 + y2038: hurd: Provide __clock_gettime64 function + + * sysdeps/mach/clock_gettime.c: Modified. + (__clock_gettime64): New function. + (libc_hidden_def): New. + +2020-05-05 Lukasz Majewski + + COMMIT: eb98965b53bffbefddd398e903768ea60e84c0f3 + y2038: Export __clock_gettime64 to be usable in other libraries + + * time/Versions: Modified. + +2020-05-05 Florian Weimer + + COMMIT: ad14f4f8db4548244a8f694674ad96c81da52e8b + manual: Document the O_NOFOLLOW open flag + + * manual/llio.texi: Modified. + +2020-05-04 Paul E. Murphy + + COMMIT: 4a4db1de2f0fd936b583698dcc1b1c12a71828c8 + powerpc64le/power9: guard power9 strcmp against rtld usage [BZ# 25905] + + * sysdeps/powerpc/powerpc64/le/power9/rtld-strcmp.S: New file. + +2020-05-04 Paul E. Murphy + + COMMIT: a49e56a945972186a829ca3ad7dec7fb9c923488 + float128: use builtin_signbitf128 always + + * include/math.h: Modified. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][__HAVE_DISTINCT_FLOAT128](hidden_proto): Remove. + * sysdeps/ieee754/float128/s_signbitf128.c: Modified. + (math.h): Remove include. + (math_private.h): Remove include. + (__signbitf128): Remove function. + (hidden_def): Remove. + (../ldbl-128/s_signbitl.c): Include file. + +2020-05-04 Martin Sebor + + COMMIT: 06febd8c6705c816b2f32ee7aa1f4c0184b05248 + improve out-of-bounds checking with GCC 10 attribute access [BZ #25219] + + * libio/bits/stdio2.h: Modified. + [__USE_GNU](__wur): Remove. + [__USE_GNU](__wur): Remove. + [__USE_GNU](__REDIRECT): Modified. + [__USE_GNU](fgets_unlocked): Modified function. + [__USE_GNU](__fgets_unlocked_chk): New function. + [__USE_GNU](__REDIRECT): New function. + [__USE_ISOC99 || __USE_UNIX98](__snprintf_chk): Modified. + (__sprintf_chk): Modified. + (__vsprintf_chk): Modified. + (__wur): Modified. + (__wur): Modified. + (__REDIRECT): Modified. + (fgets): Modified function. + (__wur): Remove. + (__wur): Remove. + (__REDIRECT): Modified. + (__fgets_chk): New function. + (__REDIRECT): New function. + * libio/stdio.h: Modified. + [__USE_GNU](__wur): Remove. + [__USE_GNU](fgets_unlocked): New function. + (__wur): Modified. + (__wur): Modified. + (__wur): Modified. + (__wur): Modified. + (__wur): Remove. + (fgets): New function. + * misc/sys/cdefs.h: Modified. + [!(__GNUC_PREREQ (10, 0))](__attr_access): New. + [__GNUC_PREREQ (10, 0)](__attr_access): New. + * posix/bits/unistd.h: Modified. + [__USE_ATFILE](__wur): Remove. + [__USE_ATFILE](__wur): Remove. + [__USE_ATFILE](__REDIRECT_NTH): Modified. + [__USE_ATFILE](__readlinkat_chk): New function. + [__USE_ATFILE](__REDIRECT_NTH): New function. + [__USE_MISC || __USE_UNIX98](__gethostname_chk): Modified. + [__USE_MISC || __USE_UNIX98](__REDIRECT_NTH): Modified. + [__USE_MISC || __USE_XOPEN_EXTENDED](__wur): Remove. + [__USE_MISC || __USE_XOPEN_EXTENDED](__getwd_chk): New function. + [__USE_MISC || ( __USE_XOPEN && ! __USE_UNIX98)](__wur): Remove. + [__USE_MISC || ( __USE_XOPEN && ! __USE_UNIX98)](__wur): Remove. + [__USE_MISC || ( __USE_XOPEN && ! __USE_UNIX98)](__REDIRECT_NTH): Modified. + [__USE_MISC || ( __USE_XOPEN && ! __USE_UNIX98)](__getdomainname_chk): New function. + [__USE_MISC || ( __USE_XOPEN && ! __USE_UNIX98)](__REDIRECT_NTH): New function. + [__USE_POSIX199506](__getlogin_r_chk): Modified. + [__USE_UNIX98](__wur): Remove. + [__USE_UNIX98](__wur): Remove. + [__USE_UNIX98](__wur): Remove. + [__USE_UNIX98](__wur): Remove. + [__USE_UNIX98](__REDIRECT): Modified. + [__USE_UNIX98](__REDIRECT): Modified. + [__USE_UNIX98](__pread_chk): New function. + [__USE_UNIX98](__pread64_chk): New function. + [__USE_UNIX98](__REDIRECT): New function. + [__USE_UNIX98](__REDIRECT): New function. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K](__wur): Remove. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K](__wur): Remove. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K](__REDIRECT_NTH): Modified. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K](__readlink_chk): New function. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K](__REDIRECT_NTH): New function. + (__wur): Remove. + (__wur): Remove. + (__REDIRECT): Modified. + (__wur): Remove. + (__wur): Remove. + (__REDIRECT_NTH): Modified. + (__confstr_chk): Modified. + (__REDIRECT_NTH): Modified. + (__REDIRECT_NTH): Modified. + (__wur): Remove. + (__wur): Remove. + (__REDIRECT_NTH): Modified. + (__ttyname_r_chk): Modified. + (__REDIRECT_NTH): Modified. + (__REDIRECT_NTH): Modified. + (__read_chk): New function. + (__REDIRECT): New function. + (__getcwd_chk): New function. + (__getgroups_chk): New function. + (__REDIRECT_NTH): New function. + (__REDIRECT_NTH): New function. + * posix/unistd.h: Modified. + [( __USE_XOPEN_EXTENDED && ! __USE_XOPEN2K8) || __USE_MISC](__wur): Remove. + [( __USE_XOPEN_EXTENDED && ! __USE_XOPEN2K8) || __USE_MISC](getwd): New function. + [__USE_ATFILE](__wur): Remove. + [__USE_ATFILE](readlinkat): New function. + [__USE_MISC](__wur): Modified. + [__USE_MISC](__wur): Modified. + [__USE_MISC](__wur): Modified. + [__USE_MISC](__wur): Remove. + [__USE_MISC](__wur): Remove. + [__USE_MISC](__wur): Remove. + [__USE_MISC](__wur): Remove. + [__USE_MISC](sethostname): New function. + [__USE_MISC](getdomainname): New function. + [__USE_MISC](setdomainname): New function. + [__USE_MISC](getentropy): New function. + [__USE_POSIX199506](getlogin_r): Modified. + [__USE_POSIX2](confstr): Modified. + [__USE_UNIX98 || __USE_XOPEN2K8][! __USE_FILE_OFFSET64](__wur): Remove. + [__USE_UNIX98 || __USE_XOPEN2K8][! __USE_FILE_OFFSET64](__wur): Remove. + [__USE_UNIX98 || __USE_XOPEN2K8][! __USE_FILE_OFFSET64](pread): New function. + [__USE_UNIX98 || __USE_XOPEN2K8][! __USE_FILE_OFFSET64](pwrite): New function. + [__USE_UNIX98 || __USE_XOPEN2K8][__USE_FILE_OFFSET64][__REDIRECT](__wur): Remove. + [__USE_UNIX98 || __USE_XOPEN2K8][__USE_FILE_OFFSET64][__REDIRECT](__wur): Remove. + [__USE_UNIX98 || __USE_XOPEN2K8][__USE_FILE_OFFSET64][__REDIRECT](__REDIRECT): New function. + [__USE_UNIX98 || __USE_XOPEN2K8][__USE_FILE_OFFSET64][__REDIRECT](__REDIRECT): New function. + [__USE_UNIX98 || __USE_XOPEN2K8][__USE_LARGEFILE64](__wur): Remove. + [__USE_UNIX98 || __USE_XOPEN2K8][__USE_LARGEFILE64](__wur): Remove. + [__USE_UNIX98 || __USE_XOPEN2K8][__USE_LARGEFILE64](pread64): New function. + [__USE_UNIX98 || __USE_XOPEN2K8][__USE_LARGEFILE64](pwrite64): New function. + [__USE_XOPEN](swab): Modified. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K](__wur): Remove. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K](gethostname): Modified. + [__USE_XOPEN_EXTENDED || __USE_XOPEN2K](readlink): New function. + (__wur): Modified. + (__wur): Modified. + (__wur): Modified. + (__wur): Modified. + (__wur): Modified. + (__wur): Modified. + (__wur): Modified. + (__wur): Remove. + (__wur): Remove. + (__wur): Remove. + (__wur): Remove. + (__wur): Remove. + (read): New function. + (write): New function. + (getcwd): New function. + (getgroups): New function. + (ttyname_r): New function. + * stdlib/bits/stdlib.h: Modified. + (__ptsname_r_chk): Modified. + (__REDIRECT_NTH): Modified. + (__mbstowcs_chk): Modified. + (__REDIRECT_NTH): Modified. + (__wcstombs_chk): Modified. + (__REDIRECT_NTH): Modified. + * stdlib/stdlib.h: Modified. + [__USE_GNU](ptsname_r): Modified. + (mbstowcs): Modified. + (wcstombs): Modified. + * string/bits/string_fortified.h: Modified. + [__USE_MISC](__explicit_bzero_chk): Modified. + (__stpncpy_chk): Modified. + * string/string.h: Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__GNUC_PREREQ (3,4)][__USE_FORTIFY_LEVEL > 0 && __forty_function](bits/string_fortified.h): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU][! basename][! __CORRECT_ISO_CPP_STRING_H_PROTO](basename): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU][! basename][__CORRECT_ISO_CPP_STRING_H_PROTO](basename): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU][! basename][__CORRECT_ISO_CPP_STRING_H_PROTO](basename): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU](memmem): Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU](strverscmp): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU](strfry): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU](memfrob): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_MISC](strings.h): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_MISC](explicit_bzero): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_MISC](strsep): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)](__wur): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][! __USE_GNU][__GNUC_PREREQ (3,4)][__USE_FORTIFY_LEVEL > 0 && __forty_function](bits/string_fortified.h): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][! __CORRECT_ISO_CPP_STRING_H_PROTO](basename): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][__CORRECT_ISO_CPP_STRING_H_PROTO](basename): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU][! basename][__CORRECT_ISO_CPP_STRING_H_PROTO](basename): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](strverscmp): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](strfry): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][! __USE_XOPEN2K8][__USE_GNU](memfrob): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](strsignal): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](__stpcpy): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](stpcpy): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](__stpncpy): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][! __USE_MISC][__USE_XOPEN2K8](stpncpy): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][__USE_MISC](strings.h): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][__USE_MISC](explicit_bzero): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][! __USE_XOPEN2K8][__USE_MISC](strsep): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][!(__USE_XOPEN2K && ! __USE_GNU)][__USE_XOPEN2K8](strerror_l): New. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][__USE_XOPEN2K && ! __USE_GNU][! __REDIRECT_NTH](__xpg_strerror_r): Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K][__USE_XOPEN2K && ! __USE_GNU][__REDIRECT_NTH](__REDIRECT_NTH): Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8](strerror_l): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8](strsignal): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8](__stpcpy): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8](stpcpy): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8](__stpncpy): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8](stpncpy): Remove. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU][! __CORRECT_ISO_CPP_STRING_H_PROTO](memrchr): Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU][__CORRECT_ISO_CPP_STRING_H_PROTO](memrchr): Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_GNU][__CORRECT_ISO_CPP_STRING_H_PROTO](memrchr): Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8](strxfrm_l): Modified. + [__CORRECT_ISO_CPP_STRING_H_PROTO](strxfrm): Modified. + [__USE_MISC || __USE_XOPEN || __GLIBC_USE (ISOC2X)](memccpy): Modified. + +2020-05-04 Chung-Lin Tang + + COMMIT: 38c67888183db1b6ac21f2f9681b8a384987dfe8 + nios2: delete sysdeps/unix/sysv/linux/nios2/kernel-features.h + + * sysdeps/unix/sysv/linux/nios2/kernel-features.h: Delete file. + +2020-04-30 H.J. Lu + + COMMIT: 14f43dd34dcf1ba29386c01cd0b286dffb37412d + powerpc: Rename argN to _argN in LOADARGS_N [BZ #25902] + + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Modified. + (LOADARGS_1): Modified. + (LOADARGS_2): Modified. + (LOADARGS_3): Modified. + (LOADARGS_4): Modified. + (LOADARGS_5): Modified. + (LOADARGS_6): Modified. + +2020-04-30 Carlos O'Donell + + COMMIT: 6f0baacf0f8920d084c4809ed126ed3e1be34001 + locale/tst-localedef-path-norm: Don't create $(complocaledir) + + * locale/tst-localedef-path-norm.c: Modified. + (do_test): Modified function. + +2020-04-30 Carlos O'Donell + + COMMIT: 183083c35972611e7786c7ee0c96d7da571631ed + support: Set errno before testing it. + + * support/test-container.c: Modified. + (main): Modified function. + * support/tst-support_capture_subprocess.c: Modified. + (parse_int): Modified function. + +2020-04-30 Carlos O'Donell + + COMMIT: df6c63ebbce9679e755f0ecc716a33babee5d008 + localedef: Add tests-container test for --no-hard-links. + + * localedata/Makefile: Modified. + * localedata/tst-localedef-hardlinks.c: New file. + * localedata/tst-localedef-hardlinks.root/postclean.req: New file. + * localedata/tst-localedef-hardlinks.root/test1_locale: New file. + * localedata/tst-localedef-hardlinks.root/test2_locale: New file. + * localedata/tst-localedef-hardlinks.root/tst-localedef-hardlinks.script: New file. + +2020-04-30 Carlos O'Donell + + COMMIT: 033362cfd7e0e1dccd6c9a2642710d6e3a7e7007 + test-container: Support $(complocaledir) and mkdirp. + + * Makefile: Modified. + * support/test-container.c: Modified. + (main): Modified function. + +2020-04-30 Florian Weimer + + COMMIT: 19108a38325c6ecb33e8d216ee1056e2732bc20f + i386: Remove unused variable in sysdeps/x86/cacheinfo.c + + * sysdeps/x86/cacheinfo.c: Modified. + (init_cacheinfo): Modified function. + +2020-04-30 H.J. Lu + + COMMIT: ff026950e280bc3e9487b41b460fb31bc5b57721 + Add a C wrapper for prctl [BZ #25896] + + * include/sys/prctl.h: Modified. + [! _ISOMAC](libc_hidden_proto): New. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/prctl.c: New file. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + +2020-04-30 Gabriel F. T. Gomes + + COMMIT: 051be01f6b41a1466b07ae4bd7f5894a8ec5fe67 + powerpc64le: Enable support for IEEE long double + + * NEWS: Modified. + * sysdeps/powerpc/fpu/libm-test-ulps: Modified. + * sysdeps/powerpc/powerpc64/le/Implies-before: Modified. + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ldbl-128ibm-compat-abi.h: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist: Modified. + +2020-04-30 Paul E. Murphy + + COMMIT: 5c7ccc29830fb59d39d67222caca5b4bd6ca2e0f + powerpc64le: blacklist broken GCC compilers (e.g GCC 7.5.0) + + * INSTALL: Modified. + * manual/install.texi: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/powerpc/powerpc64/le/configure: Modified. + * sysdeps/powerpc/powerpc64/le/configure.ac: Modified. + +2020-04-30 Paul E. Murphy + + COMMIT: 3a0acbdcc51a6a854be6500da325b99cc68754c3 + powerpc64le: bump binutils version requirement to >= 2.26 + + * INSTALL: Modified. + * manual/install.texi: Modified. + * sysdeps/powerpc/powerpc64/le/configure: Modified. + * sysdeps/powerpc/powerpc64/le/configure.ac: Modified. + +2020-04-30 Paul E. Murphy + Rajalakshmi Srinivasaraghavan + Gabriel F. T. Gomes + + COMMIT: 50545f5aa0111c1e7f8917348490907d1a1e1f9b + powerpc64le: raise GCC requirement to 7.4 for long double transition + + * INSTALL: Modified. + * NEWS: Modified. + * manual/install.texi: Modified. + * sysdeps/powerpc/powerpc64/le/configure: Modified. + * sysdeps/powerpc/powerpc64/le/configure.ac: Modified. + +2020-04-30 Paul E. Murphy + + COMMIT: e2239af353b053b9c645e396b13bce8688f9d615 + Rename __LONG_DOUBLE_USES_FLOAT128 to __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI + + * argp/argp.h: Modified. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/argp-ldbl.h): Remove. + [__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](bits/argp-ldbl.h): New. + * bits/long-double.h: Modified. + (__LONG_DOUBLE_USES_FLOAT128): Remove. + (__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI): New. + * elf/tst-addr1.c: Modified. + (do_test): Modified function. + * include/math.h: Modified. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](libm_hidden_proto): Remove. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](libm_hidden_proto): Remove. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](libm_hidden_proto): Remove. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](libm_hidden_proto): Remove. + [! _ISOMAC][!( __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)][! NO_MATH_REDIRECT][!(__NO_LONG_DOUBLE_MATH || __LONG_DOUBLE_USES_FLOAT128 == 1)](MATH_REDIRECT_LDBL): Remove. + [! _ISOMAC][!( __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)][! NO_MATH_REDIRECT][__NO_LONG_DOUBLE_MATH || __LONG_DOUBLE_USES_FLOAT128 == 1](MATH_REDIRECT_LDBL): Remove. + [! _ISOMAC][!( __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)][! NO_MATH_REDIRECT][!(__NO_LONG_DOUBLE_MATH || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1)](MATH_REDIRECT_LDBL): New. + [! _ISOMAC][!( __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)][! NO_MATH_REDIRECT][__NO_LONG_DOUBLE_MATH || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](MATH_REDIRECT_LDBL): New. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](hidden_proto): Remove. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](hidden_proto): Remove. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](hidden_proto): Remove. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](hidden_proto): New. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](hidden_proto): New. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](hidden_proto): New. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](libm_hidden_proto): New. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](libm_hidden_proto): New. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](libm_hidden_proto): New. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](libm_hidden_proto): New. + * include/monetary.h: Modified. + * include/printf.h: Modified. + * include/stdio.h: Modified. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 != 1](stdio_hidden_ldbl_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1](stdio_hidden_ldbl_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](stdio_hidden_ldbl_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](___ieee128_isoc99_sscanf): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](___ieee128_isoc99_vsscanf): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](___ieee128_isoc99_vfscanf): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](__isoc99_sscanf): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](__isoc99_vsscanf): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](__isoc99_vfscanf): Remove. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI != 1](stdio_hidden_ldbl_proto): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](stdio_hidden_ldbl_proto): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](stdio_hidden_ldbl_proto): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](___ieee128_isoc99_sscanf): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](___ieee128_isoc99_vsscanf): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](___ieee128_isoc99_vfscanf): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](libc_hidden_proto): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](libc_hidden_proto): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](libc_hidden_proto): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](__isoc99_sscanf): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](__isoc99_vsscanf): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)](__isoc99_vfscanf): New. + * include/stdlib.h: Modified. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): Remove. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](libc_hidden_proto): New. + * include/sys/cdefs.h: Modified. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc) && SHARED](__LDBL_REDIR_DECL): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc) && SHARED](libc_hidden_ldbl_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc) && SHARED](__LDBL_REDIR2_DECL): Remove. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc) && SHARED](__LDBL_REDIR_DECL): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc) && SHARED](libc_hidden_ldbl_proto): New. + [! _ISOMAC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc) && SHARED](__LDBL_REDIR2_DECL): New. + * include/wchar.h: Modified. + * libio/bits/stdio-ldbl.h: Modified. + [!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1][!(__USE_ISOC99 || __USE_UNIX98)][__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New. + [!__GLIBC_USE (DEPRECATED_SCANF)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__USE_ISOC99 || __USE_UNIX98)][__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New. + * libio/stdio.h: Modified. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__wur): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__wur): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__isoc99_sscanf): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](fscanf): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](scanf): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](sscanf): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__wur): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__wur): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__REDIRECT_NTH): Remove. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/stdio-ldbl.h): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0](__wur): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0](__wur): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0](__REDIRECT_NTH): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__wur): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__wur): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT_NTH): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][! __REDIRECT](__wur): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][! __REDIRECT](__wur): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][! __REDIRECT](__isoc99_sscanf): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][! __REDIRECT](fscanf): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][! __REDIRECT](scanf): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][! __REDIRECT](sscanf): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__REDIRECT](__wur): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__REDIRECT](__wur): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__REDIRECT](__REDIRECT_NTH): New. + [__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](bits/stdio-ldbl.h): New. + * math/complex.h: Modified. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__REDIR_TO): Remove. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_1): Remove. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL): Remove. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_1): Remove. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL): Remove. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LONG_DOUBLE_USES_FLOAT128 == 1](__REDIR_TO): Remove. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__REDIR_TO): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHDECL_1): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHDECL): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHDECL_1): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHDECL): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__REDIR_TO): New. + * math/math.h: Modified. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_REDIR_NAME): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_NARROW): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_REDIR_NAME): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_NARROW): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_REDIR_NAME): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_NARROW): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_REDIR_NAME): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_NARROW): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__REDIRTO): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__REDIRTO_ALT): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_1): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_ALIAS): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT_NTH][__USE_ISOC99](__REDIRECT_NTH): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT_NTH][__USE_ISOC99](__REDIRECT_NTH): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT_NTH][__USE_ISOC99](__dremieee128): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT_NTH][__USE_ISOC99](__gammaieee128): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_1): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_ALIAS): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1](__REDIRTO): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1](__REDIRTO_ALT): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__REDIRTO): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__REDIRTO_ALT): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHDECL_1): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHDECL_ALIAS): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT_NTH][__USE_ISOC99](__REDIRECT_NTH): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT_NTH][__USE_ISOC99](__REDIRECT_NTH): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT_NTH][__USE_ISOC99](__dremieee128): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT_NTH][__USE_ISOC99](__gammaieee128): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHDECL_1): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHDECL_ALIAS): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__REDIRTO): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__REDIRTO_ALT): New. + * math/test-ldouble.h: Modified. + [__LONG_DOUBLE_USES_FLOAT128 != 1](TYPE_STR): Remove. + [__LONG_DOUBLE_USES_FLOAT128 != 1](ULP_IDX): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1](TYPE_STR): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1](ULP_IDX): Remove. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI != 1](TYPE_STR): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI != 1](ULP_IDX): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](TYPE_STR): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](ULP_IDX): New. + * misc/err.h: Modified. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/err-ldbl.h): Remove. + [__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](bits/err-ldbl.h): New. + * misc/error.h: Modified. + [!(__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1)][__extern_always_inline && __va_arg_pack](bits/error.h): Remove. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/error-ldbl.h): Remove. + [!(__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1)][__extern_always_inline && __va_arg_pack](bits/error.h): New. + [__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](bits/error-ldbl.h): New. + * misc/sys/cdefs.h: Modified. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT][__REDIRECT](__REDIRECT_LDBL): Remove. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT][__REDIRECT](__REDIRECT_NTH_LDBL): Remove. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR1): Remove. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR): Remove. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR1_NTH): Remove. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR_NTH): Remove. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR2_DECL): Remove. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR_DECL): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][! __REDIRECT](_Static_assert): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR_DECL): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR2_DECL): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR1): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR1_DECL): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR1_NTH): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__REDIRECT_NTH_LDBL): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__REDIRECT_LDBL): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR_NTH): Remove. + [(! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) || ! __REDIRECT][__REDIRECT](__REDIRECT_LDBL): New. + [(! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) || ! __REDIRECT][__REDIRECT](__REDIRECT_NTH_LDBL): New. + [(! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) || ! __REDIRECT](__LDBL_REDIR1): New. + [(! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) || ! __REDIRECT](__LDBL_REDIR): New. + [(! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) || ! __REDIRECT](__LDBL_REDIR1_NTH): New. + [(! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) || ! __REDIRECT](__LDBL_REDIR_NTH): New. + [(! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) || ! __REDIRECT](__LDBL_REDIR2_DECL): New. + [(! __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) || ! __REDIRECT](__LDBL_REDIR_DECL): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][! __REDIRECT](_Static_assert): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__LDBL_REDIR): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__LDBL_REDIR_DECL): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__LDBL_REDIR2_DECL): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__LDBL_REDIR1): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__LDBL_REDIR1_DECL): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__LDBL_REDIR1_NTH): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__REDIRECT_NTH_LDBL): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__REDIRECT_LDBL): New. + [__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__REDIRECT](__LDBL_REDIR_NTH): New. + * misc/sys/syslog.h: Modified. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/syslog-ldbl.h): Remove. + [__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](bits/syslog-ldbl.h): New. + * stdio-common/printf.h: Modified. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/printf-ldbl.h): Remove. + [__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](bits/printf-ldbl.h): New. + * stdio-common/tst-vfprintf-user-type.c: Modified. + (do_test): Modified function. + * stdlib/bits/stdlib-ldbl.h: Modified. + [__USE_ISOC99][! __LDBL_COMPAT][__USE_GNU][! __LDBL_COMPAT][__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! __LDBL_COMPAT][__USE_MISC][__LONG_DOUBLE_USES_FLOAT128 != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): Remove. + [__USE_ISOC99][! __LDBL_COMPAT][__USE_GNU][! __LDBL_COMPAT][__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! __LDBL_COMPAT][__USE_MISC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New. + * stdlib/monetary.h: Modified. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/monetary-ldbl.h): Remove. + [__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](bits/monetary-ldbl.h): New. + * stdlib/stdlib.h: Modified. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/stdlib-ldbl.h): Remove. + [__LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](bits/stdlib-ldbl.h): New. + * sysdeps/ieee754/ldbl-128/bits/long-double.h: Modified. + (__LONG_DOUBLE_USES_FLOAT128): Remove. + (__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI): New. + * sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h: Modified. + (__LONG_DOUBLE_USES_FLOAT128): Remove. + (__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI): New. + * sysdeps/ieee754/ldbl-128ibm-compat/math_ldbl.h: Modified. + [__LONG_DOUBLE_USES_FLOAT128 == 0](_next + + COMMIT: 86005fdbf40d6fc84d84c824d75c656e7c1398e3 + ldbl-128ibm-compat: workaround GCC 9 C++ PR90731 + + * include/monetary.h: Modified. + (bits/floatn.h): Include file. + * include/printf.h: Modified. + (bits/floatn.h): Include file. + * include/stdio.h: Modified. + (bits/floatn.h): Include file. + * include/stdlib.h: Modified. + (bits/floatn.h): Include file. + * include/wchar.h: Modified. + (bits/floatn.h): Include file. + +2020-04-30 mayshao-oc + + COMMIT: ab54e26415ea82444a9529041427137bf27c615c + x86: Add the test case of __get_cpu_features support for Zhaoxin processors + + * sysdeps/x86/tst-get-cpu-features.c: Modified. + (do_test): Modified function. + +2020-04-30 mayshao-oc + + COMMIT: a98dc92dd1e278df4c501deb07985018bc2b06de + x86: Add cache information support for Zhaoxin processors + + * sysdeps/x86/cacheinfo.c: Modified. + (__cache_sysconf): Modified function. + (init_cacheinfo): Modified function. + (handle_zhaoxin): New function. + (get_common_cache_info): New function. + +2020-04-30 mayshao + + COMMIT: 32ac0b988466785d6e3cc1dffc364bb26fc63193 + x86: Add CPU Vendor ID detection support for Zhaoxin processors + + * sysdeps/x86/cpu-features.c: Modified. + (init_cpu_features): Modified function. + * sysdeps/x86/cpu-features.h: Modified. + (cpu_features_kind): Modified. + +2020-04-30 Siddhesh Poyarekar + + COMMIT: 68622c00ebb470f7cd11dc5ba18c7fa185e20116 + Update translations + + * po/hr.po: Modified. + +2020-04-29 H.J. Lu + + COMMIT: ad9fd65d716f1ccd757b6b2feeee826d0f187ed4 + Add C wrappers for process_vm_readv/process_vm_writev [BZ #25810] + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/process_vm_readv.c: New file. + * sysdeps/unix/sysv/linux/process_vm_writev.c: New file. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + +2020-04-29 Alistair Francis + + COMMIT: 07fe93cd9850696f3f13a8fd0d0f7c37e3fe7f37 + generic/typesizes.h: Add support for 32-bit arches with 64-bit types + + * sysdeps/unix/sysv/linux/generic/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __LP64__](__RLIM_T_MATCHES_RLIM64_T): Remove. + [! _BITS_TYPESIZES_H][! __LP64__](__STATFS_MATCHES_STATFS64): Remove. + [! _BITS_TYPESIZES_H][! __LP64__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): Remove. + [! _BITS_TYPESIZES_H][__LP64__](__OFF_T_MATCHES_OFF64_T): Remove. + [! _BITS_TYPESIZES_H][__LP64__](__INO_T_MATCHES_INO64_T): Remove. + [! _BITS_TYPESIZES_H][__LP64__](__RLIM_T_MATCHES_RLIM64_T): Remove. + [! _BITS_TYPESIZES_H][__LP64__](__STATFS_MATCHES_STATFS64): Remove. + [! _BITS_TYPESIZES_H][__LP64__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): Remove. + [! _BITS_TYPESIZES_H](__INO_T_TYPE): Remove. + [! _BITS_TYPESIZES_H](__OFF_T_TYPE): Remove. + [! _BITS_TYPESIZES_H](__RLIM_T_TYPE): Remove. + [! _BITS_TYPESIZES_H](__BLKCNT_T_TYPE): Remove. + [! _BITS_TYPESIZES_H](__FSBLKCNT_T_TYPE): Remove. + [! _BITS_TYPESIZES_H](__FSFILCNT_T_TYPE): Remove. + [! _BITS_TYPESIZES_H](__TIME_T_TYPE): Remove. + [! _BITS_TYPESIZES_H](__SUSECONDS_T_TYPE): Remove. + [! _BITS_TYPESIZES_H][!(__LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32))](__RLIM_T_MATCHES_RLIM64_T): New. + [! _BITS_TYPESIZES_H][!(__LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32))](__STATFS_MATCHES_STATFS64): New. + [! _BITS_TYPESIZES_H][!(__LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32))](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + [! _BITS_TYPESIZES_H][!(__TIMESIZE == 64 && __WORDSIZE == 32)](__INO_T_TYPE): New. + [! _BITS_TYPESIZES_H][!(__TIMESIZE == 64 && __WORDSIZE == 32)](__OFF_T_TYPE): New. + [! _BITS_TYPESIZES_H][!(__TIMESIZE == 64 && __WORDSIZE == 32)](__RLIM_T_TYPE): New. + [! _BITS_TYPESIZES_H][!(__TIMESIZE == 64 && __WORDSIZE == 32)](__BLKCNT_T_TYPE): New. + [! _BITS_TYPESIZES_H][!(__TIMESIZE == 64 && __WORDSIZE == 32)](__FSBLKCNT_T_TYPE): New. + [! _BITS_TYPESIZES_H][!(__TIMESIZE == 64 && __WORDSIZE == 32)](__FSFILCNT_T_TYPE): New. + [! _BITS_TYPESIZES_H][!(__TIMESIZE == 64 && __WORDSIZE == 32)](__TIME_T_TYPE): New. + [! _BITS_TYPESIZES_H][!(__TIMESIZE == 64 && __WORDSIZE == 32)](__SUSECONDS_T_TYPE): New. + [! _BITS_TYPESIZES_H][__LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)](__OFF_T_MATCHES_OFF64_T): New. + [! _BITS_TYPESIZES_H][__LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)](__INO_T_MATCHES_INO64_T): New. + [! _BITS_TYPESIZES_H][__LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)](__RLIM_T_MATCHES_RLIM64_T): New. + [! _BITS_TYPESIZES_H][__LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)](__STATFS_MATCHES_STATFS64): New. + [! _BITS_TYPESIZES_H][__LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + [! _BITS_TYPESIZES_H][__TIMESIZE == 64 && __WORDSIZE == 32](__INO_T_TYPE): New. + [! _BITS_TYPESIZES_H][__TIMESIZE == 64 && __WORDSIZE == 32](__OFF_T_TYPE): New. + [! _BITS_TYPESIZES_H][__TIMESIZE == 64 && __WORDSIZE == 32](__RLIM_T_TYPE): New. + [! _BITS_TYPESIZES_H][__TIMESIZE == 64 && __WORDSIZE == 32](__BLKCNT_T_TYPE): New. + [! _BITS_TYPESIZES_H][__TIMESIZE == 64 && __WORDSIZE == 32](__FSBLKCNT_T_TYPE): New. + [! _BITS_TYPESIZES_H][__TIMESIZE == 64 && __WORDSIZE == 32](__FSFILCNT_T_TYPE): New. + [! _BITS_TYPESIZES_H][__TIMESIZE == 64 && __WORDSIZE == 32](__TIME_T_TYPE): New. + [! _BITS_TYPESIZES_H][__TIMESIZE == 64 && __WORDSIZE == 32](__SUSECONDS_T_TYPE): New. + +2020-04-29 Alistair Francis + + COMMIT: 05332ac38b245c1983b306aa6909abfc48988a5f + semctl: Remove the sem-pad.h file + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/bits/sem.h: Modified. + (bits/sem-pad.h): Remove include. + (bits/timesize.h): Include file. + * sysdeps/unix/sysv/linux/bits/types/struct_semid_ds.h: Modified. + [! __SEM_PAD_AFTER_TIME](__SEM_PAD_TIME): Remove. + [__SEM_PAD_AFTER_TIME](__SEM_PAD_TIME): Remove. + [__SEM_PAD_BEFORE_TIME](__SEM_PAD_TIME): Remove. + (semid_ds): Remove. + [__TIMESIZE != 32](semid_ds): New. + [__TIMESIZE == 32](semid_ds): New. + * sysdeps/unix/sysv/linux/bits/sem-pad.h: Move to... + * sysdeps/unix/sysv/linux/hppa/bits/types/struct_semid_ds.h: ... here. + [! _SYS_SEM_H](Never use directly; include instead."): Remove. + [! _SYS_SEM_H](Never include directly; use instead."): New preprocessor message. + (bits/timesize.h): Remove include. + (__SEM_PAD_AFTER_TIME): Remove. + (__SEM_PAD_BEFORE_TIME): Remove. + [__TIMESIZE == 32](semid_ds): New. + * sysdeps/unix/sysv/linux/mips/bits/sem-pad.h: Delete file. + * sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h: Move to... + * sysdeps/unix/sysv/linux/mips/bits/types/struct_semid_ds.h: ... here. + [! _SYS_SEM_H](Never use directly; include instead."): Remove. + [! _SYS_SEM_H](Never include directly; use instead."): New preprocessor message. + (bits/timesize.h): Remove include. + (__SEM_PAD_AFTER_TIME): Remove. + (__SEM_PAD_BEFORE_TIME): Remove. + (semid_ds): New. + * sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h: Delete file. + * sysdeps/unix/sysv/linux/powerpc/bits/types/struct_semid_ds.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/types/struct_semid_ds.h: New file. + * sysdeps/unix/sysv/linux/x86/bits/sem-pad.h: Delete file. + * sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h: Move to... + * sysdeps/unix/sysv/linux/x86/bits/types/struct_semid_ds.h: ... here. + [! _SYS_SEM_H](Never use directly; include instead."): Remove. + [! _SYS_SEM_H](Never include directly; use instead."): New preprocessor message. + (bits/timesize.h): Remove include. + (__SEM_PAD_AFTER_TIME): Remove. + (__SEM_PAD_BEFORE_TIME): Remove. + (semid_ds): New. + +2020-04-29 Alistair Francis + + COMMIT: 246a53d3c6aeb4ab03b5dc83144207bc6a916011 + bits/sem.h: Split out struct semid_ds + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/bits/sem.h: Modified. + [! __SEM_PAD_AFTER_TIME](__SEM_PAD_TIME): Remove. + [__SEM_PAD_AFTER_TIME](__SEM_PAD_TIME): Remove. + [__SEM_PAD_BEFORE_TIME](__SEM_PAD_TIME): Remove. + (semid_ds): Remove. + (bits/types/struct_semid_ds.h): Include file. + * sysdeps/unix/sysv/linux/bits/types/struct_semid_ds.h: New file. + +2020-04-29 H.J. Lu + + COMMIT: 86f4f2263bf21ff7f80905b3062c16213b016fe6 + Mark unsigned long arguments with U in more syscalls [BZ #25810] + + * sysdeps/unix/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + +2020-04-29 Florian Weimer + + COMMIT: 03e187a41d91069543cfcf33469a05912e555447 + elf: Add initial flag argument to __libc_early_init + + * csu/libc-start.c: Modified. + [! LIBC_START_MAIN_AUXVEC_ARG](LIBC_START_MAIN): Modified function. + [LIBC_START_MAIN_AUXVEC_ARG](LIBC_START_MAIN): Modified function. + (stdbool.h): Include file. + * elf/dl-call-libc-early-init.c: Modified. + (_dl_call_libc_early_init): Modified function. + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + * elf/libc-early-init.h: Modified. + (_dl_call_libc_early_init): Modified. + (__libc_early_init): Modified. + * elf/libc_early_init.c: Modified. + (__libc_early_init): Modified function. + * elf/rtld.c: Modified. + (dl_main): Modified function. + +2020-04-29 H.J. Lu + + COMMIT: 2ad5d0845d80589d0adf86593bd36a7c71a521f8 + Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] + + * sysdeps/unix/make-syscalls.sh: Modified. + * sysdeps/unix/syscall-template.S: Modified. + * sysdeps/unix/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Modified. + [__ASSEMBLER__][! SYSCALL_ULONG_ARG_1](SYSCALL_ULONG_ARG_1): New. + [__ASSEMBLER__][! SYSCALL_ULONG_ARG_1](SYSCALL_ULONG_ARG_2): New. + [__ASSEMBLER__][! SYSCALL_ULONG_ARG_1](PSEUDO): New. + [__ASSEMBLER__][! SYSCALL_ULONG_ARG_1](PSEUDO_NOERRNO): New. + [__ASSEMBLER__][! SYSCALL_ULONG_ARG_1](PSEUDO_ERRVAL): New. + [__ASSEMBLER__][SYSCALL_ULONG_ARG_1](PSEUDO): New. + [__ASSEMBLER__][SYSCALL_ULONG_ARG_1](PSEUDO_NOERRNO): New. + [__ASSEMBLER__][SYSCALL_ULONG_ARG_1](PSEUDO_ERRVAL): New. + [__ASSEMBLER__](PSEUDOS_HAVE_ULONG_INDICES): New. + [__ASSEMBLER__](ZERO_EXTEND_0): New. + [__ASSEMBLER__](ZERO_EXTEND_1): New. + [__ASSEMBLER__](ZERO_EXTEND_2): New. + [__ASSEMBLER__](ZERO_EXTEND_3): New. + [__ASSEMBLER__](ZERO_EXTEND_4): New. + [__ASSEMBLER__](ZERO_EXTEND_5): New. + [__ASSEMBLER__](ZERO_EXTEND_6): New. + * sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h: Modified. + [__ASSEMBLER__][!(SYSCALL_ULONG_ARG_1 == 4 || SYSCALL_ULONG_ARG_2 == 4)](ZERO_EXTEND_4): New. + [__ASSEMBLER__][SYSCALL_ULONG_ARG_1 == 4 || SYSCALL_ULONG_ARG_2 == 4](DOARGS_4): New. + [__ASSEMBLER__](ZERO_EXTEND_1): New. + [__ASSEMBLER__](ZERO_EXTEND_2): New. + [__ASSEMBLER__](ZERO_EXTEND_3): New. + [__ASSEMBLER__](ZERO_EXTEND_5): New. + [__ASSEMBLER__](ZERO_EXTEND_6): New. + +2020-04-29 Simon Marchi + + COMMIT: 9207e30d3f070712df6c4175547094be112454d2 + Makeconfig: Use $(error ...) to output error message + + * Makeconfig: Modified. + +2020-04-29 Florian Weimer + + COMMIT: 2a8682ea3bf0f366a2d971ba6abdda4b2f7c3587 + manual: Fix typos in the fexecve description + + * manual/process.texi: Modified. + +2020-04-28 Florian Weimer + + COMMIT: 6d246cb852d3c5ab721dc583112a59ac47dc374e + misc: Remove sstk from the autogenerated system call list + + * NEWS: Modified. + * misc/sstk.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)](sstk): Modified function. + * sysdeps/unix/syscalls.list: Modified. + +2020-04-28 Joseph Myers + + COMMIT: dbb188dd87ffdbf0ca3d9cd118ad4176439fb294 + Remove unused floating-point configuration from gmp-impl.h. + + * stdlib/gmp-impl.h: Modified. + [! IEEE_DOUBLE_BIG_ENDIAN](IEEE_DOUBLE_BIG_ENDIAN): Remove. + [IEEE_DOUBLE_BIG_ENDIAN][! IEEE_DOUBLE_MIXED_ENDIAN](IEEE_DOUBLE_MIXED_ENDIAN): Remove. + [IEEE_DOUBLE_BIG_ENDIAN][IEEE_DOUBLE_MIXED_ENDIAN][! IEEE_DOUBLE_MIXED_ENDIAN][! IEEE_DOUBLE_BIG_ENDIAN](ieee_double_extract): Remove. + [IEEE_DOUBLE_BIG_ENDIAN][IEEE_DOUBLE_MIXED_ENDIAN][! IEEE_DOUBLE_MIXED_ENDIAN][IEEE_DOUBLE_BIG_ENDIAN](ieee_double_extract): Remove. + [IEEE_DOUBLE_BIG_ENDIAN][IEEE_DOUBLE_MIXED_ENDIAN][IEEE_DOUBLE_MIXED_ENDIAN](ieee_double_extract): Remove. + * sysdeps/x86_64/x32/gmp-mparam.h: Modified. + (IEEE_DOUBLE_BIG_ENDIAN): Remove. + +2020-04-27 Mathieu Desnoyers + + COMMIT: a9bfa4353cd39ae2eae3c111844a32f9d3abbc19 + support: Implement key create/delete + + * support/Makefile: Modified. + * support/xpthread_key_create.c: New file. + * support/xpthread_key_delete.c: New file. + * support/xthread.h: Modified. + (xpthread_key_create): New function. + (xpthread_key_delete): New function. + +2020-04-27 Florian Weimer + + COMMIT: def674652eeac60c386d04733318b311f8a5b620 + nptl/tst-setuid1-static: Improve isolation from system objects + + * nptl/Makefile: Modified. + +2020-04-27 Szabolcs Nagy + + COMMIT: d96cb3767830fa21aeb7c8d420dc1809b4ee8196 + Increase the timeout of locale/tst-localedef-path-norm + + * locale/tst-localedef-path-norm.c: Modified. + (TIMEOUT): New. + +2020-04-27 Carlos O'Donell + + COMMIT: 99de869beb25d409b6d0985c0cc2a042bfd4b31e + Use 2020 as copyright year. + + * include/programs/xasprintf.h: Modified. + * locale/programs/xasprintf.c: Modified. + * locale/tst-localedef-path-norm.c: Modified. + +2020-04-27 Florian Weimer + + COMMIT: 9cc93ba0973ad04ee26c515a1552afb85e73c6ba + misc: Turn sstk into a compat symbol + + * misc/sstk.c: Modified. + (sstk): Remove. + (sstk): Remove function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)](sstk): New. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)](compat_symbol): New. + (shlib-compat.h): Include file. + +2020-04-27 Florian Weimer + + COMMIT: 6771af1123d55e08450ccf4553dd0d674b7f099b + manual: Document the fexecve function + + * manual/process.texi: Modified. + +2020-04-27 Florian Weimer + + COMMIT: b3cae39dcbfa2432b3f3aa28854d8ac57f0de1b8 + nptl: Start new threads with all signals blocked [BZ #25098] + + * nptl/descr.h: Modified. + (pthread): Modified. + * nptl/pthread_create.c: Modified. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (if): Modified function. + (parent_cancelhandling): Remove. + (if): Modified function. + (if): Modified function. + (if): Remove function. + (__libc_signal_restore_set): New function. + (original_sigmask): New. + (__libc_signal_block_all): New function. + (sigmask): New. + (__sigdelset): New function. + (__libc_signal_restore_set): New function. + +2020-04-26 Carlos O'Donell + + COMMIT: 92954ffa5a5662fbfde14febd7e5dcc358c85470 + localedef: Add verbose messages for failure paths. + + * include/programs/xasprintf.h: New file. + * locale/Makefile: Modified. + * locale/programs/localedef.c: Modified. + (construct_output_path): Modified. + (normalize_codeset): Modified. + (main): Modified function. + (more_help): Modified function. + (construct_output_path): Modified function. + (normalize_codeset): Modified function. + * locale/programs/localedef.h: Modified. + (programs/xasprintf.h): Include file. + * locale/programs/xasprintf.c: New file. + * locale/tst-localedef-path-norm.c: New file. + * locale/tst-localedef-path-norm.root/postclean.req: New file. + * locale/tst-localedef-path-norm.root/tst-localedef-path-norm.script: New file. + * support/Makefile: Modified. + * support/support.h: Modified. + (support_complocaledir_prefix): New. + * support/support_paths.c: Modified. + [! COMPLOCALEDIR_PATH](please -DCOMPLOCALEDIR_PATH=something in the Makefile): New. + [COMPLOCALEDIR_PATH](support_complocaledir_prefix): New. + +2020-04-24 Joseph Myers + + COMMIT: 8d9ffbb9d00669f62d5ddb4283b7c3d03955d942 + Remove most gmp-mparam.h headers. + + * sysdeps/arm/gmp-mparam.h: Delete file. + * sysdeps/i386/gmp-mparam.h: Delete file. + * sysdeps/nios2/gmp-mparam.h: Delete file. + * sysdeps/s390/gmp-mparam.h: Delete file. + * sysdeps/sh/gmp-mparam.h: Delete file. + +2020-04-24 Florian Weimer + + COMMIT: ec935dea6332cb22f9881cd1162bad156173f4b0 + elf: Implement __libc_early_init + + * csu/init-first.c: Modified. + (ctype.h): Remove include. + (_init_first): Modified function. + * csu/libc-start.c: Modified. + [! LIBC_START_MAIN_AUXVEC_ARG](LIBC_START_MAIN): Modified function. + [LIBC_START_MAIN_AUXVEC_ARG](LIBC_START_MAIN): Modified function. + (elf/libc-early-init.h): Include file. + * elf/Makefile: Modified. + * elf/Versions: Modified. + * elf/dl-call-libc-early-init.c: New file. + * elf/dl-load.c: Modified. + [! EXTERNAL_MAP_FROM_FD](_dl_map_object_from_fd): Modified function. + (gnu/lib-names.h): Include file. + * elf/dl-lookup-direct.c: New file. + * elf/dl-open.c: Modified. + (dl_open_args): Modified. + (dl_open_worker): Modified function. + (_dl_open): Modified function. + (libc-early-init.h): Include file. + * elf/libc-early-init.h: New file. + * elf/libc_early_init.c: New file. + * elf/rtld.c: Modified. + (dl_main): Modified function. + (libc-early-init.h): Include file. + * sysdeps/generic/ldsodefs.h: Modified. + [IS_IN (rtld)](_dl_lookup_direct): New function. + [SHARED](rtld_global): Modified. + * sysdeps/mach/hurd/i386/init-first.c: Modified. + (ctype.h): Remove include. + (posixland_init): Modified function. + +2020-04-24 Florian Weimer + + COMMIT: 50a2d83c08a94a10f88a1fedeb7a6e3667a6b732 + elf: Introduce + + * elf/dl-lookup.c: Modified. + [! ELF_MACHINE_SYM_NO_MATCH](ELF_MACHINE_SYM_NO_MATCH): Remove. + (check_match): Modified function. + (elf_machine_sym_no_match.h): Include file. + * sysdeps/generic/elf_machine_sym_no_match.h: New file. + * sysdeps/mips/dl-machine.h: Modified. + [! dl_machine_h](ELF_MACHINE_SYM_NO_MATCH): Remove. + * sysdeps/mips/elf_machine_sym_no_match.h: New file. + +2020-04-22 H.J. Lu + + COMMIT: 781dacc4f41332098e3a272514b20a490a7ebc8c + Add a syscall test for [BZ #25810] + + * misc/Makefile: Modified. + * misc/tst-syscalls.c: New file. + +2020-04-21 Fangrui Song + + COMMIT: eb06601bb4187d8f5a9f55c2d212747869f63fe1 + elf: Support lld-style link map for librtld.map + + * elf/Makefile: Modified. + +2020-04-21 Adhemerval Zanella + + COMMIT: 566e10aa7292bacd74d229ca6f2cd9e8c8ba8748 + signal: Only handle on NSIG signals on signal functions (BZ #25657) + + * nptl/Makefile: Modified. + * nptl/pthread_sigmask.c: Modified. + (__pthread_sigmask): Modified function. + * nptl/tst-signal8.c: New file. + * signal/Makefile: Modified. + * signal/sigsetops.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](__sigismember): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](compat_symbol): Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](__sigaddset): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](0): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](compat_symbol): Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](__sigdelset): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](0): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](compat_symbol): Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](__sigismember_compat): New function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](__sigaddset_compat): New function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)](__sigdelset_compat): New function. + * signal/tst-sigisemptyset.c: New file. + * sysdeps/unix/sysv/linux/sigpending.c: Modified. + (errno.h): Remove include. + (unistd.h): Remove include. + (sys/syscall.h): Remove include. + (sigsetops.h): Include file. + * sysdeps/unix/sysv/linux/sigsetops.h: Modified. + (__sigword): Remove. + (__sigemptyset): Remove. + (__sigfillset): Remove. + (__sigisemptyset): Remove. + (__sigandset): Remove. + (__sigorset): Remove. + (__sigismember): Remove. + (__sigaddset): Remove. + (__sigdelset): Remove. + (__sigword): New function. + (__NSIG_WORDS): New. + (__sigemptyset): New function. + (__sigfillset): New function. + (__sigisemptyset): New function. + (__sigandset): New function. + (__sigorset): New function. + (__sigismember): New function. + (__sigaddset): New function. + (__sigdelset): New function. + +2020-04-21 Adhemerval Zanella + + COMMIT: 2f6fa80147f0cf74c0d411a0e07c5655deb436b3 + linux: Use pthread_sigmask on sigprocmask + + * nptl/pthreadP.h: Modified. + (__pthread_sigmask): New function. + (libc_hidden_proto): New function. + * nptl/pthread_sigmask.c: Modified. + (libc_hidden_def): New. + * sysdeps/unix/sysv/linux/sigprocmask.c: Modified. + (__sigprocmask): Modified function. + * sysdeps/unix/sysv/linux/test-errno-linux.c: Modified. + (do_test): Modified function. + (invalid_sigprocmask_how): New function. + +2020-04-21 Adhemerval Zanella + + COMMIT: 34d49f120df2787788acfdf86769277a1a7ebccb + ia64: Remove sigprocmask/sigblock objects from libpthread + + * sysdeps/ia64/nptl/Makefile: Modified. + * sysdeps/unix/sysv/linux/ia64/unwind_longjmp.c: Modified. + (__libc_unwind_longjmp): Modified function. + +2020-04-21 Adhemerval Zanella + + COMMIT: c6663fee4340291cd825fd8a88c219621f4eca9d + nptl: Move pthread_sigmask implementation to libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/pthread_sigmask.c: Modified. + (errno.h): Remove include. + (pthread_sigmask): Remove function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)](strong_alias): New. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)](compat_symbol): New. + (shlib-compat.h): Include file. + (__pthread_sigmask): New function. + (versioned_symbol): New function. + * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/Makefile: Modified. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-04-21 Mike FABIAN + + COMMIT: 8645f624697afecfaa4d97ac584bc0a943cbca17 + Bug 25819: Update to Unicode 13.0.0 + + * NEWS: Modified. + * localedata/charmaps/UTF-8: Modified. + * localedata/locales/i18n_ctype: Modified. + * localedata/locales/tr_TR: Modified. + * localedata/locales/translit_circle: Modified. + * localedata/locales/translit_cjk_compat: Modified. + * localedata/locales/translit_combining: Modified. + * localedata/locales/translit_compat: Modified. + * localedata/locales/translit_font: Modified. + * localedata/locales/translit_fraction: Modified. + * localedata/unicode-gen/DerivedCoreProperties.txt: Modified. + * localedata/unicode-gen/EastAsianWidth.txt: Modified. + * localedata/unicode-gen/Makefile: Modified. + * localedata/unicode-gen/PropList.txt: Modified. + * localedata/unicode-gen/UnicodeData.txt: Modified. + +2020-04-20 Vineet Gupta + + COMMIT: 0798b8ecc8da8667362496c1217d18635106c609 + ARC: Update syscall-names.list for ARC specific syscalls + + * sysdeps/unix/sysv/linux/syscall-names.list: Modified. + +2020-04-20 Adhemerval Zanella + + COMMIT: f721171632d67f397e712db52b9ce36bb46fdd96 + Revert "x86_64: Add SSE sfp-exceptions" + + * sysdeps/x86/fpu/sfp-exceptions.c: Delete file. + * sysdeps/x86_64/fpu/Makefile: Modified. + +2020-04-19 Vineet Gupta + + COMMIT: 019d828669df966dc4ef2684fce0b1c17bef9aae + provide y2038 safe socket constants for default/asm-generic ABI + + * sysdeps/unix/sysv/linux/bits/socket-constants.h: Modified. + (SO_RCVTIMEO): Remove. + (SO_SNDTIMEO): Remove. + [!((__TIMESIZE == 64 && __WORDSIZE == 32 && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))](SO_RCVTIMEO): New. + [!((__TIMESIZE == 64 && __WORDSIZE == 32 && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))](SO_SNDTIMEO): New. + [(__TIMESIZE == 64 && __WORDSIZE == 32 && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))](SO_RCVTIMEO): New. + [(__TIMESIZE == 64 && __WORDSIZE == 32 && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))](SO_SNDTIMEO): New. + (bits/timesize.h): Include file. + +2020-04-17 Adhemerval Zanella + + COMMIT: 460ee50de054396cc9791ff4cfdc2f5029fb923d + x86_64: Add SSE sfp-exceptions + + * sysdeps/x86/fpu/sfp-exceptions.c: New file. + * sysdeps/x86_64/fpu/Makefile: Modified. + +2020-04-17 Adhemerval Zanella + + COMMIT: c10dde0d2a6373f6e7688e93a5c9db58162ddb1f + Remove __NO_MATH_INLINES + + * manual/math.texi: Modified. + * math/Makefile: Modified. + * math/README.libm-test: Modified. + * math/math.h: Modified. + * math/test-tgmath.c: Modified. + [! HAVE_MAIN](__NO_MATH_INLINES): Remove. + * math/test-tgmath2.c: Modified. + [! HAVE_MAIN](__NO_MATH_INLINES): Remove. + +2020-04-17 Adhemerval Zanella + + COMMIT: 4b850b1f29648f666a2fa8ceed639132830e169c + i686: Add INTERNAL_SYSCALL_NCS 6 argument support + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Modified. + [! __ASSEMBLER__][! I386_USE_SYSENTER][! OPTIMIZE_FOR_GCC_5](INTERNAL_SYSCALL_NCS): Remove. + [! __ASSEMBLER__][! I386_USE_SYSENTER][! OPTIMIZE_FOR_GCC_5](INTERNAL_SYSCALL_MAIN_NCS): New. + [! __ASSEMBLER__][! I386_USE_SYSENTER][OPTIMIZE_FOR_GCC_5](INTERNAL_SYSCALL_NCS): Remove. + [! __ASSEMBLER__][! I386_USE_SYSENTER][OPTIMIZE_FOR_GCC_5](INTERNAL_SYSCALL_MAIN_NCS): New. + [! __ASSEMBLER__][! OPTIMIZE_FOR_GCC_5](INTERNAL_SYSCALL_MAIN_NCS_6): New. + [! __ASSEMBLER__][I386_USE_SYSENTER][! OPTIMIZE_FOR_GCC_5][! PIC](INTERNAL_SYSCALL_NCS): Remove. + [! __ASSEMBLER__][I386_USE_SYSENTER][! OPTIMIZE_FOR_GCC_5][! PIC](INTERNAL_SYSCALL_MAIN_NCS): New. + [! __ASSEMBLER__][I386_USE_SYSENTER][! OPTIMIZE_FOR_GCC_5][PIC](INTERNAL_SYSCALL_NCS): Remove. + [! __ASSEMBLER__][I386_USE_SYSENTER][! OPTIMIZE_FOR_GCC_5][PIC](INTERNAL_SYSCALL_MAIN_NCS): New. + [! __ASSEMBLER__][I386_USE_SYSENTER][OPTIMIZE_FOR_GCC_5][! PIC](INTERNAL_SYSCALL_NCS): Remove. + [! __ASSEMBLER__][I386_USE_SYSENTER][OPTIMIZE_FOR_GCC_5][! PIC](INTERNAL_SYSCALL_MAIN_NCS): New. + [! __ASSEMBLER__][I386_USE_SYSENTER][OPTIMIZE_FOR_GCC_5][PIC](INTERNAL_SYSCALL_NCS): Remove. + [! __ASSEMBLER__][I386_USE_SYSENTER][OPTIMIZE_FOR_GCC_5][PIC](INTERNAL_SYSCALL_MAIN_NCS): New. + [! __ASSEMBLER__][OPTIMIZE_FOR_GCC_5](INTERNAL_SYSCALL_MAIN_NCS_6): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_MAIN_NCS_0): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_MAIN_NCS_1): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_MAIN_NCS_2): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_MAIN_NCS_3): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_MAIN_NCS_4): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_MAIN_NCS_5): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_NCS): New. + +2020-04-15 Carlos O'Donell + + COMMIT: c580e6466d6da8262820cdbad19f32c5546226cf + Reset converter state after second wchar_t output (Bug 25734) + + * iconvdata/Makefile: Modified. + * iconvdata/big5hkscs.c: Modified. + (BODY): Modified. + * iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c: New file. + +2020-04-15 Carlos O'Donell + + COMMIT: 70dfcd9b6c6fab492380a33b79e99cb9f9f438e9 + Fix typo in posix/tst-fnmatch.input (Bug 25790) + + * posix/tst-fnmatch.input: Modified. + +2020-04-15 Florian Weimer + + COMMIT: 076f09afbac1aa57756faa7a8feadb7936a724e4 + Linux: Remove and the sysctl function + + * NEWS: Modified. + * include/sys/sysctl.h: Delete file. + * manual/sysinfo.texi: Modified. + * scripts/check-installed-headers.sh: Modified. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/Versions: Modified. + * sysdeps/unix/sysv/linux/bits/sysctl.h: Delete file. + * sysdeps/unix/sysv/linux/x86/bits/sysctl.h: Move to... + * sysdeps/unix/sysv/linux/microblaze/sysctl.c: ... here. + (sysctl system call is unsupported in x32 kernel"): Remove. + (sysdeps/unix/sysv/linux/sysctl.c): Include file. + (strong_alias): New. + (compat_symbol): New function. + * sysdeps/unix/sysv/linux/generic/sysctl.c: Move to... + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/sysctl.c: ... here. + (errno.h): Remove include. + (sysdep.h): Remove include. + (sys/syscall.h): Remove include. + (sysctl): Remove function. + (sysdeps/unix/sysv/linux/sysctl.c): Include file. + (strong_alias): New. + (compat_symbol): New function. + * sysdeps/unix/sysv/linux/sys/sysctl.h: Delete file. + * sysdeps/unix/sysv/linux/sysctl.c: Modified. + (linux/sysctl.h): Remove include. + (sysdep.h): Remove include. + (sys/syscall.h): Remove include. + (__sysctl): Remove function. + (weak_alias): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)][SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17)](strong_alias): New. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)][SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17)](compat_symbol): New. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)](___sysctl): New. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_32)](compat_symbol): New. + (shlib-compat.h): Include file. + * sysdeps/unix/sysv/linux/sysctl.mk: Delete file. + * sysdeps/unix/sysv/linux/x86_64/x32/sysctl.c: New file. + * sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk: Delete file. + +2020-04-14 Alistair Francis + + COMMIT: c4d4419433f1b2c9c4d54ee6da2b0d2a30e3fda8 + posix: Add wait4 test case + + * posix/Makefile: Modified. + * posix/tst-wait4.c: New file. + +2020-04-14 Alistair Francis + + COMMIT: 00515ea3a15703a3d196c1d1bd372214abc990ad + linux: wait4: Fix incorrect return value comparison + + * sysdeps/unix/sysv/linux/wait4.c: Modified. + [__TIMESIZE != 64](__wait4): Modified function. + (__wait4_time64): Modified function. + +2020-04-14 Samuel Thibault + + COMMIT: 2102bec9829589b303d531ed12630808b4886f56 + hurd: add mach_print function + + * mach/Versions: Modified. + * sysdeps/mach/hurd/i386/libc.abilist: Modified. + +2020-04-13 H.J. Lu + + COMMIT: df76ff3a446a787a95cf74cb15c285464d73a93d + x32: Properly pass long to syscall [BZ #25810] + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Modified. + [! __ASSEMBLER__](TYPEFY): Modified. + [! __ASSEMBLER__](ARGIFY): Modified. + [! __ASSEMBLER__](TYPEFY1): New. + * sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h: Modified. + [! __ASSEMBLER__](ARGIFY): New. + +2020-04-09 Joseph Myers + + COMMIT: 319d2a7b60cc0d06bb5c29684c23475d41a7f8b7 + Add GRND_INSECURE from Linux 5.6 to sys/random.h + + * manual/crypt.texi: Modified. + * stdlib/sys/random.h: Modified. + (GRND_INSECURE): New. + +2020-04-09 Joseph Myers + + COMMIT: b56875d5e06e869b1a7f4408b68cb74544c094b0 + Update kernel version to 5.6 in tst-mman-consts.py. + + * sysdeps/unix/sysv/linux/tst-mman-consts.py: Modified. + +2020-04-08 Adhemerval Zanella + + COMMIT: b1caa144c74678097cada5a54eda2996bb459d8f + Update mips libm-test-ulps + + * sysdeps/mips/mips32/libm-test-ulps: Modified. + * sysdeps/mips/mips64/libm-test-ulps: Modified. + +2020-04-08 Adhemerval Zanella + + COMMIT: 17e7d1c5f8bce5ff502587877c574ca33db8ebb0 + Update alpha libm-test-ulps + + * sysdeps/alpha/fpu/libm-test-ulps: Modified. + +2020-04-08 Adhemerval Zanella + + COMMIT: 8a7f8da168e62c53be2b1ad91148b8d7230efa15 + Update ia64 libm-test-ulps + + * sysdeps/ia64/fpu/libm-test-ulps: Modified. + +2020-04-08 Adhemerval Zanella + + COMMIT: e379112b68ab79bd848d72454cc590cbbdec6b02 + Update sparc libm-test-ulps + + * sysdeps/sparc/fpu/libm-test-ulps: Modified. + +2020-04-08 Adhemerval Zanella + + COMMIT: 79943b37a049b3f23bb662f94bb0e33d7de60da9 + Update arm libm-test-ulps + + * sysdeps/arm/libm-test-ulps: Modified. + +2020-04-08 Adhemerval Zanella + + COMMIT: 6a0474c769e0a1e9f0a03e31a2fe2c35be7c5745 + Update aarch64 libm-test-ulps + + * sysdeps/aarch64/libm-test-ulps: Modified. + +2020-04-08 kokoye2007 + + COMMIT: 8a1d13d0c71ec282dcf7f7d9f99f768d2979dcf3 + Updates to the shn_MM locale [BZ #25532] + + * localedata/locales/shn_MM: Modified. + +2020-04-07 Tulio Magno Quites Machado Filho + + COMMIT: bd6cdfc18c901f6d930c539fb866b2ae8dec94be + powerpc: Update ULPs and xfail more ibm128 outputs + + * math/auto-libm-test-in: Modified. + * math/auto-libm-test-out-j0: Modified. + * math/auto-libm-test-out-j1: Modified. + * sysdeps/powerpc/fpu/libm-test-ulps: Modified. + +2020-04-07 H.J. Lu + + COMMIT: 93a0959ef261c92b5d9c337f1e4cb64bbe453a9a + i386: Remove build support for GCC older than GCC 6 + + * sysdeps/i386/sysdep.h: Modified. + (features.h): Remove include. + * sysdeps/i386/tls-macros.h: Modified. + [!(PIC && !__GNUC_PREREQ (5,0))](TLS_IE): Remove. + [!(PIC && !__GNUC_PREREQ (5,0))](TLS_LD): Remove. + [!(PIC && !__GNUC_PREREQ (5,0))](TLS_GD): Remove. + [PIC && !__GNUC_PREREQ (5,0)](TLS_IE): Remove. + [PIC && !__GNUC_PREREQ (5,0)](TLS_LD): Remove. + [PIC && !__GNUC_PREREQ (5,0)](TLS_GD): Remove. + (features.h): Remove include. + (TLS_IE): New. + (TLS_LD): New. + (TLS_GD): New. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Modified. + [! __ASSEMBLER__][__PIC__ && !__GNUC_PREREQ (5,0)](check_consistency): Remove. + [__GNUC_PREREQ (5,0) && ! PROF && CAN_USE_REGISTER_ASM_EBP](OPTIMIZE_FOR_GCC_5): Remove. + [! PROF && CAN_USE_REGISTER_ASM_EBP](OPTIMIZE_FOR_GCC_5): New. + +2020-04-07 Rafał Lużyński + + COMMIT: 10b2cdc3b3a9aab153e07bb7f8e1765dc3cd01fa + oc_FR locale: Fix spelling of April (bug 25639) + + * localedata/locales/oc_FR: Modified. + +2020-04-06 John David Anglin + + COMMIT: a8d74ee47b3309ad417c20596bb1fbd29e0a149c + Update hppa libm-test-ulps + + * sysdeps/hppa/fpu/libm-test-ulps: Modified. + +2020-04-06 Lukasz Majewski + + COMMIT: 0b65a8fbaf05bf4279c56bf4b5da6ae95c663358 + y2038: linux: Provide __mq_timedreceive_time64 implementation + + * include/mqueue.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__mq_timedreceive_time64): New function. + [! _ISOMAC][__TIMESIZE != 64](librt_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__mq_timedreceive_time64): New. + * sysdeps/unix/sysv/linux/mq_timedreceive.c: Modified. + (__mq_timedreceive): Remove function. + [__TIMESIZE != 64](librt_hidden_def): New. + [__TIMESIZE != 64](__mq_timedreceive): New. + (__mq_timedreceive_time64): New function. + +2020-04-06 Lukasz Majewski + + COMMIT: 6f5eb5b2e57c507b17e3ba8c76433109d276a148 + y2038: linux: Provide __mq_timedsend_time64 implementation + + * include/mqueue.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__mq_timedsend_time64): New. + [! _ISOMAC][__TIMESIZE != 64](librt_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__mq_timedsend_time64): New. + [! _ISOMAC](struct___timespec64.h): Include file. + * sysdeps/unix/sysv/linux/mq_timedsend.c: Modified. + (__mq_timedsend): Remove function. + [__TIMESIZE != 64](librt_hidden_def): New. + [__TIMESIZE != 64](__mq_timedsend): New. + (__mq_timedsend_time64): New function. + +2020-04-06 Lukasz Majewski + + COMMIT: 390b5a4727924503095327087c5d5f7a369732ef + y2038: include: Move struct __timespec64 definition to a separate file + + * include/struct___timespec64.h: New file. + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__timespec64): Remove. + [! _ISOMAC][__TIMESIZE == 64](__timespec64): Remove. + [! _ISOMAC](endian.h): Remove include. + [! _ISOMAC](__timespec64): Remove. + [! _ISOMAC](valid_timeval_to_timespec64): Modified function. + [! _ISOMAC](__timespec64): Remove. + [! _ISOMAC](timeval64_to_timespec64): Modified function. + [! _ISOMAC](__timespec64): Remove. + [! _ISOMAC](valid_timespec_to_timespec64): Modified function. + [! _ISOMAC](struct___timespec64.h): Include file. + +2020-04-06 DJ Delorie + + COMMIT: b9cde4e3aa1ff338da7064daf1386b2f4a7351ba + malloc: ensure set_max_fast never stores zero [BZ #25733] + + * malloc/malloc.c: Modified. + (set_max_fast): Modified. + +2020-04-06 Paul E. Murphy + + COMMIT: 4531ba8ebfedf97a31834201eaaf71c375793de2 + powerpc64le: enforce non-specific long double in .gnu.attributes section + + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + * sysdeps/powerpc/powerpc64/le/no_ldbl_gnu_attribute.c: New file. + +2020-04-06 Paul E. Murphy + + COMMIT: 8e72163b16bfe874a415a558f78911e5d05c5f22 + powerpc64le: workaround ieee long double / _Float128 stdc++ bug + + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + +2020-04-06 Paul E. Murphy + + COMMIT: 6f82d05034178eee756dfe09472948130748ad39 + powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used + + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile: Modified. + +2020-04-06 Paul E. Murphy + + COMMIT: 25ee3931f03cae31f5006c438d939544f717666a + powerpc64le/multiarch: don't generate strong aliases for fmaf128-ppc64 + + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-ppc64.c: Modified. + (strong_alias): New. + +2020-04-06 Paul E. Murphy + + COMMIT: bd98471eb2e242a0e5507e325e52ca998cf77865 + ldbl-128ibm: simplify iscanonical.h + + * sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h: Modified. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1][! __HAVE_DISTINCT_FLOAT128][! __cplusplus](iscanonical): Remove. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1][__HAVE_DISTINCT_FLOAT128](__iscanonicalf128): Remove. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1](__iscanonicall): Remove. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1](__iscanonicalf): Remove. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1](__iscanonical): Remove. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 == 1](__iscanonicall): Remove. + [__NO_LONG_DOUBLE_MATH](iscanonical): Remove. + [!((__NO_LONG_DOUBLE_MATH) || __LONG_DOUBLE_USES_FLOAT128 == 1)][! __cplusplus](iscanonical): New. + [!((__NO_LONG_DOUBLE_MATH) || __LONG_DOUBLE_USES_FLOAT128 == 1)][__HAVE_DISTINCT_FLOAT128](__iscanonicalf128): New. + [!((__NO_LONG_DOUBLE_MATH) || __LONG_DOUBLE_USES_FLOAT128 == 1)](__iscanonicall): New. + [!((__NO_LONG_DOUBLE_MATH) || __LONG_DOUBLE_USES_FLOAT128 == 1)](__iscanonicalf): New. + [!((__NO_LONG_DOUBLE_MATH) || __LONG_DOUBLE_USES_FLOAT128 == 1)](__iscanonical): New. + [(__NO_LONG_DOUBLE_MATH) || __LONG_DOUBLE_USES_FLOAT128 == 1](iscanonical): New. + +2020-04-06 H.J. Lu + + COMMIT: f90a7e96df87edadd503a0a32aa70fb97c55a044 + i386: Disable check_consistency for GCC 5 and above [BZ #25788] + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Modified. + [! __ASSEMBLER__][__PIC__ && ! OPTIMIZE_FOR_GCC_5](check_consistency): Remove. + [! __ASSEMBLER__][__PIC__ && !__GNUC_PREREQ (5,0)](check_consistency): New. + +2020-04-03 Joseph Myers + + COMMIT: f9ac84f92f151e07586c55e14ed628d493a5929d + Add IPPROTO_ETHERNET and IPPROTO_MPTCP from Linux 5.6 to netinet/in.h. + + * inet/netinet/in.h: Modified. + (): Modified. + +2020-04-03 Joseph Myers + + COMMIT: e788beaf093bfafecd6b4456b984bd927c18987a + Update syscall lists for Linux 5.6. + + * sysdeps/unix/sysv/linux/aarch64/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/alpha/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/arm/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/csky/arch-syscall.h: Modified. + (__NR_clone3): New. + (__NR_fstat64): New. + (__NR_fstatat64): New. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/hppa/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/i386/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/ia64/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/m68k/arch-syscall.h: Modified. + (__NR_clone3): New. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/microblaze/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/nios2/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/sh/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/syscall-names.list: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + * sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h: Modified. + (__NR_openat2): New. + (__NR_pidfd_getfd): New. + +2020-04-03 Florian Weimer + + COMMIT: 8f7a75d700af809eeb4363895078fabfb3a9d7c3 + elf: Implement DT_AUDIT, DT_DEPAUDIT support [BZ #24943] + + * NEWS: Modified. + * elf/Makefile: Modified. + * elf/rtld.c: Modified. + (dl_main): Modified function. + (audit_list_add_dynamic_tag): New function. + (audit_list_add_dynamic_tag): New function. + * elf/tst-audit14.c: New file. + * elf/tst-audit15.c: New file. + * elf/tst-audit16.c: New file. + * elf/tst-auditlogmod-1.c: New file. + * elf/tst-auditlogmod-2.c: New file. + * elf/tst-auditlogmod-3.c: New file. + +2020-04-03 Florian Weimer + + COMMIT: 4c6e0415ef206a595c62d5d37e3b9a821782c533 + elf: Simplify handling of lists of audit strings + + * elf/rtld.c: Modified. + (process_dl_audit): Remove. + (process_envvars): Modified. + (audit_list_string): Remove. + (audit_list): Modified. + (audit_list_iter): Remove. + (audit_list_iter_init): Remove function. + (audit_list_iter_next): Remove function. + (load_audit_modules): Modified function. + (dl_main): Modified function. + (process_dl_audit): Remove function. + (process_envvars): Modified function. + (array_length.h): Include file. + (audit_list_init): New function. + (audit_list_add_string): New function. + (audit_list_next): New function. + (audit_list_init): New function. + (audit_list_add_string): New function. + (audit_list_next): New function. + +2020-04-03 Florian Weimer + + COMMIT: cea56af185eae45b1f0963351e3d4daa1cbde521 + support: Change xgetline to return 0 on EOF + + * support/support_process_state.c: Modified. + (support_process_state_wait): Modified function. + * support/xgetline.c: Modified. + (errno.h): Remove include. + (xgetline): Modified function. + * support/xstdio.h: Modified. + (xgetline): Modified. + +2020-04-03 Adhemerval Zanella + + COMMIT: 17fd707f88c5531972c980a4f4567ba6c7f84067 + nptl: Remove x86_64 cancellation assembly implementations [BZ #25765] + + * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Delete file. + * sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S: Delete file. + * sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S: Delete file. + * sysdeps/x86_64/nptl/tcb-offsets.sym: Modified. + +2020-04-03 Szabolcs Nagy + + COMMIT: 0bdca3bd94fe51023e927e9a2ac33a75e2a2d4b8 + aarch64: update bits/hwcap.h + + * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h: Modified. + (HWCAP2_DCPODP): New. + (HWCAP2_SVE2): New. + (HWCAP2_SVEAES): New. + (HWCAP2_SVEPMULL): New. + (HWCAP2_SVEBITPERM): New. + (HWCAP2_SVESHA3): New. + (HWCAP2_SVESM4): New. + (HWCAP2_FLAGM2): New. + (HWCAP2_FRINT): New. + (HWCAP2_SVEI8MM): New. + (HWCAP2_SVEF32MM): New. + (HWCAP2_SVEF64MM): New. + (HWCAP2_SVEBF16): New. + (HWCAP2_I8MM): New. + (HWCAP2_BF16): New. + (HWCAP2_DGH): New. + (HWCAP2_RNG): New. + +2020-04-03 Eyal Itkin + + COMMIT: 6310d570bf20348135d09e1f9de84a9ae7d06f83 + Add tests for Safe-Linking + + * malloc/Makefile: Modified. + * malloc/tst-safe-linking.c: New file. + +2020-04-03 Stefan Liebler + + COMMIT: 1c50d23a20f7b964bc5358dcffbb3623170b6773 + S390: Regenerate ULPs. + + * sysdeps/s390/fpu/libm-test-ulps: Modified. + +2020-04-02 Alistair Francis + + COMMIT: 0bcd0c5100f5268b04b7b4dbbea63eb2c50e9132 + sysv/alpha: Use generic __timeval32 and helpers + + * sysdeps/unix/sysv/linux/alpha/alpha-tv32-compat.h: Delete file. + * sysdeps/unix/sysv/linux/alpha/osf_adjtime.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](timex32): Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtime_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtimex_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](time.h): Include file. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](string.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_getitimer.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__getitimer_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](time.h): Include file. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_getrusage.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__getrusage_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_gettimeofday.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__gettimeofday_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](time.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_setitimer.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__setitimer_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](time.h): Include file. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_settimeofday.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__settimeofday_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](time.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_utimes.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__utimes_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](time.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_wait4.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__wait4_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/tv32-compat.h: Modified. + (rusage64_to_rusage32): New function. + +2020-04-02 Alistair Francis + + COMMIT: 600f00b747ff42eb0aa778536d3ef602e8bcd550 + linux: Use long time_t for wait4/getrusage + + * include/sys/resource.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__getrusage64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE != 64](__wait4_time64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__getrusage64): New. + [! _ISOMAC][__TIMESIZE == 64](__wait4_time64): New. + * sysdeps/unix/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/getrusage.c: New file. + * sysdeps/unix/sysv/linux/tv32-compat.h: Modified. + (sys/resource.h): Include file. + (__rusage32): New. + (rusage32_to_rusage64): New function. + * sysdeps/unix/sysv/linux/wait4.c: Modified. + (__wait4): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](__wait4): New. + (sys/types.h): Include file. + (tv32-compat.h): Include file. + (__wait4_time64): New function. + +2020-04-02 Alistair Francis + + COMMIT: 5d24ba82c49b75c9f4264b5d62c4e88f4082a99e + resource: Add a __rusage64 struct + + * include/sys/resource.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__rusage64): New. + [! _ISOMAC][__TIMESIZE == 64](__rusage64): New. + [! _ISOMAC](time.h): Include file. + [! _ISOMAC](string.h): Include file. + [! _ISOMAC](rusage64_to_rusage): New function. + +2020-04-02 Alistair Francis + + COMMIT: a51e03588937ad804a9f583ea3d0fc0a4d088c33 + linux: Use long time_t __getitimer/__setitimer + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__getitimer64): New function. + [! _ISOMAC][__TIMESIZE != 64](__setitimer64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__getitimer64): New. + [! _ISOMAC][__TIMESIZE == 64](__setitimer64): New. + [! _ISOMAC](sys/time.h): Include file. + * sysdeps/unix/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/getitimer.c: New file. + * sysdeps/unix/sysv/linux/setitimer.c: New file. + * sysdeps/unix/sysv/linux/tv32-compat.h: New file. + +2020-04-02 Alistair Francis + + COMMIT: 1c634e677f584ea264f984eb408a5142150af855 + sysv: Define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 + + * bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __LP64__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + [! _BITS_TYPESIZES_H][__LP64__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + * sysdeps/unix/sysv/linux/generic/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __LP64__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + [! _BITS_TYPESIZES_H][__LP64__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __s390x__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + [! _BITS_TYPESIZES_H][__s390x__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][!(__arch64__ || __sparcv9)](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + [! _BITS_TYPESIZES_H][__arch64__ || __sparcv9](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + * sysdeps/unix/sysv/linux/x86/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H][! __x86_64__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + [! _BITS_TYPESIZES_H][__x86_64__](__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64): New. + +2020-03-31 Paul Zimmermann + + COMMIT: a9d42c09a327540a99f2eac25a98fd2ad6d0b540 + math: Add inputs that yield larger errors for float type (x86_64) + + * math/auto-libm-test-in: Modified. + * math/auto-libm-test-out-asinh: Modified. + * math/auto-libm-test-out-cos: Modified. + * math/auto-libm-test-out-cosh: Modified. + * math/auto-libm-test-out-erfc: Modified. + * math/auto-libm-test-out-exp: Modified. + * math/auto-libm-test-out-exp10: Modified. + * math/auto-libm-test-out-j0: Modified. + * math/auto-libm-test-out-j1: Modified. + * math/auto-libm-test-out-lgamma: Modified. + * math/auto-libm-test-out-sin: Modified. + * math/auto-libm-test-out-tgamma: Modified. + * math/auto-libm-test-out-y0: Modified. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Modified. + * sysdeps/x86_64/fpu/libm-test-ulps: Modified. + +2020-03-31 Eyal Itkin + + COMMIT: 49c3c37651e2d2ec4ff8ce21252bbbc08a9d6639 + Fix alignment bug in Safe-Linking + + * malloc/malloc.c: Modified. + [MALLOC_DEBUG](do_check_malloc_state): Modified function. + [USE_TCACHE](tcache_get): Modified function. + (_int_malloc): Modified function. + (malloc_consolidate): Modified function. + (int_mallinfo): Modified function. + (__malloc_info): Modified function. + +2020-03-31 Eyal Itkin + + COMMIT: 768358b6a80742f6be68ecd9f952f4b60614df96 + Typo fixes and CR cleanup in Safe-Linking + + * malloc/malloc.c: Modified. + [MALLOC_DEBUG](do_check_malloc_state): Modified function. + [USE_TCACHE](tcache_thread_shutdown): Modified function. + (malloc_consolidate): Modified function. + (int_mallinfo): Modified function. + (__malloc_info): Modified function. + +2020-03-31 Joseph Myers + + COMMIT: 6b89dbc3caee3b4f5a093bfd6c480c8eb328ebec + Use Linux 5.6 and GMP 6.2.0 in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2020-03-30 John David Anglin + + COMMIT: acdcca72940e060270e4e54d9c0457398110f409 + Add new file missed in previous hppa commit. + + * sysdeps/hppa/dl-runtime.c: New file. + +2020-03-30 Raphael Moreira Zinsly + Tulio Magno Quites Machado Filho + + COMMIT: 66807aebadc4a8cf62a9593ab3f714f971366907 + powerpc: Add support for fmaf128() in hardware + + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile: Modified. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-power9.c: New file. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-ppc64.c: New file. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128.c: New file. + * sysdeps/powerpc/powerpc64/le/power9/fpu/s_fmaf128.c: New file. + +2020-03-30 John David Anglin + + COMMIT: 1a044511a3f9020c3f430164e0a6a77426fecd7e + Fix data race in setting function descriptors during lazy binding on hppa. + + * sysdeps/hppa/dl-fptr.c: Modified. + (make_fdesc): Modified function. + (_dl_lookup_address): Modified function. + * sysdeps/hppa/dl-machine.h: Modified. + [! dl_machine_h](elf_machine_fixup_plt): Modified function. + [! dl_machine_h](elf_machine_runtime_setup): Modified function. + [! dl_machine_h](PA_GP_RELOC): New. + * sysdeps/hppa/dl-trampoline.S: Modified. + * sysdeps/unix/sysv/linux/hppa/atomic-machine.h: Modified. + [! _ATOMIC_MACHINE_H](atomic_full_barrier): New. + [! _ATOMIC_MACHINE_H](__atomic_link_error): New function. + [! _ATOMIC_MACHINE_H](__atomic_check_size_ls): New. + [! _ATOMIC_MACHINE_H](atomic_load_relaxed): New. + [! _ATOMIC_MACHINE_H](atomic_load_acquire): New. + [! _ATOMIC_MACHINE_H](atomic_store_relaxed): New. + [! _ATOMIC_MACHINE_H](atomic_store_release): New. + +2020-03-30 Adhemerval Zanella + + COMMIT: ec07242c45ef8b24836c2089b0466b48f8ba2d1c + sparc: Move __fenv_{ld,st}fsr to fenv-private.h + + * sysdeps/sparc/fpu/bits/fenv.h: Modified. + [__WORDSIZE != 64](__fenv_stfsr): Remove. + [__WORDSIZE != 64](__fenv_ldfsr): Remove. + [__WORDSIZE == 64](__fenv_stfsr): Remove. + [__WORDSIZE == 64](__fenv_ldfsr): Remove. + * sysdeps/sparc/fpu/fclrexcpt.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fedisblxcpt.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/feenablxcpt.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fegetenv.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fegetexcept.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fegetmode.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fegetround.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/feholdexcpt.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fenv_private.h: Modified. + [__WORDSIZE != 64](__fenv_stfsr): New. + [__WORDSIZE != 64](__fenv_ldfsr): New. + [__WORDSIZE == 64](__fenv_stfsr): New. + [__WORDSIZE == 64](__fenv_ldfsr): New. + * sysdeps/sparc/fpu/fesetenv.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fesetexcept.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fesetmode.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fesetround.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/feupdateenv.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fgetexcptflg.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/fsetexcptflg.c: Modified. + (fenv_private.h): Include file. + * sysdeps/sparc/fpu/ftestexcept.c: Modified. + (fenv_private.h): Include file. + +2020-03-30 Adhemerval Zanella + + COMMIT: 4a30b6109c119feeb95cf154382057fbf757d4da + x86: Remove feraiseexcept optimization + + * sysdeps/x86/fpu/bits/fenv.h: Modified. + [__USE_EXTERN_INLINES][! _LIBC](__REDIRECT_NTH): Remove. + [__USE_EXTERN_INLINES](__NTH): Remove. + [__USE_EXTERN_INLINES](__NTH): Remove. + * sysdeps/x86/fpu/include/bits/fenv.h: Delete file. + +2020-03-30 Adhemerval Zanella + + COMMIT: 5f34491510efe37d094c1fca66c7404002cdcdc5 + math: Remove fenvinline.h + + * bits/fenvinline.h: Delete file. + * math/Makefile: Modified. + * math/fenv.h: Modified. + [__OPTIMIZE__](bits/fenvinline.h): Remove. + * math/test-fenvinline.c: Delete file. + * sysdeps/powerpc/bits/fenvinline.h: Delete file. + * sysdeps/powerpc/fpu/fegetround.c: Modified. + (int): Modified function. + (fegetround): Remove. + (__fegetround): Remove. + * sysdeps/powerpc/fpu/fraiseexcpt.c: Modified. + (feraiseexcept): Remove. + * sysdeps/powerpc/nofpu/fraiseexcpt.c: Modified. + (feraiseexcept): Remove. + +2020-03-29 Samuel Thibault + + COMMIT: e095db0bc6c53a0b7ac3d915c5feb7678049dc33 + hurd: Make O_TRUNC update mtime/ctime + + * hurd/lookup-retry.c: Modified. + (__hurd_file_name_lookup_retry): Modified function. + +2020-03-29 Eyal Itkin + + COMMIT: a1a486d70ebcc47a686ff5846875eacad0940e41 + Add Safe-Linking to fastbins and tcache + + * malloc/malloc.c: Modified. + [MALLOC_DEBUG](do_check_malloc_state): Modified function. + [USE_TCACHE](tcache_put): Modified function. + [USE_TCACHE](tcache_get): Modified function. + [USE_TCACHE](tcache_thread_shutdown): Modified function. + (_int_malloc): Modified function. + (_int_free): Modified function. + (malloc_consolidate): Modified function. + (int_mallinfo): Modified function. + (__malloc_info): Modified function. + (PROTECT_PTR): New. + (REVEAL_PTR): New. + +2020-03-27 Shen-Ta Hsieh + + COMMIT: 642d5abaf11b033a1bfc88fd66f736f61a3fd17b + Add benchtests for roundeven and roundevenf. + + * benchtests/Makefile: Modified. + * benchtests/roundeven-inputs: New file. + * benchtests/roundevenf-inputs: New file. + +2020-03-27 Alistair Francis + + COMMIT: 933dc0e5708beae17ce382287b9901ee960f42da + time: Add a __itimerval64 struct + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__itimerval64): New. + [! _ISOMAC][__TIMESIZE == 64](__itimerval64): New. + +2020-03-27 Alistair Francis + + COMMIT: d1876749a8e51b3bd632561ed7dfcdbbfce59d33 + time: Add a timeval with a 32-bit tv_sec and tv_usec + + * include/time.h: Modified. + [! _ISOMAC](__timeval32): New. + [! _ISOMAC](__timeval64): New. + [! _ISOMAC](valid_timeval32_to_timeval64): New function. + [! _ISOMAC](valid_timeval64_to_timeval32): New function. + [! _ISOMAC](valid_timeval32_to_timeval): New function. + [! _ISOMAC](valid_timeval_to_timeval32): New function. + [! _ISOMAC](valid_timeval32_to_timespec): New function. + [! _ISOMAC](valid_timespec_to_timeval32): New function. + +2020-03-27 Alistair Francis + + COMMIT: 4da2597af5cda0752c7526fe97398a5dafc15cbf + sysv/linux: Rename alpha functions to be alpha specific + + * sysdeps/unix/sysv/linux/alpha/tv32-compat.h: Move to... + * sysdeps/unix/sysv/linux/alpha/alpha-tv32-compat.h: ... here. + (valid_timeval32_to_timeval): Remove function. + (valid_timeval_to_timeval32): Remove function. + (valid_timeval32_to_timespec): Remove function. + (valid_timespec_to_timeval32): Remove function. + (rusage64_to_rusage32): Remove function. + (alpha_valid_timeval32_to_timeval): New function. + (alpha_valid_timeval_to_timeval32): New function. + (alpha_valid_timeval32_to_timespec): New function. + (alpha_valid_timespec_to_timeval32): New function. + (alpha_rusage64_to_rusage32): New function. + * sysdeps/unix/sysv/linux/alpha/osf_adjtime.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtime_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtimex_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_getitimer.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__getitimer_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_getrusage.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__getrusage_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_gettimeofday.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__gettimeofday_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_setitimer.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__setitimer_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_settimeofday.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__settimeofday_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_utimes.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__utimes_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Include file. + * sysdeps/unix/sysv/linux/alpha/osf_wait4.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](tv32-compat.h): Remove include. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__wait4_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](alpha-tv32-compat.h): Include file. + +2020-03-25 Vineet Gupta + + COMMIT: e8a0f5831e8bf5810b6d726967ee9a7cad38bed6 + ARC: add definitions to elf/elf.h + + * elf/elf.h: Modified. + (EM_ARC_COMPACT2): Remove. + (EM_ARCV2): New. + (R_ARC_NONE): New. + (R_ARC_8): New. + (R_ARC_16): New. + (R_ARC_24): New. + (R_ARC_32): New. + (R_ARC_B26): New. + (R_ARC_B22_PCREL): New. + (R_ARC_H30): New. + (R_ARC_N8): New. + (R_ARC_N16): New. + (R_ARC_N24): New. + (R_ARC_N32): New. + (R_ARC_SDA): New. + (R_ARC_SECTOFF): New. + (R_ARC_S21H_PCREL): New. + (R_ARC_S21W_PCREL): New. + (R_ARC_S25H_PCREL): New. + (R_ARC_S25W_PCREL): New. + (R_ARC_SDA32): New. + (R_ARC_SDA_LDST): New. + (R_ARC_SDA_LDST1): New. + (R_ARC_SDA_LDST2): New. + (R_ARC_SDA16_LD): New. + (R_ARC_SDA16_LD1): New. + (R_ARC_SDA16_LD2): New. + (R_ARC_S13_PCREL): New. + (R_ARC_W): New. + (R_ARC_32_ME): New. + (R_ARC_N32_ME): New. + (R_ARC_SECTOFF_ME): New. + (R_ARC_SDA32_ME): New. + (R_ARC_W_ME): New. + (R_ARC_H30_ME): New. + (R_ARC_SECTOFF_U8): New. + (R_ARC_SECTOFF_S9): New. + (R_AC_SECTOFF_U8): New. + (R_AC_SECTOFF_U8_1): New. + (R_AC_SECTOFF_U8_2): New. + (R_AC_SECTOFF_S9): New. + (R_AC_SECTOFF_S9_1): New. + (R_AC_SECTOFF_S9_2): New. + (R_ARC_SECTOFF_ME_1): New. + (R_ARC_SECTOFF_ME_2): New. + (R_ARC_SECTOFF_1): New. + (R_ARC_SECTOFF_2): New. + (R_ARC_PC32): New. + (R_ARC_GOTPC32): New. + (R_ARC_PLT32): New. + (R_ARC_COPY): New. + (R_ARC_GLOB_DAT): New. + (R_ARC_JUMP_SLOT): New. + (R_ARC_RELATIVE): New. + (R_ARC_GOTOFF): New. + (R_ARC_GOTPC): New. + (R_ARC_GOT32): New. + (R_ARC_TLS_DTPMOD): New. + (R_ARC_TLS_DTPOFF): New. + (R_ARC_TLS_TPOFF): New. + (R_ARC_TLS_GD_GOT): New. + (R_ARC_TLS_GD_LD): New. + (R_ARC_TLS_GD_CALL): New. + (R_ARC_TLS_IE_GOT): New. + (R_ARC_TLS_DTPOFF_S9): New. + (R_ARC_TLS_LE_S9): New. + (R_ARC_TLS_LE_32): New. + +2020-03-25 Paul E. Murphy + + COMMIT: 57651ee4c84aacad1a66a61fc44689dee77731f5 + powerpc64: apply -mabi=ibmlongdouble to special files + + * sysdeps/powerpc/powerpc64/Makefile: Modified. + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + * sysdeps/powerpc/powerpc64/power7/Makefile: Modified. + +2020-03-25 Paul E. Murphy + + COMMIT: 39517c008f9630cc3cfa0dc7619c5784cde1b3a2 + powerpc64le: add -mno-gnu-attribute to *f128 objects and difftime + + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + * sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile: Modified. + +2020-03-25 Paul E. Murphy + + COMMIT: 3618e5fecefde1ff4f383fdd349e64deb472df4e + Makeconfig: sandwich gnulib-tests between libc/ld linking of tests + + * Makeconfig: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + +2020-03-25 Gabriel F. T. Gomes + Rajalakshmi Srinivasaraghavan + Tulio Magno Quites Machado Filho + Paul E. Murphy + + COMMIT: 076d06e8494319c1405129ed505fc67f17c0487d + powerpc64le: Ensure correct ldouble compiler flags are used + + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + +2020-03-25 Paul E. Murphy + + COMMIT: d0d1811fb96d592e9b379b9176e1ab9d0b858916 + Fix tests which expose ldbl -> _Float128 redirects + + * elf/tst-addr1.c: Modified. + (do_test): Modified function. + * stdio-common/tst-vfprintf-user-type.c: Modified. + (do_test): Modified function. + +2020-03-25 Paul E. Murphy + + COMMIT: 45ae17dd7ed3b9dea0d698d1c37a978d8d0a9aa2 + ldbl-128ibm-compat: PLT redirects for using ldbl redirects internally + + * include/err.h: Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + * include/libc-symbols.h: Modified. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + * include/stdio.h: Modified. + [! _ISOMAC][!__GLIBC_USE (DEPRECATED_SCANF) && __LONG_DOUBLE_USES_FLOAT128 == 0](sscanf): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): Remove. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 0](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC][!__GLIBC_USE (DEPRECATED_SCANF)](sscanf): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 != 1](stdio_hidden_ldbl_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1](stdio_hidden_ldbl_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](stdio_hidden_ldbl_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](___ieee128_isoc99_sscanf): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](___ieee128_isoc99_vsscanf): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](___ieee128_isoc99_vfscanf): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](libc_hidden_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](libc_hidden_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](libc_hidden_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](__isoc99_sscanf): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](__isoc99_vsscanf): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)](__isoc99_vfscanf): New. + [! _ISOMAC](stdio_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](stdio_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + * include/sys/cdefs.h: Modified. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc) && SHARED](__LDBL_REDIR_DECL): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc) && SHARED](libc_hidden_ldbl_proto): New. + [! _ISOMAC][__LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc) && SHARED](__LDBL_REDIR2_DECL): New. + * include/sys/syslog.h: Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + * include/wchar.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Remove. + [! _ISOMAC](libc_hidden_ldbl_proto): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf.c: Modified. + (___ieee128_asprintf): Remove function. + (strong_alias): Modified. + (___ieee128___asprintf): New function. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf.c: Modified. + (hidden_def): New function. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-err.c: Modified. + (hidden_def): New. + (hidden_def): New. + (hidden_def): New. + (hidden_def): New. + (hidden_def): New. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf.c: Modified. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_sscanf.c: Modified. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfscanf.c: Modified. + (stdio.h): Include file. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vsscanf.c: Modified. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf.c: Modified. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-syslog.c: Modified. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf.c: Modified. + (hidden_def): New. + * sysdeps/ieee754/ldbl-128ibm/include/bits/iscanonical.h: Modified. + [! _ISOMAC](libm_hidden_proto): Remove. + [! _ISOMAC && (__LONG_DOUBLE_USES_FLOAT128 == 0)](libm_hidden_proto): New. + +2020-03-25 Adhemerval Zanella + + COMMIT: 4eda036f5b897fa8bc20ddd2099b5a6ed4239dc9 + stdlib: Move tst-system to tests-container + + * stdlib/Makefile: Modified. + * stdlib/tst-system.c: Modified. + (do_test): Modified function. + +2020-03-25 Adhemerval Zanella + + COMMIT: 1c17100c43c0913ec94f3bcc966bf3792236c690 + support/shell-container.c: Add builtin kill + + * support/shell-container.c: Modified. + (): Modified. + (run_command_array): Modified function. + (kill_func): New function. + +2020-03-25 Adhemerval Zanella + + COMMIT: 5a5a3a3234bc220a5192d620e0cbc5360da46f14 + support/shell-container.c: Add builtin exit + + * support/shell-container.c: Modified. + (): Modified. + (exit_func): New function. + +2020-03-25 Adhemerval Zanella + + COMMIT: 5fce0e095bc413f908f472074c2235198cd76bf4 + support/shell-container.c: Return 127 if execve fails + + * support/shell-container.c: Modified. + (run_command_array): Modified function. + +2020-03-24 Aurelien Jarno + + COMMIT: 07d16a6debc830ebcf9533da5396edd2eff688e0 + Add NEWS entry for CVE-2020-1751 (bug 25423) + + * NEWS: Modified. + +2020-03-23 Adhemerval Zanella + + COMMIT: f09542c584b121da0322fde4b55306d512b85d93 + posix: Fix system error return value [BZ #25715] + + * stdlib/tst-system.c: Modified. + (do_test): Modified function. + (TEST_FUNCTION): Remove. + (../test-skeleton.c): Remove include. + (unistd.h): Include file. + (string.h): Include file. + (signal.h): Include file. + (paths.h): Include file. + (support/capture_subprocess.h): Include file. + (support/check.h): Include file. + (support/temp_file.h): Include file. + (support/support.h): Include file. + (tmpdir): New. + (namemax): New. + (do_prepare): New function. + (PREPARE): New. + (args): New. + (call_system): New function. + (support/test-driver.c): Include file. + * sysdeps/posix/system.c: Modified. + (do_system): Modified function. + +2020-03-23 Lukasz Majewski + + COMMIT: 03343699496edd866141a8bbdfeb19ae98537394 + y2038: fix: Add missing libc_hidden_def attribute for some syscall wrappers + + * sysdeps/unix/sysv/linux/clock_getres.c: Modified. + [__TIMESIZE != 64](libc_hidden_def): New. + * sysdeps/unix/sysv/linux/clock_gettime.c: Modified. + [__TIMESIZE != 64](libc_hidden_def): New. + * sysdeps/unix/sysv/linux/clock_nanosleep.c: Modified. + [__TIMESIZE != 64](libc_hidden_def): New. + * sysdeps/unix/sysv/linux/clock_settime.c: Modified. + [__TIMESIZE != 64](libc_hidden_def): New. + * sysdeps/unix/sysv/linux/ppoll.c: Modified. + [__TIMESIZE != 64](libc_hidden_def): New. + +2020-03-20 Carlos O'Donell + + COMMIT: b8de7980c06d97f36cdf4fe0871be7ec8ca58073 + Extended Char Intro: Use getwc in example (Bug 25626) + + * manual/charset.texi: Modified. + +2020-03-20 Adhemerval Zanella + + COMMIT: 910a835dc96c1f518ac2a6179fc622ba81ffb159 + stdio: Add tests for printf multibyte convertion leak [BZ#25691] + + * stdio-common/Makefile: Modified. + * stdio-common/tst-printf-bz25691.c: New file. + +2020-03-20 Florian Weimer + + COMMIT: 3cc4a8367c23582b7db14cf4e150e4068b7fd461 + stdio: Remove memory leak from multibyte convertion [BZ#25691] + + * stdio-common/vfprintf-internal.c: Modified. + [! COMPILE_WPRINTF](PAD): Remove. + [! COMPILE_WPRINTF](process_string_arg): Modified. + [! COMPILE_WPRINTF](OTHER_CHAR_T): New. + [! COMPILE_WPRINTF](CONVERT_FROM_OTHER_STRING): New. + [COMPILE_WPRINTF](PAD): Remove. + [COMPILE_WPRINTF](process_string_arg): Modified. + [COMPILE_WPRINTF](OTHER_CHAR_T): New. + [COMPILE_WPRINTF](CONVERT_FROM_OTHER_STRING): New. + (done_add): Modified. + (outstring): Modified. + (intprops.h): Include file. + (done_add_func): New function. + (pad_func): New function. + (PAD): New. + (outstring_func): New function. + (outstring_converted_wide_string): New function. + +2020-03-19 Aurelien Jarno + + COMMIT: 39a05214fe14ff722d4d92e697fb71ff15e84e70 + Add NEWS entry for CVE-2020-1752 (bug 25414) + + * NEWS: Modified. + +2020-03-19 Adhemerval Zanella + + COMMIT: 1c15464ca05f36db5c582856d3770d5e8bde9d61 + math: Remove inline math tests + + * math/Makefile: Modified. + * math/README.libm-test: Modified. + * math/auto-libm-test-in: Modified. + * math/auto-libm-test-out-acosh: Modified. + * math/auto-libm-test-out-asinh: Modified. + * math/auto-libm-test-out-atanh: Modified. + * math/auto-libm-test-out-cosh: Modified. + * math/auto-libm-test-out-hypot: Modified. + * math/auto-libm-test-out-sinh: Modified. + * math/gen-auto-libm-tests.c: Modified. + (input_flag_type): Modified. + (output_for_one_input_case): Modified function. + * math/gen-libm-test.py: Modified. + * math/libm-test-asinh.inc: Modified. + * math/libm-test-atanh.inc: Modified. + * math/libm-test-cosh.inc: Modified. + * math/libm-test-driver.c: Modified. + [! TEST_INLINE](qtype_str): Remove. + [TEST_INLINE](TEST_MSG): Remove. + [TEST_INLINE](qtype_str): Remove. + (flag_test_inline): Remove. + (qtype_str): New. + * math/libm-test-exp.inc: Modified. + * math/libm-test-expm1.inc: Modified. + * math/libm-test-hypot.inc: Modified. + * math/libm-test-pow.inc: Modified. + * math/libm-test-sinh.inc: Modified. + * math/libm-test-support.c: Modified. + (ulp_i_idx): Remove. + (find_ulps): Modified function. + (enable_test): Modified function. + * math/libm-test-support.h: Modified. + (flag_test_inline): Remove. + (NO_TEST_INLINE): Remove. + * math/libm-test-tanh.inc: Modified. + * math/test-double-vlen2.h: Modified. + (test-math-no-inline.h): Remove include. + * math/test-double-vlen4.h: Modified. + (test-math-no-inline.h): Remove include. + * math/test-double-vlen8.h: Modified. + (test-math-no-inline.h): Remove include. + * math/test-double.h: Modified. + (ULP_I_IDX): Remove. + * math/test-float-vlen16.h: Modified. + (test-math-no-inline.h): Remove include. + * math/test-float-vlen4.h: Modified. + (test-math-no-inline.h): Remove include. + * math/test-float-vlen8.h: Modified. + (test-math-no-inline.h): Remove include. + * math/test-float.h: Modified. + (ULP_I_IDX): Remove. + * math/test-float128.h: Modified. + [FLT128_MANT_DIG != LDBL_MANT_DIG](ULP_I_IDX): Remove. + [FLT128_MANT_DIG == LDBL_MANT_DIG](ULP_I_IDX): Remove. + * math/test-float32.h: Modified. + (ULP_I_IDX): Remove. + * math/test-float32x.h: Modified. + (ULP_I_IDX): Remove. + * math/test-float64.h: Modified. + (ULP_I_IDX): Remove. + * math/test-float64x.h: Modified. + [FLT64X_MANT_DIG != LDBL_MANT_DIG](ULP_I_IDX): Remove. + [FLT64X_MANT_DIG == LDBL_MANT_DIG](ULP_I_IDX): Remove. + * math/test-ldouble.h: Modified. + [LDBL_MANT_DIG == DBL_MANT_DIG](ULP_I_IDX): Remove. + [__LONG_DOUBLE_USES_FLOAT128 != 1](ULP_I_IDX): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 1](ULP_I_IDX): Remove. + * math/test-math-inline.h: Delete file. + * math/test-math-no-inline.h: Delete file. + * sysdeps/aarch64/libm-test-ulps: Modified. + * sysdeps/alpha/fpu/libm-test-ulps: Modified. + * sysdeps/arm/libm-test-ulps: Modified. + * sysdeps/csky/fpu/libm-test-ulps: Modified. + * sysdeps/csky/nofpu/libm-test-ulps: Modified. + * sysdeps/hppa/fpu/libm-test-ulps: Modified. + * sysdeps/i386/fpu/libm-test-ulps: Modified. + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Modified. + * sysdeps/ia64/fpu/libm-test-ulps: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + * sysdeps/m68k/coldfire/fpu/libm-test-ulps: Modified. + * sysdeps/m68k/m680x0/fpu/libm-test-ulps: Modified. + * sysdeps/microblaze/libm-test-ulps: Modified. + * sysdeps/mips/mips32/libm-test-ulps: Modified. + * sysdeps/mips/mips64/libm-test-ulps: Modified. + * sysdeps/nios2/libm-test-ulps: Modified. + * sysdeps/powerpc/fpu/libm-test-ulps: Modified. + * sysdeps/powerpc/nofpu/libm-test-ulps: Modified. + * sysdeps/powerpc/powerpc64/le/Makefile: Modified. + * sysdeps/riscv/nofpu/libm-test-ulps: Modified. + * sysdeps/riscv/rv64/rvd/libm-test-ulps: Modified. + * sysdeps/s390/fpu/libm-test-ulps: Modified. + * sysdeps/sh/libm-test-ulps: Modified. + * sysdeps/sparc/fpu/libm-test-ulps: Modified. + * sysdeps/x86_64/fpu/libm-test-ulps: Modified. + +2020-03-19 Adhemerval Zanella + + COMMIT: a8ce8222343933d28665e1687ab8862c0664d9f7 + Remove __LIBC_INTERNAL_MATH_INLINES + + * math/Makefile: Modified. + * math/test-math-inline.h: Modified. + (__LIBC_INTERNAL_MATH_INLINES): Remove. + * math/test-signgam-main.c: Modified. + (__LIBC_INTERNAL_MATH_INLINES): Remove. + +2020-03-19 Adhemerval Zanella + + COMMIT: a2ce37b56442331fed0e58f1301d7b60451f75f8 + math: Remove mathinline + + * bits/mathinline.h: Delete file. + * math/Makefile: Modified. + * math/math.h: Modified. + +2020-03-19 Adhemerval Zanella + + COMMIT: 4bad2e014e5e2a835cca6139b5e5a0f42ed0ea05 + m68k: Remove mathinline.h + + * sysdeps/m68k/m680x0/fpu/bits/mathinline.h: Delete file. + * sysdeps/m68k/m680x0/fpu/mathimpl.h: Modified. + (__inline_mathop): Remove function. + (__m81_defun): Modified function. + (__m81_defun): Modified function. + (__m81_defun): Modified function. + (__m81_defun): Modified function. + (__m81_defun): Modified function. + (_MATHIMPL_H): New. + (__MATH_INLINE): New. + (__m81_u): New. + (__m81_inline): New. + (__m81_nth): New. + (__m81_defun): New. + (__inline_mathop): New. + (__inline_mathop1): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_functions): New. + (__CONCAT_d): New. + (__CONCAT_f): New. + (__CONCAT_l): New. + (__inline_mathop): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__inline_functions): New. + (__CONCAT_d): New. + (__CONCAT_f): New. + (__CONCAT_l): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__inline_mathop): New. + (__m81_defun): New function. + * sysdeps/m68k/m680x0/fpu/s_atan_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_fabs_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_floor_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_isinf.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_log1p.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_lrint_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_nearbyint_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_rint_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_scalbn.c: Modified. + (NO_MATH_REDIRECT): New. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_sincos_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_tanh_template.c: Modified. + (mathimpl.h): Include file. + * sysdeps/m68k/m680x0/fpu/s_trunc_template.c: Modified. + (mathimpl.h): Include file. + +2020-03-19 Rafał Lużyński + + COMMIT: 649fdf039b1572fca1880a6a643c857bde505456 + oc_FR locale: Fix spelling of Thursday (bug 25639) + + * localedata/locales/oc_FR: Modified. + +2020-03-18 H.J. Lu + + COMMIT: 1fabdb99084df004f7f4cdc7068d1be209a258be + x86: Remove ARCH_CET_LEGACY_BITMAP [BZ #25397] + + * sysdeps/unix/sysv/linux/x86/dl-cet.h: Modified. + (dl_cet_allocate_legacy_bitmap): Remove function. + * sysdeps/unix/sysv/linux/x86/include/asm/prctl.h: Modified. + [! ARCH_CET_STATUS](ARCH_CET_LEGACY_BITMAP): Remove. + * sysdeps/x86/Makefile: Modified. + * sysdeps/x86/dl-cet.c: Modified. + (dl_cet_mark_legacy_region): Remove function. + (dl_cet_check): Modified function. + * sysdeps/x86/dl-procruntime.c: Modified. + [!IS_IN (ldconfig)][!(! PROCINFO_DECL && SHARED)][!(! SHARED || PROCINFO_DECL)][!(! PROCINFO_DECL && SHARED)][! SHARED || PROCINFO_DECL](_dl_x86_legacy_bitmap): Remove. + * sysdeps/x86/tst-cet-legacy-4.c: Modified. + (do_test): Modified function. + (string.h): Include file. + (support/check.h): Include file. + * sysdeps/x86/tst-cet-legacy-5.c: Modified. + (do_test_1): Modified function. + * sysdeps/x86/tst-cet-legacy-6.c: Modified. + (do_test_1): Modified function. + * sysdeps/x86/tst-cet-legacy-7.c: New file. + * sysdeps/x86/tst-cet-legacy-8.c: New file. + +2020-03-17 Joseph Myers + + COMMIT: 49348beafe9ba150c9bd48595b3f372299bddbb0 + Fix build with GCC 10 when long double = double. + + * math/Makefile: Modified. + +2020-03-17 DJ Delorie + + COMMIT: cbd156990489568eb8c1b97ace3ad24fc784e049 + nscd/cachedumper.c : fix whitespace + + * nscd/cachedumper.c: Modified. + (NO_REF): Modified. + (nscd_print_cache): Modified function. + +2020-03-16 DJ Delorie + + COMMIT: 28b4928b1b1735bcacafb2f2e6a928020154a09b + Fix nscd/cachedumper.c compile errors + + * nscd/cachedumper.c: Modified. + (nscd_print_cache): Modified function. + (sys/param.h): Include file. + +2020-03-13 Girish Joshi + + COMMIT: 4315f45c930c9d4f2beb3aeec859e4d6cf02c918 + manual: Fix inconsistent declaration of wcsrchr [BZ #24655] + + * manual/string.texi: Modified. + +2020-03-13 DJ Delorie + + COMMIT: dcf46d3fe5ad8e93f25ad90771484aa22c2ca4fc + nscd: add cache dumper + + * nscd/Makefile: Modified. + * nscd/cachedumper.c: New file. + * nscd/nscd.c: Modified. + (main): Modified function. + (parse_opt): Modified function. + (print_cache): New. + * nscd/nscd.h: Modified. + (nscd_print_cache): New function. + +2020-03-13 Jonathan Wakely + + COMMIT: 2de7fe62534b7a6461c633114f03e9dff394f5f7 + parse_tunables: Fix typo in comment + + * elf/dl-tunables.c: Modified. + +2020-03-11 DJ Delorie + + COMMIT: b7176cc2aff4a8883e4834ddf65f8a6fdb1f160e + ldconfig: trace origin paths with -v + + * elf/ldconfig.c: Modified. + (dir_entry): Modified. + (add_single_dir): Modified function. + (add_dir): Modified function. + (search_dir): Modified function. + (parse_conf): Modified function. + (main): Modified function. + (add_dir_1): New function. + +2020-03-11 Michael Hudson-Doyle + + COMMIT: 083d644d420f49c992667f4c7a54848ad3dee54d + test-container: print errno when execvp fails + + * support/test-container.c: Modified. + (main): Modified function. + +2020-03-11 Wilco Dijkstra + + COMMIT: 700065132744e0dfa6d4d9142d63f6e3a1934726 + [AArch64] Improve integer memcpy + + * sysdeps/aarch64/memcpy.S: Modified. + +2020-03-11 Aurelien Jarno + + COMMIT: 15ab195229dc288d1d49612c3de14a33b88065ed + Add NEWS entry for CVE-2020-10029 (bug 25487) + + * NEWS: Modified. + +2020-03-10 Vineet Gupta + + COMMIT: a9f4703d9341507b5a25924de1410df5bf260adc + gcc PR 89877: miscompilation due to missing cc clobber in longlong.h macros + + * stdlib/longlong.h: Modified. + [(__GNUC__) && ! NO_ASM][(__arc__) && W_TYPE_SIZE == 32](add_ssaaaa): Modified. + [(__GNUC__) && ! NO_ASM][(__arc__) && W_TYPE_SIZE == 32](sub_ddmmss): Modified. + +2020-03-10 Adhemerval Zanella + + COMMIT: d8faf2955aeea873fb6878f888dce4632bc4ba5c + mips: Fix wrong INTERNAL_SYSCALL_ERROR_P check from bc2eb9321e + + * sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c: Modified. + (__fxstatat64): Modified function. + +2020-03-10 Adhemerval Zanella + + COMMIT: fbaf0bae5722307ebede45596e99cdf2837a40c1 + elf: Fix wrong indentation from commit eb447b7b4b + + * elf/dl-deps.c: Modified. + +2020-03-09 Lukasz Majewski + + COMMIT: 8b8f39376be81dc09560d23dbec59cd7080d54f6 + y2038: linux: Provide __futimesat64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__futimesat64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__futimesat64): New. + * sysdeps/unix/sysv/linux/futimesat.c: Modified. + (fcntl.h): Remove include. + (stddef.h): Remove include. + (stdio.h): Remove include. + (string.h): Remove include. + (utime.h): Remove include. + (sys/time.h): Remove include. + (sysdep.h): Remove include. + (futimesat): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](__futimesat): New. + (time.h): Include file. + (__futimesat64): New function. + (weak_alias): New. + +2020-03-09 Lukasz Majewski + + COMMIT: 1a5e12826c02bce330be3f3592c5405314495d66 + y2038: linux: Provide __lutimes64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__lutimes64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__lutimes64): New. + * sysdeps/unix/sysv/linux/lutimes.c: Modified. + (sys/time.h): Remove include. + (sysdep.h): Remove include. + (lutimes): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](__lutimes): New. + (__lutimes64): New function. + (weak_alias): New. + +2020-03-09 Lukasz Majewski + + COMMIT: f072671cf50262cea93cfdc6f8a92ffc8d698e53 + y2038: linux: Provide __futimes64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__futimes64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__futimes64): New. + * sysdeps/unix/sysv/linux/futimes.c: Modified. + (sysdep.h): Remove include. + (string.h): Remove include. + (utime.h): Remove include. + (sys/time.h): Remove include. + (_itoa.h): Remove include. + (fcntl.h): Remove include. + (__futimes): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](__futimes): New. + (__futimes64): New function. + +2020-03-07 Lukasz Majewski + + COMMIT: 7975f9a48a83b95174503bda6c48124f08cb4f62 + y2038: fix: Add missing libc_hidden_def for __futimens64 + + * sysdeps/unix/sysv/linux/futimens.c: Modified. + [__TIMESIZE != 64](libc_hidden_def): New function. + +2020-03-06 Adhemerval Zanella + + COMMIT: b33e946fbb1659d2c5937c4dd756a7c49a132dff + sparc: Move sigreturn stub to assembly + + * sysdeps/unix/sysv/linux/sparc/Makefile: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Modified. + (__rt_sigreturn_stub): Modified. + (__sigreturn_stub): Modified. + (inhibit_stack_protector): Remove. + (__rt_sigreturn_stub): Remove function. + (inhibit_stack_protector): Remove. + (__sigreturn_stub): Remove function. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigreturn_stub.S: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Modified. + (__rt_sigreturn_stub): Modified. + (inhibit_stack_protector): Remove. + (__rt_sigreturn_stub): Remove function. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigreturn_stub.S: New file. + +2020-03-06 Tulio Magno Quites Machado Filho + + COMMIT: d2b2acefa60a0559b0104394be1279eae72c9bb3 + ldbl-128ibm: Let long double files have specific compiler flags + + * sysdeps/ieee754/ldbl-128ibm/Makefile: Modified. + +2020-03-06 Rajalakshmi Srinivasaraghavan + Tulio Magno Quites Machado Filho + Paul E. Murphy + + COMMIT: 0059122aa0e53ff77ee58c5ff7589a814f1228e5 + ldbl-128ibm-compat: Add tests for IBM long double functions + + * math/Makefile: Modified. + * math/test-ibm128.h: New file. + * math/test-ldouble.h: Modified. + [LDBL_MANT_DIG != DBL_MANT_DIG](TYPE_STR): Remove. + [LDBL_MANT_DIG != DBL_MANT_DIG](ULP_IDX): Remove. + [LDBL_MANT_DIG != DBL_MANT_DIG](ULP_I_IDX): Remove. + [__LONG_DOUBLE_USES_FLOAT128 != 1](TYPE_STR): New. + [__LONG_DOUBLE_USES_FLOAT128 != 1](ULP_IDX): New. + [__LONG_DOUBLE_USES_FLOAT128 != 1](ULP_I_IDX): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1](TYPE_STR): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1](ULP_IDX): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1](ULP_I_IDX): New. + * sysdeps/ieee754/ldbl-128ibm-compat/Makeconfig: New file. + +2020-03-06 Matheus Castanho + + COMMIT: 1c252f0e7e5d78695f19450aa7c470bab445aa8e + powerpc: Fix feraiseexcept and feclearexcept macros + + * sysdeps/powerpc/bits/fenvinline.h: Modified. + [! __NO_MATH_INLINES][__GNUC_PREREQ(3, 4)](feraiseexcept): Modified. + [! __NO_MATH_INLINES][__GNUC_PREREQ(3, 4)](feclearexcept): Modified. + +2020-03-06 Adhemerval Zanella + + COMMIT: af09e5e5d9ec3ca20891e61a6922eac984fcbdc4 + arm: Fix softp-fp Implies (BZ #25635) + + * sysdeps/arm/be/nofpu/Implies: New file. + * sysdeps/arm/le/nofpu/Implies: New file. + +2020-03-06 Adhemerval Zanella + + COMMIT: a63189c02136a40e1dc2502a694b8031483daa9f + Remove reference of --without-fp on configure + + * configure: Modified. + * configure.ac: Modified. + +2020-03-06 Adhemerval Zanella + + COMMIT: 60f071f47af51bdbfecf7e2d611555f7376cab03 + linux/sysipc: Include linux/posix_types.h for __kernel_mode_t + + * sysdeps/unix/sysv/linux/msgctl.c: Modified. + (linux/posix_types.h): Include file. + * sysdeps/unix/sysv/linux/semctl.c: Modified. + (linux/posix_types.h): Include file. + * sysdeps/unix/sysv/linux/shmctl.c: Modified. + (linux/posix_types.h): Include file. + +2020-03-05 Fangrui Song + + COMMIT: 87a698a21646b7ee620923ef5ffa9735471a8ddd + Improve IFUNC check [BZ #25506] + + * configure: Modified. + * configure.ac: Modified. + +2020-03-05 Adhemerval Zanella + + COMMIT: 24fdebe75f6df4c0edacb3f0cdc030913920aa4c + linux: Clear mode_t padding bits (BZ#25623) + + * sysdeps/unix/sysv/linux/msgctl.c: Modified. + (__new_msgctl): Modified function. + * sysdeps/unix/sysv/linux/semctl.c: Modified. + (__new_semctl): Modified function. + * sysdeps/unix/sysv/linux/shmctl.c: Modified. + (__new_shmctl): Modified function. + +2020-03-05 Adhemerval Zanella + + COMMIT: d5e492ba4ced4a9101f82dbbd9de77223b9932ac + linux: Remove aarch64 ipc_priv.h + + * sysdeps/unix/sysv/linux/aarch64/ipc_priv.h: Delete file. + +2020-03-05 Florian Weimer + + COMMIT: e5244cd88a5414c964b32bb95cf60fc9c1958a5f + Linux: Use __fstatat64 in fchmodat implementation + + * sysdeps/unix/sysv/linux/fchmodat.c: Modified. + (fchmodat): Modified function. + +2020-03-05 Florian Weimer + + COMMIT: c10826a3277aa7fc0040c0fa18e60cafbab26edf + Linux: Use AT_FDCWD in utime, utimes when calling utimensat + + * sysdeps/unix/sysv/linux/utime.c: Modified. + (__utime64): Modified function. + (fcntl.h): Include file. + * sysdeps/unix/sysv/linux/utimes.c: Modified. + (__utimes64): Modified function. + (fcntl.h): Include file. + +2020-03-05 Stefan Liebler + + COMMIT: 13010976653675db489292dd4e253af2b5be2557 + S390: Remove backchain-based fallback and use generic backtrace.c. + + * sysdeps/s390/s390-32/backtrace.c: Delete file. + * sysdeps/s390/s390-64/backtrace.c: Delete file. + +2020-03-05 Girish Joshi + + COMMIT: f801cf7bb146f9dd7b5e124e752c54194698e132 + manual: Fix wrong declaration of wcschr [BZ #24654] + + * manual/string.texi: Modified. + +2020-03-04 Girish Joshi + + COMMIT: 72bcc9ade00732b5b0ea0e855cc017364aea20df + manual: Fix typo in parse_printf_format example [BZ #24638] + + * manual/stdio.texi: Modified. + +2020-03-04 Siddhesh Poyarekar + + COMMIT: 78c9d0c6efabe2067ef7f93cd36325f54c60adc2 + Update translations + + * po/be.po: Modified. + * po/fr.po: Modified. + +2020-03-03 Alistair Francis + + COMMIT: 4f88b380978e6c81765cbae9fd742590dbec3466 + Convert Python scripts to Python 3 + + * benchtests/scripts/bench.py: Modified. + * benchtests/scripts/validate_benchout.py: Modified. + * conform/glibcconform.py: Modified. + * conform/linknamespace.py: Modified. + * conform/list-header-symbols.py: Modified. + * math/gen-libm-test.py: Modified. + * math/gen-tgmath-tests.py: Modified. + +2020-03-03 Florian Weimer + + COMMIT: c014359a7d5154f295152ec4b7f422cc537bd84e + alpha: Do not build with -fpic + + * sysdeps/alpha/Makefile: Modified. + +2020-03-03 Lukasz Majewski + + COMMIT: 66449d93393dabbfcf33c045c1d3cb49e77a25e4 + y2038: linux: Provide __utime64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__utime64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__utime64): New. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/utime.c: New file. + +2020-03-03 Lukasz Majewski + + COMMIT: d962a5d68a140811eb4b6cf788c41ff471fd95b4 + y2038: linux: Provide __utimes64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__utimes64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__utimes64): New. + * sysdeps/unix/sysv/linux/utimes.c: Modified. + (errno.h): Remove include. + (stddef.h): Remove include. + (utime.h): Remove include. + (sys/time.h): Remove include. + (sysdep.h): Remove include. + (__utimes): Remove function. + [__TIMESIZE != 64](libc_hidden_def): New. + [__TIMESIZE != 64](__utimes): New. + (time.h): Include file. + (__utimes64): New function. + +2020-03-03 Lukasz Majewski + + COMMIT: 847d3913dae1ba9be76d512e849da21b42400228 + y2038: Introduce struct __utimbuf64 - new internal glibc type + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__utimbuf64): New. + [! _ISOMAC][__TIMESIZE == 64](__utimbuf64): New. + +2020-03-03 Florian Weimer + + COMMIT: 24caa35c571fe9590d7cf33dc81d8d94cac7de7f + microblaze: vfork is always available + + * sysdeps/unix/sysv/linux/microblaze/vfork.S: Modified. + +2020-03-03 Florian Weimer + + COMMIT: bf956afeaaf2f466111e72d988e2dc41ef83be9a + m68k: getpagesize syscall number is always available + + * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Modified. + (__getpagesize): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: e76d4fb014bc7675199c0c00931b8508830a6343 + Linux: epoll_pwait syscall number is always available + + * sysdeps/unix/sysv/linux/epoll_pwait.c: Modified. + [! __NR_epoll_pwait](epoll_pwait): Remove. + [__NR_epoll_pwait](epoll_pwait): Remove. + (epoll_pwait): New function. + (libc_hidden_def): New. + +2020-03-03 Florian Weimer + + COMMIT: 63e9b4bd9c4a622659688c150b725cf3890b25d3 + x86_64: Do not define __NR_semtimedop in + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Modified. + [! __NR_semtimedop](__NR_semtimedop): Remove. + +2020-03-03 Florian Weimer + + COMMIT: 2982d0c18f2acd320d7e1c9ad82d33e2c8227384 + ia64: Do not define __NR_semtimedop in + + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Modified. + [! __NR_semtimedop](__NR_semtimedop): Remove. + +2020-03-03 Florian Weimer + + COMMIT: ed9ce57e3c0af9efacf434b05bef6821a80fc898 + Linux: open_by_handle_at syscall number is always available + + * sysdeps/unix/sysv/linux/open_by_handle_at.c: Modified. + (open_by_handle_at): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: b03604b1b8c92d9af2d61d09654b06fccdeac8d5 + Linux: set_robust_list syscall number is always available + + * nptl/nptl-init.c: Modified. + [SHARED](__nptl_set_robust): Modified function. + (__pthread_initialize_minimal_internal): Modified function. + * nptl/pthread_create.c: Modified. + [! __ASSUME_SET_ROBUST_LIST](if): Modified function. + [! __ASSUME_SET_ROBUST_LIST](if): New function. + [__NR_set_robust_list][! __ASSUME_SET_ROBUST_LIST](if): Remove. + * sysdeps/nptl/fork.c: Modified. + (__libc_fork): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: 75376039be338702ed8904800fdcd3f1bc103ca7 + Linux: pciconfig_iobase syscall number is always available on alpha + + * sysdeps/unix/sysv/linux/alpha/ioperm.c: Modified. + (init_iosys): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: 4fe5d3867ae1aa351b8adb76858a9c05819cf3d9 + Linux: getdents64 syscall number is always available on MIPS + + * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c: Modified. + (__getdents64): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: b5350b487cee9bee32990712bc67a5eaffe3ea98 + Linux: Clean up preadv2, pwritev2 system call names + + * sysdeps/unix/sysv/linux/preadv2.c: Modified. + [! __OFF_T_MATCHES_OFF64_T][! __NR_preadv2 && (__NR_pread64v2)](__NR_preadv2): Remove. + [! __OFF_T_MATCHES_OFF64_T](preadv2): Modified function. + * sysdeps/unix/sysv/linux/preadv64v2.c: Modified. + [! __NR_preadv64v2 && (__NR_preadv2)](__NR_preadv64v2): Remove. + (preadv64v2): Modified function. + * sysdeps/unix/sysv/linux/pwritev2.c: Modified. + [! __OFF_T_MATCHES_OFF64_T](pwritev2): Modified function. + * sysdeps/unix/sysv/linux/pwritev64v2.c: Modified. + [! __NR_pwritev64v2 && (__NR_pwritev2)](__NR_pwritev64v2): Remove. + (pwritev64v2): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: 11ae9a185baa1dbe2b200659d043761206fe70e3 + Linux: exit_group syscall number is always available + + * sysdeps/unix/sysv/linux/_exit.c: Modified. + (_exit): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: aa350443c5f38f048e413748990c6779f8540c89 + Linux: set_tid_address syscall number is always available + + * sysdeps/unix/sysv/linux/nscd_setup_thread.c: Modified. + (setup_thread): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: 5d9f1add86e356209da64f50cb90583c2791c1c0 + Linux: pkey_mprotect syscall number is always available + + * sysdeps/unix/sysv/linux/pkey_mprotect.c: Modified. + (pkey_mprotect): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: c99517a738c0adabee933f9bbcd5988beaf4c9c6 + Linux: rt_sigqueueinfo syscall number is always available + + * sysdeps/unix/sysv/linux/aio_sigqueue.c: Modified. + [! __NR_rt_sigqueueinfo](rt/aio_sigqueue.c): Remove. + [__NR_rt_sigqueueinfo](__aio_sigqueue): Remove. + (__aio_sigqueue): New function. + * sysdeps/unix/sysv/linux/gai_sigqueue.c: Modified. + [! __NR_rt_sigqueueinfo](resolv/gai_sigqueue.c): Remove. + [__NR_rt_sigqueueinfo](__gai_sigqueue): Remove. + (__gai_sigqueue): New function. + +2020-03-03 Florian Weimer + + COMMIT: 658b5848a827876cc8a5e518749f78429a9970d7 + Linux: getrandom syscall number is always available + + * sysdeps/unix/sysv/linux/getentropy.c: Modified. + [! __NR_getrandom](getentropy): Remove. + [__NR_getrandom](getentropy): Remove. + (getentropy): New function. + * sysdeps/unix/sysv/linux/getrandom.c: Modified. + [! __NR_getrandom](__getrandom): Remove. + [__NR_getrandom](__getrandom): Remove. + (__getrandom): New function. + +2020-03-03 Florian Weimer + + COMMIT: d241dee4dda34d36a9e94468ae9dcfe07c6ac060 + Linux: Clean up preadv, pwritev system call names + + * sysdeps/unix/sysv/linux/preadv.c: Modified. + [! __OFF_T_MATCHES_OFF64_T][! __ASSUME_PREADV](preadv): Modified function. + [! __OFF_T_MATCHES_OFF64_T][__ASSUME_PREADV][! __NR_preadv](__NR_preadv): Remove. + * sysdeps/unix/sysv/linux/preadv64.c: Modified. + [! __ASSUME_PREADV](preadv64): Modified function. + [__ASSUME_PREADV][! __NR_preadv64](__NR_preadv64): Remove. + [__ASSUME_PREADV](preadv64): Modified function. + * sysdeps/unix/sysv/linux/pwritev.c: Modified. + [! __OFF_T_MATCHES_OFF64_T][! __ASSUME_PREADV](pwritev): Modified function. + [! __OFF_T_MATCHES_OFF64_T][__ASSUME_PREADV][! __NR_pwritev](__NR_pwritev): Remove. + * sysdeps/unix/sysv/linux/pwritev64.c: Modified. + [! __ASSUME_PWRITEV](pwritev64): Modified function. + [__ASSUME_PWRITEV][! __NR_pwritev64](__NR_pwritev64): Remove. + [__ASSUME_PWRITEV](pwritev64): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: 71691aae927b5f5b987bc78be1dc10f27dda6c51 + Linux: Clean up pread64/pwrite64 system call names + + * sysdeps/unix/sysv/linux/generic/sysdep.h: Modified. + [__WORDSIZE == 64](__NR_pread): Remove. + [__WORDSIZE == 64](__NR_pwrite): Remove. + * sysdeps/unix/sysv/linux/pread.c: Modified. + [! __OFF_T_MATCHES_OFF64_T][! __NR_pread](__NR_pread): Remove. + [! __OFF_T_MATCHES_OFF64_T](__libc_pread): Modified function. + * sysdeps/unix/sysv/linux/pread64.c: Modified. + [! __NR_pread64](__NR_pread64): Remove. + * sysdeps/unix/sysv/linux/pread64_nocancel.c: Modified. + [! __NR_pread64](__NR_pread64): Remove. + * sysdeps/unix/sysv/linux/pwrite.c: Modified. + [! __OFF_T_MATCHES_OFF64_T][! __NR_pwrite](__NR_pwrite): Remove. + [! __OFF_T_MATCHES_OFF64_T](__libc_pwrite): Modified function. + * sysdeps/unix/sysv/linux/pwrite64.c: Modified. + [! __NR_pwrite64](__NR_pwrite64): Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Modified. + [! __NR_pread](__NR_pread): Remove. + [! __NR_pwrite](__NR_pwrite): Remove. + (SYS_ify): New. + +2020-03-03 Florian Weimer + + COMMIT: 1a5f1153a770a6f244f4a0eee0441033a1857990 + Linux: sigaltstack syscall number is always available + + * sysdeps/unix/sysv/linux/sigstack.c: Modified. + [! __NR_sigaltstack](signal/sigstack.c): Remove. + [__NR_sigaltstack](sigstack): Remove. + [__NR_sigaltstack](link_warning): Remove. + (sigstack): New function. + (link_warning): New. + +2020-03-03 Florian Weimer + + COMMIT: 822a391076864c7adc14368f1fad3acca99e4077 + Linux: sched_getaffinity syscall number is always available + + * sysdeps/unix/sysv/linux/sched_getaffinity.c: Modified. + [! __NR_sched_getaffinity](posix/sched_getaffinity.c): Remove. + [__NR_sched_getaffinity][SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__sched_getaffinity_new): Remove. + [__NR_sched_getaffinity][SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](libc_hidden_proto): Remove. + [__NR_sched_getaffinity][SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](libc_hidden_def): Remove. + [__NR_sched_getaffinity][SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__sched_getaffinity_old): Remove. + [__NR_sched_getaffinity][SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): Remove. + [__NR_sched_getaffinity](__sched_getaffinity_new): Remove. + [__NR_sched_getaffinity](versioned_symbol): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__sched_getaffinity_new): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](libc_hidden_proto): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](libc_hidden_def): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__sched_getaffinity_old): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): New. + (__sched_getaffinity_new): New function. + (versioned_symbol): New function. + +2020-03-03 Florian Weimer + + COMMIT: 78e132b31941842d70f91eecc2a42c182b8b7cb4 + Linux: sched_setaffinity syscall number is always available + + * sysdeps/unix/sysv/linux/sched_setaffinity.c: Modified. + [! __NR_sched_setaffinity](posix/sched_setaffinity.c): Remove. + [__NR_sched_setaffinity][SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__sched_setaffinity_old): Remove. + [__NR_sched_setaffinity][SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): Remove. + [__NR_sched_setaffinity](__sched_setaffinity_new): Remove. + [__NR_sched_setaffinity](libc_hidden_proto): Remove. + [__NR_sched_setaffinity](__sched_setaffinity_new): Remove. + [__NR_sched_setaffinity](libc_hidden_def): Remove. + [__NR_sched_setaffinity](versioned_symbol): Remove. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__sched_setaffinity_old): New. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](compat_symbol): New. + (__sched_setaffinity_new): New function. + (libc_hidden_proto): New. + (__sched_setaffinity_new): New function. + (libc_hidden_def): New. + (versioned_symbol): New function. + +2020-03-03 Florian Weimer + + COMMIT: 7255ccbec997312033c9fe48e0971a2e7cb19fbf + Linux: statx syscall number is always available + + * sysdeps/unix/sysv/linux/statx.c: Modified. + (statx): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: 276e6080c8646c7f8a9139da8028f25c80d8bdca + Linux: mq_* syscall numbers are always available + + * sysdeps/unix/sysv/linux/mq_close.c: Modified. + [! __NR_mq_open](rt/mq_close.c): Remove. + [__NR_mq_open](mq_close): Remove. + (mq_close): New function. + * sysdeps/unix/sysv/linux/mq_getattr.c: Modified. + [! __NR_mq_getsetattr](rt/mq_getattr.c): Remove. + [__NR_mq_getsetattr](mq_getattr): Remove. + (mq_getattr): New function. + * sysdeps/unix/sysv/linux/mq_notify.c: Modified. + [! __NR_mq_noty](rt/mq_notify.c): Remove. + [__NR_mq_noty](NOTIFY_COOKIE_LEN): Remove. + [__NR_mq_noty](NOTIFY_WOKENUP): Remove. + [__NR_mq_noty](NOTIFY_REMOVED): Remove. + [__NR_mq_noty](notify_data): Remove. + [__NR_mq_noty](once): Remove. + [__NR_mq_noty](netlink_socket): Remove. + [__NR_mq_noty](notify_barrier): Remove. + [__NR_mq_noty](change_sigmask): Remove. + [__NR_mq_noty](notification_function): Remove. + [__NR_mq_noty](helper_thread): Remove. + [__NR_mq_noty](reset_once): Remove. + [__NR_mq_noty](init_mq_netlink): Remove. + [__NR_mq_noty](mq_notify): Remove. + (NOTIFY_COOKIE_LEN): New. + (NOTIFY_WOKENUP): New. + (NOTIFY_REMOVED): New. + (notify_data): New. + (once): New. + (netlink_socket): New. + (notify_barrier): New. + (change_sigmask): New function. + (notification_function): New function. + (helper_thread): New function. + (reset_once): New function. + (init_mq_netlink): New function. + (mq_notify): New function. + * sysdeps/unix/sysv/linux/mq_open.c: Modified. + [! __NR_mq_open](rt/mq_open.c): Remove. + [__NR_mq_open](__mq_open): Remove. + [__NR_mq_open](strong_alias): Remove. + [__NR_mq_open](__mq_open_2): Remove. + (__mq_open): New function. + (strong_alias): New function. + (__mq_open_2): New function. + * sysdeps/unix/sysv/linux/mq_receive.c: Modified. + [! __NR_mq_timedreceive](rt/mq_receive.c): Remove. + [__NR_mq_timedreceive](mq_receive): Remove. + (mq_receive): New function. + * sysdeps/unix/sysv/linux/mq_send.c: Modified. + [! __NR_mq_timedsend](rt/mq_send.c): Remove. + [__NR_mq_timedsend](mq_send): Remove. + (mq_send): New function. + * sysdeps/unix/sysv/linux/mq_unlink.c: Modified. + [! __NR_mq_unlink](rt/mq_unlink.c): Remove. + [__NR_mq_unlink](mq_unlink): Remove. + (mq_unlink): New function. + +2020-03-03 Florian Weimer + + COMMIT: 8d25a6765026162a245c94c5da1140d2f42bcd92 + Linux: mlock2 syscall number is always available + + * sysdeps/unix/sysv/linux/mlock2.c: Modified. + (mlock2): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: a72ae22d5d9951a97b4e3c3101cc651ef1a01da3 + Linux: copy_file_range syscall number is always available + + * sysdeps/unix/sysv/linux/copy_file_range.c: Modified. + (copy_file_range): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: f122f356c59bc6b32a9111bd97b593c39402d993 + Linux: renameat2 syscall number is always available + + * sysdeps/unix/sysv/linux/renameat2.c: Modified. + (__renameat2): Modified function. + +2020-03-03 Florian Weimer + + COMMIT: feaa150680f874b611f51c3349a2c8bc73f90020 + build-many-glibcs.py: Add list-compilers, list-glibcs commands + + * scripts/build-many-glibcs.py: Modified. + +2020-03-03 Florian Weimer + + COMMIT: c592721a5b88806ecdf840269d4e27c17cef47d7 + build-many-glibcs.py: Add --shallow option + + * scripts/build-many-glibcs.py: Modified. + +2020-03-02 Girish Joshi + + COMMIT: 542160f0b6a7c26758c9575a8876f6624a5dd65f + Fixed typo in run_command_array() in support/shell-container.c + + * support/shell-container.c: Modified. + (run_command_array): Modified function. + +2020-03-02 Andreas Schwab + + COMMIT: 808cd69267bb93f0335a8da072f4c026a7753f5f + Add missing libc_hidden_def for __utimensat64 + + * sysdeps/unix/sysv/linux/utimensat.c: Modified. + [__TIMESIZE != 64](libc_hidden_def): New. + +2020-03-02 Florian Weimer + + COMMIT: 0499a353a6e196f468e7ec554cb13c82011f0e36 + elf: Add elf/check-wx-segment, a test for the presence of WX segments + + * elf/Makefile: Modified. + * scripts/check-wx-segment.py: New file. + * sysdeps/sparc/Makefile: Modified. + * sysdeps/unix/sysv/linux/hppa/Makefile: Modified. + +2020-02-28 Adhemerval Zanella + + COMMIT: b5b7fb76e15c0db545aa11a3ce88f836e5d01a19 + i386: Use comdat instead of .gnu.linkonce for i386 setup pic register (BZ #20543) + + * sysdeps/i386/sysdep.h: Modified. + [! __ASSEMBLER__](SETUP_PIC_REG_STR): Modified. + [__ASSEMBLER__](SETUP_PIC_REG): Modified. + +2020-02-28 Paul E. Murphy + + COMMIT: 4068b54c702113905427bf0fd698c93081e9d672 + ldbl-128ibm-compat: link tst-ldbl-efgcvt against loader too + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + +2020-02-28 Paul E. Murphy + + COMMIT: 77d5bddd8f42c81f74994439a354d53c7089b6ad + ldbl-128ibm-compat: enforce ibm128 on compat tests + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + +2020-02-28 Gabriel F. T. Gomes + Tulio Magno Quites Machado Filho + + COMMIT: d96723744332c22a4202a0505a3814cd950bc05d + ldbl-128ibm-compat: Provide nexttoward functions + + * sysdeps/ieee754/ldbl-128/s_nexttoward.c: Modified. + (__nexttoward): Modified function. + * sysdeps/ieee754/ldbl-128/s_nexttowardf.c: Modified. + (__nexttowardf): Modified function. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/s_nextafterf128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/s_nexttowardf128.c: New file. + +2020-02-28 Tulio Magno Quites Machado Filho + + COMMIT: f1a166b0d7af9aa0f4021f67ed8ed496ee2c8b84 + ldbl-128ibm-compat: Provide a significand implementation + + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/s_significandf128.c: New file. + +2020-02-28 Rajalakshmi Srinivasaraghavan + + COMMIT: 39b47ada8d915b939d9d511504902431d152ff6e + ldbl-128ibm-compat: Redirect complex math functions + + * math/complex.h: Modified. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT](__MATHDECL_1): Remove. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__REDIR_TO): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_1): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_1): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL): New. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LONG_DOUBLE_USES_FLOAT128 == 1](__REDIR_TO): New. + (__MATHDECL): Modified. + (__MATHDECL_IMPL): New. + +2020-02-28 Tulio Magno Quites Machado Filho + + COMMIT: 8dbfea3a2094798a52cebddde01d255483f49665 + ldbl-128ibm-compat: Redirect long double functions to f128/ieee128 functions + + * include/math.h: Modified. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH](libm_hidden_proto): Remove. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH](libm_hidden_proto): Remove. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH](libm_hidden_proto): Remove. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH](libm_hidden_proto): Remove. + [! _ISOMAC][!( __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)][! NO_MATH_REDIRECT][! __NO_LONG_DOUBLE_MATH](MATH_REDIRECT_LDBL): Remove. + [! _ISOMAC][!( __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)][! NO_MATH_REDIRECT][__NO_LONG_DOUBLE_MATH](MATH_REDIRECT_LDBL): Remove. + [! _ISOMAC][!( __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)][! NO_MATH_REDIRECT][!(__NO_LONG_DOUBLE_MATH || __LONG_DOUBLE_USES_FLOAT128 == 1)](MATH_REDIRECT_LDBL): New. + [! _ISOMAC][!( __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)][! NO_MATH_REDIRECT][__NO_LONG_DOUBLE_MATH || __LONG_DOUBLE_USES_FLOAT128 == 1](MATH_REDIRECT_LDBL): New. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH](hidden_proto): Remove. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH](hidden_proto): Remove. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH](hidden_proto): Remove. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](hidden_proto): New. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](hidden_proto): New. + [! _ISOMAC][IS_IN (libc) || IS_IN (libm)][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](hidden_proto): New. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](libm_hidden_proto): New. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](libm_hidden_proto): New. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](libm_hidden_proto): New. + [! _ISOMAC][! __NO_LONG_DOUBLE_MATH && __LONG_DOUBLE_USES_FLOAT128 == 0](libm_hidden_proto): New. + * math/bits/mathcalls-helper-functions.h: Modified. + (__MATHDECL_1): Remove. + (__MATHDECL_1): Remove. + (__MATHDECL_1): Remove. + (__MATHDECL_1): Remove. + (__MATHDECL_1): Remove. + (__MATHDECL_1): Remove. + (__MATHDECL_1): Remove. + (__MATHDECL_ALIAS): New function. + (__MATHDECL_ALIAS): New function. + (__MATHDECL_ALIAS): New function. + (__MATHDECL_ALIAS): New function. + (__MATHDECL_ALIAS): New function. + (__MATHDECL_ALIAS): New function. + (__MATHDECL_ALIAS): New function. + * math/bits/mathcalls.h: Modified. + [__USE_MISC][!__MATH_DECLARING_FLOATN](__MATHDECL_1): Remove. + [__USE_MISC][!__MATH_DECLARING_FLOATN](__MATHDECL_ALIAS): New function. + [__USE_MISC][((! __cplusplus || __cplusplus < 201103L || __MATH_DECLARING_DOUBLE == 0)) && !__MATH_DECLARING_FLOATN](__MATHDECL_1): Remove. + [__USE_MISC][((! __cplusplus || __cplusplus < 201103L || __MATH_DECLARING_DOUBLE == 0)) && !__MATH_DECLARING_FLOATN](__MATHDECL_ALIAS): New function. + [__USE_MISC || ( __USE_XOPEN && ! __USE_XOPEN2K)][((! __cplusplus || __cplusplus < 201103L || __MATH_DECLARING_DOUBLE == 0)) && !__MATH_DECLARING_FLOATN](__MATHDECL_1): Remove. + [__USE_MISC || ( __USE_XOPEN && ! __USE_XOPEN2K)][((! __cplusplus || __cplusplus < 201103L || __MATH_DECLARING_DOUBLE == 0)) && !__MATH_DECLARING_FLOATN](__MATHDECL_ALIAS): New function. + * math/math.h: Modified. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME): Modified. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_NARROW): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_NARROW): Remove. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_REDIR_NAME): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_NARROW): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_REDIR_NAME): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_NARROW): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_REDIR_NAME): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_NARROW): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_REDIR_NAME): New. + [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHCALL_NARROW): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT](__MATHDECL_1): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__REDIRTO): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__REDIRTO_ALT): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_1): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_ALIAS): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT_NTH][__USE_ISOC99](__REDIRECT_NTH): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT_NTH][__USE_ISOC99](__REDIRECT_NTH): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT_NTH][__USE_ISOC99](__dremieee128): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT_NTH][__USE_ISOC99](__gammaieee128): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_1): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1](__MATHDECL_ALIAS): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1](__REDIRTO): New. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LONG_DOUBLE_USES_FLOAT128 == 1](__REDIRTO_ALT): New. + (__MATHDECL_ALIAS): New. + (__MATHDECL_ALIAS): New. + * sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h: Modified. + [! __NO_LONG_DOUBLE_MATH][! __cplusplus](iscanonical): Remove. + [! __NO_LONG_DOUBLE_MATH][__HAVE_DISTINCT_FLOAT128](__iscanonicalf128): Remove. + [! __NO_LONG_DOUBLE_MATH](__iscanonicall): Remove. + [! __NO_LONG_DOUBLE_MATH](__iscanonicalf): Remove. + [! __NO_LONG_DOUBLE_MATH](__iscanonical): Remove. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1][! __HAVE_DISTINCT_FLOAT128][! __cplusplus](iscanonical): New. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1][__HAVE_DISTINCT_FLOAT128](__iscanonicalf128): New. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1](__iscanonicall): New. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1](__iscanonicalf): New. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 != 1](__iscanonical): New. + [! __NO_LONG_DOUBLE_MATH][__LONG_DOUBLE_USES_FLOAT128 == 1](__iscanonicall): New. + +2020-02-27 Adhemerval Zanella + + COMMIT: 6437fecca30deb88e5901ab03168cb7b40c7e0a7 + posix: Remove posix waitid + + * sysdeps/posix/waitid.c: Move to... + * sysdeps/mach/hurd/waitid.c: ... here. + [! NO_DO_WAITID](OUR_WAITID): Remove. + [DO_WAITID](OUR_WAITID): Remove. + [OUR_WAITID](OUR_WAITID): Remove. + (assert.h): Remove include. + (signal.h): Remove include. + (__need_NULL): Remove. + (stddef.h): Remove include. + (sys/types.h): Remove include. + (sysdep-cancel.h): Remove include. + (__waitid): Modified function. + +2020-02-27 Adhemerval Zanella + + COMMIT: b3b6a40ab9ad374a85f347adf1725760f1238eb5 + posix: Refactor tst-waitid (BZ #14666) + + * posix/tst-waitid.c: Modified. + [! SA_SIGINFO](CHECK_SIGCHLD): Remove. + [SA_SIGINFO](sigchld_info): Remove. + [SA_SIGINFO](sigchld): Modified function. + [SA_SIGINFO](check_sigchld): Remove function. + [SA_SIGINFO](CHECK_SIGCHLD): Remove. + (test_child): Modified function. + (spurious_sigchld): Remove. + (do_test): Modified function. + (../test-skeleton.c): Remove include. + (time.h): Include file. + (stdatomic.h): Include file. + (stdbool.h): Include file. + (support/xsignal.h): Include file. + (support/xunistd.h): Include file. + (support/check.h): Include file. + (support/process_state.h): Include file. + (chldset): New. + (check_sigchld): New function. + (do_test_waitd_common): New function. + (do_test_waitid): New function. + (support/test-driver.c): Include file. + +2020-02-27 Adhemerval Zanella + + COMMIT: dfe9aa91564c1bf2a23b5589a5db42f9da5d29b5 + support: Add support_process_state_wait + + * support/Makefile: Modified. + * support/process_state.h: New file. + * support/support_process_state.c: New file. + * support/tst-support-process_state.c: New file. + * support/xgetline.c: New file. + * support/xstdio.h: Modified. + (xgetline): New function. + +2020-02-27 Adhemerval Zanella + + COMMIT: 5c8aa3849a58f2ef1d12ffb638a98578fbf99172 + malloc/tst-mallocfork2: Kill lingering process for unexpected failures + + * malloc/tst-mallocfork2.c: Modified. + (sigusr1_handler): Modified function. + (do_test): Modified function. + (error_indicator): New. + (sigusr1_sender_pids): New. + (sigusr2_sender_pid): New. + (kill_children): New function. + +2020-02-26 Florian Weimer + + COMMIT: 758599bc9dcc5764e862bd9e1613c5d1e6efc5d3 + elf: Apply attribute_relro to pointers in elf/dl-minimal.c + + * elf/dl-minimal.c: Modified. + (__rtld_calloc): Remove. + (__rtld_free): Remove. + (__rtld_malloc): Remove. + (__rtld_realloc): Remove. + (rtld_calloc): Modified. + (rtld_free): Modified. + (rtld_malloc): Modified. + (rtld_realloc): Modified. + (__typeof): New function. + (__typeof): New function. + (__typeof): New function. + (__typeof): New function. + +2020-02-25 Rogerio Alves + + COMMIT: f1a0840c15d039631c13258544cdc04e4cbb9c69 + powerpc: Refactor fenvinline.h + + * sysdeps/powerpc/bits/fenvinline.h: Modified. + [! __NO_MATH_INLINES][__GNUC_PREREQ(3, 4)](feraiseexcept): Modified. + [! __NO_MATH_INLINES][__GNUC_PREREQ(3, 4)](feclearexcept): Modified. + [! __NO_MATH_INLINES][__GNUC_PREREQ(3, 4)](sys/param.h): Include file. + [! __NO_MATH_INLINES][!(!__GNUC_PREREQ(9, 0))](__MTFSB0): New. + [! __NO_MATH_INLINES][!(!__GNUC_PREREQ(9, 0))](__MTFSB1): New. + [! __NO_MATH_INLINES][!__GNUC_PREREQ(9, 0)](__MTFSB0): New. + [! __NO_MATH_INLINES][!__GNUC_PREREQ(9, 0)](__MTFSB1): New. + +2020-02-25 Florian Weimer + + COMMIT: d423e17031f379d51c5ad6c33e8b57380c8eea35 + nss_nis: Use NSS_DECLARE_MODULE_FUNCTIONS + + * include/libc-symbols.h: Modified. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_proto): New. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_tls_proto): New. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_def): New. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_weak): New. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_ver): New. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_data_def): New. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_tls_def): New. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_data_weak): New. + [! _ISOMAC][!(IS_IN (libnss_nis))](libnss_nis_hidden_data_ver): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_proto): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_tls_proto): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_def): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_weak): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_ver): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_data_def): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_tls_def): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_data_weak): New. + [! _ISOMAC][IS_IN (libnss_nis)](libnss_nis_hidden_data_ver): New. + * include/netdb.h: Modified. + [! _ISOMAC](DECLARE_NSS_PROTOTYPES): Modified. + * nis/nss-nis.h: Modified. + (__yperr2nss_tab): Remove. + (NSS_DECLARE_MODULE_FUNCTIONS): New function. + * nis/nss_nis/nis-hosts.c: Modified. + (_nss_nis_endhostent): Remove. + (_nss_nis_endhostent): Remove. + (_nss_nis_sethostent): Modified function. + (strong_alias): Remove. + (internal_nis_gethostent_r): Remove function. + (_nss_nis_endhostent): New function. + (libnss_nis_hidden_def): New function. + * nis/nss_nis/nis-network.c: Modified. + (_nss_nis_endnetent): Remove. + (_nss_nis_endnetent): Remove. + (_nss_nis_setnetent): Modified function. + (strong_alias): Remove. + (internal_nis_getnetent_r): Remove function. + (_nss_nis_endnetent): New function. + (libnss_nis_hidden_def): New function. + * nis/nss_nis/nis-spwd.c: Modified. + (_nss_nis_endspent): Remove. + (_nss_nis_endspent): Remove. + (_nss_nis_setspent): Modified function. + (strong_alias): Remove. + (internal_nis_getspent_r): Remove function. + (netdb.h): Include file. + (_nss_nis_endspent): New function. + (libnss_nis_hidden_def): New function. + +2020-02-25 Florian Weimer + + COMMIT: 783e641fbae0cd1ab32d278216247a6f793dd722 + csu: Use ELF constructor instead of _init in libc.so + + * csu/init-first.c: Modified. + (_init): Remove function. + (_init_first): New function. + * elf/soinit.c: Modified. + * include/libc-internal.h: Modified. + +2020-02-21 Paul E. Murphy + + COMMIT: a92ac9f494b2a7d59a1f54ba79c569a35a6da005 + ldbl-128ibm: make ieee754.h work with IEEE 128 long double + + * sysdeps/ieee754/ldbl-128ibm-compat/math_ldbl.h: New file. + * sysdeps/ieee754/ldbl-128ibm/ieee754.h: Modified. + (ibm_extended_long_double): Remove. + [__LONG_DOUBLE_USES_FLOAT128 == 0 || __GNUC_PREREQ (7, 0)](ibm_extended_long_double): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1](ieee854_long_double): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1](IEEE854_LONG_DOUBLE_BIAS): New. + (bits/floatn.h): Include file. + +2020-02-21 Paul E. Murphy + + COMMIT: bb05281822d406afdf5fa0457a91f77a5f5260f1 + ldbl-128ibm-compat: fixup subdir location of several funcs + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + +2020-02-21 Paul E. Murphy + + COMMIT: 74f614b70a3deed12c4587a3311eb5361fdc66dd + ldbl-128ibm-compat: enforce correct abi flags on internal file + + * sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified. + +2020-02-20 Tulio Magno Quites Machado Filho + + COMMIT: 218dad29e80f907ea77d830872770798b0249f67 + ldbl-128ibm-compat: Provide ieee128 symbols to narrow functions + + * math/math-narrow.h: Modified. + [! __HAVE_FLOAT64X_LONG_DOUBLE](libm_alias_float32_float128): Remove. + [! __HAVE_FLOAT64X_LONG_DOUBLE](libm_alias_float64_float128): Remove. + [__HAVE_FLOAT64X_LONG_DOUBLE](libm_alias_float32_float128): Remove. + [__HAVE_FLOAT64X_LONG_DOUBLE](libm_alias_float64_float128): Remove. + (math-narrow-alias-float128.h): Include file. + * sysdeps/generic/math-narrow-alias-float128.h: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/math-narrow-alias-float128.h: New file. + +2020-02-20 Tulio Magno Quites Machado Filho + + COMMIT: 77ad97356caacfa5a54236791c4f1f68b689e915 + Undefine redirections after long double definition on __LDBL_COMPAT [BZ #23294] + + * math/complex.h: Modified. + [!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT][__LDBL_COMPAT](__MATHDECL_1): New. + (__MATHDECL_1): Modified. + (__MATHDECL_1_IMPL): New. + (__MATHDECL_1_IMPL): New. + * math/math.h: Modified. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT](__MATHDECL_2): Remove. + [__USE_ISOC99][!( __NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT || _LIBC_TEST][__LDBL_COMPAT](__MATHDECL_1): New. + (__MATHDECL_1): Modified. + (__MATHDECL_1_IMPL): New. + (__MATHREDIR): New. + (__MATHDECL_1_IMPL): New. + * sysdeps/ieee754/ldbl-opt/Makefile: Modified. + * sysdeps/ieee754/ldbl-opt/test-redirection-ldbl-64.c: New file. + +2020-02-20 Adhemerval Zanella + + COMMIT: b790c8c2ed5d5a51026203ccb3c46a3e95526d6b + nios2: Fix Linux kABI for syscall return + + * sysdeps/unix/sysv/linux/nios2/sysdep.h: Modified. + +2020-02-20 Andreas Schwab + + COMMIT: ddc650e9b3dc916eab417ce9f79e67337b05035c + Fix use-after-free in glob when expanding ~user (bug 25414) + + * posix/glob.c: Modified. + (__glob): Modified function. + +2020-02-20 Florian Weimer + + COMMIT: f2323817dde1e87d44e058af5954c25d72fbdb11 + nptl: Move pthread_setschedparam implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: d5074b30fe54f4e05313672d76698065690eed77 + nptl: Move pthread_getschedparam implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: c1080713adf0069c50e76278954f90c35946a988 + Add hidden prototypes for __sched_getparam, __sched_getscheduler + + * include/sched.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): New. + [! _ISOMAC](libc_hidden_proto): New. + * posix/sched_getp.c: Modified. + (libc_hidden_def): New. + * posix/sched_gets.c: Modified. + (libc_hidden_def): New. + +2020-02-20 Florian Weimer + + COMMIT: ad96df2cd9194b84686c272257e96ea74caff72a + nptl: Move pthread_cond_init implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Remove. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Remove. + (FORWARD): Modified. + (versioned_symbol): Modified. + (FORWARD): Modified. + (versioned_symbol): Modified. + (FORWARD): Modified. + (versioned_symbol): Modified. + (FORWARD): Modified. + (versioned_symbol): Remove. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * nptl/old_pthread_cond_init.c: Modified. + [SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2)](__pthread_cond_init_2_0): Remove. + [SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Remove. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](__pthread_cond_init_2_0): New. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): New. + * nptl/pthreadP.h: Modified. + (libc_hidden_proto): New. + * nptl/pthread_cond_init.c: Modified. + (versioned_symbol): Modified. + (libc_hidden_def): New. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: dc6cfdc934db9997c33728082d63552b9eee4563 + nptl: Move pthread_cond_destroy implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Modified. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](FORWARD2): Remove. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Remove. + (FORWARD): Modified. + (versioned_symbol): Modified. + (FORWARD): Modified. + (versioned_symbol): Modified. + (FORWARD): Modified. + (versioned_symbol): Modified. + (FORWARD): Modified. + (versioned_symbol): Modified. + (FORWARD): Modified. + (versioned_symbol): Remove. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * nptl/old_pthread_cond_destroy.c: Modified. + [SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2)](__pthread_cond_destroy_2_0): Remove. + [SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): Remove. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](__pthread_cond_destroy_2_0): New. + [SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)](compat_symbol): New. + * nptl/pthreadP.h: Modified. + (libc_hidden_proto): New. + * nptl/pthread_cond_destroy.c: Modified. + (versioned_symbol): Modified. + (libc_hidden_def): New. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: 7da5c345a5f527dc6213e8540e4a9c6eceeb6774 + nptl: Move pthread_condattr_init implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: 249afce2e78ccc71cdb3535aa1feded5764cabe7 + nptl: Move pthread_condattr_destroy implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: dc260acd3875a5e6f5e905966a0af19c3c98aca7 + nptl: Move pthread_attr_setscope implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: ed0a69b675cfece1ca8d9d3aa5ed4e412573e28f + nptl: Move pthread_attr_getscope implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: f0929a227b408f369c410645a87d3175a23876b0 + nptl: Move pthread_attr_setschedpolicy implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: ce197a6e0a34211d403bd28c60142bc075cc4236 + nptl: Move pthread_attr_getschedpolicy implementation into libc + + * nptl/Makefile: Modified. + * nptl/Versions: Modified. + * nptl/forward.c: Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Modified. + (FORWARD): Remove. + * nptl/nptl-init.c: Modified. + * sysdeps/nptl/pthread-functions.h: Modified. + (pthread_functions): Modified. + * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Modified. + +2020-02-20 Florian Weimer + + COMMIT: 8923b9962c817096eb0afd7c2e9cf5e9e758f057 + nptl: Sort routines list in Makefile alphabetically + + * nptl/Makefile: Modified. + +2020-02-20 Florian Weimer + + COMMIT: 7e56088050291160afcda0f85efc94d92792f84d + nptl: Use .NOTPARALLEL in Makefile only if actually running tests + + * nptl/Makefile: Modified. + +2020-02-19 Adhemerval Zanella + + COMMIT: 27d83441a2f900059d0421339d0e8c27220ffa36 + Block all signals on timer_create thread (BZ#10815) + + * nptl/Makefile: Modified. + * nptl/tst-cancel28.c: New file. + * rt/Makefile: Modified. + * rt/tst-timer-sigmask.c: New file. + * sysdeps/unix/sysv/linux/internal-signals.h: Modified. + (sigtimer_set): New. + (__libc_signal_block_sigtimer): New function. + (__libc_signal_unblock_sigtimer): New function. + * sysdeps/unix/sysv/linux/timer_routines.c: Modified. + (timer_sigev_thread): Modified function. + (timer_helper_thread): Modified function. + (__start_helper_thread): Modified function. + +2020-02-19 Lucas A. M. Magalhaes + + COMMIT: 8d42bf859a289944749d9f978c076cd318119867 + Fix tst-pkey expectations on pkey_get [BZ #23202] + + * sysdeps/unix/sysv/linux/tst-pkey.c: Modified. + (): Modified. + (sigusr1_handler): Modified function. + +2020-02-18 Lukasz Majewski + + COMMIT: 7455b700279ec8baccf8dd7b119648f8b3e34eec + y2038: linux: Provide __gettimeofday64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__gettimeofday64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__gettimeofday64): New. + * sysdeps/unix/sysv/linux/gettimeofday.c: Modified. + [! USE_IFUNC_GETTIMEOFDAY](time/gettimeofday.c): Remove include. + [! USE_IFUNC_GETTIMEOFDAY][__TIMESIZE != 64](libc_hidden_def): New. + [! USE_IFUNC_GETTIMEOFDAY][__TIMESIZE != 64](__gettimeofday): New. + [! USE_IFUNC_GETTIMEOFDAY](errno.h): Include file. + [! USE_IFUNC_GETTIMEOFDAY](__gettimeofday64): New function. + [! USE_IFUNC_GETTIMEOFDAY](weak_alias): New. + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c: Modified. + (USE_IFUNC_GETTIMEOFDAY): Remove. + [__powerpc64__](USE_IFUNC_GETTIMEOFDAY): New. + * sysdeps/unix/sysv/linux/x86/gettimeofday.c: Modified. + (USE_IFUNC_GETTIMEOFDAY): Remove. + [__x86_64__](USE_IFUNC_GETTIMEOFDAY): New. + +2020-02-18 Florian Weimer + + COMMIT: a492b1e5ef7ab50c6fdd4e4e9879ea5569ab0a6c + Linux: Work around kernel bugs in chmod on /proc/self/fd paths [BZ #14578] + + * io/tst-lchmod.c: Modified. + (test_1): Modified function. + * sysdeps/unix/sysv/linux/fchmodat.c: Modified. + (fchmodat): Modified function. + +2020-02-18 Florian Weimer + + COMMIT: f4349837d93b4dfe9ba09791e280ee2d6c99919f + Introduce and ELF_INITFINI for all architectures + + * csu/elf-init.c: Modified. + [! NO_INITFINI](_init): Remove. + [! NO_INITFINI](_fini): Remove. + (__libc_csu_init): Modified function. + (__libc_csu_fini): Modified function. + [ELF_INITFINI](_init): New. + [ELF_INITFINI](_fini): New. + (elf-initfini.h): Include file. + * csu/gmon-start.c: Modified. + [!ELF_INITFINI](GMON_START_ARRAY_SECTION): New. + (elf-initfini.h): Include file. + * elf/dl-fini.c: Modified. + (_dl_fini): Modified function. + (elf-initfini.h): Include file. + * elf/dl-init.c: Modified. + (call_init): Modified function. + (elf-initfini.h): Include file. + * nptl/pt-crti.S: Modified. + * sysdeps/aarch64/elf-initfini.h: New file. + * sysdeps/init_array/pt-crti.S: Move to... + * sysdeps/alpha/elf-initfini.h: ... here. + (ELF_INITFINI): New. + * sysdeps/arm/elf-initfini.h: New file. + * sysdeps/csky/Implies: Modified. + * sysdeps/init_array/crti.S: Move to... + * sysdeps/generic/crti.S: ... here. + * sysdeps/init_array/crtn.S: Move to... + * sysdeps/generic/crtn.S: ... here. + * sysdeps/generic/elf-initfini.h: New file. + * sysdeps/hppa/elf-initfini.h: New file. + * sysdeps/ia64/elf-initfini.h: New file. + * sysdeps/init_array/elf-init.c: Delete file. + * sysdeps/init_array/gmon-start.c: Delete file. + * sysdeps/m68k/elf-initfini.h: New file. + * sysdeps/microblaze/elf-initfini.h: New file. + * sysdeps/mips/elf-initfini.h: New file. + * sysdeps/nios2/elf-initfini.h: New file. + * sysdeps/powerpc/elf-initfini.h: New file. + * sysdeps/riscv/Implies: Modified. + * sysdeps/s390/elf-initfini.h: New file. + * sysdeps/sh/elf-initfini.h: New file. + * sysdeps/sparc/elf-initfini.h: New file. + * sysdeps/x86/elf-initfini.h: New file. + +2020-02-18 Adhemerval Zanella + + COMMIT: 6e05978f0c30e52420e086cc3156655471e6fb0a + mips: Fix bracktrace result for signal frames + + * debug/backtrace.c: Modified. + (backtrace_helper): Modified function. + (unwind-arch.h): Include file. + * sysdeps/generic/unwind-arch.h: New file. + * sysdeps/unix/sysv/linux/mips/unwind-arch.h: New file. + +2020-02-18 Florian Weimer + + COMMIT: 631cf64bc1d8306e011ef39f60b8cb6de91bd271 + Move implementation of into a C file + + * include/file_change_detection.h: Modified. + (errno.h): Remove include. + (stddef.h): Remove include. + (file_is_unchanged): Remove function. + (file_change_detection_for_stat): Remove function. + (file_change_detection_for_path): Remove function. + (file_change_detection_for_fp): Remove function. + [! _ISOMAC](libc_hidden_proto): New. + [! _ISOMAC](libc_hidden_proto): New. + [! _ISOMAC](libc_hidden_proto): New. + [! _ISOMAC](libc_hidden_proto): New. + (_FILE_CHANGE_DETECTION_H): New. + (__file_is_unchanged): New function. + (__file_change_detection_for_stat): New function. + (__file_change_detection_for_path): New function. + (__file_change_detection_for_fp): New function. + * io/Makefile: Modified. + * io/Versions: Modified. + * io/file_change_detection.c: New file. + * io/tst-file_change_detection.c: Modified. + (__fileno): Remove. + (all_same): Modified function. + (all_different): Modified function. + (do_test): Modified function. + * resolv/res_init.c: Modified. + (__resolv_conf_load): Modified function. + * resolv/resolv_conf.c: Modified. + (__resolv_conf_get_current): Modified function. + +2020-02-18 Florian Weimer + Paul Eggert + + COMMIT: fa185f0d4529c6d70f690306f431ca23662b9138 + : Add type safety and port to Hurd + + * libio/freopen.c: Modified. + (freopen): Modified function. + * libio/freopen64.c: Modified. + (freopen64): Modified function. + * misc/Makefile: Modified. + * misc/fd_to_filename.c: New file. + * misc/tst-fd_to_filename.c: New file. + * sysdeps/generic/arch-fd_to_filename.h: New file. + * sysdeps/generic/fd_to_filename.h: Modified. + (FD_TO_FILENAME_SIZE): Remove. + (fd_to_filename): Remove function. + (_FD_TO_FILENAME_H): New. + (arch-fd_to_filename.h): Include file. + (intprops.h): Include file. + (fd_to_filename): New. + (__fd_to_filename): New function. + * sysdeps/mach/hurd/arch-fd_to_filename.h: New file. + * sysdeps/unix/sysv/linux/fd_to_filename.h: Move to... + * sysdeps/unix/sysv/linux/arch-fd_to_filename.h: ... here. + (sys/stat.h): Remove include. + (string.h): Remove include. + (_itoa.h): Remove include. + (FD_TO_FILENAME_SIZE): Remove. + (fd_to_filename): Remove function. + (FD_TO_FILENAME_PREFIX): New. + +2020-02-17 Gabriel F. T. Gomes + + COMMIT: e4a399921390509418826e8e8995d2441f29e243 + Prepare redirections for IEEE long double on powerpc64le + + * argp/argp.h: Modified. + [__LDBL_COMPAT](bits/argp-ldbl.h): Remove. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/argp-ldbl.h): New. + (bits/floatn.h): Include file. + * libio/bits/stdio-ldbl.h: Modified. + [!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New. + [!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1][!(__USE_ISOC99 || __USE_UNIX98)][__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New. + * libio/stdio.h: Modified. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](__wur): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](__wur): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](__isoc99_sscanf): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](fscanf): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](scanf): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](sscanf): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][__REDIRECT](__wur): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][__REDIRECT](__wur): Remove. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][__REDIRECT](__REDIRECT_NTH): Remove. + [__LDBL_COMPAT](bits/stdio-ldbl.h): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT](__wur): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT](__wur): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT](__REDIRECT_NTH): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0](__wur): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0](__wur): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__REDIRECT && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0](__REDIRECT_NTH): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__wur): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__wur): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__isoc99_sscanf): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](fscanf): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](scanf): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](sscanf): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__wur): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__wur): New. + [!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__REDIRECT_NTH): New. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/stdio-ldbl.h): New. + (bits/floatn.h): Include file. + (bits/floatn.h): Include file. + * misc/bits/syslog-ldbl.h: Modified. + * misc/err.h: Modified. + [__LDBL_COMPAT](bits/err-ldbl.h): Remove. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/err-ldbl.h): New. + (bits/floatn.h): Include file. + * misc/error.h: Modified. + [! __LDBL_COMPAT][__extern_always_inline && __va_arg_pack](bits/error.h): Remove. + [__LDBL_COMPAT](bits/error-ldbl.h): Remove. + [!(__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1)][__extern_always_inline && __va_arg_pack](bits/error.h): New. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/error-ldbl.h): New. + (bits/floatn.h): Include file. + * misc/sys/cdefs.h: Modified. + [! __LDBL_COMPAT || ! __REDIRECT][__REDIRECT](__REDIRECT_LDBL): Remove. + [! __LDBL_COMPAT || ! __REDIRECT][__REDIRECT](__REDIRECT_NTH_LDBL): Remove. + [! __LDBL_COMPAT || ! __REDIRECT](__LDBL_REDIR1): Remove. + [! __LDBL_COMPAT || ! __REDIRECT](__LDBL_REDIR): Remove. + [! __LDBL_COMPAT || ! __REDIRECT](__LDBL_REDIR1_NTH): Remove. + [! __LDBL_COMPAT || ! __REDIRECT](__LDBL_REDIR_NTH): Remove. + [! __LDBL_COMPAT || ! __REDIRECT](__LDBL_REDIR_DECL): Remove. + [__LONG_DOUBLE_MATH_OPTIONAL && __NO_LONG_DOUBLE_MATH][__REDIRECT](__LDBL_REDIR2_DECL): New. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT][__REDIRECT](__REDIRECT_LDBL): New. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT][__REDIRECT](__REDIRECT_NTH_LDBL): New. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR1): New. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR): New. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR1_NTH): New. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR_NTH): New. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR2_DECL): New. + [(! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) || ! __REDIRECT](__LDBL_REDIR_DECL): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][! __REDIRECT](_Static_assert): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR_DECL): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR2_DECL): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR1): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR1_DECL): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR1_NTH): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__REDIRECT_NTH_LDBL): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__REDIRECT_LDBL): New. + [__LONG_DOUBLE_USES_FLOAT128 == 1][__REDIRECT](__LDBL_REDIR_NTH): New. + * misc/sys/syslog.h: Modified. + [__LDBL_COMPAT](bits/syslog-ldbl.h): Remove. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/syslog-ldbl.h): New. + (bits/floatn.h): Include file. + * stdio-common/printf.h: Modified. + [__LDBL_COMPAT](bits/printf-ldbl.h): Remove. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/printf-ldbl.h): New. + (bits/floatn.h): Include file. + * stdlib/bits/stdlib-ldbl.h: Modified. + [__USE_ISOC99][! __LDBL_COMPAT][__USE_GNU][! __LDBL_COMPAT][__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! __LDBL_COMPAT][__USE_MISC][__LONG_DOUBLE_USES_FLOAT128 != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New. + * stdlib/monetary.h: Modified. + [__LDBL_COMPAT](bits/monetary-ldbl.h): Remove. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/monetary-ldbl.h): New. + (bits/floatn.h): Include file. + * stdlib/stdlib.h: Modified. + [__LDBL_COMPAT](bits/stdlib-ldbl.h): Remove. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/stdlib-ldbl.h): New. + (bits/floatn.h): Include file. + * wcsmbs/bits/wchar-ldbl.h: Modified. + [__USE_ISOC95 || __USE_UNIX98][!(!__GLIBC_USE (DEPRECATED_SCANF))](__LDBL_REDIR_DECL): Remove. + [__USE_ISOC95 || __USE_UNIX98][!(!__GLIBC_USE (DEPRECATED_SCANF))](__LDBL_REDIR_DECL): Remove. + [__USE_ISOC95 || __USE_UNIX98][!(!__GLIBC_USE (DEPRECATED_SCANF))](__LDBL_REDIR_DECL): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__USE_ISOC99][!(!__GLIBC_USE (DEPRECATED_SCANF))](__LDBL_REDIR_DECL): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__USE_ISOC99][!(!__GLIBC_USE (DEPRECATED_SCANF))](__LDBL_REDIR_DECL): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__USE_ISOC99][!(!__GLIBC_USE (DEPRECATED_SCANF))](__LDBL_REDIR_DECL): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__USE_GNU](__LDBL_REDIR1_DECL): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__USE_ISOC99](__LDBL_REDIR1_DECL): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](__LDBL_REDIR_DECL): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](__LDBL_REDIR_DECL): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](__LDBL_REDIR_DECL): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1][__USE_GNU][__LDBL_COMPAT](__LDBL_REDIR1_DECL): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1](__LDBL_REDIR1_DECL): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1](__LDBL_REDIR_DECL): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1](__LDBL_REDIR_DECL): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LONG_DOUBLE_USES_FLOAT128 == 1][__USE_ISOC99][__LDBL_COMPAT](__LDBL_REDIR1_DECL): New. + * wcsmbs/wchar.h: Modified. + [__LDBL_COMPAT](bits/wchar-ldbl.h): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](__isoc99_fwscanf): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](__isoc99_wscanf): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](__isoc99_swscanf): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](fwscanf): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](wscanf): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][! __REDIRECT](swscanf): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][__REDIRECT](__REDIRECT): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][__REDIRECT](__REDIRECT): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT][__REDIRECT](__REDIRECT_NTH): Remove. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__isoc99_fwscanf): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__isoc99_wscanf): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__isoc99_swscanf): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](fwscanf): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](wscanf): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](swscanf): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__REDIRECT): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__REDIRECT): New. + [__USE_ISOC95 || __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__REDIRECT_NTH): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vfwscanf): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vwscanf): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](__isoc99_vswscanf): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vfwscanf): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vwscanf): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][! __REDIRECT](vswscanf): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K)][__REDIRECT](__REDIRECT_NTH): Remove. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__isoc99_vfwscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__isoc99_vwscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](__isoc99_vswscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](vfwscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](vwscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][! __REDIRECT](vswscanf): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__REDIRECT): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__REDIRECT): New. + [__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF) && (! __LDBL_COMPAT || ! __REDIRECT) && ( __STRICT_ANSI__ || __USE_XOPEN2K) && __LONG_DOUBLE_USES_FLOAT128 == 0][__REDIRECT](__REDIRECT_NTH): New. + [__LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1](bits/wchar-ldbl.h): New. + (bits/floatn.h): Include file. + +2020-02-17 Florian Weimer + + COMMIT: 1f1c65e232878bca88fe8551318c7bc02b90ee90 + conform/conformtest.py: Extend tokenizer to cover character constants + + * conform/conformtest.py: Modified. + +2020-02-17 Florian Weimer + + COMMIT: ab3df8154f9176f7935cbc297aed97092c5e8103 + stdlib: Reduce namespace pollution in + + * stdlib/inttypes.h: Modified. + [__USE_EXTERN_INLINES][__WORDSIZE != 64](__NTH): Modified function. + [__USE_EXTERN_INLINES][__WORDSIZE != 64](__NTH): Modified function. + [__USE_EXTERN_INLINES][__WORDSIZE != 64](__NTH): Modified function. + [__USE_EXTERN_INLINES][__WORDSIZE != 64](__NTH): Modified function. + [__USE_EXTERN_INLINES][__WORDSIZE == 64](__NTH): Modified function. + [__USE_EXTERN_INLINES][__WORDSIZE == 64](__NTH): Modified function. + [__USE_EXTERN_INLINES][__WORDSIZE == 64](__NTH): Modified function. + [__USE_EXTERN_INLINES][__WORDSIZE == 64](__NTH): Modified function. + +2020-02-17 Florian Weimer + + COMMIT: fe49a73316ed82f57bccb60c9e8e51c59e940835 + x86: Avoid single-argument _Static_assert in + + * sysdeps/i386/nptl/tls.h: Modified. + [! __ASSEMBLER__](THREAD_GETMEM): Modified. + [! __ASSEMBLER__](THREAD_GETMEM_NC): Modified. + [! __ASSEMBLER__](THREAD_SETMEM): Modified. + [! __ASSEMBLER__](THREAD_SETMEM_NC): Modified. + * sysdeps/mach/hurd/i386/tls.h: Modified. + [! __ASSEMBLER__](THREAD_GETMEM): Modified. + [! __ASSEMBLER__](THREAD_GETMEM_NC): Modified. + [! __ASSEMBLER__](THREAD_SETMEM): Modified. + [! __ASSEMBLER__](THREAD_SETMEM_NC): Modified. + * sysdeps/x86_64/nptl/tls.h: Modified. + [! __ASSEMBLER__](THREAD_GETMEM): Modified. + [! __ASSEMBLER__](THREAD_GETMEM_NC): Modified. + [! __ASSEMBLER__](THREAD_SETMEM): Modified. + [! __ASSEMBLER__](THREAD_SETMEM_NC): Modified. + +2020-02-17 Samuel Thibault + + COMMIT: f1bdee617975bfd962a7940b76ec75c8b1d768d7 + x86 tls: Use _Static_assert for TLS access size assertion + + * sysdeps/i386/nptl/tls.h: Modified. + [! __ASSEMBLER__](THREAD_GETMEM): Modified. + [! __ASSEMBLER__](THREAD_GETMEM_NC): Modified. + [! __ASSEMBLER__](THREAD_SETMEM): Modified. + [! __ASSEMBLER__](THREAD_SETMEM_NC): Modified. + * sysdeps/mach/hurd/i386/tls.h: Modified. + [! __ASSEMBLER__](THREAD_GETMEM): Modified. + [! __ASSEMBLER__](THREAD_GETMEM_NC): Modified. + [! __ASSEMBLER__](THREAD_SETMEM): Modified. + [! __ASSEMBLER__](THREAD_SETMEM_NC): Modified. + * sysdeps/x86_64/nptl/tls.h: Modified. + [! __ASSEMBLER__](THREAD_GETMEM): Modified. + [! __ASSEMBLER__](THREAD_GETMEM_NC): Modified. + [! __ASSEMBLER__](THREAD_SETMEM): Modified. + [! __ASSEMBLER__](THREAD_SETMEM_NC): Modified. + +2020-02-17 Samuel Thibault + + COMMIT: edba4e5f91ee3f5aea32e77df7eb1019d32ae5ed + htl: Link internal htl tests against libpthread + + * htl/Makefile: Modified. + +2020-02-16 Samuel Thibault + + COMMIT: 0cbc855acb176f654acb58a67abf46db473ffc63 + pthread: Fix building tst-robust8 with nptl + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + +2020-02-16 Samuel Thibault + + COMMIT: a25077a431758b30aa60103945fe70811e8207ef + pthread: Move robust mutex tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * nptl/pthreadP.h: Modified. + (__PTHREAD_NPTL): New. + * sysdeps/htl/pthreadP.h: Modified. + (__PTHREAD_HTL): New. + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-robust1.c: Move to... + * sysdeps/pthread/tst-robust1.c: ... here. + * nptl/tst-robust10.c: Move to... + * sysdeps/pthread/tst-robust10.c: ... here. + * nptl/tst-robust2.c: Move to... + * sysdeps/pthread/tst-robust2.c: ... here. + * nptl/tst-robust3.c: Move to... + * sysdeps/pthread/tst-robust3.c: ... here. + * nptl/tst-robust4.c: Move to... + * sysdeps/pthread/tst-robust4.c: ... here. + * nptl/tst-robust5.c: Move to... + * sysdeps/pthread/tst-robust5.c: ... here. + * nptl/tst-robust6.c: Move to... + * sysdeps/pthread/tst-robust6.c: ... here. + * nptl/tst-robust7.c: Move to... + * sysdeps/pthread/tst-robust7.c: ... here. + * nptl/tst-robust8.c: Move to... + * sysdeps/pthread/tst-robust8.c: ... here. + (do_test): Modified function. + (pthreadP.h): Include file. + * nptl/tst-robust9.c: Move to... + * sysdeps/pthread/tst-robust9.c: ... here. + +2020-02-16 Samuel Thibault + + COMMIT: f640c4231df53aecd5880b4a172981e633de2718 + htl: Remove stub warning for pthread_mutexattr_setpshared + + * sysdeps/mach/hurd/htl/pt-mutexattr-setpshared.c: Modified. + +2020-02-16 Samuel Thibault + + COMMIT: 6c43d94a96a15b0655049b3d37055421fc6b7e3d + htl: Add missing functions and defines for robust mutexes + + * htl/Versions: Modified. + * sysdeps/htl/pthread.h: Modified. + [__USE_XOPEN2K](PTHREAD_MUTEX_ROBUST_NP): New. + * sysdeps/mach/hurd/i386/libpthread.abilist: Modified. + +2020-02-15 Samuel Thibault + + COMMIT: ca843defbcbd2dc95b9342189e5dc430e9bcb743 + htl: Only check pthread_self coherency when DEBUG is set + + * sysdeps/mach/hurd/htl/pt-sysdep.h: Modified. + (_pthread_self): Remove. + [! DEBUG](_pthread_self): New. + [DEBUG](_pthread_self): New. + +2020-02-15 Samuel Thibault + + COMMIT: b65a82e4e757c1e6cb7073916a29bf7ff3170529 + hurd: Add THREAD_GET/SETMEM/_NC + + * hurd/hurd/signal.h: Modified. + [__USE_EXTERN_INLINES && _LIBC][IS_IN (libc)](_hurd_self_sigstate): Modified function. + [__USE_EXTERN_INLINES && _LIBC][IS_IN (libc)](_hurd_critical_section_lock): Modified function. + * sysdeps/mach/hurd/i386/tls.h: Modified. + [! __ASSEMBLER__](THREAD_GETMEM): New. + [! __ASSEMBLER__](THREAD_GETMEM_NC): New. + [! __ASSEMBLER__](THREAD_SETMEM): New. + [! __ASSEMBLER__](THREAD_SETMEM_NC): New. + +2020-02-15 Samuel Thibault + + COMMIT: fe66db99f49e009ee4a89827fdb6bf97a6600c58 + hurd tls: update comment about fields at the end of tcbhead + + * sysdeps/mach/hurd/i386/tls.h: Modified. + +2020-02-15 Florian Weimer + + COMMIT: 3a0ecccb599a6b1ad4b149dc569c0080e92d057b + ld.so: Do not export free/calloc/malloc/realloc functions [BZ #25486] + + * elf/Makefile: Modified. + * elf/Versions: Modified. + * elf/dl-lookup.c: Modified. + (do_lookup_unique): Modified function. + * elf/dl-minimal.c: Modified. + (free): Remove. + (realloc): Remove. + (malloc): Remove function. + (calloc): Remove function. + (free): Remove function. + (realloc): Remove function. + (dl-irel.h): Include file. + (dl-hash.h): Include file. + (dl-sym-post.h): Include file. + (__rtld_calloc): New. + (__rtld_free): New. + (__rtld_malloc): New. + (__rtld_realloc): New. + (rtld_calloc): New. + (rtld_free): New. + (rtld_malloc): New. + (rtld_realloc): New. + (__rtld_malloc_init_stubs): New function. + (lookup_malloc_symbol): New function. + (__rtld_malloc_init_real): New function. + (rtld_malloc): New function. + (rtld_calloc): New function. + (rtld_free): New function. + (rtld_realloc): New function. + * elf/rtld.c: Modified. + (_dl_start): Modified function. + (dl_main): Modified function. + * include/inline-hashtab.h: Modified. + (htab_create): Modified function. + (htab_expand): Modified function. + * include/libc-symbols.h: Modified. + [! _ISOMAC][SHARED](symbol_version_string): New. + [! _ISOMAC][SHARED](_symbol_version_stringify_1): New. + [! _ISOMAC][SHARED](_symbol_version_stringify_2): New. + * include/malloc.h: Modified. + [! _ISOMAC](rtld-malloc.h): Include file. + * include/rtld-malloc.h: New file. + * include/stdlib.h: Modified. + [! _ISOMAC](rtld-malloc.h): Include file. + * sysdeps/generic/localplt.data: Modified. + * sysdeps/mach/hurd/i386/ld.abilist: Modified. + * sysdeps/mach/hurd/i386/localplt.data: Modified. + * sysdeps/unix/sysv/linux/aarch64/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/aarch64/localplt.data: Modified. + * sysdeps/unix/sysv/linux/alpha/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/alpha/localplt.data: Modified. + * sysdeps/unix/sysv/linux/arm/be/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/le/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/arm/localplt.data: Modified. + * sysdeps/unix/sysv/linux/csky/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/csky/localplt.data: Modified. + * sysdeps/unix/sysv/linux/hppa/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/hppa/localplt.data: Modified. + * sysdeps/unix/sysv/linux/i386/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/i386/localplt.data: Modified. + * sysdeps/unix/sysv/linux/ia64/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/ia64/localplt.data: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/coldfire/localplt.data: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data: Modified. + * sysdeps/unix/sysv/linux/microblaze/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/microblaze/localplt.data: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/nios2/localplt.data: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data: Modified. + * sysdeps/unix/sysv/linux/riscv/localplt.data: Modified. + * sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/localplt.data: Modified. + * sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/be/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/le/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/sh/localplt.data: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data: Modified. + * sysdeps/unix/sysv/linux/x86_64/64/ld.abilist: Modified. + * sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist: Modified. + * sysdeps/x86_64/localplt.data: Modified. + +2020-02-15 Florian Weimer + + COMMIT: 2efa52c880d46ee89523c8ed8102ceeb02043926 + Remove weak declaration of free from + + * include/inline-hashtab.h: Modified. + (free): Remove. + (htab_create): Modified function. + (htab_delete): Modified function. + (htab_expand): Modified function. + +2020-02-15 Florian Weimer + + COMMIT: c76147afe917ef7d309ee893f8f017a3c2934aac + elf: Extract _dl_sym_post, _dl_sym_find_caller_map from elf/dl-sym.c + + * elf/dl-sym-post.h: New file. + * elf/dl-sym.c: Modified. + (find_caller_link_map): Remove function. + (do_sym): Modified function. + (dl-sym-post.h): Include file. + +2020-02-15 Florian Weimer + + COMMIT: abcc039d2e26b3c9c723d6419e086753a791b3d5 + elf: Introduce the rtld-stubbed-symbols makefile variable + + * elf/Makefile: Modified. + +2020-02-15 Andreas Schwab + + COMMIT: 9c7a58347b37065698106561f5c50010591f5194 + arm: fix use of INTERNAL_SYSCALL_CALL + + * sysdeps/unix/sysv/linux/arm/tls.h: Modified. + [! __ASSEMBLER__](TLS_INIT_TP): Modified. + +2020-02-14 Adhemerval Zanella + + COMMIT: bc2eb9321ec0d17d41596933617b2522c9aa5e0b + linux: Remove INTERNAL_SYSCALL_DECL + + * Suppressing diff as too many files differ. + +2020-02-14 Adhemerval Zanella + + COMMIT: d1aea2805df2d9f5e06f8b508b377a8bc95ba335 + nptl: Remove ununsed pthread-errnos.h rule + + * nptl/Makefile: Modified. + * nptl/pthread-errnos.sym: Delete file. + +2020-02-14 Adhemerval Zanella + + COMMIT: fcb78a55058fd4e3477d9e4c6a5083d650aefa31 + linux: Consolidate INLINE_SYSCALL + + * sysdeps/i386/pthread_spin_trylock.S: Modified. + * sysdeps/mips/nptl/tls.h: Modified. + [! __ASSEMBLER__][! __mips16][!(__mips_isa_rev >= 2)](READ_THREAD_POINTER): Remove. + [! __ASSEMBLER__][! __mips16][__mips_isa_rev >= 2](READ_THREAD_POINTER): Remove. + [! __ASSEMBLER__][! __mips16][!((__mips_isa_rev) && __mips_isa_rev >= 2)](READ_THREAD_POINTER): New. + [! __ASSEMBLER__][! __mips16][(__mips_isa_rev) && __mips_isa_rev >= 2](READ_THREAD_POINTER): New. + * sysdeps/sh/nptl/pthread_spin_trylock.S: Modified. + * sysdeps/sparc/sparc32/pthread_spin_trylock.S: Modified. + * sysdeps/sparc/sparc64/pthread_spin_trylock.S: Modified. + * sysdeps/unix/arm/sysdep.S: Modified. + * sysdeps/unix/mips/sysdep.S: Modified. + * sysdeps/unix/sh/sysdep.S: Modified. + * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/alpha/brk.S: Modified. + * sysdeps/unix/sysv/linux/alpha/sysdep.h: Modified. + [! __ASSEMBLER__](errno.h): Remove include. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): New. + * sysdeps/unix/sysv/linux/arm/sysdep.h: Modified. + [! __ASSEMBLER__](errno.h): Remove include. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/csky/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/hppa/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Modified. + [! __ASSEMBLER__][!(IS_IN (libc))](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__][IS_IN (libc)](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INLINE_SYSCALL_ERROR_RETURN_VALUE): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): Modified. + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): Modified. + * sysdeps/unix/sysv/linux/m68k/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): New. + * sysdeps/unix/sysv/linux/microblaze/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): New. + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Modified. + [! __ASSEMBLER__](errno.h): Remove include. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__][__PIC__](SYSCALL_ERROR_LABEL): Modified. + * sysdeps/unix/sysv/linux/mips/mips64/sysdep.h: Modified. + [! __ASSEMBLER__](errno.h): Remove include. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): Modified. + * sysdeps/unix/sysv/linux/nios2/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): Modified. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Modified. + (INLINE_SYSCALL): Remove. + (INTERNAL_SYSCALL_DECL): Remove. + (INTERNAL_SYSCALL_ERROR_P): Remove. + (INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/riscv/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Modified. + [! __ASSEMBLER__](errno.h): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): New. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Modified. + [! __ASSEMBLER__](errno.h): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): New. + * sysdeps/unix/sysv/linux/s390/sysdep.h: Modified. + (INLINE_SYSCALL): Remove. + (INTERNAL_SYSCALL_DECL): Remove. + (INTERNAL_SYSCALL_ERROR_P): Remove. + (INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/sh/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Modified. + * sysdeps/unix/sysv/linux/sparc/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + * sysdeps/unix/sysv/linux/sysdep.h: Modified. + [! SYSCALL_ERROR_LABEL](SYSCALL_ERROR_LABEL): New. + (_SYSDEP_LINUX_H): New. + (errno.h): Include file. + (INTERNAL_SYSCALL_DECL): New. + (INTERNAL_SYSCALL_ERROR_P): New. + (INLINE_SYSCALL): New. + (INTERNAL_SYSCALL_ERRNO): New. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Modified. + [! __ASSEMBLER__](INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INLINE_SYSCALL_TYPES): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): Remove. + [__ASSEMBLER__](SYSCALL_ERROR_LABEL): New. + * sysdeps/unix/x86_64/sysdep.S: Modified. + * sysdeps/x86_64/nptl/pthread_spin_trylock.S: Modified. + +2020-02-14 Adhemerval Zanella + + COMMIT: 9a973da617772eff1f351989f8995f4305a2e63c + s390: Consolidate Linux syscall definition + + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Modified. + (SYS_ify): Remove. + (INLINE_SYSCALL): Remove. + (INTERNAL_SYSCALL_DECL): Remove. + (INTERNAL_SYSCALL_DIRECT): Remove. + (INTERNAL_SYSCALL_SVC0): Remove. + (INTERNAL_SYSCALL_NCS): Remove. + (INTERNAL_SYSCALL): Remove. + (INTERNAL_SYSCALL_ERROR_P): Remove. + (INTERNAL_SYSCALL_ERRNO): Remove. + (DECLARGS_0): Remove. + (DECLARGS_1): Remove. + (DECLARGS_2): Remove. + (DECLARGS_3): Remove. + (DECLARGS_4): Remove. + (DECLARGS_5): Remove. + (DECLARGS_6): Remove. + (ASMFMT_0): Remove. + (ASMFMT_1): Remove. + (ASMFMT_2): Remove. + (ASMFMT_3): Remove. + (ASMFMT_4): Remove. + (ASMFMT_5): Remove. + (ASMFMT_6): Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Modified. + (SYS_ify): Remove. + (INLINE_SYSCALL): Remove. + (INTERNAL_SYSCALL_DECL): Remove. + (INTERNAL_SYSCALL_DIRECT): Remove. + (INTERNAL_SYSCALL_SVC0): Remove. + (INTERNAL_SYSCALL_NCS): Remove. + (INTERNAL_SYSCALL): Remove. + (INTERNAL_SYSCALL_ERROR_P): Remove. + (INTERNAL_SYSCALL_ERRNO): Remove. + (DECLARGS_0): Remove. + (DECLARGS_1): Remove. + (DECLARGS_2): Remove. + (DECLARGS_3): Remove. + (DECLARGS_4): Remove. + (DECLARGS_5): Remove. + (DECLARGS_6): Remove. + (ASMFMT_0): Remove. + (ASMFMT_1): Remove. + (ASMFMT_2): Remove. + (ASMFMT_3): Remove. + (ASMFMT_4): Remove. + (ASMFMT_5): Remove. + (ASMFMT_6): Remove. + (SINGLE_THREAD_BY_GLOBAL): Remove. + * sysdeps/unix/sysv/linux/s390/sysdep.h: Modified. + (SYS_ify): New. + (INLINE_SYSCALL): New. + (INTERNAL_SYSCALL_DECL): New. + (INTERNAL_SYSCALL_DIRECT): New. + (INTERNAL_SYSCALL_SVC0): New. + (INTERNAL_SYSCALL_NCS): New. + (INTERNAL_SYSCALL): New. + (INTERNAL_SYSCALL_ERROR_P): New. + (INTERNAL_SYSCALL_ERRNO): New. + (DECLARGS_0): New. + (DECLARGS_1): New. + (DECLARGS_2): New. + (DECLARGS_3): New. + (DECLARGS_4): New. + (DECLARGS_5): New. + (DECLARGS_6): New. + (ASMFMT_0): New. + (ASMFMT_1): New. + (ASMFMT_2): New. + (ASMFMT_3): New. + (ASMFMT_4): New. + (ASMFMT_5): New. + (ASMFMT_6): New. + (SINGLE_THREAD_BY_GLOBAL): New. + +2020-02-14 Adhemerval Zanella + + COMMIT: be74b42ee2a97009a6cd4fc90126add4a41c583b + riscv: Avoid clobbering register parameters in syscall + + * sysdeps/unix/sysv/linux/riscv/sysdep.h: Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + [! __ASSEMBLER__](internal_syscall7): Modified. + +2020-02-14 Adhemerval Zanella + + COMMIT: 6cc8fc7c1506e8084d65b078ff5b05a92e17a28a + microblaze: Avoid clobbering register parameters in syscall + + * sysdeps/unix/sysv/linux/microblaze/sysdep.h: Modified. + [! __ASSEMBLER__](inline_syscall0): Modified. + [! __ASSEMBLER__](inline_syscall1): Modified. + [! __ASSEMBLER__](inline_syscall2): Modified. + [! __ASSEMBLER__](inline_syscall3): Modified. + [! __ASSEMBLER__](inline_syscall4): Modified. + [! __ASSEMBLER__](inline_syscall5): Modified. + [! __ASSEMBLER__](inline_syscall6): Modified. + +2020-02-14 Adhemerval Zanella + + COMMIT: 861be5fd6601bed58b63ae0eb23097abf1ac0e1c + nios2: Use Linux kABI for syscall return + + * sysdeps/unix/sysv/linux/nios2/sysdep.h: Modified. + +2020-02-14 Adhemerval Zanella + + COMMIT: cf1e05f5990aba073864cd0bc681cd017e663351 + mips: Use Linux kABI for syscall return + + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Modified. + [! __ASSEMBLER__][__mips16](INTERNAL_SYSCALL_NCS): Modified. + [! __ASSEMBLER__](internal_syscall0): Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + [! __ASSEMBLER__](internal_syscall7): Modified. + * sysdeps/unix/sysv/linux/mips/mips64/sysdep.h: Modified. + [! __ASSEMBLER__](internal_syscall0): Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + * sysdeps/unix/sysv/linux/mips/sysdep.h: Modified. + [! __ASSEMBLER__](INTERNAL_VSYSCALL_CALL): Remove. + +2020-02-14 Adhemerval Zanella + + COMMIT: ebb4aed873de6ee6ce3c0d2f55660808a04c9e68 + mips64: Consolidate Linux sysdep.h + + * sysdeps/unix/mips/mips64/n64/sysdep.h: Delete file. + * sysdeps/unix/mips/mips64/n32/sysdep.h: Move to... + * sysdeps/unix/mips/mips64/sysdep.h: ... here. + [__ASSEMBLER__][__PIC__](PSEUDO): Modified. + [__ASSEMBLER__](sys/asm.h): Include file. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Delete file. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Move to... + * sysdeps/unix/sysv/linux/mips/mips64/sysdep.h: ... here. + [! __ASSEMBLER__](ARGIFY): Remove. + [! __ASSEMBLER__](internal_syscall0): Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + [! __ASSEMBLER__][_MIPS_SIM != _ABIN32](ARGIFY): New. + [! __ASSEMBLER__][_MIPS_SIM != _ABIN32](__syscall_arg_t): New. + [! __ASSEMBLER__][_MIPS_SIM == _ABIN32](ARGIFY): New. + [! __ASSEMBLER__][_MIPS_SIM == _ABIN32](__syscall_arg_t): New. + (sysdeps/unix/mips/mips64/n32/sysdep.h): Remove include. + (sysdeps/unix/mips/mips64/sysdep.h): Include file. + +2020-02-14 Adhemerval Zanella + + COMMIT: 157252e9edc80374faa2bccc743b3d2933b1e062 + ia64: Use Linux kABI for syscall return + + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Modified. + [! __ASSEMBLER__][! IA64_USE_NEW_STUB](DO_INLINE_SYSCALL_NCS): Remove. + [! __ASSEMBLER__][! IA64_USE_NEW_STUB](INTERNAL_SYSCALL_NCS): New. + [! __ASSEMBLER__][IA64_USE_NEW_STUB](DO_INLINE_SYSCALL_NCS): Remove. + [! __ASSEMBLER__][IA64_USE_NEW_STUB](INTERNAL_SYSCALL_NCS): New. + [! __ASSEMBLER__](DO_INLINE_SYSCALL): Remove. + [! __ASSEMBLER__](INTERNAL_SYSCALL): Modified. + [! __ASSEMBLER__](INTERNAL_SYSCALL_NCS): Remove. + +2020-02-14 Adhemerval Zanella + + COMMIT: 975ace4eca4990bc1948d3a7a890de7f60e7e540 + alpha: Refactor syscall and Use Linux kABI for syscall return + + * sysdeps/unix/alpha/sysdep.h: Delete file. + * sysdeps/unix/sysv/linux/alpha/ioperm.c: Modified. + (__sethae): Modified function. + * sysdeps/unix/sysv/linux/alpha/sysdep.h: Modified. + [__ASSEMBLER__][! PIC](PSEUDO_PROLOGUE): New. + [__ASSEMBLER__][! PROF](PSEUDO_PROF): New. + [__ASSEMBLER__][! PROF](USEPV_PROF): New. + [__ASSEMBLER__][! SHARED](PTR_MANGLE): New. + [__ASSEMBLER__][!((PIC))](SYSCALL_ERROR_LABEL): New. + [__ASSEMBLER__][!((PIC))](SYSCALL_ERROR_HANDLER): New. + [__ASSEMBLER__][!((PIC))](SYSCALL_ERROR_FALLTHRU): New. + [__ASSEMBLER__][(PIC)](SYSCALL_ERROR_LABEL): New. + [__ASSEMBLER__][(PIC)](SYSCALL_ERROR_HANDLER): New. + [__ASSEMBLER__][(PIC)](SYSCALL_ERROR_FALLTHRU): New. + [__ASSEMBLER__][IS_IN (rtld)](PTR_MANGLE): New. + [__ASSEMBLER__][IS_IN (rtld)](PTR_MANGLE2): New. + [__ASSEMBLER__][PIC](PSEUDO_PROLOGUE): New. + [__ASSEMBLER__][PROF](PSEUDO_PROF): New. + [__ASSEMBLER__][PROF](PSEUDO_PROLOGUE): New. + [__ASSEMBLER__][PROF](USEPV_PROF): New. + [__ASSEMBLER__][RTLD_PRIVATE_ERRNO](SYSCALL_ERROR_LABEL): New. + [__ASSEMBLER__][RTLD_PRIVATE_ERRNO](SYSCALL_ERROR_HANDLER): New. + [__ASSEMBLER__][RTLD_PRIVATE_ERRNO](SYSCALL_ERROR_FALLTHRU): New. + [__ASSEMBLER__][SHARED](PTR_MANGLE): New. + [__ASSEMBLER__](__LABEL): New. + [__ASSEMBLER__](LEAF): New. + [__ASSEMBLER__](ENTRY): New. + [__ASSEMBLER__](END): New. + [__ASSEMBLER__](PSEUDO_PREPARE_ARGS): New. + [__ASSEMBLER__](PSEUDO): New. + [__ASSEMBLER__](PSEUDO_END): New. + [__ASSEMBLER__](PSEUDO_NOERRNO): New. + [__ASSEMBLER__](PSEUDO_END_NOERRNO): New. + [__ASSEMBLER__](ret_NOERRNO): New. + [__ASSEMBLER__](PSEUDO_ERRVAL): New. + [__ASSEMBLER__](PSEUDO_END_ERRVAL): New. + [__ASSEMBLER__](ret_ERRVAL): New. + [__ASSEMBLER__](r0): New. + [__ASSEMBLER__](r1): New. + [__ASSEMBLER__](MOVE): New. + [__ASSEMBLER__](PTR_MANGLE2): New. + [__ASSEMBLER__](PTR_DEMANGLE): New. + [__ASSEMBLER__](PTR_DEMANGLE2): New. + (sysdeps/unix/alpha/sysdep.h): Remove include. + [! __ASSEMBLER__][!((IS_IN (rtld) || (! SHARED && (IS_IN (libc) || IS_IN (libpthread)))))](__pointer_chk_guard): New. + [! __ASSEMBLER__][!((IS_IN (rtld) || (! SHARED && (IS_IN (libc) || IS_IN (libpthread)))))](PTR_MANGLE): New. + [! __ASSEMBLER__][(IS_IN (rtld) || (! SHARED && (IS_IN (libc) || IS_IN (libpthread))))](__pointer_chk_guard_local): New. + [! __ASSEMBLER__][(IS_IN (rtld) || (! SHARED && (IS_IN (libc) || IS_IN (libpthread))))](PTR_MANGLE): New. + [! __ASSEMBLER__](errno.h): New. + [! __ASSEMBLER__](INLINE_SYSCALL): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_NCS): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_DECL): New. + [! __ASSEMBLER__](syscall_promote): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERROR_P): New. + [! __ASSEMBLER__](INTERNAL_SYSCALL_ERRNO): New. + [! __ASSEMBLER__](internal_syscall_clobbers): New. + [! __ASSEMBLER__](internal_syscall0): New. + [! __ASSEMBLER__](internal_syscall1): New. + [! __ASSEMBLER__](internal_syscall2): New. + [! __ASSEMBLER__](internal_syscall3): New. + [! __ASSEMBLER__](internal_syscall4): New. + [! __ASSEMBLER__](internal_syscall5): New. + [! __ASSEMBLER__](internal_syscall6): New. + [! __ASSEMBLER__](stdint.h): New. + [! __ASSEMBLER__](PTR_DEMANGLE): New. + (sysdeps/unix/sysdep.h): Include file. + (dl-sysdep.h): Include file. + +2020-02-14 Adhemerval Zanella + + COMMIT: c261718b3fda4b629ee120f48e3ee50db9c793a1 + sparc: Avoid clobbering register parameters in syscall + + * sysdeps/unix/sysv/linux/sparc/sysdep.h: Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + [! __ASSEMBLER__](INLINE_CLONE_SYSCALL): Modified. + +2020-02-14 Adhemerval Zanella + + COMMIT: 86c5d2cf0ce046279baddc7faa27da71f1a89fde + sparc: Use Linux kABI for syscall return + + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Modified. + [! __ASSEMBLER__](__SYSCALL_STRING): Modified. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Modified. + [! __ASSEMBLER__](__SYSCALL_STRING): Modified. + * sysdeps/unix/sysv/linux/sparc/sysdep.h: Modified. + [! __ASSEMBLER__](INTERNAL_VSYSCALL_CALL): Remove. + [! __ASSEMBLER__](inline_syscall0): Remove. + [! __ASSEMBLER__](inline_syscall1): Remove. + [! __ASSEMBLER__](inline_syscall2): Remove. + [! __ASSEMBLER__](inline_syscall3): Remove. + [! __ASSEMBLER__](inline_syscall4): Remove. + [! __ASSEMBLER__](inline_syscall5): Remove. + [! __ASSEMBLER__](inline_syscall6): Remove. + [! __ASSEMBLER__](INLINE_CLONE_SYSCALL): Modified. + [! __ASSEMBLER__](internal_syscall0): New. + [! __ASSEMBLER__](internal_syscall1): New. + [! __ASSEMBLER__](internal_syscall2): New. + [! __ASSEMBLER__](internal_syscall3): New. + [! __ASSEMBLER__](internal_syscall4): New. + [! __ASSEMBLER__](internal_syscall5): New. + [! __ASSEMBLER__](internal_syscall6): New. + +2020-02-14 Adhemerval Zanella + + COMMIT: e26b8a008ae6f45f6aa2dd56f6d6ce13f181df9f + powerpc: Use Linux kABI for syscall return + + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Modified. + (INTERNAL_VSYSCALL_CALL_TYPE): Modified. + (INTERNAL_SYSCALL_NCS): Modified. + +2020-02-14 Adhemerval Zanella + + COMMIT: cd72a13f22dbb56f56ed63e9899050cba7a286ad + powerpc: Consolidate Linux syscall definition + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Delete file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Modified. + [! __ASSEMBLER__](errno.h): Remove. + [!(IS_IN (rtld))][! __ASSEMBLER__](PTR_MANGLE): Remove. + [!(IS_IN (rtld))][! __ASSEMBLER__](PTR_DEMANGLE): Remove. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_MANGLE): Remove. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_MANGLE2): Remove. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_MANGLE3): Remove. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_DEMANGLE): Remove. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_DEMANGLE2): Remove. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_DEMANGLE3): Remove. + [__ASSEMBLER__](ALIGNARG): Remove. + [__ASSEMBLER__](ASM_SIZE_DIRECTIVE): Remove. + (_LINUX_POWERPC_SYSDEP_H): Remove. + (sysdeps/unix/sysv/linux/sysdep.h): Remove include. + (sysdeps/unix/powerpc/sysdep.h): Remove include. + (tls.h): Remove include. + (SYS_ify): Remove. + (INTERNAL_VSYSCALL_CALL_TYPE): Remove. + (INTERNAL_VSYSCALL_CALL): Remove. + (INLINE_SYSCALL): Remove. + (INTERNAL_SYSCALL): Remove. + (INTERNAL_SYSCALL_NCS): Remove. + (INTERNAL_SYSCALL_DECL): Remove. + (INTERNAL_SYSCALL_ERROR_P): Remove. + (INTERNAL_SYSCALL_ERRNO): Remove. + (LOADARGS_0): Remove. + (LOADARGS_1): Remove. + (LOADARGS_2): Remove. + (LOADARGS_3): Remove. + (LOADARGS_4): Remove. + (LOADARGS_5): Remove. + (LOADARGS_6): Remove. + (ASM_INPUT_0): Remove. + (ASM_INPUT_1): Remove. + (ASM_INPUT_2): Remove. + (ASM_INPUT_3): Remove. + (ASM_INPUT_4): Remove. + (ASM_INPUT_5): Remove. + (ASM_INPUT_6): Remove. + (_LINUX_POWERPC64_SYSDEP_H): New. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Modified. + [!((__PPC64__) || (__powerpc64__))](SYSCALL_ARG_SIZE): New. + [(__PPC64__) || (__powerpc64__)](SYSCALL_ARG_SIZE): New. + [!(IS_IN (rtld))][! __ASSEMBLER__](PTR_MANGLE): New. + [!(IS_IN (rtld))][! __ASSEMBLER__](PTR_DEMANGLE): New. + [!(IS_IN (rtld))][__ASSEMBLER__][!((__PPC64__) || (__powerpc64__))](LOAD): New. + [!(IS_IN (rtld))][__ASSEMBLER__][!((__PPC64__) || (__powerpc64__))](TPREG): New. + [!(IS_IN (rtld))][__ASSEMBLER__][(__PPC64__) || (__powerpc64__)](LOAD): New. + [!(IS_IN (rtld))][__ASSEMBLER__][(__PPC64__) || (__powerpc64__)](TPREG): New. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_MANGLE): New. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_MANGLE2): New. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_MANGLE3): New. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_DEMANGLE): New. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_DEMANGLE2): New. + [!(IS_IN (rtld))][__ASSEMBLER__](PTR_DEMANGLE3): New. + (_LINUX_POWERPC_SYSDEP_H): New. + (sysdeps/unix/sysv/linux/sysdep.h): Include file. + (sysdeps/unix/powerpc/sysdep.h): Include file. + (tls.h): Include file. + (errno.h): Include file. + (SYS_ify): New. + (INTERNAL_VSYSCALL_CALL_TYPE): New. + (INTERNAL_VSYSCALL_CALL): New. + (INLINE_SYSCALL): New. + (INTERNAL_SYSCALL): New. + (INTERNAL_SYSCALL_NCS): New. + (INTERNAL_SYSCALL_DECL): New. + (INTERNAL_SYSCALL_ERROR_P): New. + (INTERNAL_SYSCALL_ERRNO): New. + (LOADARGS_0): New. + (LOADARGS_1): New. + (LOADARGS_2): New. + (LOADARGS_3): New. + (LOADARGS_4): New. + (LOADARGS_5): New. + (LOADARGS_6): New. + (ASM_INPUT_0): New. + (ASM_INPUT_1): New. + (ASM_INPUT_2): New. + (ASM_INPUT_3): New. + (ASM_INPUT_4): New. + (ASM_INPUT_5): New. + (ASM_INPUT_6): New. + +2020-02-14 H.J. Lu + + COMMIT: 5d844e1b72513cf59b5e7c14295644efdcc66e44 + i386: Enable CET support in ucontext functions + + * sysdeps/unix/sysv/linux/i386/getcontext.S: Modified. + * sysdeps/unix/sysv/linux/i386/makecontext.S: Modified. + * sysdeps/unix/sysv/linux/i386/setcontext.S: Modified. + * sysdeps/unix/sysv/linux/i386/swapcontext.S: Modified. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Modified. + (STACK_SIZE_TO_SHADOW_STACK_SIZE_SHIFT): New. + * sysdeps/unix/sysv/linux/i386/ucontext_i.sym: Modified. + +2020-02-14 Alistair Francis + + COMMIT: f6a9b6b08ea0fddad48d908729f866d3c30955ed + tst-clone3: Use __NR_futex_time64 if we don't have __NR_futex + + * sysdeps/unix/sysv/linux/tst-clone3.c: Modified. + (futex_wait): Modified function. + +2020-02-14 Florian Weimer + + COMMIT: a803367bab167f5ec4fde1f0d0ec447707c29520 + powerpc64: Add memory protection key support [BZ #23202] + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-pkey.h: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/pkey_get.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/pkey_set.c: New file. + +2020-02-14 Tulio Magno Quites Machado Filho + + COMMIT: 2b7dc93f826ee2cab7e6b7e5b6432f7920f0eec0 + ldbl-128ibm-compat: Provide a scalb implementation + + * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified. + * sysdeps/ieee754/ldbl-128ibm-compat/e_scalbf128.c: New file. + * sysdeps/ieee754/ldbl-128ibm-compat/w_scalbf128.c: New file. + +2020-02-14 Tulio Magno Quites Machado Filho + + COMMIT: c624d23260d5c136bebdd3a0734876527cedc505 + Add a generic scalb implementation + + * math/Makefile: Modified. + * math/e_scalb.c: Move to... + * math/e_scalb_template.c: ... here. + (invalid_fn): Modified function. + (__ieee754_scalb): Remove function. + (M_DECL_FUNC): New function. + * math/e_scalbf.c: Delete file. + * math/e_scalbl.c: Delete file. + * math/w_scalb_compat.c: Modified. + [LIBM_SVID_COMPAT][NO_LONG_DOUBLE](strong_alias): New. + [LIBM_SVID_COMPAT][NO_LONG_DOUBLE](weak_alias): New. + [LIBM_SVID_COMPAT](__scalb): New function. + [LIBM_SVID_COMPAT](weak_alias): New. + [NO_LONG_DOUBLE](strong_alias): Remove. + [NO_LONG_DOUBLE](weak_alias): Remove. + (__scalb): Remove function. + (weak_alias): Remove. + * math/w_scalb_template.c: New file. + * math/w_scalbf_compat.c: Modified. + [LIBM_SVID_COMPAT](__scalbf): New function. + [LIBM_SVID_COMPAT](weak_alias): New. + (__scalbf): Remove function. + (weak_alias): Remove. + * math/w_scalbl_compat.c: Modified. + [LIBM_SVID_COMPAT](__scalbl): New function. + [LIBM_SVID_COMPAT](weak_alias): New. + (__scalbl): Remove function. + (weak_alias): Remove. + * sysdeps/ieee754/float128/w_scalbf128.c: New file. + * sysdeps/ieee754/ldbl-opt/w_scalb_compat.c: Modified. + [LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)](compat_symbol): Remove. + [LIBM_SVID_COMPAT][LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)](compat_symbol): New. + * sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c: Modified. + (long_double_symbol): Remove. + [LIBM_SVID_COMPAT](long_double_symbol): New. + * sysdeps/m68k/m680x0/fpu/e_scalbf.c: Modified. + (e_scalb.c): Remove include. + (sysdeps/m68k/m680x0/fpu/e_scalb.c): Include file. + * sysdeps/m68k/m680x0/fpu/e_scalbl.c: Modified. + (e_scalb.c): Remove include. + (sysdeps/m68k/m680x0/fpu/e_scalb.c): Include file. + +2020-02-14 Joseph Myers + + COMMIT: ad180676b83dc1782d407dbff57dabbaab0c1f71 + Adjust thresholds in Bessel function implementations (bug 14469). + + * sysdeps/ieee754/flt-32/e_j0f.c: Modified. + (__ieee754_j0f): Modified function. + (__ieee754_y0f): Modified function. + * sysdeps/ieee754/flt-32/e_j1f.c: Modified. + (__ieee754_j1f): Modified function. + (__ieee754_y1f): Modified function. + * sysdeps/ieee754/ldbl-96/e_j0l.c: Modified. + (__ieee754_j0l): Modified function. + (__ieee754_y0l): Modified function. + * sysdeps/ieee754/ldbl-96/e_j1l.c: Modified. + (__ieee754_j1l): Modified function. + (__ieee754_y1l): Modified function. + +2020-02-14 Florian Weimer + + COMMIT: fa00db0a6eb755837ae5d413515e0da582b304f3 + resolv: Fix ABA race in /etc/resolv.conf change detection [BZ #25420] + + * resolv/resolv_conf.c: Modified. + (__resolv_conf_get_current): Modified function. + +2020-02-14 Florian Weimer + + COMMIT: dd0b4df329ff7ff2a656404db271c8ee8379ff9d + resolv: Enhance __resolv_conf_load to capture file change data + + * resolv/res_init.c: Modified. + (__resolv_conf_load): Modified function. + (__res_vinit): Modified function. + (file_change_detection.h): Include file. + * resolv/resolv_conf.c: Modified. + (__resolv_conf_get_current): Modified function. + * resolv/resolv_conf.h: Modified. + (__resolv_conf_load): Modified. + (file_change_detection): New. + +2020-02-14 Florian Weimer + + COMMIT: a1a20f029299dc27170912bb9233070c8403444d + resolv: Fix file handle leak in __resolv_conf_load [BZ #25429] + + * resolv/res_init.c: Modified. + (res_vinit_1): Modified function. + (__resolv_conf_load): Modified function. + +2020-02-14 Florian Weimer + + COMMIT: 9642b85fd0dfa5731020a3271c08e33e1dc05c85 + resolv: Use in __resolv_conf_get_current + + * resolv/resolv_conf.c: Modified. + (resolv_conf_global): Modified. + (__resolv_conf_get_current): Modified function. + (file_change_detection.h): Include file. + +2020-02-13 Joseph Myers + + COMMIT: fe7df8eb5e54e1e3548bfc10ebf6e1156edffcad + Add STATX_ATTR_VERITY from Linux 5.5 to bits/statx-generic.h. + + * io/bits/statx-generic.h: Modified. + [! STATX_TYPE](STATX_ATTR_VERITY): New. + +2020-02-13 Stefan Liebler + + COMMIT: 5e6efd3ec2632e745a5922b256addc8626aa87ee + Use gcc -finput-charset=ascii for check-installed-headers. + + * scripts/check-installed-headers.sh: Modified. + * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Modified. + * sysdeps/unix/sysv/linux/bits/resource.h: Modified. + * sysdeps/unix/sysv/linux/mips/bits/resource.h: Modified. + * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Modified. + +2020-02-13 Florian Weimer + + COMMIT: c10acd40262486dac597001aecc20ad9d3bd0e4a + math/test-sinl-pseudo: Use stack protector only if available + + * sysdeps/ieee754/ldbl-96/Makefile: Modified. + +2020-02-13 Adhemerval Zanella + + COMMIT: d3436a7f3240b8a657d35e417515d4e18fc9e396 + alpha: Fix static gettimeofday symbol + + * sysdeps/unix/sysv/linux/alpha/gettimeofday.c: Modified. + (weak_alias): Remove. + (strong_alias): Remove. + (_weak_alias): Remove. + (SET_VERSION): New. + (weak_alias): New function. + * time/gettimeofday.c: Modified. + (strong_alias): Remove. + (weak_alias): Remove. + [! SET_VERSION](strong_alias): New. + [! SET_VERSION](weak_alias): New. + +2020-02-13 Florian Weimer + + COMMIT: fd3540deff239355a01314947b9313042654c1e7 + nss_nisplus: Use NSS_DECLARE_MODULE_FUNCTIONS + + * nis/nss-nisplus.h: Modified. + (__niserr2nss_tab): Remove. + (NSS_DECLARE_MODULE_FUNCTIONS): New function. + +2020-02-13 Florian Weimer + + COMMIT: bd65a52a5ff340a134e97d5ce803d24b12d9cf17 + nss_dns: Use NSS_DECLARE_MODULE_FUNCTIONS + + * resolv/nss_dns/dns-canon.c: Modified. + [!(PACKETSZ > 65536)](querybuf): New. + [PACKETSZ > 65536](querybuf): New. + (querybuf): Remove. + (qtypes): Modified. + * resolv/nss_dns/dns-host.c: Modified. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](MAXHOSTNAMELEN): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](querybuf): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](getanswer_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](gaih_getanswer): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](gethostbyname3_context): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](rrtype_to_rdata_length): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](_nss_dns_gethostbyname3_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](gethostbyname3_context): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](check_name): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](_nss_dns_gethostbyname2_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](_nss_dns_gethostbyname_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](_nss_dns_gethostbyname4_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](_nss_dns_gethostbyaddr2_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](hidden_proto): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](_nss_dns_gethostbyaddr2_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](hidden_def): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](_nss_dns_gethostbyaddr_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](addrsort): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](getanswer_r): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](gaih_getanswer_slice): New. + [!(PACKETSZ > 65536)][! MAXHOSTNAMELEN](gaih_getanswer): New. + [!(PACKETSZ > 65536)][MAXHOSTNAMELEN](MAXHOSTNAMELEN): New. + [MAXHOSTNAMELEN](MAXHOSTNAMELEN): Remove. + (MAXHOSTNAMELEN): Remove. + (querybuf): Remove. + (getanswer_r): Remove. + (gaih_getanswer): Remove. + (gethostbyname3_context): Remove. + (rrtype_to_rdata_length): Remove function. + (_nss_dns_gethostbyname3_r): Remove function. + (gethostbyname3_context): Remove function. + (check_name): Remove function. + (_nss_dns_gethostbyname2_r): Remove function. + (_nss_dns_gethostbyname_r): Remove function. + (_nss_dns_gethostbyname4_r): Remove function. + (_nss_dns_gethostbyaddr2_r): Remove. + (hidden_proto): Remove. + (_nss_dns_gethostbyaddr2_r): Remove function. + (hidden_def): Remove. + (_nss_dns_gethostbyaddr_r): Remove function. + (addrsort): Remove function. + (getanswer_r): Remove function. + (gaih_getanswer_slice): Remove function. + (gaih_getanswer): Remove function. + * resolv/nss_dns/dns-network.c: Modified. + [!(PACKETSZ > 65536)](lookup_method): New. + [PACKETSZ > 65536](lookup_method): New. + (lookup_method): Remove. + (querybuf): Modified. + +2020-02-13 Florian Weimer + + COMMIT: 680f1093229836e7f2d77a0a6b94b8a3bd47308f + nss_files: Use NSS_DECLARE_MODULE_FUNCTIONS + + * nss/nss_files/files-alias.c: Modified. + (stream): Modified. + * nss/nss_files/files-ethers.c: Modified. + (etherent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-grp.c: Modified. + (grent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-hosts.c: Modified. + (hostent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-init.c: Modified. + (define_traced_file): Modified. + (define_traced_file): Modified. + (define_traced_file): Modified. + (define_traced_file): Modified. + (define_traced_file): Modified. + (define_traced_file): Remove. + (nss.h): Include file. + (NSS_DECLARE_MODULE_FUNCTIONS): New function. + * nss/nss_files/files-initgroups.c: Modified. + (_nss_files_initgroups_dyn): Remove function. + (nss.h): Include file. + (NSS_DECLARE_MODULE_FUNCTIONS): New function. + * nss/nss_files/files-key.c: Modified. + (search): Remove function. + (NSS_DECLARE_MODULE_FUNCTIONS): New function. + * nss/nss_files/files-netgrp.c: Modified. + (libnss_files_hidden_proto): Remove function. + (NSS_DECLARE_MODULE_FUNCTIONS): New function. + * nss/nss_files/files-network.c: Modified. + (netent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-proto.c: Modified. + (protoent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-pwd.c: Modified. + (pwent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-rpc.c: Modified. + (rpcent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-service.c: Modified. + (servent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-sgrp.c: Modified. + (sgent_data): Modified. + (nss.h): Include file. + * nss/nss_files/files-spwd.c: Modified. + (spent_data): Modified. + (nss.h): Include file. + +2020-02-13 Florian Weimer + + COMMIT: 7e3987ab54ffc66477af50d461d7ddfd5b4a8813 + nss_db: Use NSS_DECLARE_MODULE_FUNCTIONS + + * nss/nss_db/db-init.c: Modified. + (nss_db.h): Include file. + * nss/nss_db/db-initgroups.c: Modified. + * nss/nss_db/nss_db.h: Modified. + (stridx_t): Modified. + +2020-02-13 Florian Weimer + + COMMIT: ff104359639db9748abf4690febc07e9d917b11f + nss_compat: Use NSS_DECLARE_MODULE_FUNCTIONS + + * nss/nss_compat/compat-grp.c: Modified. + (ni): Modified. + * nss/nss_compat/compat-initgroups.c: Modified. + (ni): Modified. + * nss/nss_compat/compat-pwd.c: Modified. + (ni): Modified. + * nss/nss_compat/compat-spwd.c: Modified. + (ni): Modified. + +2020-02-13 Florian Weimer + + COMMIT: 6978700688f6ebc8213f3340e67490d22e7921c2 + nss_hesiod: Use NSS_DECLARE_MODULE_FUNCTIONS + + * hesiod/nss_hesiod/hesiod-grp.c: Modified. + (_nss_hesiod_setgrent): Remove function. + (NSS_DECLARE_MODULE_FUNCTIONS): New function. + * hesiod/nss_hesiod/hesiod-proto.c: Modified. + (protoent_data): Modified. + * hesiod/nss_hesiod/hesiod-pwd.c: Modified. + (_nss_hesiod_setpwent): Remove function. + (NSS_DECLARE_MODULE_FUNCTIONS): New function. + * hesiod/nss_hesiod/hesiod-service.c: Modified. + (servent_data): Modified. + +2020-02-13 Florian Weimer + + COMMIT: 499a92df8b9fc64a054cf3b7f728f8967fc1da7d + nss: Add function types and NSS_DECLARE_MODULE_FUNCTIONS macro to + + * nscd/aicache.c: Modified. + (nss_gethostbyname4_r): Remove. + (nss_gethostbyname3_r): Remove. + (nss_getcanonname_r): Remove. + (addhstaiX): Modified function. + * nss/nss.h: Modified. + (stddef.h): Include file. + (sys/types.h): Include file. + (__netgrent): New. + (aliasent): New. + (ether_addr): New. + (etherent): New. + (group): New. + (hostent): New. + (netent): New. + (passwd): New. + (protoent): New. + (rpcent): New. + (servent): New. + (sgrp): New. + (spwd): New. + (traced_file): New. + (nss_endaliasent): New function. + (nss_endetherent): New function. + (nss_endgrent): New function. + (nss_endhostent): New function. + (nss_endnetent): New function. + (nss_endnetgrent): New function. + (nss_endprotoent): New function. + (nss_endpwent): New function. + (nss_endrpcent): New function. + (nss_endservent): New function. + (nss_endsgent): New function. + (nss_endspent): New function. + (nss_getaliasbyname_r): New function. + (nss_getaliasent_r): New function. + (nss_getcanonname_r): New function. + (nss_getetherent_r): New function. + (nss_getgrent_r): New function. + (nss_getgrgid_r): New function. + (nss_getgrnam_r): New function. + (nss_gethostbyaddr2_r): New function. + (nss_gethostbyaddr_r): New function. + (nss_gethostbyname2_r): New function. + (nss_gethostbyname3_r): New function. + (nss_gethostbyname4_r): New function. + (nss_gethostbyname_r): New function. + (nss_gethostent_r): New function. + (nss_gethostton_r): New function. + (nss_getnetbyaddr_r): New function. + (nss_getnetbyname_r): New function. + (nss_getnetent_r): New function. + (nss_getnetgrent_r): New function. + (nss_getntohost_r): New function. + (nss_getprotobyname_r): New function. + (nss_getprotobynumber_r): New function. + (nss_getprotoent_r): New function. + (nss_getpublickey): New function. + (nss_getpwent_r): New function. + (nss_getpwnam_r): New function. + (nss_getpwuid_r): New function. + (nss_getrpcbyname_r): New function. + (nss_getrpcbynumber_r): New function. + (nss_getrpcent_r): New function. + (nss_getsecretkey): New function. + (nss_getservbyname_r): New function. + (nss_getservbyport_r): New function. + (nss_getservent_r): New function. + (nss_getsgent_r): New function. + (nss_getsgnam_r): New function. + (nss_getspent_r): New function. + (nss_getspnam_r): New function. + (nss_init): New function. + (nss_initgroups_dyn): New function. + (nss_netname2user): New function. + (nss_setaliasent): New function. + (nss_setetherent): New function. + (nss_setgrent): New function. + (nss_sethostent): New function. + (nss_setnetent): New function. + (nss_setnetgrent): New function. + (nss_setprotoent): New function. + (nss_setpwent): New function. + (nss_setrpcent): New function. + (nss_setservent): New function. + (nss_setsgent): New function. + (nss_setspent): New function. + (NSS_DECLARE_MODULE_FUNCTIONS): New. + * sysdeps/posix/getaddrinfo.c: Modified. + (nss_gethostbyname4_r): Remove. + (nss_gethostbyname3_r): Remove. + (nss_getcanonname_r): Remove. + (getcanonname): Modified function. + (gaih_inet): Modified function. + +2020-02-13 Florian Weimer + + COMMIT: 8a9221415041543aa163071fa547e88138ceec9d + nss_compat: Do not use nss_* names for function pointers + + * nss/nss_compat/compat-grp.c: Modified. + (nss_setgrent): Remove. + (nss_getgrnam_r): Remove. + (nss_getgrgid_r): Remove. + (nss_getgrent_r): Remove. + (nss_endgrent): Remove. + (init_nss_interface): Modified function. + (internal_setgrent): Modified function. + (_nss_compat_endgrent): Modified function. + (getgrent_next_nss): Modified function. + (getgrnam_plusgroup): Modified function. + (internal_getgrgid_r): Modified function. + (setgrent_impl): New. + (getgrnam_r_impl): New. + (getgrgid_r_impl): New. + (getgrent_r_impl): New. + (endgrent_impl): New. + * nss/nss_compat/compat-initgroups.c: Modified. + (nss_initgroups_dyn): Remove. + (nss_getgrnam_r): Remove. + (nss_getgrgid_r): Remove. + (nss_setgrent): Remove. + (nss_getgrent_r): Remove. + (nss_endgrent): Remove. + (init_nss_interface): Modified function. + (internal_endgrent): Modified function. + (getgrent_next_nss): Modified function. + (internal_getgrent_r): Modified function. + (initgroups_dyn_impl): New. + (getgrnam_r_impl): New. + (getgrgid_r_impl): New. + (setgrent_impl): New. + (getgrent_r_impl): New. + (endgrent_impl): New. + * nss/nss_compat/compat-pwd.c: Modified. + (nss_setpwent): Remove. + (nss_getpwnam_r): Remove. + (nss_getpwuid_r): Remove. + (nss_getpwent_r): Remove. + (nss_endpwent): Remove. + (init_nss_interface): Modified function. + (internal_setpwent): Modified function. + (_nss_compat_endpwent): Modified function. + (getpwent_next_nss_netgr): Modified function. + (getpwent_next_nss): Modified function. + (getpwnam_plususer): Modified function. + (getpwuid_plususer): Modified function. + (setpwent_impl): New. + (getpwnam_r_impl): New. + (getpwuid_r_impl): New. + (getpwent_r_impl): New. + (endpwent_impl): New. + * nss/nss_compat/compat-spwd.c: Modified. + (nss_setspent): Remove. + (nss_getspnam_r): Remove. + (nss_getspent_r): Remove. + (nss_endspent): Remove. + (init_nss_interface): Modified function. + (internal_setspent): Modified function. + (_nss_compat_endspent): Modified function. + (getspent_next_nss_netgr): Modified function. + (getspent_next_nss): Modified function. + (getspnam_plususer): Modified function. + (setspent_impl): New. + (getspnam_r_impl): New. + (getspent_r_impl): New. + (endspent_impl): New. + +2020-02-12 Joseph Myers + + COMMIT: 9333498794cde1d5cca518badf79533a24114b6f + Avoid ldbl-96 stack corruption from range reduction of pseudo-zero (bug 25487). + + * sysdeps/ieee754/ldbl-96/Makefile: Modified. + * sysdeps/ieee754/ldbl-96/e_rem_pio2l.c: Modified. + (__ieee754_rem_pio2l): Modified function. + * sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c: New file. + +2020-02-12 WANG Xuerui + + COMMIT: 4fbba6fe904d0094ddc4284066b3860d119cbd4a + mips: Fix argument passing for inlined syscalls on Linux [BZ #25523] + + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + +2020-02-12 WANG Xuerui + + COMMIT: d3fbb18aa3164ca1d11e8acba81e1fc2ca70f43e + mips: Use 'long int' and 'long long int' in linux syscall code + + * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: Modified. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h: Modified. + (__mips16_syscall0): Modified. + (__mips16_syscall0): Modified. + (__mips16_syscall1): Modified. + (__mips16_syscall1): Modified. + (__mips16_syscall2): Modified. + (__mips16_syscall2): Modified. + (__mips16_syscall3): Modified. + (__mips16_syscall3): Modified. + (__mips16_syscall4): Modified. + (__mips16_syscall4): Modified. + (__mips16_syscall5): Modified. + (__mips16_syscall6): Modified. + (__mips16_syscall7): Modified. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c: Modified. + (__mips16_syscall0): Modified function. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c: Modified. + (__mips16_syscall1): Modified function. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c: Modified. + (__mips16_syscall2): Modified function. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c: Modified. + (__mips16_syscall3): Modified function. + * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c: Modified. + (__mips16_syscall4): Modified function. + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Modified. + [! __ASSEMBLER__](__mips_syscall_return): Modified. + [! __ASSEMBLER__](internal_syscall0): Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](__mips_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](libc_hidden_proto): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + [! __ASSEMBLER__](libc_hidden_proto): Modified. + [! __ASSEMBLER__](internal_syscall7): Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Modified. + [! __ASSEMBLER__](ARGIFY): Modified. + [! __ASSEMBLER__](internal_syscall0): Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Modified. + [! __ASSEMBLER__](internal_syscall0): Modified. + [! __ASSEMBLER__](internal_syscall1): Modified. + [! __ASSEMBLER__](internal_syscall2): Modified. + [! __ASSEMBLER__](internal_syscall3): Modified. + [! __ASSEMBLER__](internal_syscall4): Modified. + [! __ASSEMBLER__](internal_syscall5): Modified. + [! __ASSEMBLER__](internal_syscall6): Modified. + * sysdeps/unix/sysv/linux/mips/mips64/syscall.S: Modified. + * sysdeps/unix/sysv/linux/mips/sysdep.h: Modified. + [! __ASSEMBLER__](INTERNAL_VSYSCALL_CALL): Modified. + +2020-02-12 Adhemerval Zanella + + COMMIT: c9532194205aa2d044acdff7af98816b793c1491 + alpha: Use generic gettimeofday implementation + + * sysdeps/unix/sysv/linux/alpha/gettimeofday.c: Modified. + (VERSION_gettimeofday): Remove. + (weak_alias): New. + (strong_alias): New. + (_weak_alias): New function. + (default_symbol_version): New function. + (default_symbol_version): New function. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Modified. + * time/gettimeofday.c: Modified. + [! VERSION_gettimeofday](strong_alias): Remove. + [! VERSION_gettimeofday](weak_alias): Remove. + [VERSION_gettimeofday](weak_alias): Remove. + [VERSION_gettimeofday](default_symbol_version): Remove. + [VERSION_gettimeofday](default_symbol_version): Remove. + (strong_alias): New. + (weak_alias): New. + +2020-02-12 Matheus Castanho + + COMMIT: f34c4d0f10ed09500d5f0ebd473c3f37ce4989d7 + sunrpc: Properly clean up if tst-udp-timeout fails + + * sunrpc/tst-udp-timeout.c: Modified. + (do_test): Modified function. + (stdlib.h): Include file. + (server_pid): New. + (kill_server): New function. + +2020-02-12 David Kilroy + + COMMIT: 0a8ce6a0966283b17f373f430929bcadef1ae205 + elf: avoid stack allocation in dl_open_worker + + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + +2020-02-12 David Kilroy + + COMMIT: 71bcfa62451dfaa015326d3524f2a0e2d09d80ed + elf: avoid redundant sort in dlopen + + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + +2020-02-12 David Kilroy + + COMMIT: eb447b7b4bd6177f876ba9420ad9e048c27bae91 + elf: Allow dlopen of filter object to work [BZ #16272] + + * elf/Makefile: Modified. + * elf/dl-deps.c: Modified. + (_dl_map_object_deps): Modified function. + * elf/dl-open.c: Modified. + (dl_open_worker): Modified function. + * elf/tst-auxobj-dlopen.c: New file. + * elf/tst-auxobj.c: New file. + * elf/tst-filterobj-aux.c: New file. + * elf/tst-filterobj-dlopen.c: New file. + * elf/tst-filterobj-filtee.c: New file. + * elf/tst-filterobj-filtee.h: New file. + * elf/tst-filterobj-flt.c: New file. + * elf/tst-filterobj.c: New file. + +2020-02-12 Siddhesh Poyarekar + + COMMIT: 6721b9d52e3bdc7cbec97e6b2952c523c14aebee + Update translations + + * po/be.po: Modified. + * po/pt.po: Modified. + +2020-02-12 Joseph Myers + + COMMIT: 6cf6a91d05d626698f158078961b3bffcb39ff8c + Rename RWF_WRITE_LIFE_NOT_SET to RWH_WRITE_LIFE_NOT_SET following Linux 5.5. + + * sysdeps/unix/sysv/linux/bits/fcntl-linux.h: Modified. + [__USE_GNU](RWF_WRITE_LIFE_NOT_SET): Modified. + [__USE_GNU](RWH_WRITE_LIFE_NOT_SET): New. + +2020-02-12 Stefan Liebler + + COMMIT: 08aea89ef67c5780ae734073494df0a451bce20f + S390: Fix non-ascii character in fenv.h. + + * sysdeps/s390/fpu/bits/fenv.h: Modified. + +2020-02-12 Florian Weimer + + COMMIT: 47136d6cc38c425b150dda83989303ac55f6443c + io: Add io/tst-lchmod covering lchmod and fchmodat + + * io/Makefile: Modified. + * io/tst-lchmod.c: New file. + +2020-02-12 Florian Weimer + + COMMIT: 752dd17443e55a4535cb9e6baa4e550ede383540 + Linux: Emulate fchmodat with AT_SYMLINK_NOFOLLOW using O_PATH [BZ #14578] + + * sysdeps/unix/sysv/linux/fchmodat.c: Modified. + (stddef.h): Remove include. + (string.h): Remove include. + (alloca.h): Remove include. + (fchmodat): Modified function. + (not-cancel.h): Include file. + (sys/stat.h): Include file. + +2020-02-12 Florian Weimer + + COMMIT: 6b89c385d8bd0700b25bac2c2d0bebe68d5cc05d + io: Implement lchmod using fchmodat [BZ #14578] + + * include/sys/stat.h: Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): Modified. + [! _ISOMAC](libc_hidden_proto): New. + * io/fchmodat.c: Modified. + * io/lchmod.c: Modified. + (sys/stat.h): Remove include. + (lchmod): Modified function. + (fcntl.h): Include file. + (unistd.h): Include file. + * sysdeps/mach/hurd/fchmodat.c: Modified. + (libc_hidden_def): New. + * sysdeps/unix/sysv/linux/fchmodat.c: Modified. + (libc_hidden_def): New. + +2020-02-12 Florian Weimer + + COMMIT: 6c80c6e8767b860a5e18e136d04a80be2a8dce15 + Add internal header file + + * include/file_change_detection.h: New file. + * io/Makefile: Modified. + * io/tst-file_change_detection.c: New file. + +2020-02-12 Fangrui Song + + COMMIT: ec44e1efcdbd797c26d420de6ebb95f99df7108b + elf.h: Add R_RISCV_IRELATIVE + + * elf/elf.h: Modified. + (R_RISCV_NUM): Modified. + (R_RISCV_IRELATIVE): New. + +2020-02-11 Mike FABIAN + + COMMIT: eb948facd894e66429e2e170043b7d36fe445a8d + Fix typo in the name for Wednesday in Kurdish [BZ #9809] + + * localedata/locales/ckb_IQ: Modified. + +2020-02-11 Florian Weimer + + COMMIT: fadf75c370494da6a02274ebe79e45b2f22ebbd0 + debug: Add missing locale dependencies of fortify tests + + * debug/Makefile: Modified. + +2020-02-10 Samuel Thibault + + COMMIT: fba7fc5a21f5c56e4878228d2311d040e5b84653 + htl C11 threads: Avoid pthread_ symbols visibility in static library + + * htl/pt-create.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * htl/pt-detach.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * htl/pt-exit.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * htl/pt-join.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * htl/pt-self.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * htl/pt-setcancelstate.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * htl/pt-setcanceltype.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-destroy.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-getdetachstate.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-getinheritsched.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-getschedparam.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-getschedpolicy.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-getscope.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-init.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-setdetachstate.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-setinheritsched.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-setschedparam.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-setschedpolicy.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-attr-setscope.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-cond-brdcast.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-cond-destroy.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-cond-init.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-cond-signal.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-cond-timedwait.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-cond-wait.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-condattr-destroy.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-condattr-init.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-equal.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-getschedparam.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-getspecific.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-key-create.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * sysdeps/htl/pt-key-delete.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * sysdeps/htl/pt-once.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-setschedparam.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/htl/pt-setspecific.c: Modified. + (strong_alias): Remove. + (weak_alias): New function. + * sysdeps/mach/hurd/htl/pt-mutex-destroy.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * sysdeps/mach/hurd/htl/pt-mutex-init.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * sysdeps/mach/hurd/htl/pt-mutex-lock.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * sysdeps/mach/hurd/htl/pt-mutex-timedlock.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * sysdeps/mach/hurd/htl/pt-mutex-trylock.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * sysdeps/mach/hurd/htl/pt-mutex-unlock.c: Modified. + (strong_alias): Remove. + (weak_alias): New. + * sysdeps/mach/hurd/i386/Makefile: Modified. + +2020-02-11 Samuel Thibault + + COMMIT: 8ba6ad703cb38ec57cdb473650ac289e5f8496d5 + hurd: Add __pthread_spin_wait and use it + + * sysdeps/htl/pt-barrier-wait.c: Modified. + (pthread_barrier_wait): Modified function. + * sysdeps/htl/pt-cond-brdcast.c: Modified. + (__pthread_cond_broadcast): Modified function. + * sysdeps/htl/pt-cond-destroy.c: Modified. + (__pthread_cond_destroy): Modified function. + * sysdeps/htl/pt-cond-signal.c: Modified. + (__pthread_cond_signal): Modified function. + * sysdeps/htl/pt-cond-timedwait.c: Modified. + (cancel_hook): Modified function. + (__pthread_cond_timedwait_internal): Modified function. + * sysdeps/htl/pt-once.c: Modified. + (__pthread_once): Modified function. + * sysdeps/htl/pt-rwlock-timedrdlock.c: Modified. + (__pthread_rwlock_timedrdlock_internal): Modified function. + * sysdeps/htl/pt-rwlock-timedwrlock.c: Modified. + (__pthread_rwlock_timedwrlock_internal): Modified function. + * sysdeps/htl/pt-rwlock-tryrdlock.c: Modified. + (pthread_rwlock_tryrdlock): Modified function. + * sysdeps/htl/pt-rwlock-trywrlock.c: Modified. + (pthread_rwlock_trywrlock): Modified function. + * sysdeps/htl/pt-rwlock-unlock.c: Modified. + (__pthread_rwlock_unlock): Modified function. + * sysdeps/htl/sem-getvalue.c: Modified. + (__sem_getvalue): Modified function. + * sysdeps/htl/sem-post.c: Modified. + (__sem_post): Modified function. + * sysdeps/htl/sem-timedwait.c: Modified. + (__sem_timedwait_internal): Modified function. + * sysdeps/htl/sem-trywait.c: Modified. + (__sem_trywait): Modified function. + * sysdeps/mach/htl/bits/spin-lock-inline.h: Modified. + [__USE_EXTERN_INLINES || _FORCE_INLINES](__pthread_spin_wait): New function. + [__USE_EXTERN_INLINES || _FORCE_INLINES](__pthread_spin_wait): New function. + * sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c: Modified. + (__pthread_hurd_cond_timedwait_internal): Modified function. + +2020-02-10 Paul E. Murphy + + COMMIT: cd7965bd970b0a298e734acc9dafae0a5db5f712 + ldbl-128ibm-compat: set PRINTF_CHK flag in {,v}sprintf_chk + + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c: Modified. + (___ieee128_sprintf_chk): Modified function. + * sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c: Modified. + (___ieee128_vsprintf_chk): Modified function. + +2020-02-10 Joseph Myers + + COMMIT: a179673f3d46e25f2a71c2a8f0c64b6d71ccaa6e + Use --disable-gdbserver in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2020-02-10 Wilco Dijkstra + + COMMIT: 511c91b1144b7f32497ece3346463bb6b365f7d6 + Improve random memcpy benchmark + + * benchtests/bench-memcpy-random.c: Modified. + (MIN_PAGE_SIZE): Modified. + (NUM_COPIES): Remove. + (align_data_t): Modified. + (SIZE_NUM): Modified. + (ALIGN_NUM): Modified. + (copy_t): Modified. + (copy): Modified. + (do_one_test): Modified function. + (do_test): Modified function. + (test_main): Modified function. + (MAX_COPIES): New. + +2020-02-10 Andreas Schwab + + COMMIT: 6d0d2eb1e73345abdcfa539787416dd63bffe0ab + nptl: update default pthread-offsets.h + + * sysdeps/nptl/pthread-offsets.h: Modified. + [__WORDSIZE != 64][__BYTE_ORDER != __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): Remove. + [__WORDSIZE != 64][__BYTE_ORDER == __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [__WORDSIZE != 64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_NUSERS_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_SPINS_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_MUTEX_LIST_OFFSET): Remove. + [__WORDSIZE == 64](__PTHREAD_RWLOCK_FLAGS_OFFSET): Remove. + [__BYTE_ORDER != __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + [__BYTE_ORDER == __BIG_ENDIAN](__PTHREAD_RWLOCK_FLAGS_OFFSET): New. + +2020-02-10 Andreas Schwab + + COMMIT: 4970c9e0b58773566a4073852c239f3662cec0aa + nptl: add missing pthread-offsets.h + + * sysdeps/aarch64/nptl/pthread-offsets.h: New file. + * sysdeps/alpha/nptl/pthread-offsets.h: New file. + * sysdeps/ia64/nptl/pthread-offsets.h: New file. + * sysdeps/riscv/nptl/pthread-offsets.h: New file. + * sysdeps/sparc/nptl/pthread-offsets.h: New file. + +2020-02-10 Samuel Thibault + + COMMIT: 1433e270a16442ae9a86dc749d9cbd5e1f55405d + htl: Avoid a local plt for pthread_self + + * htl/pt-join.c: Modified. + (__pthread_join): Modified function. + +2020-02-10 Samuel Thibault + + COMMIT: c0463e8b79ca650b60badc5b9c0d574b91aa8d01 + pthread: Move some join tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * nptl/tst-join10.c: Modified. + (nptl/tst-join5.c): Remove include. + (sysdeps/pthread/tst-join5.c): Include file. + * nptl/tst-join11.c: Modified. + (nptl/tst-join5.c): Remove include. + (sysdeps/pthread/tst-join5.c): Include file. + * nptl/tst-join12.c: Modified. + (nptl/tst-join5.c): Remove include. + (sysdeps/pthread/tst-join5.c): Include file. + * nptl/tst-join13.c: Modified. + (nptl/tst-join5.c): Remove include. + (sysdeps/pthread/tst-join5.c): Include file. + * nptl/tst-join8.c: Modified. + (nptl/tst-join5.c): Remove include. + (sysdeps/pthread/tst-join5.c): Include file. + * nptl/tst-join9.c: Modified. + (nptl/tst-join5.c): Remove include. + (sysdeps/pthread/tst-join5.c): Include file. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-join1.c: Move to... + * sysdeps/pthread/tst-join1.c: ... here. + * nptl/tst-join4.c: Move to... + * sysdeps/pthread/tst-join4.c: ... here. + * nptl/tst-join5.c: Move to... + * sysdeps/pthread/tst-join5.c: ... here. + * nptl/tst-join6.c: Move to... + * sysdeps/pthread/tst-join6.c: ... here. + * nptl/tst-join7.c: Move to... + * sysdeps/pthread/tst-join7.c: ... here. + * nptl/tst-join7mod.c: Move to... + * sysdeps/pthread/tst-join7mod.c: ... here. + +2020-02-10 Samuel Thibault + + COMMIT: 1905cf47bcfb53d9f7e640db83e43bbe32f9fa4a + htl: Make joining self return EDEADLK + + * htl/pt-join.c: Modified. + (__pthread_join): Modified function. + +2020-02-10 Samuel Thibault + + COMMIT: 6acd77229adda7e772bf5783145500f6cd074fd3 + pthread: Move most barrier tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-barrier1.c: Move to... + * sysdeps/pthread/tst-barrier1.c: ... here. + * nptl/tst-barrier2.c: Move to... + * sysdeps/pthread/tst-barrier2.c: ... here. + * nptl/tst-barrier3.c: Move to... + * sysdeps/pthread/tst-barrier3.c: ... here. + * nptl/tst-barrier4.c: Move to... + * sysdeps/pthread/tst-barrier4.c: ... here. + +2020-02-10 Samuel Thibault + + COMMIT: f3a7ff069f74e4d6a89aba5fb9bba74f38d249c7 + htl: Fix barrier_wait with one thread + + * sysdeps/htl/pt-barrier-wait.c: Modified. + (pthread_barrier_wait): Modified function. + +2020-02-10 Samuel Thibault + + COMMIT: 8a195ec810f3d4acddcbd6c2d753edf11d105798 + pthread: Move most sem tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-sem1.c: Move to... + * sysdeps/pthread/tst-sem1.c: ... here. + * nptl/tst-sem10.c: Move to... + * sysdeps/pthread/tst-sem10.c: ... here. + * nptl/tst-sem14.c: Move to... + * sysdeps/pthread/tst-sem14.c: ... here. + * nptl/tst-sem15.c: Move to... + * sysdeps/pthread/tst-sem15.c: ... here. + * nptl/tst-sem16.c: Move to... + * sysdeps/pthread/tst-sem16.c: ... here. + * nptl/tst-sem2.c: Move to... + * sysdeps/pthread/tst-sem2.c: ... here. + * nptl/tst-sem3.c: Move to... + * sysdeps/pthread/tst-sem3.c: ... here. + * nptl/tst-sem4.c: Move to... + * sysdeps/pthread/tst-sem4.c: ... here. + * nptl/tst-sem6.c: Move to... + * sysdeps/pthread/tst-sem6.c: ... here. + * nptl/tst-sem7.c: Move to... + * sysdeps/pthread/tst-sem7.c: ... here. + * nptl/tst-sem8.c: Move to... + * sysdeps/pthread/tst-sem8.c: ... here. + * nptl/tst-sem9.c: Move to... + * sysdeps/pthread/tst-sem9.c: ... here. + +2020-02-10 Samuel Thibault + + COMMIT: e9644c20ce4718ca99953cab0d306b7789303c8e + htl: Make sem_wait/sem_timedwait interruptible + + * htl/Makefile: Modified. + * htl/pt-internal.h: Modified. + (__pthread_block_intr): New function. + (__pthread_timedblock_intr): New function. + * sysdeps/htl/sem-timedwait.c: Modified. + (__sem_timedwait_internal): Modified function. + * sysdeps/mach/htl/pt-block-intr.c: New file. + * sysdeps/mach/htl/pt-block.c: Modified. + (__pthread_block): Modified function. + [! MSG_OPTIONS](MSG_OPTIONS): New. + [! RETTYPE](RETTYPE): New. + [! RETURN](RETURN): New. + (RETTYPE): New. + * sysdeps/mach/htl/pt-timedblock-intr.c: New file. + * sysdeps/mach/htl/pt-timedblock.c: Modified. + (__pthread_timedblock): Modified function. + [! MSG_OPTIONS](MSG_OPTIONS): New. + +2020-02-10 Samuel Thibault + + COMMIT: 1cec114b17ad2d5b019074e3cd419cb331feac7a + htl: Make sem_open return ENOSYS + + * sysdeps/htl/sem-open.c: Modified. + (__sem_open): Modified function. + +2020-02-10 Samuel Thibault + + COMMIT: 5e77ec7c6e64d67f048caa5d4dd81f10fca3dffc + htl: Add support for semaphore maximum value + + * sysdeps/htl/sem-post.c: Modified. + (__sem_post): Modified function. + * sysdeps/mach/hurd/bits/local_lim.h: Modified. + (SEM_VALUE_MAX): New. + +2020-02-10 Samuel Thibault + + COMMIT: 819bb5e660bc18fe8b39c5ffd4b9b37f6e69f4cb + pthread: Move key tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-key1.c: Move to... + * sysdeps/pthread/tst-key1.c: ... here. + * nptl/tst-key2.c: Move to... + * sysdeps/pthread/tst-key2.c: ... here. + * nptl/tst-key3.c: Move to... + * sysdeps/pthread/tst-key3.c: ... here. + * nptl/tst-key4.c: Move to... + * sysdeps/pthread/tst-key4.c: ... here. + +2020-02-10 Samuel Thibault + + COMMIT: 7e7182256a104da518018a0b4edfe51689487f42 + hurd: Make nanosleep a cancellation point + + * sysdeps/mach/clock_nanosleep.c: Modified. + (nanosleep_call): Modified function. + (sysdep-cancel.h): Include file. + +2020-02-10 Samuel Thibault + + COMMIT: 59b7fe99f2593682ba779fe0faa8f1156d48d087 + htl: Add support for libc cancellation points + + * htl/Makefile: Modified. + * htl/Versions: Modified. + * htl/cancellation.c: New file. + * htl/pt-testcancel.c: Modified. + (pthread_testcancel): Remove function. + (__pthread_testcancel): New function. + (strong_alias): New. + * sysdeps/htl/pthreadP.h: Modified. + (__pthread_testcancel): New function. + * sysdeps/mach/hurd/sysdep-cancel.h: Modified. + (LIBC_CANCEL_ASYNC): Modified. + (LIBC_CANCEL_RESET): Modified. + (__pthread_enable_asynccancel): New function. + (__pthread_disable_asynccancel): New function. + +2020-02-10 Samuel Thibault + + COMMIT: f1cd3407e4c6767e0bbe2ca122b713c6581b8d67 + htl: clean __pthread_get_cleanup_stack hidden proto + + * htl/pt-cleanup.c: Modified. + (___pthread_get_cleanup_stack): Remove function. + (strong_alias): Remove. + (__pthread_get_cleanup_stack): New function. + (hidden_def): New. + * htl/pt-exit.c: Modified. + (__pthread_exit): Modified function. + * htl/pt-join.c: Modified. + (__pthread_get_cleanup_stack): Remove. + * sysdeps/htl/pthreadP.h: Modified. + [IS_IN (libpthread)](hidden_proto): New. + (___pthread_get_cleanup_stack): Remove. + +2020-02-09 Samuel Thibault + + COMMIT: 782ee4e256a1e2b6fe2fe226ec8a38732e43c60f + htl: XFAIL rwlock tests which need pshared support + + * sysdeps/mach/hurd/i386/Makefile: Modified. + +2020-02-09 Samuel Thibault + + COMMIT: d5ec049d44f019deaeed8adc0bd10819e5569e93 + pthread: Move some rwlock tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-rwlock-tryrdlock-stall.c: Move to... + * sysdeps/pthread/tst-rwlock-tryrdlock-stall.c: ... here. + * nptl/tst-rwlock-trywrlock-stall.c: Move to... + * sysdeps/pthread/tst-rwlock-trywrlock-stall.c: ... here. + * nptl/tst-rwlock1.c: Move to... + * sysdeps/pthread/tst-rwlock1.c: ... here. + * nptl/tst-rwlock13.c: Move to... + * sysdeps/pthread/tst-rwlock13.c: ... here. + * nptl/tst-rwlock16.c: Move to... + * sysdeps/pthread/tst-rwlock16.c: ... here. + * nptl/tst-rwlock4.c: Move to... + * sysdeps/pthread/tst-rwlock4.c: ... here. + * nptl/tst-rwlock5.c: Move to... + * sysdeps/pthread/tst-rwlock5.c: ... here. + +2020-02-09 Samuel Thibault + + COMMIT: 28c30a6232aa9a54783c146590498a061fc0112a + pthread: Move most once tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-once1.c: Move to... + * sysdeps/pthread/tst-once1.c: ... here. + * nptl/tst-once2.c: Move to... + * sysdeps/pthread/tst-once2.c: ... here. + * nptl/tst-once3.c: Move to... + * sysdeps/pthread/tst-once3.c: ... here. + * nptl/tst-once4.c: Move to... + * sysdeps/pthread/tst-once4.c: ... here. + * nptl/tst-oncex3.c: Move to... + * sysdeps/pthread/tst-oncex3.c: ... here. + * nptl/tst-oncex4.c: Move to... + * sysdeps/pthread/tst-oncex4.c: ... here. + +2020-02-09 Samuel Thibault + + COMMIT: 52b6cdb4e32dc9a32a81c68974f34db04db47c82 + htl: support cancellation during pthread_once + + * sysdeps/htl/pt-once.c: Modified. + (__pthread_once): Modified function. + (clear_once_control): New function. + +2020-02-09 Samuel Thibault + + COMMIT: d8f1f2d9ab2144b589fdac3e381cd86e71871e43 + pthread: Move most cond tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-cond-except.c: Move to... + * sysdeps/pthread/tst-cond-except.c: ... here. + * nptl/tst-cond1.c: Move to... + * sysdeps/pthread/tst-cond1.c: ... here. + * nptl/tst-cond10.c: Move to... + * sysdeps/pthread/tst-cond10.c: ... here. + * nptl/tst-cond11-static.c: Move to... + * sysdeps/pthread/tst-cond11-static.c: ... here. + * nptl/tst-cond11.c: Move to... + * sysdeps/pthread/tst-cond11.c: ... here. + * nptl/tst-cond12.c: Move to... + * sysdeps/pthread/tst-cond12.c: ... here. + * nptl/tst-cond13.c: Move to... + * sysdeps/pthread/tst-cond13.c: ... here. + * nptl/tst-cond14.c: Move to... + * sysdeps/pthread/tst-cond14.c: ... here. + * nptl/tst-cond15.c: Move to... + * sysdeps/pthread/tst-cond15.c: ... here. + * nptl/tst-cond16.c: Move to... + * sysdeps/pthread/tst-cond16.c: ... here. + (do_test): Modified function. + * nptl/tst-cond17.c: Move to... + * sysdeps/pthread/tst-cond17.c: ... here. + * nptl/tst-cond18.c: Move to... + * sysdeps/pthread/tst-cond18.c: ... here. + (do_test): Modified function. + * nptl/tst-cond19.c: Move to... + * sysdeps/pthread/tst-cond19.c: ... here. + * nptl/tst-cond2.c: Move to... + * sysdeps/pthread/tst-cond2.c: ... here. + * nptl/tst-cond22.c: Move to... + * sysdeps/pthread/tst-cond22.c: ... here. + * nptl/tst-cond23.c: Move to... + * sysdeps/pthread/tst-cond23.c: ... here. + * nptl/tst-cond24.c: Move to... + * sysdeps/pthread/tst-cond24.c: ... here. + * nptl/tst-cond25.c: Move to... + * sysdeps/pthread/tst-cond25.c: ... here. + * nptl/tst-cond26.c: Move to... + * sysdeps/pthread/tst-cond26.c: ... here. + * nptl/tst-cond27.c: Move to... + * sysdeps/pthread/tst-cond27.c: ... here. + * nptl/tst-cond3.c: Move to... + * sysdeps/pthread/tst-cond3.c: ... here. + * nptl/tst-cond4.c: Move to... + * sysdeps/pthread/tst-cond4.c: ... here. + * nptl/tst-cond5.c: Move to... + * sysdeps/pthread/tst-cond5.c: ... here. + * nptl/tst-cond6.c: Move to... + * sysdeps/pthread/tst-cond6.c: ... here. + * nptl/tst-cond7.c: Move to... + * sysdeps/pthread/tst-cond7.c: ... here. + * nptl/tst-cond8-static.c: Move to... + * sysdeps/pthread/tst-cond8-static.c: ... here. + * nptl/tst-cond8.c: Move to... + * sysdeps/pthread/tst-cond8.c: ... here. + * nptl/tst-cond9.c: Move to... + * sysdeps/pthread/tst-cond9.c: ... here. + +2020-02-09 Samuel Thibault + + COMMIT: faae4b2bdd692d929037c80c3315f716f02f3b00 + htl: make pthread_cond_destroy return EBUSY on waiters + + * sysdeps/htl/pt-cond-destroy.c: Modified. + (__pthread_cond_destroy): Modified function. + +2020-02-09 Samuel Thibault + + COMMIT: cd94860c56f8a463b93f2d7ec0c588a0259884fc + htl: Report missing mutex lock on pthread_cond_*wait + + * htl/Makefile: Modified. + * htl/pt-internal.h: Modified. + (__pthread_mutex_checklocked): New function. + * sysdeps/htl/pt-cond-timedwait.c: Modified. + (__pthread_cond_timedwait_internal): Modified function. + * sysdeps/mach/hurd/htl/pt-mutex-checklocked.c: New file. + +2020-02-09 Samuel Thibault + + COMMIT: db12905d1db0d73d3399feaeb569119cefd24922 + htl: Fix linking static testcases + + * htl/Makefile: Modified. + +2020-02-09 Samuel Thibault + + COMMIT: 6db1094f7af6ddd7ff37dbba82ff5074871a90d5 + htl: Move __register_atfork from forward to own file + + * htl/Makefile: Modified. + * htl/forward.c: Modified. + (atfork): Remove. + (__libc_lock_define_initialized): Remove. + (fork_last_handler): Remove. + (atfork_pthread_prepare): Remove function. + (text_set_element): Remove. + (atfork_pthread_parent): Remove function. + (text_set_element): Remove. + (atfork_pthread_child): Remove function. + (text_set_element): Remove. + (__register_atfork): Remove function. + (libc_hidden_def): Remove. + (__unregister_atfork): Remove function. + * htl/register-atfork.c: New file. + +2020-02-09 Samuel Thibault + + COMMIT: 44a41fc2536f86f95fa7df36a2285101bb4157a3 + pthread: Move some attr tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-attr1.c: Move to... + * sysdeps/pthread/tst-attr1.c: ... here. + +2020-02-09 Samuel Thibault + + COMMIT: 34f168fb82b992edd3549222486704ee3dd9d1de + htl: Fix default guard size + + * htl/pt-internal.h: Modified. + (__pthread_default_attr): Modified. + * sysdeps/htl/pt-attr.c: Modified. + * sysdeps/mach/hurd/htl/pt-sysdep.c: Modified. + (_init_routine): Modified function. + +2020-02-09 Samuel Thibault + + COMMIT: 74159dc58af2ce8a32b62daecd587f29ff7931f2 + pthread: Move most mutex tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/mach/hurd/i386/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-mutex1.c: Move to... + * sysdeps/pthread/tst-mutex1.c: ... here. + * nptl/tst-mutex10.c: Move to... + * sysdeps/pthread/tst-mutex10.c: ... here. + * nptl/tst-mutex2.c: Move to... + * sysdeps/pthread/tst-mutex2.c: ... here. + * nptl/tst-mutex3.c: Move to... + * sysdeps/pthread/tst-mutex3.c: ... here. + * nptl/tst-mutex4.c: Move to... + * sysdeps/pthread/tst-mutex4.c: ... here. + * nptl/tst-mutex6.c: Move to... + * sysdeps/pthread/tst-mutex6.c: ... here. + * nptl/tst-mutex8.c: Move to... + * sysdeps/pthread/tst-mutex8.c: ... here. + +2020-02-09 Samuel Thibault + + COMMIT: 71d52ac4d65435791d8fa9f52abab7107ef7f7e8 + pthread: Move spin tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-spin1.c: Move to... + * sysdeps/pthread/tst-spin1.c: ... here. + * nptl/tst-spin2.c: Move to... + * sysdeps/pthread/tst-spin2.c: ... here. + * nptl/tst-spin3.c: Move to... + * sysdeps/pthread/tst-spin3.c: ... here. + * nptl/tst-spin4.c: Move to... + * sysdeps/pthread/tst-spin4.c: ... here. + +2020-02-09 Samuel Thibault + + COMMIT: 900778283ac3cfbd274abc55840b5cdae9b7745f + htl: make pthread_spin_lock really spin + + * sysdeps/mach/htl/bits/spin-lock-inline.h: Modified. + [__USE_EXTERN_INLINES || _FORCE_INLINES](__pthread_spin_lock): Modified function. + +2020-02-09 Samuel Thibault + + COMMIT: e622ce98c58b61e1c61dc7ff0c8b3f9ba23c3d9a + htl: Avoid check-installed-headers looking at inlines + + * sysdeps/htl/include/pthread.h: Modified. + [__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](bits/spin-lock-inline.h): Remove. + [__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_destroy): Remove. + [__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_init): Remove. + [__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_lock): Remove. + [__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_trylock): Remove. + [__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_unlock): Remove. + [! _ISOMAC][__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](bits/spin-lock-inline.h): New. + [! _ISOMAC][__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_destroy): New. + [! _ISOMAC][__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_init): New. + [! _ISOMAC][__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_lock): New. + [! _ISOMAC][__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_trylock): New. + [! _ISOMAC][__USE_EXTERN_INLINES && _LIBC && !IS_IN (libsupport)](pthread_spin_unlock): New. + +2020-02-09 Samuel Thibault + + COMMIT: 865bf7110936d46c01a673e3327a6bd8b2a06082 + htl: Do not put spin_lock inlines in public headers + + * sysdeps/htl/include/pthread.h: New file. + * sysdeps/htl/pthread.h: Modified. + [__USE_XOPEN2K][__USE_EXTERN_INLINES && _LIBC](bits/spin-lock-inline.h): Remove. + [__USE_XOPEN2K][__USE_EXTERN_INLINES && _LIBC](pthread_spin_destroy): Remove. + [__USE_XOPEN2K][__USE_EXTERN_INLINES && _LIBC](pthread_spin_init): Remove. + [__USE_XOPEN2K][__USE_EXTERN_INLINES && _LIBC](pthread_spin_lock): Remove. + [__USE_XOPEN2K][__USE_EXTERN_INLINES && _LIBC](pthread_spin_trylock): Remove. + [__USE_XOPEN2K][__USE_EXTERN_INLINES && _LIBC](pthread_spin_unlock): Remove. + +2020-02-09 Samuel Thibault + + COMMIT: cca76b6db216805267212ab03c8691e8e6960338 + pthread: Move basic tests from nptl to sysdeps/pthread + + * nptl/Makefile: Modified. + * sysdeps/pthread/Makefile: Modified. + * nptl/tst-basic1.c: Move to... + * sysdeps/pthread/tst-basic1.c: ... here. + * nptl/tst-basic2.c: Move to... + * sysdeps/pthread/tst-basic2.c: ... here. + * nptl/tst-basic3.c: Move to... + * sysdeps/pthread/tst-basic3.c: ... here. + * nptl/tst-basic4.c: Move to... + * sysdeps/pthread/tst-basic4.c: ... here. + * nptl/tst-basic5.c: Move to... + * sysdeps/pthread/tst-basic5.c: ... here. + * nptl/tst-basic6.c: Move to... + * sysdeps/pthread/tst-basic6.c: ... here. + * nptl/tst-basic7.c: Move to... + * sysdeps/pthread/tst-basic7.c: ... here. + (do_test): Modified function. + +2020-02-09 Samuel Thibault + + COMMIT: 19a64d9f6eda12cd4b802aac470c645d208a1216 + htl: Fix calling pthread_exit in the child of a fork + + * sysdeps/mach/hurd/htl/pt-sysdep.c: Modified. + (_init_routine): Modified function. + (reset_pthread_total): New function. + +2020-02-09 Florian Weimer + + COMMIT: 3430ed09d3bef58dbf3fe18d87716236883599d8 + x86: Remove and use the generic version + + * sysdeps/x86/bits/select.h: Delete file. + +2020-02-09 Samuel Thibault + + COMMIT: b05de1040009d0d07a5a2e2765cffe554ffbe6ac + C11 threads: Move implementation to sysdeps/pthread + + * htl/Versions: Modified. + * nptl/Makefile: Modified. + * sysdeps/htl/pthreadP.h: Modified. + [IS_IN (libpthread)](hidden_proto): New. + [IS_IN (libpthread)](hidden_proto): New. + * sysdeps/htl/thrd_current.c: New file. + * sysdeps/htl/threads.h: Delete file. + * sysdeps/hurd/stdc-predef.h: Delete file. + * sysdeps/mach/htl/thrd_yield.c: New file. + * sysdeps/mach/hurd/htl/pt-mutex-destroy.c: Modified. + (hidden_def): New. + * sysdeps/mach/hurd/htl/pt-mutex-timedlock.c: Modified. + (hidden_def): New. + * sysdeps/mach/hurd/i386/libc.abilist: Modified. + * sysdeps/mach/hurd/i386/libpthread.abilist: Modified. + * sysdeps/nptl/thrd_create.c: New file. + * sysdeps/pthread/Makefile: Modified. + * nptl/call_once.c: Move to... + * sysdeps/pthread/call_once.c: ... here. + * nptl/cnd_broadcast.c: Move to... + * sysdeps/pthread/cnd_broadcast.c: ... here. + * nptl/cnd_destroy.c: Move to... + * sysdeps/pthread/cnd_destroy.c: ... here. + * nptl/cnd_init.c: Move to... + * sysdeps/pthread/cnd_init.c: ... here. + * nptl/cnd_signal.c: Move to... + * sysdeps/pthread/cnd_signal.c: ... here. + * nptl/cnd_timedwait.c: Move to... + * sysdeps/pthread/cnd_timedwait.c: ... here. + * nptl/cnd_wait.c: Move to... + * sysdeps/pthread/cnd_wait.c: ... here. + * nptl/mtx_destroy.c: Move to... + * sysdeps/pthread/mtx_destroy.c: ... here. + * nptl/mtx_init.c: Move to... + * sysdeps/pthread/mtx_init.c: ... here. + * nptl/mtx_lock.c: Move to... + * sysdeps/pthread/mtx_lock.c: ... here. + * nptl/mtx_timedlock.c: Move to... + * sysdeps/pthread/mtx_timedlock.c: ... here. + * nptl/mtx_trylock.c: Move to... + * sysdeps/pthread/mtx_trylock.c: ... here. + * nptl/mtx_unlock.c: Move to... + * sysdeps/pthread/mtx_unlock.c: ... here. + * nptl/thrd_create.c: Move to... + * sysdeps/pthread/thrd_create.c: ... here. + (thrd_create): Modified function. + * nptl/thrd_detach.c: Move to... + * sysdeps/pthread/thrd_detach.c: ... here. + * nptl/thrd_equal.c: Move to... + * sysdeps/pthread/thrd_equal.c: ... here. + * nptl/thrd_exit.c: Move to... + * sysdeps/pthread/thrd_exit.c: ... here. + * nptl/thrd_join.c: Move to... + * sysdeps/pthread/thrd_join.c: ... here. + * nptl/thrd_priv.h: Move to... + * sysdeps/pthread/thrd_priv.h: ... here. + * nptl/thrd_sleep.c: Move to... + * sysdeps/pthread/thrd_sleep.c: ... here. + * sysdeps/nptl/threads.h: Move to... + * sysdeps/pthread/threads.h: ... here. + * nptl/tss_create.c: Move to... + * sysdeps/pthread/tss_create.c: ... here. + * nptl/tss_delete.c: Move to... + * sysdeps/pthread/tss_delete.c: ... here. + * nptl/tss_get.c: Move to... + * sysdeps/pthread/tss_get.c: ... here. + * nptl/tss_set.c: Move to... + * sysdeps/pthread/tss_set.c: ... here. + * nptl/tst-call-once.c: Move to... + * sysdeps/pthread/tst-call-once.c: ... here. + * nptl/tst-cnd-basic.c: Move to... + * sysdeps/pthread/tst-cnd-basic.c: ... here. + * nptl/tst-cnd-broadcast.c: Move to... + * sysdeps/pthread/tst-cnd-broadcast.c: ... here. + * nptl/tst-cnd-timedwait.c: Move to... + * sysdeps/pthread/tst-cnd-timedwait.c: ... here. + * nptl/tst-mtx-basic.c: Move to... + * sysdeps/pthread/tst-mtx-basic.c: ... here. + * nptl/tst-mtx-recursive.c: Move to... + * sysdeps/pthread/tst-mtx-recursive.c: ... here. + * nptl/tst-mtx-timedlock.c: Move to... + * sysdeps/pthread/tst-mtx-timedlock.c: ... here. + * nptl/tst-mtx-trylock.c: Move to... + * sysdeps/pthread/tst-mtx-trylock.c: ... here. + * nptl/tst-thrd-detach.c: Move to... + * sysdeps/pthread/tst-thrd-detach.c: ... here. + * nptl/tst-thrd-sleep.c: Move to... + * sysdeps/pthread/tst-thrd-sleep.c: ... here. + * nptl/tst-tss-basic.c: Move to... + * sysdeps/pthread/tst-tss-basic.c: ... here. + +2020-02-09 Samuel Thibault + + COMMIT: 6cefe985b869e7b33b05ce7252410474d8a6c3ad + htl: Add C11 threads types definitions + + * sysdeps/htl/bits/thread-shared-types.h: Modified. + (bits/types/struct___pthread_once.h): Include file. + (__tss_t): New. + (__thrd_t): New. + (__once_flag): New. + (__ONCE_FLAG_INIT): New. + +2020-02-09 Samuel Thibault + + COMMIT: f1cea28137f471e551073cdcfc8d04775e5020f8 + C11 threads: make thrd_join more portable + + * nptl/thrd_join.c: Modified. + (thrd_join): Modified function. + +2020-02-09 Samuel Thibault + + COMMIT: c9abd9b4f3b1276d41a5cdf80f363d29d5864d68 + C11 threads: Fix thrd_t / pthread_t compatibility assertion + + * nptl/thrd_create.c: Modified. + (thrd_create): Modified function. + +2020-02-09 Samuel Thibault + + COMMIT: fc7283264d14f2f374feec691726277cbf450ca8 + C11 threads: do not require PTHREAD_DESTRUCTOR_ITERATIONS + + * nptl/tss_create.c: Modified. + (tss_create): Modified function. + +2020-02-09 Samuel Thibault + + COMMIT: e5ad0570682a663fe704f0a7bb1edb61fca11ecb + nptl: Move nptl-specific types to separate header + + * nptl/call_once.c: Modified. + (call_once): Modified function. + * sysdeps/nptl/bits/thread-shared-types.h: Modified. + (__tss_t): New. + (__thrd_t): New. + (__once_flag): New. + (__ONCE_FLAG_INIT): New. + * sysdeps/nptl/threads.h: Modified. + (bits/pthreadtypes-arch.h): Remove include. + (tss_t): Modified. + (thrd_t): Modified. + (once_flag): Remove. + (ONCE_FLAG_INIT): Modified. + (bits/thread-shared-types.h): Include file. + (once_flag): New. + +2020-02-09 Samuel Thibault + + COMMIT: f827f0e473d0aab4b34a5618a2a2ed89ecb88347 + htl: Make __PTHREAD_ONCE_INIT more flexible + + * sysdeps/htl/bits/types/struct___pthread_once.h: Modified. + (__PTHREAD_ONCE_INIT): Modified. + * sysdeps/htl/pthread.h: Modified. + (PTHREAD_ONCE_INIT): Modified. + +2020-02-09 Samuel Thibault + + COMMIT: 0c0361235ca7d4f5be0f88fe9b03afcf6a3cb8c6 + htl: Add support for C11 threads behavior + + * htl/pt-create.c: Modified. + (entry_point): Modified function. + (__pthread_create_internal): Modified function. + * htl/pt-internal.h: Modified. + (__pthread): Modified. + * sysdeps/htl/pthreadP.h: Modified. + (ATTR_C11_THREAD): New. + +2020-02-09 Samuel Thibault + + COMMIT: 95669bbf2c20518cbbcd31681e2dc954c5233b79 + htl: Add missing internal functions declarations + + * sysdeps/htl/pthreadP.h: Modified. + (__pthread_mutex_trylock): New function. + (__pthread_mutexattr_init): New function. + (__pthread_mutexattr_settype): New function. + (__pthread_cond_init): New function. + (__pthread_cond_signal): New function. + (__pthread_cond_wait): New function. + (__pthread_cond_timedwait): New function. + (__pthread_cond_destroy): New function. + (__pthread_key_delete): New function. + (__pthread_once): New function. + +2020-02-09 Samuel Thibault + + COMMIT: e775f443bda95c0ff494879e9ee84d482292ad7e + htl: Rename _pthread_mutex_init/destroy to __pthread_mutex_init/destroy + + * htl/Versions: Modified. + * htl/pt-initialize.c: Modified. + * sysdeps/htl/pt-key.h: Modified. + (__pthread_key_lock_ready): Modified function. + * sysdeps/htl/pthreadP.h: Modified. + [IS_IN (libpthread)](hidden_proto): Modified. + (_pthread_mutex_init): Remove. + (__pthread_mutex_init): New function. + (__pthread_mutex_destroy): New function. + * sysdeps/mach/hurd/htl/pt-mutex-destroy.c: Modified. + (_pthread_mutex_destroy): Remove function. + (strong_alias): Modified. + (__pthread_mutex_destroy): New function. + * sysdeps/mach/hurd/htl/pt-mutex-init.c: Modified. + (_pthread_mutex_init): Remove function. + (strong_alias): Modified. + (hidden_def): Modified. + (__pthread_mutex_init): New function. + +2020-02-09 Samuel Thibault + + COMMIT: 0093df204ad5858a81cbefaaa091770071ee710b + htl: Move internal mutex/rwlock symbols to GLIBC_PRIVATE + + * htl/Versions: Modified. + * sysdeps/mach/hurd/i386/libpthread.abilist: Modified. + +2020-02-09 Florian Weimer + + COMMIT: f6233ab412c3bebebacf65745e775e01506dd58d + Linux: Add io/tst-o_path-locks test + + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/tst-o_path-locks.c: New file. + +2020-02-09 Florian Weimer + + COMMIT: 173ec37bb2af6e30892a141d74d42db5957ddd36 + support: Add the xlstat function + + * support/Makefile: Modified. + * support/xlstat.c: New file. + * support/xunistd.h: Modified. + (xlstat): New function. + +2020-02-09 Samuel Thibault + + COMMIT: cc79354ecc9bd31896b869f303a951bb750c3fd4 + htl: Remove duplicate files + + * sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c: Delete file. + * sysdeps/mach/hurd/htl/pt-attr-setstacksize.c: Delete file. + +2020-02-09 Samuel Thibault + + COMMIT: a99155555c2134a6397584b7cdc30d7e55e070cf + htl: Remove unused files + + * htl/Makefile: Modified. + * htl/Versions: Modified. + * htl/pt-internal.h: Modified. + (__pthread_default_mutexattr): Remove. + * sysdeps/htl/bits/types/struct___pthread_mutexattr.h: Modified. + (__pthread_errorcheck_mutexattr): Remove. + (__pthread_recursive_mutexattr): Remove. + * sysdeps/htl/pt-kill.c: Delete file. + * sysdeps/htl/pt-mutex-destroy.c: Delete file. + * sysdeps/htl/pt-mutex-getprioceiling.c: Delete file. + * sysdeps/htl/pt-mutex-init.c: Delete file. + * sysdeps/htl/pt-mutex-lock.c: Delete file. + * sysdeps/htl/pt-mutex-setprioceiling.c: Delete file. + * sysdeps/htl/pt-mutex-timedlock.c: Delete file. + * sysdeps/htl/pt-mutex-transfer-np.c: Delete file. + * sysdeps/htl/pt-mutex-trylock.c: Delete file. + * sysdeps/htl/pt-mutex-unlock.c: Delete file. + * sysdeps/htl/pt-mutexattr-destroy.c: Delete file. + * sysdeps/htl/pt-mutexattr-getprioceiling.c: Delete file. + * sysdeps/htl/pt-mutexattr-getprotocol.c: Delete file. + * sysdeps/htl/pt-mutexattr-getpshared.c: Delete file. + * sysdeps/htl/pt-mutexattr-gettype.c: Delete file. + * sysdeps/htl/pt-mutexattr-init.c: Delete file. + * sysdeps/htl/pt-mutexattr-setprioceiling.c: Delete file. + * sysdeps/htl/pt-mutexattr-setprotocol.c: Delete file. + * sysdeps/htl/pt-mutexattr-setpshared.c: Delete file. + * sysdeps/htl/pt-mutexattr-settype.c: Delete file. + * sysdeps/htl/pt-mutexattr.c: Delete file. + * sysdeps/htl/pt-spin.c: Delete file. + * sysdeps/mach/hurd/htl/pt-mutexattr.c: Delete file. + +2020-02-07 Florian Weimer + + COMMIT: d4e209d35564eecdc006ab9f5b10bc8494c6f1f9 + resolv: Fix CNAME chaining in resolv/tst-resolv-ai_idn-common.c + + * resolv/tst-resolv-ai_idn-common.c: Modified. + (response): Modified function. + +2020-02-07 Wilco Dijkstra + + COMMIT: 814309f0c226fc1f2c4eb6a042d74df6f496db23 + Remove a comment claiming that sin/cos round correctly. + + * sysdeps/ieee754/dbl-64/s_sin.c: Modified. + +2020-02-07 Lukasz Majewski + + COMMIT: d2e3b697da2433c08702f95c76458c51545c3df1 + y2038: linux: Provide __settimeofday64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__settimeofday64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__settimeofday64): New. + [! _ISOMAC](sys/time.h): Include file. + * sysdeps/unix/sysv/linux/settimeofday.c: New file. + +2020-02-07 Lukasz Majewski + + COMMIT: 29bf83ccd75f865b0f551e7d10f18e6bb8d026bc + y2038: Provide conversion helpers for struct __timeval64 + + * include/time.h: Modified. + [! _ISOMAC](__timeval64): New. + [! _ISOMAC](valid_timeval_to_timeval64): New function. + [! _ISOMAC](valid_timeval64_to_timeval): New function. + [! _ISOMAC](timeval64_to_timespec64): New function. + [! _ISOMAC](__timespec64): New. + [! _ISOMAC](__timeval64): New. + [! _ISOMAC](timespec64_to_timeval64): New function. + +2020-02-07 Lukasz Majewski + + COMMIT: ebc2368121bf1932e530ef126b5a0765953e77ad + y2038: alpha: Rename valid_timeval64_to_timeval to valid_timeval_to_timeval32 + + * sysdeps/unix/sysv/linux/alpha/osf_adjtime.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtime_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtimex_tv32): Modified function. + * sysdeps/unix/sysv/linux/alpha/osf_getitimer.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__getitimer_tv32): Modified function. + * sysdeps/unix/sysv/linux/alpha/osf_setitimer.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__setitimer_tv32): Modified function. + * sysdeps/unix/sysv/linux/alpha/tv32-compat.h: Modified. + (valid_timeval64_to_timeval): Remove function. + (rusage64_to_rusage32): Modified function. + (valid_timeval_to_timeval32): New function. + +2020-02-07 Lukasz Majewski + + COMMIT: cde52c2557177903806fed7dd216ff9b2280ceee + y2038: alpha: Rename valid_timeval_to_timeval64 to valid_timeval32_to_timeval + + * sysdeps/unix/sysv/linux/alpha/osf_adjtime.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtime_tv32): Modified function. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__adjtimex_tv32): Modified function. + * sysdeps/unix/sysv/linux/alpha/osf_setitimer.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__setitimer_tv32): Modified function. + * sysdeps/unix/sysv/linux/alpha/osf_utimes.c: Modified. + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](__utimes_tv32): Modified function. + * sysdeps/unix/sysv/linux/alpha/tv32-compat.h: Modified. + (valid_timeval_to_timeval64): Remove function. + (valid_timeval32_to_timeval): New function. + +2020-02-07 Lukasz Majewski + + COMMIT: 504c98717062cb9bcbd4b3e59e932d04331ddca5 + y2038: Introduce struct __timeval64 - new internal glibc type + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__timeval64): New. + [! _ISOMAC][__TIMESIZE == 64](__timeval64): New. + +2020-02-07 Lukasz Majewski + + COMMIT: 3fced064f23562ec24f8312ffbc14950993969e6 + y2038: Define __suseconds64_t type to be used with struct __timeval64 + + * bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__SUSECONDS64_T_TYPE): New. + * posix/bits/types.h: Modified. + (__suseconds64_t): New. + * sysdeps/mach/hurd/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__SUSECONDS64_T_TYPE): New. + * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__SUSECONDS64_T_TYPE): New. + * sysdeps/unix/sysv/linux/generic/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__SUSECONDS64_T_TYPE): New. + * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__SUSECONDS64_T_TYPE): New. + * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__SUSECONDS64_T_TYPE): New. + * sysdeps/unix/sysv/linux/x86/bits/typesizes.h: Modified. + [! _BITS_TYPESIZES_H](__SUSECONDS64_T_TYPE): New. + +2020-02-07 Joseph Myers + + COMMIT: 449db0fa3ef9d17951d94d7504db13b1891fa964 + Update kernel version to 5.5 in tst-mman-consts.py. + + * sysdeps/unix/sysv/linux/tst-mman-consts.py: Modified. + +2020-02-07 Joseph Myers + + COMMIT: 5828bc4523230685ac29a4a882967913255f5666 + Update syscall lists for Linux 5.5. + + * sysdeps/unix/sysv/linux/aarch64/arch-syscall.h: Modified. + (__NR_clone3): New. + * sysdeps/unix/sysv/linux/syscall-names.list: Modified. + +2020-02-07 Siddhesh Poyarekar + + COMMIT: f7be48d8c180a37dc4b341aa5acaa691fa031a96 + NEWS: Set fill-column hint to 72 + + * NEWS: Modified. + +2020-02-05 Lukasz Majewski + + COMMIT: f1c314d27552eb6ce5db23b98b293696925741d5 + y2038: linux: Provide __timespec_get64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__timespec_get64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New. + [! _ISOMAC][__TIMESIZE == 64](__timespec_get64): New. + * sysdeps/unix/sysv/linux/timespec_get.c: New file. + +2020-02-03 Joseph Myers + + COMMIT: 286a01d7ab53ee813907d4fde7c0f0a0d53e3c17 + Use binutils 2.34 branch in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2020-02-03 DJ Delorie + + COMMIT: 279c68ce1336d84d82ce491a4b77086e574ba380 + Run nptl/tst-pthread-getattr in a container + + * nptl/Makefile: Modified. + +2020-02-03 DJ Delorie + + COMMIT: 4f79b3e2fb3eba003240ec38a0e68702b9a60b86 + test-container: add exec, cwd + + * support/test-container.c: Modified. + (main): Modified function. + +2020-02-03 Joseph Myers + + COMMIT: 2db7feeb95e94b948a6a653fb61821092c7781b9 + Use Linux 5.5 in build-many-glibcs.py. + + * scripts/build-many-glibcs.py: Modified. + +2020-02-03 Andreas Schwab + + COMMIT: 6befb33f31f034a0e8876ce6427dacdfa0cd7ea7 + rt: avoid PLT setup in timer_[sg]ettime + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Remove. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Remove. + [! _ISOMAC][__TIMESIZE != 64](librt_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE != 64](librt_hidden_proto): New function. + * sysdeps/unix/sysv/linux/timer_gettime.c: Modified. + [__TIMESIZE != 64](librt_hidden_def): New. + (libc_hidden_def): Remove. + * sysdeps/unix/sysv/linux/timer_settime.c: Modified. + [__TIMESIZE != 64](librt_hidden_def): New. + (libc_hidden_def): Remove. + +2020-02-03 Mike FABIAN + + COMMIT: cdeae33d71696bb0e81667d4788d0b38606aefb6 + Update or_IN collation [BZ #22525] + + * localedata/Makefile: Modified. + * localedata/locales/or_IN: Modified. + * localedata/or_IN.UTF-8.in: New file. + +2020-02-03 Mike FABIAN + + COMMIT: ae199e7d6423ed3bd0c8669381966ca4c58f4f49 + Fix ckb_IQ [BZ #9809] + + * NEWS: Modified. + * localedata/Makefile: Modified. + * localedata/SUPPORTED: Modified. + * localedata/ckb_IQ.UTF-8.in: New file. + * localedata/locales/ckb_IQ: Modified. + +2020-02-03 Jwtiyar Nariman + + COMMIT: 4267522f5e0309f7606a8d1da5d436a166a719e2 + Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809] + + * localedata/locales/ckb_IQ: New file. + +2020-02-03 Siddhesh Poyarekar + + COMMIT: 44b2d5f1ba16acc2eca010b7c3820753a85b7278 + list-fixed-bugs.py: Wrap at 72 chars + + * scripts/list-fixed-bugs.py: Modified. + +2020-02-02 Lukasz Majewski + + COMMIT: b112f53e9d0fc85fc68aadd6442b00491d19830b + y2038: linux: Provide __sched_rr_get_interval64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__sched_rr_get_interval64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__sched_rr_get_interval64): New. + * sysdeps/unix/sysv/linux/sched_rr_gi.c: New file. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + +2020-02-02 Lukasz Majewski + + COMMIT: eae22432723b877354291aca4dbbfde5891dad59 + y2038: linux: Provide __timerfd_settime64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](__timerfd_settime64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__timerfd_settime64): New. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/timerfd_settime.c: New file. + +2020-02-02 Lukasz Majewski + + COMMIT: 0f6e6b97647891ae569018f9d6923dc5eee694c9 + y2038: linux: Provide __timerfd_gettime64 implementation + + * include/time.h: Modified. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): Modified. + [! _ISOMAC][__TIMESIZE != 64](__timerfd_gettime64): New function. + [! _ISOMAC][__TIMESIZE != 64](libc_hidden_proto): New function. + [! _ISOMAC][__TIMESIZE == 64](__timerfd_gettime64): New. + * sysdeps/unix/sysv/linux/Makefile: Modified. + * sysdeps/unix/sysv/linux/syscalls.list: Modified. + * sysdeps/unix/sysv/linux/timerfd_gettime.c: New file. + +2020-02-01 H.J. Lu + + COMMIT: bbfc0f0f8e30680437d1c5b90563018bcd403881 + i386: Remove _exit.S + + * sysdeps/unix/sysv/linux/i386/_exit.S: Delete file. + +2020-02-01 H.J. Lu + + COMMIT: 0455f251f494d30db4b52f11b5b0b7f285f775ef + i386: Use ENTRY/END in assembly codes + + * sysdeps/i386/nptl/pthread_spin_lock.S: Modified. + * sysdeps/i386/nptl/pthread_spin_unlock.S: Modified. + * sysdeps/i386/pthread_spin_trylock.S: Modified. + +2020-02-01 H.J. Lu + + COMMIT: 825b58f3fb04781e559858510fe83a8c4bf28425 + i386-mcount.S: Add _CET_ENDBR to _mcount and __fentry__ + + * sysdeps/i386/i386-mcount.S: Modified. + +2020-02-01 H.J. Lu + + COMMIT: 4031d7484ab3f6327184b5973d91f46978ebe8cf + i386/sub_n.S: Add a missing _CET_ENDBR to indirect jump target + + * sysdeps/i386/sub_n.S: Modified. + +2020-02-01 H.J. Lu + + COMMIT: 15eab1e3e89129ab3ed03f5bdc3415b26e9caeb9 + i386: Don't unnecessarily save and restore EAX, ECX and EDX [BZ# 25262] + + * sysdeps/unix/sysv/linux/i386/getcontext.S: Modified. + * sysdeps/unix/sysv/linux/i386/setcontext.S: Modified. + * sysdeps/unix/sysv/linux/i386/swapcontext.S: Modified. + * sysdeps/unix/sysv/linux/i386/ucontext_i.sym: Modified. + +2020-02-01 H.J. Lu + + COMMIT: 635d6fae03257129b4672591b700a495cb6cb6c7 + x86: Don't make 2 calls to dlerror () in a row + + * sysdeps/x86/tst-cet-legacy-5.c: Modified. + (do_test_1): Modified function. + * sysdeps/x86/tst-cet-legacy-6.c: Modified. + (do_test_1): Modified function. + +2020-02-01 Siddhesh Poyarekar + + COMMIT: d8775136b5830394d50c98997983b96a236629bf + Open master for 2.32 development + + * NEWS: Modified. + * version.h: Modified. + (RELEASE): Modified. + (VERSION): Modified. + diff --git a/ChangeLog.old/ChangeLog.5 b/ChangeLog.old/ChangeLog.5 index 6d92ec5626..57a87a5037 100644 --- a/ChangeLog.old/ChangeLog.5 +++ b/ChangeLog.old/ChangeLog.5 @@ -5440,7 +5440,7 @@ Tue Jan 16 17:37:39 1996 Roland McGrath Sun Jan 14 01:01:10 1996 Ulrich Drepper - * sysdeps/mips/bytesex.h: Add default byte sex. By Ralf Baechle. + * sysdeps/mips/bytesex.h: Add default byte sex. By Ralf Bächle. * sysdeps/unix/sysv/linux/adjtime.c [! MOD_OFFSET]: Use `mode' member of `struct timex' instead of `modes'. From Andreas Schwab. diff --git a/ChangeLog.old/ChangeLog.6 b/ChangeLog.old/ChangeLog.6 index 96fdef90b7..ec5e00efc2 100644 --- a/ChangeLog.old/ChangeLog.6 +++ b/ChangeLog.old/ChangeLog.6 @@ -1636,7 +1636,7 @@ Thu Dec 19 20:58:53 1996 Ulrich Drepper Define __USE_POSIX199309. * posix/unistd.h: Declare fdatasync only if __USE_POSIX199309. * time/time.c: Declare nanosleep only if __USE_POSIX199309. - Patches by Rdiger Helsch . + Patches by Rüdiger Helsch . * locale/locale.h: Add declaration of newlocale and freelocale. @@ -5519,7 +5519,7 @@ Thu Sep 26 14:40:10 1996 Ulrich Drepper * sysdeps/posix/pathconf.c: Pass descriptor for just opened file to fpathconf. - Reported by Martin von Loewis . + Reported by Martin von Löwis . Thu Sep 26 04:02:43 1996 Ulrich Drepper diff --git a/ChangeLog.old/ChangeLog.7 b/ChangeLog.old/ChangeLog.7 index cc1a5a79f8..3611c548c1 100644 --- a/ChangeLog.old/ChangeLog.7 +++ b/ChangeLog.old/ChangeLog.7 @@ -415,7 +415,7 @@ definition. Patch by Zack Weinberg . * stdlib/strtod.c: Handle numbers like 0.0e10000 correctly which - produce 0.0. Reported by Joe Keane . + produce ±0.0. Reported by Joe Keane . * sysdeps/libm-ieee754/s_ceill.c: Fix typos. * sysdeps/libm-ieee754/s_llrint.c: Correct code, it never worked. @@ -4010,7 +4010,7 @@ * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. - Patch by ir. Mark M._Kettenis . + Patch by ir. Mark M. Kettenis . 1997-08-11 23:55 Ulrich Drepper @@ -5401,7 +5401,7 @@ 1997-06-30 14:49 H.J. Lu - From Ralf Baechle on + From Ralf Bächle on Sat Jun 21 18:11:21 1997: * sysdeps/unix/sysv/linux/syscalls.list (swapon): Add __swapon alias. @@ -5782,7 +5782,7 @@ 1997-07-05 11:56 Ulrich Drepper * login/login.c (tty_name): Use newly allocated buffer. - Patch by Jaakko Hyvtti . + Patch by Jaakko Hyvätti . * time/asctime.c: Never translate week and month name according to LC_TIME. Patch by Paul Eggert . @@ -9333,7 +9333,7 @@ * string/tst-svc.c: New file. Test for strverscmp. * string/tst-svc.input: New file. Input data for tst-svc. * string/tst-svc.expect: New file. Expected out from tst-svc. - Patches by Jean-Franois Bignolles . + Patches by Jean-François Bignolles . * math/Makefile (calls): Add s_signbit. @@ -14547,7 +14547,7 @@ * malloc/malloc.h (__malloc_initialized) [_LIBC]: Define as __libc_malloc_initialized so that this variable is not shared with other users of GNU malloc. - Suggested by Martin von Loewis . + Suggested by Martin von Löwis . * mcheck.h: Correct typo. Use malloc/ instead of new-malloc/. diff --git a/ChangeLog.old/ChangeLog.8 b/ChangeLog.old/ChangeLog.8 index 52b85a6270..c48660d23a 100644 --- a/ChangeLog.old/ChangeLog.8 +++ b/ChangeLog.old/ChangeLog.8 @@ -6025,7 +6025,7 @@ (Host Address Functions): Use uint32_t consequently and add a number of clarifications for IPv4/IPv6, classless addresses. (Internet Namespace): Added some paragraphs about IPv6. - Based on suggestions by Francesco Potorti` . + Based on suggestions by Francesco Potortì . 1998-04-05 Philip Blundell @@ -6565,7 +6565,7 @@ * manual/examples/mkfsock.c (make_named_socket): Removed blank lines for clarification. (make_named_socket): Use strncpy instead of strcpy. - Reported by Francesco Potorti` . + Reported by Francesco Potortì . 1998-03-30 13:28 Ulrich Drepper @@ -7975,7 +7975,7 @@ * sysdeps/generic/getresuid.c (__getresuid): Use ISO C declaration style to avoid warnings. -1998-03-06 11:48 Mark M._Kettenis +1998-03-06 11:48 Mark M. Kettenis * elf/rtld.c (process_dl_debug): Fix typo: "DL_DEBUG" -> "LD_DEBUG". @@ -8314,7 +8314,7 @@ 1998-02-27 Ulrich Drepper * misc/efgcvt_r.c (APPEND): Handle printing of 0.0 correctly. - Reported by Gran Uddeborg . + Reported by Göran Uddeborg . * misc/tst-efgcvt.c (ecvt_tests): Add new test case for reported bug. @@ -8322,7 +8322,7 @@ 1998-02-25 Andreas Jaeger * manual/arith.texi (Old-style number conversion): Correct - typo. Reported by Gran Uddeborg . + typo. Reported by Göran Uddeborg . 1998-02-27 Ulrich Drepper @@ -12044,7 +12044,7 @@ * libio/stdio.h: Correct comment of sys_nerr/sys_errlist. -1997-11-25 Paul Eggert +1997-11-25 Paul Eggert * strftime.c (strftime): No longer any need to undef or declare if emacs is defined. diff --git a/ChangeLog.old/ChangeLog.9 b/ChangeLog.old/ChangeLog.9 index 11b6cd2f52..d9fc744ae3 100644 --- a/ChangeLog.old/ChangeLog.9 +++ b/ChangeLog.old/ChangeLog.9 @@ -727,7 +727,7 @@ 1998-12-30 Andreas Jaeger - Patche by Ralf Baechle : + Patche by Ralf Bächle : * sysdeps/mips/sys/regdef.h: New file, enhanced versions of deleted linux specific files. @@ -1098,7 +1098,7 @@ 1998-12-30 Andreas Jaeger - Patches by Ralf Baechle : + Patches by Ralf Bächle : * sysdeps/unix/sysv/linux/mips/sgidefs.h: Removed. * sysdeps/unix/sysv/linux/mips/sys/asm.h: Removed. * sysdeps/unix/sysv/linux/mips/sys/regdef.h: Removed. @@ -1169,7 +1169,7 @@ 1998-12-28 Andreas Jaeger - Patches by Ralf Baechle for Linux/MIPS: + Patches by Ralf Bächle for Linux/MIPS: * sysdeps/unix/sysv/linux/mips/syscalls.list: Add ipc, change pread/pwrite and llseek calls. @@ -2213,7 +2213,7 @@ and add needed symbols from ; bring in sync with linux specific version. - Patches by Ralf Baechle for mips-linux: + Patches by Ralf Bächle for mips-linux: * sysdeps/unix/mips/sysdep.S: Define _errno as weak_alias, rewrite errno declaration. @@ -2772,7 +2772,7 @@ * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Rename macro parameter lazy to do_lazy to avoid clashing with struct member name. - Reported by Ralf Baechle . + Reported by Ralf Bächle . 1998-11-10 H.J. Lu @@ -4060,7 +4060,7 @@ * sysdeps/unix/sysv/linux/bits/fcntl.h: Add dummy definition of O_LARGEFILE back. -1998-10-16 Paul Eggert +1998-10-16 Paul Eggert * time/mktime.c: Some systems require to be included before for localtime_r to be declared @@ -4618,7 +4618,7 @@ strftime, and check to see whether strftime has set the buffer to zero. This lets us distinguish between an empty buffer and an error. -1998-09-24 Paul Eggert +1998-09-24 Paul Eggert * time/strftime.c (INT_STRLEN_BOUND): Fix typo by changing 100 to 1000. This fix is propagated from tzcode1998g.tar.gz. diff --git a/ChangeLog.old/ChangeLog.localedata b/ChangeLog.old/ChangeLog.localedata index 7f50584639..6f65b07c3a 100644 --- a/ChangeLog.old/ChangeLog.localedata +++ b/ChangeLog.old/ChangeLog.localedata @@ -640,7 +640,7 @@ * locales/sl_SI (LC_IDENTIFICATION): Fix inappropriate escape sequence. * locales/ta_LK (LC_IDENTIFICATION): Fix inappropriate escape sequence. -2017-07-21 Rafal Luzynski +2017-07-21 Rafał Lużyński Indian scripts: abmon imported from CLDRv31 (related with BZ#21217). @@ -780,7 +780,7 @@ * locales/sc_IT (LC_TIME): Fix mispelled day/abday/mon/abmon and fix date_fmt. -2017-07-21 Rafal Luzynski +2017-07-21 Rafał Lużyński [BZ #21783] * locales/lg_UG (LC_TELEPHONE): Move all comments above the @@ -1070,7 +1070,7 @@ [BZ #21721] * locales/ks_IN@devanagari: Fix full weekday names, add yesstr and nostr -2017-07-06 Rafal Luzynski +2017-07-06 Rafał Lużyński Arabic scripts: More fixes after the recent import. @@ -1122,7 +1122,7 @@ [BZ #21706] * locales/br_FR (LC_MESSAGES): add yesstr and nostr -2017-06-30 Rafal Luzynski +2017-06-30 Rafał Lużyński * locales/br_FR (abmon): Reworded "Eve " to "Mezh". * locales/fy_NL (abmon): Reworded "Maa" (March) to @@ -1150,7 +1150,7 @@ updates the language endonym in a bunch of locales based on CLDR v 31.0.1 data -2017-06-16 Rafal Luzynski +2017-06-16 Rafał Lużyński [BZ #21217] * locales/be_BY (mon, abmon): Reworded "Травень" ("travyen'") @@ -1235,12 +1235,12 @@ * locales/yi_US (mon): Likewise. * locales/yue_HK (mon): Likewise. -2017-06-22 Rafal Luzynski +2017-06-22 Rafał Lużyński * locales/fur_IT (day, abday): reworded "Miarcus" to "Miercus" and abbreviated "Mia" to "Mie". -2017-06-13 Rafal Luzynski +2017-06-13 Rafał Lużyński [BZ #21207] * locales/ce_RU (day): Updated (imported) from CLDR. Uppercase letters @@ -1249,7 +1249,7 @@ "I" replaced with Cyrillic "Ӏ" ("Palochka", Unicode: U04C0). Trailing spaces removed. -2017-06-13 Rafal Luzynski +2017-06-13 Rafał Lużyński * localedata/locales/mag_IN (abday, day): Consistently use uppercase hexadecimal in notation. @@ -3021,13 +3021,13 @@ * locales/zh_SG: Likewise. * locales/zh_TW: Likewise. -2016-04-13 Matthias Wallnoefer +2016-04-13 Matthias Wallnöfer * locales/de_IT: New locale. * SUPPORTED (SUPPORTED-LOCALES): Add de_IT.UTF-8/UTF-8 and de_IT/ISO-8859-1. -2016-04-13 Matthias Wallnoefer +2016-04-13 Matthias Wallnöfer * locales/de_AT (LC_MESSAGES): Change to copy de_DE. (LC_NAME): Likewise. @@ -6105,7 +6105,7 @@ [BZ #14368] * locales/szl_PL: New Silesian Language Locale for Poland. - Contributed by Przemyslaw Buczkowski . + Contributed by Przemysław Buczkowski . * localedata/SUPPORTED (SUPPORTED-LOCALES): Add szl_PL. [BZ # 14828] @@ -6224,13 +6224,13 @@ * locales/es_PR: Likewise. * locales/es_SV: Likewise. -2012-06-20 Petr Baudis +2012-06-20 Petr Baudiš * locales/mag_IN: Fix comment character. * locales/tr_CY (LC_TIME): Remove redundant first_weekday and first_workday. -2012-06-04 Petr Baudis +2012-06-04 Petr Baudiš [BZ#13996] * locales/tr_TR: Change currency from YTL to TL. @@ -6288,7 +6288,7 @@ [BZ #6770] * locales/ca_ES (LC_TIME): Add first_weekday and first_workday. -2012-04-04 Petr Baudis +2012-04-04 Petr Baudiš [BZ #6770] * locales/ca_ES: This locale is now maintained by Jordi Mallach. @@ -6726,7 +6726,7 @@ [BZ #10425] * locales/it_IT: Fix date_fmt. * locales/it_CH: Likewise. - Patch by Nicolo' Chieffo . + Patch by Nicolò Chieffo . * locales/POSIX: Define yesstr and nostr. * locales/en_US: Likewise. @@ -8084,7 +8084,7 @@ [BZ #448] * locales/vi_VN: Several fixes. - Patch by Nguyen Thai Ngoc Duy . + Patch by Nguyễn Thái Ngọc Duy . [BZ #428] * locales/te_IN: Several fixes. @@ -9717,7 +9717,7 @@ 2001-07-31 Ulrich Drepper * locales/tr_TR: Define missing fields and remove FIXME comments. - Patch by Nilg~n Belma Bug~ner . + Patch by Nilgün Belma Bugüner . 2001-07-19 Jakub Jelinek @@ -11911,7 +11911,7 @@ 1999-12-19 Ulrich Drepper * locales/POSIX: Fix collation order of and add a few missing - symbols. Patch by Miloslav Trmac . + symbols. Patch by Miloslav Trmač . * locales/cs_CZ: Fix syntax of collation entries with multi-character weights. diff --git a/ChangeLog.old/ChangeLog.nptl b/ChangeLog.old/ChangeLog.nptl index e022a1927a..2f63fc73c2 100644 --- a/ChangeLog.old/ChangeLog.nptl +++ b/ChangeLog.old/ChangeLog.nptl @@ -4810,7 +4810,7 @@ Later nptl/ changes go into the top-level ChangeLog file, not here. [BZ #3251] * descr.h (ENQUEUE_MUTEX_BOTH): Add cast to avoid warning. - Patch by Petr Baudis. + Patch by Petr Baudiš. 2006-09-18 Jakub Jelinek diff --git a/INSTALL b/INSTALL index e137a71169..41f5d6b708 100644 --- a/INSTALL +++ b/INSTALL @@ -123,20 +123,24 @@ if 'CFLAGS' is specified it must enable optimization. For example: executables (PIE) by default. '--enable-cet' +'--enable-cet=permissive' Enable Intel Control-flow Enforcement Technology (CET) support. - When the GNU C Library is built with '--enable-cet', the resulting - library is protected with indirect branch tracking (IBT) and shadow - stack (SHSTK). When CET is enabled, the GNU C Library is - compatible with all existing executables and shared libraries. - This feature is currently supported on i386, x86_64 and x32 with - GCC 8 and binutils 2.29 or later. Note that when CET is enabled, - the GNU C Library requires CPUs capable of multi-byte NOPs, like - x86-64 processors as well as Intel Pentium Pro or newer. + When the GNU C Library is built with '--enable-cet' or + '--enable-cet=permissive', the resulting library is protected with + indirect branch tracking (IBT) and shadow stack (SHSTK). When CET + is enabled, the GNU C Library is compatible with all existing + executables and shared libraries. This feature is currently + supported on i386, x86_64 and x32 with GCC 8 and binutils 2.29 or + later. Note that when CET is enabled, the GNU C Library requires + CPUs capable of multi-byte NOPs, like x86-64 processors as well as + Intel Pentium Pro or newer. With '--enable-cet', it is an error to + dlopen a non CET enabled shared library in CET enabled application. + With '--enable-cet=permissive', CET is disabled when dlopening a + non CET enabled shared library in CET enabled application. NOTE: '--enable-cet' has been tested for i686, x86_64 and x32 on - non-CET processors. '--enable-cet' has been tested for x86_64 and - x32 on CET SDVs, but Intel CET support hasn't been validated for - i686. + non-CET processors. '--enable-cet' has been tested for i686, + x86_64 and x32 on CET processors. '--disable-profile' Don't build libraries with profiling information. You may want to @@ -223,15 +227,6 @@ if 'CFLAGS' is specified it must enable optimization. For example: colon-separated list in a single environment variable 'GLIBC_TUNABLES'. -'--enable-obsolete-nsl' - By default, libnsl is only built as shared library for backward - compatibility and the NSS modules libnss_compat, libnss_nis and - libnss_nisplus are not built at all. Use this option to enable - libnsl with all depending NSS modules and header files. For - architectures and ABIs that have been added after version 2.28 of - the GNU C Library this option is not available, and the libnsl - compatibility library is not built. - '--disable-crypt' Do not install the passphrase-hashing library 'libcrypt' or the header file 'crypt.h'. 'unistd.h' will still declare the function @@ -464,9 +459,19 @@ build the GNU C Library: GCC 6.2 or higher is required. In general it is recommended to use the newest version of the compiler that is known to work for building the GNU C Library, as newer compilers usually produce - better code. As of release time, GCC 8.2.1 is the newest compiler + better code. As of release time, GCC 9.2.1 is the newest compiler verified to work to build the GNU C Library. + For PowerPC 64-bits little-endian (powerpc64le), a GCC version with + support for '-mno-gnu-attribute', '-mabi=ieeelongdouble', and + '-mabi=ibmlondouble' is required. Likewise, the compiler must also + support passing '-mlong-double-128' with the preceding options. As + of release, this implies GCC 7.4 and newer (excepting GCC 7.5.0, + see GCC PR94200). These additional features are required for + building the GNU C Library with support for IEEE long double. + + For ARC architecture builds, GCC 8.3 or higher is needed. + For multi-arch support it is recommended to use a GCC which has been built with support for GNU indirect functions. This ensures that correct debugging information is generated for functions @@ -486,16 +491,23 @@ build the GNU C Library: You must use GNU 'binutils' (as and ld) to build the GNU C Library. No other assembler or linker has the necessary functionality at the - moment. As of release time, GNU 'binutils' 2.31.1 is the newest + moment. As of release time, GNU 'binutils' 2.32 is the newest verified to work to build the GNU C Library. + For PowerPC 64-bits little-endian (powerpc64le), 'objcopy' is + required to support '--update-section'. This option requires + binutils 2.26 or newer. + + ARC architecture needs 'binutils' 2.32 or higher for TLS related + fixes. + * GNU 'texinfo' 4.7 or later To correctly translate and install the Texinfo documentation you need this version of the 'texinfo' package. Earlier versions do not understand all the tags used in the document, and the installation mechanism for the info files is not present or works - differently. As of release time, 'texinfo' 6.5 is the newest + differently. As of release time, 'texinfo' 6.6 is the newest verified to work to build the GNU C Library. * GNU 'awk' 3.1.2, or higher @@ -503,20 +515,20 @@ build the GNU C Library: 'awk' is used in several places to generate files. Some 'gawk' extensions are used, including the 'asorti' function, which was introduced in version 3.1.2 of 'gawk'. As of release time, 'gawk' - version 4.2.1 is the newest verified to work to build the GNU C + version 5.0.1 is the newest verified to work to build the GNU C Library. * GNU 'bison' 2.7 or later 'bison' is used to generate the 'yacc' parser code in the 'intl' - subdirectory. As of release time, 'bison' version 3.0.5 is the + subdirectory. As of release time, 'bison' version 3.4.1 is the newest verified to work to build the GNU C Library. * Perl 5 Perl is not required, but if present it is used in some tests and the 'mtrace' program, to build the GNU C Library manual. As of - release time 'perl' version 5.28.1 is the newest verified to work + release time 'perl' version 5.30.1 is the newest verified to work to build the GNU C Library. * GNU 'sed' 3.02 or newer @@ -528,7 +540,7 @@ build the GNU C Library: * Python 3.4 or later Python is required to build the GNU C Library. As of release time, - Python 3.7.1 is the newest verified to work for building and + Python 3.7.4 is the newest verified to work for building and testing the GNU C Library. * PExpect 4.0 @@ -545,7 +557,7 @@ build the GNU C Library: use the pretty printers. Notice that your system having Python available doesn't imply that GDB supports it, nor that your system's Python and GDB's have the same version. As of release - time GNU 'debugger' 8.2 is the newest verified to work to test the + time GNU 'debugger' 8.3 is the newest verified to work to test the pretty printers. Unless Python, PExpect and GDB with Python support are present, the @@ -643,7 +655,7 @@ library, you really only need to narrow it down to one library function call, if possible. This should not be too difficult. The final step when you have a simple test case is to report the bug. -Do this at . +Do this at . If you are not sure how a function should behave, and this manual doesn't tell you, that's a bug in the manual. Report that too! If the diff --git a/LICENSES b/LICENSES index 0e3a9fe39b..530893b1dc 100644 --- a/LICENSES +++ b/LICENSES @@ -246,7 +246,7 @@ Collected from libdes and modified for SECURE RPC by Martin Kuck 1994 This file is distributed under the terms of the GNU Lesser General Public License, version 2.1 or later - see the file COPYING.LIB for details. If you did not receive a copy of the license with this program, please -see to obtain a copy. +see to obtain a copy. The file inet/rcmd.c is under a UCB copyright and the following: @@ -388,4 +388,4 @@ Copyright 2001 by Stephen L. Moshier You should have received a copy of the GNU Lesser General Public License along with this library; if not, see - . */ + . */ diff --git a/Makeconfig b/Makeconfig index fd36c58c04..dfda418aac 100644 --- a/Makeconfig +++ b/Makeconfig @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Makefile configuration options for the GNU C library. @@ -39,7 +39,7 @@ objpfx := $(patsubst %//,%/,$(objdir)/$(subdir)/) common-objpfx = $(objdir)/ common-objdir = $(objdir) else -objdir must be defined by the build-directory Makefile. +$(error objdir must be defined by the build-directory Makefile) endif # Root of the sysdeps tree. @@ -336,9 +336,6 @@ ifndef asm-CPPFLAGS asm-CPPFLAGS = endif -as-needed := -Wl,--as-needed -no-as-needed := -Wl,--no-as-needed - # Must be supported by the linker. no-whole-archive = -Wl,--no-whole-archive whole-archive = -Wl,--whole-archive @@ -567,13 +564,13 @@ else link-libc-tests-rpath-link = $(link-libc-rpath-link) endif # build-hardcoded-path-in-tests -link-libc-before-gnulib = $(common-objpfx)libc.so$(libc.so-version) \ - $(common-objpfx)$(patsubst %,$(libtype.oS),c) \ - $(as-needed) $(elf-objpfx)ld.so \ - $(no-as-needed) -link-libc = $(link-libc-before-gnulib) $(gnulib) +link-libc-between-gnulib = $(common-objpfx)libc.so$(libc.so-version) \ + $(common-objpfx)$(patsubst %,$(libtype.oS),c) \ + -Wl,--as-needed $(elf-objpfx)ld.so \ + -Wl,--no-as-needed +link-libc = $(link-libc-between-gnulib) $(gnulib) -link-libc-tests-after-rpath-link = $(link-libc-before-gnulib) $(gnulib-tests) +link-libc-tests-after-rpath-link = $(gnulib-tests) $(link-libc-between-gnulib) $(gnulib-tests) link-libc-tests = $(link-libc-tests-rpath-link) \ $(link-libc-tests-after-rpath-link) # Pretty printer test programs always require rpath instead of rpath-link. diff --git a/Makefile b/Makefile index ac1125853b..6dcfe40c25 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Master Makefile for the GNU C library @@ -26,8 +26,17 @@ include Makeconfig # This is the default target; it makes everything except the tests. -.PHONY: all -all: lib others +.PHONY: all help minihelp +all: minihelp lib others + +help: + @sed '0,/^help-starts-here$$/d' Makefile.help + +minihelp: + @echo + @echo type \"make help\" for help with common glibc makefile targets + @echo + ifneq ($(AUTOCONF),no) @@ -172,6 +181,11 @@ case "$$toolname" in valgrind) exec env $(run-program-env) valgrind $(test-via-rtld-prefix) $${1+"$$@"} ;; + container) + exec env $(run-program-env) $(test-via-rtld-prefix) \ + $(common-objdir)/support/test-container \ + env $(run-program-env) $(test-via-rtld-prefix) $${1+"$$@"} + ;; *) usage ;; @@ -187,7 +201,204 @@ $(common-objpfx)testrun.sh: $(common-objpfx)config.make \ mv -f $@T $@ postclean-generated += testrun.sh -others: $(common-objpfx)testrun.sh +define debugglibc +#!/bin/bash + +SOURCE_DIR="$(CURDIR)" +BUILD_DIR="$(common-objpfx)" +CMD_FILE="$(common-objpfx)debugglibc.gdb" +CONTAINER=false +DIRECT=true +STATIC=false +SYMBOLSFILE=true +unset TESTCASE +unset BREAKPOINTS +unset ENVVARS + +usage() +{ +cat << EOF +Usage: $$0 [OPTIONS] + + Or: $$0 [OPTIONS] -- []... + + where is the path to the program being tested, + and are the arguments to be passed to it. + +Options: + + -h, --help + Prints this message and leaves. + + The following options require one argument: + + -b, --breakpoint + Breakpoints to set at the beginning of the execution + (each breakpoint demands its own -b option, e.g. -b foo -b bar) + -e, --environment-variable + Environment variables to be set with 'exec-wrapper env' in GDB + (each environment variable demands its own -e option, e.g. + -e FOO=foo -e BAR=bar) + + The following options do not take arguments: + + -c, --in-container + Run the test case inside a container and automatically attach + GDB to it. + -i, --no-direct + Selects whether to pass the --direct flag to the program. + --direct is useful when debugging glibc test cases. It inhibits the + tests from forking and executing in a subprocess. + Default behaviour is to pass the --direct flag, except when the + program is run with user specified arguments using the "--" separator. + -s, --no-symbols-file + Do not tell GDB to load debug symbols from the program. +EOF +} + +# Parse input options +while [[ $$# > 0 ]] +do + key="$$1" + case $$key in + -h|--help) + usage + exit 0 + ;; + -b|--breakpoint) + BREAKPOINTS="break $$2\n$$BREAKPOINTS" + shift + ;; + -e|--environment-variable) + ENVVARS="$$2 $$ENVVARS" + shift + ;; + -c|--in-container) + CONTAINER=true + ;; + -i|--no-direct) + DIRECT=false + ;; + -s|--no-symbols-file) + SYMBOLSFILE=false + ;; + --) + shift + TESTCASE=$$1 + COMMANDLINE="$$@" + # Don't add --direct when user specifies program arguments + DIRECT=false + break + ;; + *) + TESTCASE=$$1 + COMMANDLINE=$$TESTCASE + ;; + esac + shift +done + +# Check for required argument and if the testcase exists +if [ ! -v TESTCASE ] || [ ! -f $${TESTCASE} ] +then + usage + exit 1 +fi + +# Expand environment setup command +if [ -v ENVVARS ] +then + ENVVARSCMD="set exec-wrapper env $$ENVVARS" +fi + +# Expand direct argument +if [ "$$DIRECT" == true ] +then + DIRECT="--direct" +else + DIRECT="" +fi + +# Check if the test case is static +if file $${TESTCASE} | grep "statically linked" >/dev/null +then + STATIC=true +else + STATIC=false +fi + +# Expand symbols loading command +if [ "$$SYMBOLSFILE" == true ] +then + SYMBOLSFILE="add-symbol-file $${TESTCASE}" +else + SYMBOLSFILE="" +fi + +# GDB commands template +template () +{ +cat < $$CMD_FILE + +echo +echo "Debugging glibc..." +echo "Build directory : $$BUILD_DIR" +echo "Source directory : $$SOURCE_DIR" +echo "GLIBC Testcase : $$TESTCASE" +echo "GDB Commands : $$CMD_FILE" +echo "Env vars : $$ENVVARS" +echo + +if [ "$$CONTAINER" == true ] +then +# Use testrun.sh to start the test case with WAIT_FOR_DEBUGGER=1, then +# automatically attach GDB to it. +WAIT_FOR_DEBUGGER=1 $(common-objpfx)testrun.sh --tool=container $${TESTCASE} & +gdb -x $${TESTCASE}.gdb +elif [ "$$STATIC" == true ] +then +gdb $${TESTCASE} +else +# Start the test case debugging in two steps: +# 1. the following command invokes gdb to run the loader; +# 2. the commands file tells the loader to run the test case. +gdb -q \ + -x $${CMD_FILE} \ + -d $${SOURCE_DIR} \ + $${BUILD_DIR}/elf/ld.so +fi +endef + +# This is another handy script for debugging dynamically linked program +# against the current libc build for testing. +$(common-objpfx)debugglibc.sh: $(common-objpfx)config.make \ + $(..)Makeconfig $(..)Makefile + $(file >$@T,$(debugglibc)) + chmod a+x $@T + mv -f $@T $@ +postclean-generated += debugglibc.sh debugglibc.gdb + +others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh # Makerules creates a file `stubs' in each subdirectory, which # contains `#define __stub_FUNCTION' for each function defined in that @@ -377,6 +588,9 @@ $(objpfx)testroot.pristine/install.stamp : # We need a working /bin/sh for some of the tests. test -d $(objpfx)testroot.pristine/bin || \ mkdir $(objpfx)testroot.pristine/bin + # We need the compiled locale dir for localedef tests. + test -d $(objpfx)testroot.pristine/$(complocaledir) || \ + mkdir -p $(objpfx)testroot.pristine/$(complocaledir) cp $(objpfx)support/shell-container $(objpfx)testroot.pristine/bin/sh cp $(objpfx)support/echo-container $(objpfx)testroot.pristine/bin/echo cp $(objpfx)support/true-container $(objpfx)testroot.pristine/bin/true @@ -385,7 +599,7 @@ ifeq ($(run-built-tests),yes) for dso in `$(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1 \ $(rtld-prefix) \ $(objpfx)testroot.pristine/bin/sh \ - | grep / | sed 's/^[^/]*//' | sed 's/ .*//'` ;\ + | sed -n '/\//{s@.*=> /@/@;s/^[^/]*//;s/ .*//p;}'` ;\ do \ test -d `dirname $(objpfx)testroot.pristine$$dso` || \ mkdir -p `dirname $(objpfx)testroot.pristine$$dso` ;\ @@ -394,15 +608,22 @@ ifeq ($(run-built-tests),yes) for dso in `$(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1 \ $(rtld-prefix) \ $(objpfx)support/$(LINKS_DSO_PROGRAM) \ - | grep / | sed 's/^[^/]*//' | sed 's/ .*//'` ;\ + | sed -n '/\//{s@.*=> /@/@;s/^[^/]*//;s/ .*//p;}'` ;\ do \ test -d `dirname $(objpfx)testroot.pristine$$dso` || \ mkdir -p `dirname $(objpfx)testroot.pristine$$dso` ;\ $(test-wrapper) cp $$dso $(objpfx)testroot.pristine$$dso ;\ done endif + # $(symbolic-link-list) is a file that encodes $(DESTDIR) so we + # have to purge it + rm -f $(symbolic-link-list) + # Setting INSTALL_UNCOMPRESSED causes localedata/Makefile to + # install the charmaps uncompressed, as the testroot does not + # provide a gunzip program. $(MAKE) install DESTDIR=$(objpfx)testroot.pristine \ - subdirs='$(sorted-subdirs)' + INSTALL_UNCOMPRESSED=yes subdirs='$(sorted-subdirs)' + rm -f $(symbolic-link-list) touch $(objpfx)testroot.pristine/install.stamp tests-special-notdir = $(patsubst $(objpfx)%, %, $(tests-special)) @@ -455,7 +676,7 @@ TAGS: generated := $(generated) stubs.h -files-for-dist := README INSTALL configure ChangeLog NEWS +files-for-dist := README INSTALL configure NEWS # Regenerate stuff, then error if these things are not committed yet. dist-prepare: $(files-for-dist) @@ -499,3 +720,12 @@ FORCE: iconvdata/% localedata/% po/%: FORCE $(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F) + +# Convenience target to rerun one test, from the top of the build tree +# Example: make test t=wcsmbs/test-wcsnlen +.PHONY: test +test : + @-rm -f $(objpfx)$t.out + $(MAKE) subdir=$(patsubst %/,%,$(dir $t)) -C $(dir $t) ..=../ $(objpfx)$t.out + @cat $(objpfx)$t.test-result + @cat $(objpfx)$t.out diff --git a/Makefile.help b/Makefile.help new file mode 100644 index 0000000000..e9f71790fb --- /dev/null +++ b/Makefile.help @@ -0,0 +1,42 @@ +# Copyright (C) 2019-2020 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# . + +This is the file that gets printed when the user runs "make help", +starting just after the "help-starts-here" line. + +help-starts-here + +all + The usual default; builds everything but doesn't run the + tests. + +check (or tests) + Runs the standard set of tests. + +test + Runs one test. Use like this: + make test t=wcsmbs/test-wcsnlen + Note that this will rebuild the test if needed, but will not + rebuild what "make all" would have rebuilt. + +-- +Other useful hints: + +builddir$ rm testroot.pristine/install.stamp + Forces the testroot to be reinstalled the next time you run + the testsuite (or just rm -rf testroot.pristine) + diff --git a/Makerules b/Makerules index 83bdd3a44d..ef0fe67d9a 100644 --- a/Makerules +++ b/Makerules @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Common rules for making the GNU C library. This file is included @@ -513,7 +513,7 @@ endif link-libc-args = -Wl,--start-group \ $(libc-for-link) \ $(common-objpfx)libc_nonshared.a \ - $(as-needed) $(elf-objpfx)ld.so $(no-as-needed) \ + -Wl,--as-needed $(elf-objpfx)ld.so -Wl,--no-as-needed \ -Wl,--end-group # The corresponding shared libc to use. This may be modified for a @@ -557,7 +557,7 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules $(LINK.o) -shared -Wl,-O1 \ -nostdlib -nostartfiles \ $(sysdep-LDFLAGS) $(rtld-LDFLAGS) $(LDFLAGS.so) \ - -Wl,--verbose 2>&1 | \ + -Wl,--verbose 2>/dev/null | \ sed > $@T \ -e '/^=========/,/^=========/!d;/^=========/d' \ $(if $(filter yes,$(have-hash-style)), \ @@ -690,8 +690,7 @@ $(common-objpfx)linkobj/libc.so: link-libc-deps = # empty # Use our own special initializer and finalizer files for the libc.so # libraries. -$(common-objpfx)libc.so: $(elf-objpfx)soinit.os \ - $(common-objpfx)libc_pic.os$(libc_pic_clean) \ +$(common-objpfx)libc.so: $(common-objpfx)libc_pic.os$(libc_pic_clean) \ $(elf-objpfx)sofini.os \ $(elf-objpfx)interp.os \ $(elf-objpfx)ld.so \ @@ -699,8 +698,7 @@ $(common-objpfx)libc.so: $(elf-objpfx)soinit.os \ $(build-shlib) $(call after-link,$@) -$(common-objpfx)linkobj/libc.so: $(elf-objpfx)soinit.os \ - $(common-objpfx)linkobj/libc_pic.a \ +$(common-objpfx)linkobj/libc.so: $(common-objpfx)linkobj/libc_pic.a \ $(elf-objpfx)sofini.os \ $(elf-objpfx)interp.os \ $(elf-objpfx)ld.so \ @@ -1075,7 +1073,7 @@ ifneq (unknown,$(output-format)) else $(LINK.o) -shared $(sysdep-LDFLAGS) $(rtld-LDFLAGS) \ $(LDFLAGS.so) $(LDFLAGS-lib.so) \ - -x c /dev/null -o $@.so -Wl,--verbose -v 2>&1 \ + -x c /dev/null -o $@.so -Wl,--verbose -v 2>/dev/null \ | sed -n -f $< > $@.new test -s $@.new rm -f $@.so diff --git a/NEWS b/NEWS index ddc800ba59..485b8ddffa 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,530 @@ GNU C Library NEWS -- history of user-visible changes. -Copyright (C) 1992-2019 Free Software Foundation, Inc. +Copyright (C) 1992-2020 Free Software Foundation, Inc. See the end for copying conditions. Please send GNU C library bug reports via using `glibc' in the "product" field. + +Version 2.32 + +Major new features: + +* Unicode 13.0.0 Support: Character encoding, character type info, and + transliteration tables are all updated to Unicode 13.0.0, using + generator scripts contributed by Mike FABIAN (Red Hat). + +* New locale added: ckb_IQ (Kurdish/Sorani spoken in Iraq) + +* Support for Synopsys ARC HS cores (ARCv2 ISA) running Linux has been + added. This port requires at least binutils-2.32, gcc-8.3 and Linux-5.1. + Three ABIs are supported: + + - arc-linux-gnu + - arc-linux-gnuhf + - arceb-linux-gnu + + The arc* ABI is little-endian while arceb is big-endian. All ABIs use + 64-bit time (y2038 safe) and 64-bit file offsets (LFS default). + +* The GNU C Library now loads audit modules listed in the DT_AUDIT and + DT_DEPAUDIT dynamic section entries of the main executable. + +* powerpc64le supports IEEE128 long double libm/libc redirects when + using the -mabi=ieeelongdouble to compile C code on supported GCC + toolchains. It is recommended to use GCC 8 or newer when testing + this option. + +* To help detect buffer overflows and other out-of-bounds accesses + several APIs have been annotated with GCC 'access' attribute. This + should help GCC 10 issue better warnings. + +* On Linux, functions the pthread_attr_setsigmask_np and + pthread_attr_getsigmask_np have been added. They allow applications + to specify the signal mask of a thread created with pthread_create. + +* The GNU C Library now provides the header file + which declares the variable __libc_single_threaded. Applications are + encouraged to use this variable for single-thread optimizations, + instead of weak references to symbols historically defined in + libpthread. + +* The functions sigabbrev_np and sigdescr_np have been added. The + sigabbrev_np returns the abbreviated signal name (e.g. "HUP" for SIGHUP) + while sigdescr_np returns a string describing the signal number (e.g + "Hangup" for SIGHUP). Different than strsignal, sigdescr_np does not + attempt to translate the return description, both functions return + NULL for an invalid signal number. + + They should be used instead of sys_siglist or sys_sigabbrev and they + are both thread and async-signal safe. These functions are GNU extensions. + +* The functions strerrorname_np and strerrordesc_np have been added. The + strerroname_np returns error number name (e.g. "EINVAL" for EINVAL) while + strerrordesc_np returns string describing error number + (e.g "Invalid argument" for EINVAL). Different than strerror, + strerrordesc_np does not attempt to translate the return description, both + functions return NULL for an invalid error number. + + They should be used instead of sys_errlist and sys_nerr, both are + thread and async-signal safe. These functions are GNU extensions. + +* AArch64 now supports standard branch protection security hardening + in glibc when it is built with a GCC that is configured with + --enable-standard-branch-protection (or if -mbranch-protection=standard + flag is passed when building both GCC target libraries and glibc, + in either case a custom GCC is needed). This includes branch target + identification (BTI) and pointer authentication for return addresses + (PAC-RET). They require armv8.5-a and armv8.3-a architecture + extensions respectively for the protection to be effective, + otherwise the used instructions are nops. User code can use PAC-RET + without libc support, but BTI requires a libc that is built with BTI + support, otherwise runtime objects linked into user code will not be + BTI compatible. + +Deprecated and removed features, and other changes affecting compatibility: + +* Remove configure option --enable-obsolete-rpc. Sun RPC is removed + from glibc. This includes the rpcgen program, librpcsvc, and the Sun + RPC header files. Backward compatibility for old programs is kept + only for architectures and ABIs that have been added in or before + glibc 2.31. New programs need to use TI-RPC + and + rpcsvc-proto . + +* Remove configure option --enable-obsolete-nsl. libnsl is only built + as shared library for backward compatibility and the NSS modules "nis" + and "nisplus" are not built at all and libnsl's headers aren't + installed. This compatibility is kept only for architectures and ABIs + that have been added in or before version 2.28. Replacement + implementations based on TI-RPC, which additionally support IPv6, are + available from . This change does not + affect the "compat" NSS module, which does not depended on libnsl + since 2.27 and thus can be used without NIS. + +* The deprecated header and the sysctl function have been + removed. To support old binaries, the sysctl function continues to + exist as a compatibility symbol (on those architectures which had it), + but always fails with ENOSYS. This reflects the removal of the system + call from all architectures, starting with Linux 5.5. + +* The sstk function is no longer available to newly linked binaries. + Its implementation always returned with a failure, and the function + was not declared in any header file. + +* The legacy signal handling functions siginterrupt, sigpause, sighold, + sigrelse, sigignore and sigset, and the sigmask macro have been + deprecated. Applications should use the sigsuspend, sigprocmask and + sigaction functions instead. + +* ldconfig now defaults to the new format for ld.so.cache. glibc has + already supported this format for almost 20 years. + +* The deprecated arrays sys_siglist, _sys_siglist, and sys_sigabbrev + are no longer available to newly linked binaries, and their declarations + have been removed from . They are exported solely as + compatibility symbols to support old binaries. All programs should use + strsignal instead. + +* The deprecated symbols sys_errlist, _sys_errlist, sys_nerr, and _sys_nerr + are no longer available to newly linked binaries, and their declarations + have been removed from from . They are exported solely as + compatibility symbols to support old binaries. All programs should use + strerror or strerror_r instead. + +* Both strerror and strerror_l now share the same internal buffer in the + calling thread, meaning that the returned string pointer may be invalided + or contents might be overwritten on subsequent calls in the same thread or + if the thread is terminated. It makes strerror MT-safe. + +* Using weak references to libpthread functions such as pthread_create + or pthread_key_create to detect the singled-threaded nature of a + program is an obsolescent feature. Future versions of glibc will + define pthread_create within libc.so.6 itself, so such checks will + always flag the program as multi-threaded. Applications should check + the __libc_single_threaded variable declared in + instead. + +* The "files" NSS module no longer supports the "key" database (used for + secure RPC). The contents of the /etc/publickey file will be ignored, + regardless of the settings in /etc/nsswitch.conf. (This method of + storing RPC keys only supported the obsolete and insecure AUTH_DES + flavor of secure RPC.) + +* The __morecore and __after_morecore_hook malloc hooks and the default + implementation __default_morecore have been deprecated. Applications + should use malloc interposition to change malloc behavior, and mmap to + allocate anonymous memory. A future version of glibc may require that + applications which use the malloc hooks must preload a special shared + object, to enable the hooks. + +* The hesiod NSS module has been deprecated and will be removed in a + future version of glibc. System administrators are encouraged to + switch to other approaches for networked account databases, such as + LDAP. + +Changes to build and runtime requirements: + +* powerpc64le requires GCC 7.4 or newer. This is required for supporting + long double redirects. + +Security related changes: + + CVE-2016-10228: An infinite loop has been fixed in the iconv program when + invoked with the -c option and when processing invalid multi-byte input + sequences. Reported by Jan Engelhardt. + + CVE-2020-10029: Trigonometric functions on x86 targets suffered from stack + corruption when they were passed a pseudo-zero argument. Reported by Guido + Vranken / ForAllSecure Mayhem. + + CVE-2020-1752: A use-after-free vulnerability in the glob function when + expanding ~user has been fixed. + + CVE-2020-6096: A signed comparison vulnerability in the ARMv7 memcpy and + memmove functions has been fixed. Discovered by Jason Royes and Samual + Dytrych of the Cisco Security Assessment and Penetration Team (See + TALOS-2020-1019). + +The following bugs are resolved with this release: + + [9809] localedata: ckb_IQ: new Kurdish Sorani locale + [10441] manual: Backtraces code example lacks error checking + [10815] librt: [timer_create / SIGEV_THREAD] signalmask of + timer_sigev_thread dangerous + [14231] stdio: stdio-common tests memory requirements + [14578] libc: /proc-based emulation for lchmod, fchmodat + [16272] dynamic-link: dlopen()ing a DT_FILTER library crashes if + filtee has constructor + [19519] locale: iconv(1) with -c option hangs on illegal multi-byte + sequences (CVE-2016-10228) + [19737] admin: Doc page “20.5.2 Infinity and NaN” has incorrect HTML + character entities for infinity & pi + [20338] libc: Parsing of /etc/gshadow can return bad pointers causing + segfaults in applications + [20543] libc: Please move from .gnu.linkonce to comdat + [22489] network: gcc warns about implicit convertion in + ICMP6_FILTER_SETPASS with -Wsign-conversion + [22525] localedata: or_IN LC_COLLATE does not use copy "iso14651_t1" + [23294] math: Complex _FloatN functions are redirected to the wrong + function with -mlong-double-64 + [23296] libc: Data race in setting function descriptor during lazy + binding + [23668] dynamic-link: ldconfig: Default to the new format for + ld.so.cache + [23819] hurd: hurd: Add C11 thread support + [23990] build: test-container error out on failure to exec child. + [23991] build: shell-container typo in run_command_array + [24638] manual: Error in example of parsing a template string + [24654] manual: Wrong declaration of wcschr in libc manual + [24943] dynamic-link: Support DT_AUDIT, DT_DEPAUDIT in the dynamic + linker + [25051] dynamic-link: aarch64, powerpc64 uses surplus static tls for + dynamically loaded dsos + [25098] nptl: nptl: ctype classification functions are not AS-Safe + [25219] libc: improve out-of-bounds checking with GCC 10 attribute + access + [25262] libc: getcontext/setcontext/swapcontext unnecessarily save and + restore EAX, ECX and EDX + [25397] dynamic-link: Legacy bitmap doesn't cover jitted code + [25414] glob: 'glob' use-after-free bug (CVE-2020-1752) + [25420] network: Race condition in resolv_conf.c can result in caching + stale configuration forever + [25487] math: sinl() stack corruption from crafted input + (CVE-2020-10029) + [25506] build: configure: broken detection of STT_GNU_IFUNC when GCC + defaults to PIE + [25523] libc: MIPS/Linux inline syscall template is miscompiled + [25620] libc: Signed comparison vulnerability in the ARMv7 memcpy() + (CVE-2020-6096) + [25623] libc: test-sysvmsg, test-sysvsem, test-sysvshm fail with 2.31 + on 32 bit and old kernel + [25635] libc: arm: Wrong sysdep order selection for soft-fp + [25639] localedata: Some names of days and months wrongly spelt in + Occitan + [25657] libc: sigprocmask() and sigisemptyset() manipulate different + amount of sigset_t bytes + [25691] stdio: printf: memory leak when printing long multibyte + strings + [25715] libc: system() returns wrong errors when posix_spawn fails + [25733] malloc: mallopt(M_MXFAST) can set global_max_fast to 0 + [25734] locale: mbrtowc with Big5-HKSCS fails to reset conversion + state for conversions that produce two Unicode code points + [25765] nptl: Incorrect futex syscall in __pthread_disable_asynccancel + for linux x86_64 leads to livelock + [25788] dynamic-link: [i386] -fno-omit-frame-pointer in CFLAGS causes + test failures, invalid instruction in ld.so + [25790] glob: Typo in tst-fnmatch.input + [25810] libc: x32: Incorrect syscall entries with pointer, off_t and + size_t + [25819] localedata: Update locale data to Unicode 13.0.0 + [25824] libc: Abnormal function of strnlen in aarch64 + [25887] dynamic-link: Wasted space in _dl_x86_feature_1[1] + [25896] libc: Incorrect prctl + [25902] libc: Bad LOADARGS_N + [25905] dynamic-link: VSX registers are corrupted during PLT + resolution when glibc is built with --disable-multi-arch and --with- + cpu=power9 + [25933] string: Off by one error in __strncmp_avx2 when + length=VEC_SIZE*4 and strings are at page boundaries can cause a + segfault + [25942] nptl: Deadlock on stack_cache_lock between __nptl_setxid and + exiting detached thread + [25966] libc: Incorrect access of __x86_shared_non_temporal_threshold + for x32 + [25976] nss: internal_end*ent in nss_compat may clobber errno, hiding + ERANGE + [25999] nptl: Use-after-free issue in pthread_getaddr_default_np + [26073] math: getpayload() has wrong return value + [26076] dynamic-link: dlmopen crashes after failing to load + dependencies in audit mode + [26120] localedata: column width of of some Korean + JUNGSEONG/JONGSEONG characters wrong (should be 0) + [26128] libc: Incorrect bit_cpu_CLFLUSHOPT + [26133] libc: Incorrect need_arch_feature_F16C + [26137] libc: strtod() triggers exception FE_INEXACT on reasonable + input + [26149] libc: PKU is usable only if OSPKE is set + [26173] libc: powerpc64*: Add @notoc to calls to functions that do not + preserve r2 + [26208] libc: Incorrect bit_cpu_CLFSH + [26210] network: Incorrect use of hidden symbols for global sunrpc + variables + [26211] stdio: printf integer overflow calculating allocation size + [26214] stdio: printf_fp double free + [26215] stdio: printf_fp memory leak + [26232] time: FAIL: support/tst-timespec for 32-bit targets + [26258] nss: nss_compat should not read input files with mmap + [26332] string: Incorrect cache line size load causes memory + corruption in memset + + +Version 2.31 + +Major new features: + +* The GNU C Library now supports a feature test macro _ISOC2X_SOURCE to + enable features from the draft ISO C2X standard. Only some features from + this draft standard are supported by the GNU C Library, and as the draft + is under active development, the set of features enabled by this macro is + liable to change. Features from C2X are also enabled by _GNU_SOURCE, or + by compiling with "gcc -std=gnu2x". + +* The functions that round their results to a narrower type now + have corresponding type-generic macros in , as defined in TS + 18661-1:2014 and TS 18661-3:2015 as amended by the resolution of + Clarification Request 13 to TS 18661-3. + +* The function pthread_clockjoin_np has been added, enabling join with a + terminated thread with a specific clock. It allows waiting against + CLOCK_MONOTONIC and CLOCK_REALTIME. This function is a GNU extension. + +* New locale added: mnw_MM (Mon language spoken in Myanmar). + +* The DNS stub resolver will optionally send the AD (authenticated data) bit + in queries if the trust-ad option is set via the options directive in + /etc/resolv.conf (or if RES_TRUSTAD is set in _res.options). In this + mode, the AD bit, as provided by the name server, is available to + applications which call res_search and related functions. In the default + mode, the AD bit is not set in queries, and it is automatically cleared in + responses, indicating a lack of DNSSEC validation. (Therefore, the name + servers and the network path to them are treated as untrusted.) + +Deprecated and removed features, and other changes affecting compatibility: + +* The totalorder and totalordermag functions, and the corresponding + functions for other floating-point types, now take pointer arguments to + avoid signaling NaNs possibly being converted to quiet NaNs in argument + passing. This is in accordance with the resolution of Clarification + Request 25 to TS 18661-1, as applied for C2X. Existing binaries that pass + floating-point arguments directly will continue to work. + +* The obsolete function stime is no longer available to newly linked + binaries, and its declaration has been removed from . + Programs that set the system time should use clock_settime instead. + +* We plan to remove the obsolete function ftime, and the header , + in a future version of glibc. In this release, the header still exists + but calling ftime will cause a compiler warning. All programs should use + gettimeofday or clock_gettime instead. + +* The gettimeofday function no longer reports information about a + system-wide time zone. This 4.2-BSD-era feature has been deprecated for + many years, as it cannot handle the full complexity of the world's + timezones, but hitherto we have supported it on a best-effort basis. + Changes required to support 64-bit time_t on 32-bit architectures have + made this no longer practical. + + As of this release, callers of gettimeofday with a non-null 'tzp' argument + should expect to receive a 'struct timezone' whose tz_minuteswest and + tz_dsttime fields are zero. (For efficiency reasons, this does not always + happen on a few Linux-based ports. This will be corrected in a future + release.) + + All callers should supply a null pointer for the 'tzp' argument to + gettimeofday. For accurate information about the time zone associated + with the current time, use the localtime function. + + gettimeofday itself is obsolescent according to POSIX. We have no plans + to remove access to this function, but portable programs should consider + using clock_gettime instead. + +* The settimeofday function can still be used to set a system-wide time + zone when the operating system supports it. This is because the Linux + kernel reused the API, on some architectures, to describe a system-wide + time-zone-like offset between the software clock maintained by the kernel, + and the "RTC" clock that keeps time when the system is shut down. + + However, to reduce the odds of this offset being set by accident, + settimeofday can no longer be used to set the time and the offset + simultaneously. If both of its two arguments are non-null, the call + will fail (setting errno to EINVAL). + + Callers attempting to set this offset should also be prepared for the call + to fail and set errno to ENOSYS; this already happens on the Hurd and on + some Linux architectures. The Linux kernel maintainers are discussing a + more principled replacement for the reused API. After a replacement + becomes available, we will change settimeofday to fail with ENOSYS on all + platforms when its 'tzp' argument is not a null pointer. + + settimeofday itself is obsolescent according to POSIX. Programs that set + the system time should use clock_settime and/or the adjtime family of + functions instead. We may cease to make settimeofday available to newly + linked binaries after there is a replacement for Linux's time-zone-like + offset API. + +* SPARC ISA v7 is no longer supported. v8 is still supported, but only if + the optional CAS instruction is implemented (for instance, LEON processors + are still supported, but SuperSPARC processors are not). + + As the oldest 64-bit SPARC ISA is v9, this only affects 32-bit + configurations. + +* If a lazy binding failure happens during dlopen, during the execution of + an ELF constructor, the process is now terminated. Previously, the + dynamic loader would return NULL from dlopen, with the lazy binding error + captured in a dlerror message. In general, this is unsafe because + resetting the stack in an arbitrary function call is not possible. + +* For MIPS hard-float ABIs, the GNU C Library will be configured to need an + executable stack unless explicitly configured at build time to require + minimum kernel version 4.8 or newer. This is because executing + floating-point branches on a non-executable stack on Linux kernels prior to + 4.8 can lead to application crashes for some MIPS configurations. While + currently PT_GNU_STACK is not widely used on MIPS, future releases of GCC are + expected to enable non-executable stack by default with PT_GNU_STACK by + default and is thus likely to trigger a crash on older kernels. + + The GNU C Library can be built with --enable-kernel=4.8.0 in order to keep a + non-executable stack while dropping support for older kernels. + +* System call wrappers for time system calls now use the new time64 system + calls when available. On 32-bit targets, these wrappers attempt to call + the new system calls first and fall back to the older 32-bit time system + calls if they are not present. This may cause issues in environments + that cannot handle unsupported system calls gracefully by returning + -ENOSYS. Seccomp sandboxes are affected by this issue. + +Changes to build and runtime requirements: + +* It is no longer necessary to have recent Linux kernel headers to build + working (non-stub) system call wrappers on all architectures except 64-bit + RISC-V. 64-bit RISC-V requires a minimum kernel headers version of 5.0. + +* The ChangeLog file is no longer present in the toplevel directory of the + source tree. ChangeLog files are located in the ChangeLog.old directory as + ChangeLog.N where the highest N has the latest entries. + +Security related changes: + + CVE-2020-1751: A defect in the PowerPC backtrace function could cause an + out-of-bounds write when executed in a signal frame context. + + CVE-2019-19126: ld.so failed to ignore the LD_PREFER_MAP_32BIT_EXEC + environment variable during program execution after a security + transition, allowing local attackers to restrict the possible mapping + addresses for loaded libraries and thus bypass ASLR for a setuid + program. Reported by Marcin Kościelnicki. + +The following bugs are resolved with this release: + + [12031] localedata: iconv -t ascii//translit with Greek characters + [15813] libc: Multiple issues in __gen_tempname + [17726] libc: [arm, sparc] profil_counter should be compat symbol + [18231] libc: ipc_perm struct's mode member has wrong type in sys/ipc.h + [19767] libc: vdso is not used with static linking + [19903] hurd: Shared mappings not being inherited by children processes + [20358] network: RES_USE_DNSSEC sets DO; should also have a way to set AD + [20839] dynamic-link: Incomplete rollback of dynamic linker state on + linking failure + [23132] localedata: Missing transliterations in Miscellaneous Mathematical + Symbols-A/B Unicode blocks + [23518] libc: Eliminate __libc_utmp_jump_table + [24026] malloc: malloc_info() returns wrong numbers + [24054] localedata: Many locales are missing date_fmt + [24214] dynamic-link: user defined ifunc resolvers may run in ldd mode + [24304] dynamic-link: Lazy binding failure during ELF + constructors/destructors is not fatal + [24376] libc: RISC-V symbol size confusion with _start + [24682] localedata: zh_CN first weekday should be Monday per GB/T + 7408-2005 + [24824] libc: test-in-container does not install charmap files compatible + with localedef + [24844] regex: regex bad pointer / leakage if malloc fails + [24867] malloc: Unintended malloc_info formatting changes + [24879] libc: login: utmp alarm timer can arrive after lock acquisition + [24880] libc: login: utmp implementation uses struct flock with fcntl64 + [24882] libc: login: pututline uses potentially outdated cache + [24899] libc: Missing nonstring attributes in , + [24902] libc: login: Repeating pututxline on EINTR/EAGAIN causes stale + utmp entries + [24916] dynamic-link: [MIPS] Highest EI_ABIVERSION value not raised to + ABSOLUTE ABI + [24930] dynamic-link: dlopen of PIE executable can result in + _dl_allocate_tls_init assertion failure + [24950] localedata: Top-of-tree glibc does not build with top-of-tree GCC + (stringop-overflow error) + [24959] time: librt IFUNC resolvers for clock_gettime and clock_* + functions other can lead to crashes + [24967] libc: jemalloc static linking causes runtime failure + [24986] libc: alpha: new getegid, geteuid and getppid syscalls used + unconditionally + [25035] libc: sbrk() failure handled poorly in tunables_strdup + [25087] dynamic-link: ldconfig mishandles unusual .dynstr placement + [25097] libc: new -Warray-bounds with GCC 10 + [25112] dynamic-link: dlopen must not make new objects accessible when it + still can fail with an error + [25139] localedata: Please add the new mnw_MM locale + [25149] regex: Array bounds violation in proceed_next_node + [25157] dynamic-link: Audit cookie for the dynamic loader is not + initialized correctly + [25189] libc: glibc's __glibc_has_include causes issues with clang + -frewrite-includes + [25194] malloc: malloc.c: do_set_mxfast incorrectly casts the mallopt + value to an unsigned + [25204] dynamic-link: LD_PREFER_MAP_32BIT_EXEC not ignored in setuid + binaries (CVE-2019-19126) + [25225] libc: ld.so fails to link on x86 if GCC defaults to -fcf- + protection + [25226] string: strstr: Invalid result if needle crosses page on s390-z15 + ifunc variant. + [25232] string: does not enable const correctness for strchr et + al. for Clang++ + [25233] localedata: Consider "." as the thousands separator for sl_SI + (Slovenian) + [25241] nptl: __SIZEOF_PTHREAD_MUTEX_T defined twice for x86 + [25251] build: Failure to run tests when CFLAGS contains -DNDEBUG. + [25271] libc: undeclared identifier PTHREAD_MUTEX_DEFAULT when compiling + with -std=c11 + [25323] localedata: km_KH: d_t_fmt contains "m" instead of "%M" + [25324] localedata: lv_LV: d_t_fmt contains suspicious words in the time + part + [25396] dynamic-link: Failing dlopen can leave behind dangling GL + (dl_initfirst) link map pointer + [25401] malloc: pvalloc must not have __attribute_alloc_size__ + [25423] libc: Array overflow in backtrace on powerpc + [25425] network: Missing call to __resolv_context_put in + getaddrinfo.c:gethosts + Version 2.30 @@ -118,8 +639,109 @@ Security related changes: The following bugs are resolved with this release: - [The release manager will add the list generated by - scripts/list-fixed-bugs.py just before the release.] + [2872] locale: Transliteration Cyrillic -> ASCII fails + [6399] libc: gettid() should have a wrapper + [16573] malloc: mtrace hangs when MALLOC_TRACE is defined + [16976] glob: fnmatch unbounded stack VLA for collating symbols + [17396] localedata: globbing for locale by [[.collating-element.]] + [18035] dynamic-link: pldd does no longer work, enters infinite loop + [18465] malloc: memusagestat is built using system C library + [18830] locale: iconv -c -f ascii with >buffer size worth of input before + invalid input drops valid char + [20188] nptl: libpthread IFUNC resolver for vfork can lead to crash + [20568] locale: Segfault with wide characters and setlocale/fgetwc/UTF-8 + [21897] localedata: Afar locales: Fix mon, abmon, and abday + [22964] localedata: The Japanese Era name will be changed on May 1, 2019 + [23352] malloc: __malloc_check_init still defined in public header + malloc.h. + [23403] nptl: Wrong alignment of TLS variables + [23501] libc: nftw() doesn't return dangling symlink's inode + [23733] malloc: Check the count before calling tcache_get() + [23741] malloc: Missing __attribute_alloc_size__ in many allocation + functions + [23831] localedata: nl_NL missing LC_NUMERIC thousands_sep + [23844] nptl: pthread_rwlock_trywrlock results in hang + [23983] argparse: Missing compat versions of argp_failure and argp_error + for long double = double + [23984] libc: Missing compat versions of err.h and error.h functions for + long double = double + [23996] localedata: Dutch salutations + [24040] libc: riscv64: unterminated call chain in __thread_start + [24047] network: libresolv should use IP_RECVERR/IPV6_RECVERR to avoid + long timeouts + [24051] stdio: puts and putchar ouput to _IO_stdout instead of stdout + [24059] nss: nss_files: get_next_alias calls fgets_unlocked without + checking for NULL. + [24114] regex: regexec buffer read overrun in "grep -i + '\(\(\)*.\)*\(\)\(\)\1'" + [24122] libc: Segfaults if 0 returned from la_version + [24153] stdio: Some input functions do not react to stdin assignment + [24155] string: x32 memcmp can treat positive length as 0 (if sign bit in + RDX is set) (CVE-2019-7309) + [24161] nptl: __run_fork_handlers self-deadlocks in malloc/tst-mallocfork2 + [24164] libc: Systemtap probes need to use "nr" constraint on 32-bit Arm, + not the default "nor" + [24166] dynamic-link: Dl_serinfo.dls_serpath[1] in dlfcn.h causes UBSAN + false positives, change to modern flexible array + [24180] nptl: pthread_mutex_trylock does not use the correct order of + instructions while maintaining the robust mutex list due to missing + compiler barriers. + [24194] librt: Non-compatibility symbols for clock_gettime etc. cause + unnecessary librt dependencies + [24200] localedata: Revert first_weekday removal in en_IE locale + [24211] nptl: Use-after-free in Systemtap probe in pthread_join + [24215] nptl: pthread_timedjoin_np should be a cancellation point + [24216] malloc: Check for large bin list corruption when inserting + unsorted chunk + [24228] stdio: old x86 applications that use legacy libio crash on exit + [24231] dynamic-link: [sparc64] R_SPARC_H34 implementation falls through + to R_SPARC_H44 + [24293] localedata: Missing Minguo calendar support for TW locales + [24296] localedata: Orthographic mistakes in 'day' and 'abday' sections in + tt_RU (Tatar) locale + [24307] localedata: Update locale data to Unicode 12.0.0 + [24323] dynamic-link: dlopen should not be able open PIE objects + [24335] build: "Obsolete types detected" with Linux 5.0 headers + [24369] localedata: Orthographic mistakes in 'mon' and 'abmon' sections in + tt_RU (Tatar) locale + [24370] localedata: Add lang_name for tt_RU locale + [24372] locale: Binary locale files are not architecture independent + [24394] time: strptime %Ey mis-parses final year of era + [24476] dynamic-link: __libc_freeres triggers bad free in libdl if dlerror + was not used + [24506] dynamic-link: FAIL: elf/tst-pldd with --enable-hardcoded-path-in- + tests + [24531] malloc: Malloc tunables give tcache assertion failures + [24532] libc: conform/arpa/inet.h failures due to linux kernel 64-bit + time_t changes + [24535] localedata: Update locale data to Unicode 12.1.0 + [24537] build: nptl/tst-eintr1 test case can hit task limits on some + kernels and break testing + [24544] build: elf/tst-pldd doesn't work if you install with a --prefix + [24556] build: [GCC 9] error: ‘%s’ directive argument is null + [-Werror=format-overflow=] + [24570] libc: alpha: compat msgctl uses __IPC_64 + [24584] locale: Data race in __wcsmbs_clone_conv + [24588] stdio: Remove codecvt vtables from libio + [24603] math: sysdeps/ieee754/dbl-64/branred.c is slow when compiled with + -O3 -march=skylake + [24614] localedata: nl_NL LC_MONETARY doesn't match CLDR 35 + [24632] stdio: Old binaries which use freopen with default stdio handles + crash + [24640] libc: __ppc_get_timebase_freq() always return 0 when using static + linked glibc + [24652] localedata: szl_PL spelling correction + [24695] nss: nss_db: calling getpwent after endpwent crashes + [24696] nss: endgrent() clobbers errno=ERRNO for 'group: db files' entry + in /etc/nsswitch.conf + [24699] libc: mmap64 with very large offset broken on MIPS64 n32 + [24740] libc: getdents64 type confusion + [24741] dynamic-link: ld.so should not require that a versioned symbol is + always implemented in the same library + [24744] libc: Remove copy_file_range emulation + [24757] malloc: memusagestat is linked against system libpthread + [24794] libc: Partial test suite run builds corrupt test-in-container + testroot Version 2.29 @@ -3458,7 +4080,7 @@ Version 2.16 * Support for the x32 ABI on x86-64 added. The x32 target is selected by configuring glibc with: BUILD_CC='gcc' CC='gcc -mx32' CXX='g++ -mx32' - Visit for more x32 ABI info. + Visit for more x32 ABI info. Implemented by H.J. Lu. * ISO C11 support: @@ -4086,7 +4708,7 @@ Version 2.3.6 1110, 1111, 1112, 1113, 1125, 1137, 1138, 1249, 1250, 1251, 1252, 1253, 1254, 1350, 1358, 1394, 1438, 1498, 1534 - Visit for the details of each bug. + Visit for the details of each bug. * As of this release, GCC 4 can be used to compile the C Library. @@ -4101,7 +4723,7 @@ Version 2.3.5 737, 738, 739, 740, 741, 742, 743, 744, 745, 765, 767, 768, 769, 776, 777, 787, 821, 822, 823, 825 - Visit for the details of each bug. + Visit for the details of each bug. Version 2.3.4 @@ -5520,7 +6142,7 @@ Version 1.04 ---------------------------------------------------------------------- Copyright information: -Copyright (C) 1992-2019 Free Software Foundation, Inc. +Copyright (C) 1992-2020 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the @@ -5534,5 +6156,5 @@ Copyright (C) 1992-2019 Free Software Foundation, Inc. Local variables: version-control: never -fill-column: 76 +fill-column: 72 End: diff --git a/README b/README index eb9b0b34a3..903f07e484 100644 --- a/README +++ b/README @@ -24,6 +24,7 @@ The GNU C Library supports these configurations for using Linux kernels: aarch64*-*-linux-gnu alpha*-*-linux-gnu + arc*-*-linux-gnu arm-*-linux-gnueabi csky-*-linux-gnuabiv2 hppa-*-linux-gnu @@ -44,12 +45,12 @@ The GNU C Library supports these configurations for using Linux kernels: sparc64*-*-linux-gnu If you are interested in doing a port, please contact the glibc -maintainers; see http://www.gnu.org/software/libc/ for more +maintainers; see https://www.gnu.org/software/libc/ for more information. See the file INSTALL to find out how to configure, build, and install the GNU C Library. You might also consider reading the WWW pages for -the C library at http://www.gnu.org/software/libc/. +the C library at https://www.gnu.org/software/libc/. The GNU C Library is (almost) completely documented by the Texinfo manual found in the `manual/' subdirectory. The manual is still being updated @@ -60,7 +61,7 @@ following the bug-reporting instructions below. Please be sure to check the manual in the current development sources to see if your problem has already been corrected. -Please see http://www.gnu.org/software/libc/bugs.html for bug reporting +Please see https://www.gnu.org/software/libc/bugs.html for bug reporting information. We are now using the Bugzilla system to track all bug reports. This web page gives detailed information on how to report bugs properly. diff --git a/Rules b/Rules index 222dba6dcb..8b771f6095 100644 --- a/Rules +++ b/Rules @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Rules for making a subdirectory in the GNU C library. diff --git a/argp/Makefile b/argp/Makefile index d5c2d77658..1f9b074bed 100644 --- a/argp/Makefile +++ b/argp/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1997-2019 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Makefile for argp. diff --git a/argp/argp-ba.c b/argp/argp-ba.c index 2f827a0e20..9b983852fd 100644 --- a/argp/argp-ba.c +++ b/argp/argp-ba.c @@ -1,5 +1,5 @@ /* Default definition for ARGP_PROGRAM_BUG_ADDRESS. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* If set by the user program, it should point to string that is the bug-reporting address for the program. It will be printed by argp_help if diff --git a/argp/argp-eexst.c b/argp/argp-eexst.c index 1e7ec67848..2e08b09f21 100644 --- a/argp/argp-eexst.c +++ b/argp/argp-eexst.c @@ -1,5 +1,5 @@ /* Default definition for ARGP_ERR_EXIT_STATUS - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifdef HAVE_CONFIG_H # include diff --git a/argp/argp-fmtstream.c b/argp/argp-fmtstream.c index e46f3edb41..d915b9ad67 100644 --- a/argp/argp-fmtstream.c +++ b/argp/argp-fmtstream.c @@ -1,5 +1,5 @@ /* Word-wrapping and line-truncating streams - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This package emulates glibc `line_wrap_stream' semantics for systems that don't have that. */ diff --git a/argp/argp-fmtstream.h b/argp/argp-fmtstream.h index 8b29f877a9..21f21ae88c 100644 --- a/argp/argp-fmtstream.h +++ b/argp/argp-fmtstream.h @@ -1,5 +1,5 @@ /* Word-wrapping and line-truncating streams. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This package emulates glibc `line_wrap_stream' semantics for systems that don't have that. If the system does have it, it is just a wrapper for diff --git a/argp/argp-fs-xinl.c b/argp/argp-fs-xinl.c index 1903d29856..0da32de31d 100644 --- a/argp/argp-fs-xinl.c +++ b/argp/argp-fs-xinl.c @@ -1,5 +1,5 @@ /* Real definitions for extern inline functions in argp-fmtstream.h - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifdef HAVE_CONFIG_H # include diff --git a/argp/argp-help.c b/argp/argp-help.c index 3b1727c4aa..2bcd6549fd 100644 --- a/argp/argp-help.c +++ b/argp/argp-help.c @@ -1,5 +1,5 @@ /* Hierarchial argument parsing help output - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 diff --git a/argp/argp-namefrob.h b/argp/argp-namefrob.h index 4831ad76ae..d21cefa4a4 100644 --- a/argp/argp-namefrob.h +++ b/argp/argp-namefrob.h @@ -1,5 +1,5 @@ /* Name frobnication for compiling argp outside of glibc - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #if !_LIBC /* This code is written for inclusion in gnu-libc, and uses names in the diff --git a/argp/argp-parse.c b/argp/argp-parse.c index 9df050222c..14f9387668 100644 --- a/argp/argp-parse.c +++ b/argp/argp-parse.c @@ -1,5 +1,5 @@ /* Hierarchial argument parsing, layered over getopt - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifdef HAVE_CONFIG_H #include diff --git a/argp/argp-pv.c b/argp/argp-pv.c index 897dca8cad..6cc96f0b70 100644 --- a/argp/argp-pv.c +++ b/argp/argp-pv.c @@ -1,5 +1,5 @@ /* Default definition for ARGP_PROGRAM_VERSION. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* If set by the user program to a non-zero value, then a default option --version is added (unless the ARGP_NO_HELP flag is used), which will diff --git a/argp/argp-pvh.c b/argp/argp-pvh.c index 1358a8a125..cb90cbaaa3 100644 --- a/argp/argp-pvh.c +++ b/argp/argp-pvh.c @@ -1,5 +1,5 @@ /* Default definition for ARGP_PROGRAM_VERSION_HOOK. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifdef HAVE_CONFIG_H #include diff --git a/argp/argp-test.c b/argp/argp-test.c index 13e0c6df14..f1ab60fd92 100644 --- a/argp/argp-test.c +++ b/argp/argp-test.c @@ -1,5 +1,5 @@ /* Test program for argp argument parser - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifdef HAVE_CONFIG_H #include diff --git a/argp/argp-xinl.c b/argp/argp-xinl.c index 60667b0e7e..63ca002359 100644 --- a/argp/argp-xinl.c +++ b/argp/argp-xinl.c @@ -1,5 +1,5 @@ /* Real definitions for extern inline functions in argp.h - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifdef HAVE_CONFIG_H # include diff --git a/argp/argp.h b/argp/argp.h index c7322581bf..a5b861a4d3 100644 --- a/argp/argp.h +++ b/argp/argp.h @@ -1,5 +1,5 @@ /* Hierarchial argument parsing, layered over getopt. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ARGP_H #define _ARGP_H @@ -554,7 +554,8 @@ __NTH (__option_is_end (const struct argp_option *__opt)) # endif #endif /* Use extern inlines. */ -#ifdef __LDBL_COMPAT +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # include #endif diff --git a/argp/bits/argp-ldbl.h b/argp/bits/argp-ldbl.h index 86022a04ac..dd77a34a93 100644 --- a/argp/bits/argp-ldbl.h +++ b/argp/bits/argp-ldbl.h @@ -1,5 +1,5 @@ /* Redirections for argp functions for -mlong-double-64. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ARGP_H # error "Never include directly; use instead." diff --git a/argp/tst-argp1.c b/argp/tst-argp1.c index 197ac90dfe..23678d84e4 100644 --- a/argp/tst-argp1.c +++ b/argp/tst-argp1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2019 Free Software Foundation, Inc. +/* Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/argp/tst-argp2.c b/argp/tst-argp2.c index e15f66b69c..34b4e8a5c2 100644 --- a/argp/tst-argp2.c +++ b/argp/tst-argp2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2019 Free Software Foundation, Inc. +/* Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2007. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/argp/tst-ldbl-argp.c b/argp/tst-ldbl-argp.c index 72741f45c2..b16d58b627 100644 --- a/argp/tst-ldbl-argp.c +++ b/argp/tst-ldbl-argp.c @@ -1,5 +1,5 @@ /* Testing of long double conversions in argp.h functions. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/assert/Makefile b/assert/Makefile index 3da7422560..17c7ff0ddb 100644 --- a/assert/Makefile +++ b/assert/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Sub-makefile for assert portion of the library. diff --git a/assert/__assert.c b/assert/__assert.c index 082693eb7d..c1c2797c97 100644 --- a/assert/__assert.c +++ b/assert/__assert.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* We have to see the prototype. */ #undef NDEBUG diff --git a/assert/assert-perr.c b/assert/assert-perr.c index 410f27c83c..02b5cbdd26 100644 --- a/assert/assert-perr.c +++ b/assert/assert-perr.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/assert/assert.c b/assert/assert.c index a524d5d747..6e383b470b 100644 --- a/assert/assert.c +++ b/assert/assert.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/assert/assert.h b/assert/assert.h index 20fe320043..266ee92e3f 100644 --- a/assert/assert.h +++ b/assert/assert.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * ISO C99 Standard: 7.2 Diagnostics diff --git a/assert/tst-assert-c++.cc b/assert/tst-assert-c++.cc index 3df9815256..361ffa8f83 100644 --- a/assert/tst-assert-c++.cc +++ b/assert/tst-assert-c++.cc @@ -1,5 +1,5 @@ /* Tests for interactions between C++ and assert. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,8 +14,11 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ +/* Undefine NDEBUG to ensure the build system e.g. CFLAGS/CXXFLAGS + does not disable the asserts we want to test. */ +#undef NDEBUG #include /* The C++ standard requires that if the assert argument is a constant diff --git a/assert/tst-assert-g++.cc b/assert/tst-assert-g++.cc index c985811446..e574f4f48a 100644 --- a/assert/tst-assert-g++.cc +++ b/assert/tst-assert-g++.cc @@ -1,5 +1,5 @@ /* Tests for interactions between C++ and assert. GNU C++11 version. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,6 +14,6 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/benchtests/Makefile b/benchtests/Makefile index 697e29fbbe..cd19211fe9 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2019 Free Software Foundation, Inc. +# Copyright (C) 2013-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # Makefile for benchmark tests. The only useful target here is `bench`. # Add benchmark functions in alphabetical order. @@ -23,8 +23,9 @@ subdir := benchtests include ../Makeconfig bench-math := acos acosh asin asinh atan atanh cos cosh exp exp2 log log2 \ modf pow rint sin sincos sinh sqrt tan tanh fmin fmax fminf \ - fmaxf powf trunc truncf expf exp2f logf log2f sincosf sinf \ - cosf isnan isinf isfinite hypot logb logbf + fmaxf powf trunc truncf roundeven roundevenf expf exp2f logf \ + log2f sincosf sinf cosf isnan isinf isfinite hypot logb logbf \ + exp10f bench-pthread := pthread_once thread_create @@ -88,6 +89,8 @@ CFLAGS-bench-fmax.c += -fno-builtin CFLAGS-bench-fmaxf.c += -fno-builtin CFLAGS-bench-trunc.c += -fno-builtin CFLAGS-bench-truncf.c += -fno-builtin +CFLAGS-bench-roundeven.c += -fno-builtin +CFLAGS-bench-roundevenf.c += -fno-builtin CFLAGS-bench-isnan.c += -fsignaling-nans CFLAGS-bench-isinf.c += -fsignaling-nans CFLAGS-bench-isfinite.c += -fsignaling-nans @@ -130,11 +133,17 @@ endif CPPFLAGS-nonlib += -DDURATION=$(BENCH_DURATION) -D_ISOMAC +# Use clock_gettime to measure performance of functions. The default is +# to use the architecture-specific high precision timing instructions. +ifdef USE_CLOCK_GETTIME +CPPFLAGS-nonlib += -DUSE_CLOCK_GETTIME +else # On x86 processors, use RDTSCP, instead of RDTSC, to measure performance # of functions. All x86 processors since 2010 support RDTSCP instruction. ifdef USE_RDTSCP CPPFLAGS-nonlib += -DUSE_RDTSCP endif +endif DETAILED_OPT := @@ -217,7 +226,10 @@ bench-malloc: $(binaries-bench-malloc) # capable language or tool. bench-func: $(binaries-bench) if [ -n '$^' ] ; then \ - { timing_type=$$($(timing-type)); \ + { timing_type=$$($(test-wrapper-env) \ + $(run-program-env) \ + $(test-via-rtld-prefix) \ + $(timing-type)); \ echo "{\"timing_type\": \"$${timing_type}\","; \ echo " \"functions\": {"; \ for run in $^; do \ diff --git a/benchtests/README b/benchtests/README index c4f03fd872..44736d7e63 100644 --- a/benchtests/README +++ b/benchtests/README @@ -27,7 +27,12 @@ BENCH_DURATION. The benchmark suite does function call measurements using architecture-specific high precision timing instructions whenever available. When such support is -not available, it uses clock_gettime (CLOCK_MONOTONIC). +not available, it uses clock_gettime (CLOCK_MONOTONIC). One can force the +benchmark to use clock_gettime by invoking make as follows: + + $ make USE_CLOCK_GETTIME=1 bench + +Again, one must run `make bench-clean' before changing the measurement method. On x86 processors, RDTSCP instruction provides more precise timing data than RDTSC instruction. All x86 processors since 2010 support RDTSCP @@ -120,17 +125,25 @@ math functions perform computations at different levels of precision (64-bit vs performance of these functions. One could separate inputs for these domains in the same file by using the `name' directive that looks something like this: - ##name: 240bit + ##name: 240bits -See the pow-inputs file for an example of what such a partitioned input file -would look like. +All inputs after the ##name: 240bits directive and until the next `name' +directive (or the end of file) are part of the "240bits" benchmark and +will be output separately in benchtests/bench.out. See the pow-inputs file +for an example of what such a partitioned input file would look like. -It is also possible to measure throughput of a (partial) trace extracted from -a real workload. In this case the whole trace is iterated over multiple times -rather than repeating every input multiple times. This can be done via: +It is also possible to measure latency and reciprocal throughput of a +(partial) trace extracted from a real workload. In this case the whole trace +is iterated over multiple times rather than repeating every input multiple +times. This can be done via: ##name: workload- +where is simply used to distinguish between different traces in the +same file. To create such a trace, you can simply extract using printf() +values uses for a specific application, or generate random values in some +interval. See the expf-inputs file for an example of this workload mechanism. + Benchmark Sets: ============== diff --git a/benchtests/bench-malloc-simple.c b/benchtests/bench-malloc-simple.c index c4f06f6999..3b0ce36712 100644 --- a/benchtests/bench-malloc-simple.c +++ b/benchtests/bench-malloc-simple.c @@ -1,5 +1,5 @@ /* Benchmark malloc and free functions. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/benchtests/bench-malloc-thread.c b/benchtests/bench-malloc-thread.c index 9d7dcf26b7..d08a6e0d22 100644 --- a/benchtests/bench-malloc-thread.c +++ b/benchtests/bench-malloc-thread.c @@ -1,5 +1,5 @@ /* Benchmark malloc and free functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/benchtests/bench-math-inlines.c b/benchtests/bench-math-inlines.c index 37331bc662..41271c0c51 100644 --- a/benchtests/bench-math-inlines.c +++ b/benchtests/bench-math-inlines.c @@ -1,5 +1,5 @@ /* Measure math inline functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define SIZE 1024 #define TEST_MAIN diff --git a/benchtests/bench-memccpy.c b/benchtests/bench-memccpy.c index 46f96d58c5..9891cacba7 100644 --- a/benchtests/bench-memccpy.c +++ b/benchtests/bench-memccpy.c @@ -1,5 +1,5 @@ /* Measure memccpy functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #define TEST_NAME "memccpy" diff --git a/benchtests/bench-memchr.c b/benchtests/bench-memchr.c index 8a9909a984..d367772ccb 100644 --- a/benchtests/bench-memchr.c +++ b/benchtests/bench-memchr.c @@ -1,5 +1,5 @@ /* Measure memchr functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef WIDE # define SMALL_CHAR 127 diff --git a/benchtests/bench-memcmp.c b/benchtests/bench-memcmp.c index a6af107855..6db9b22f04 100644 --- a/benchtests/bench-memcmp.c +++ b/benchtests/bench-memcmp.c @@ -1,5 +1,5 @@ /* Measure memcmp functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifdef WIDE diff --git a/benchtests/bench-memcpy-large.c b/benchtests/bench-memcpy-large.c index e19ad7474d..fb895c58b5 100644 --- a/benchtests/bench-memcpy-large.c +++ b/benchtests/bench-memcpy-large.c @@ -1,5 +1,5 @@ /* Measure memcpy functions with large data sizes. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef MEMCPY_RESULT # define MEMCPY_RESULT(dst, len) dst diff --git a/benchtests/bench-memcpy-random.c b/benchtests/bench-memcpy-random.c index f2c2e9dc3d..c7b34ce3bf 100644 --- a/benchtests/bench-memcpy-random.c +++ b/benchtests/bench-memcpy-random.c @@ -1,5 +1,5 @@ /* Measure memcpy performance. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,63 +14,87 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ -#define MIN_PAGE_SIZE 131072 +#define MIN_PAGE_SIZE (512*1024+4096) #define TEST_MAIN #define TEST_NAME "memcpy" #include "bench-string.h" #include #include "json-lib.h" -IMPL (memcpy, 1) +#define MAX_COPIES 8192 -#define NUM_COPIES 4096 +IMPL (memcpy, 1) typedef struct { uint16_t size; uint16_t freq; } freq_data_t; -typedef struct { uint8_t align; uint8_t freq; } align_data_t; +typedef struct { uint8_t align; uint16_t freq; } align_data_t; -#define SIZE_NUM 1024 +#define SIZE_NUM 65536 #define SIZE_MASK (SIZE_NUM-1) static uint8_t size_arr[SIZE_NUM]; -/* Frequency data for memcpy of less than 256 bytes based on SPEC2006. */ +/* Frequency data for memcpy of less than 4096 bytes based on SPEC2017. */ static freq_data_t size_freq[] = { - { 8, 576}, {104, 94}, { 24, 78}, { 48, 58}, { 32, 48}, { 16, 46}, - { 1, 30}, { 96, 12}, { 72, 11}, {216, 11}, {192, 8}, { 12, 7}, - {144, 5}, { 2, 4}, { 64, 4}, {120, 4}, { 4, 3}, { 40, 2}, - { 7, 2}, {168, 2}, {160, 2}, {128, 1}, { 3, 1}, { 9, 1}, - {176, 1}, {240, 1}, { 11, 1}, { 0, 1}, { 5, 1}, { 6, 1}, - { 80, 1}, { 52, 1}, {152, 1}, { 10, 1}, { 56, 1}, { 51, 1}, - { 14, 1}, {208, 1}, { 0, 0} +{ 32, 22320}, { 16, 9554}, { 8, 8915}, {152, 5327}, { 4, 2159}, {292, 2035}, +{ 12, 1608}, { 24, 1343}, {1152, 895}, {144, 813}, {884, 733}, {284, 721}, +{120, 661}, { 2, 649}, {882, 550}, { 5, 475}, { 7, 461}, {108, 460}, +{ 10, 361}, { 9, 361}, { 6, 334}, { 3, 326}, {464, 308}, {2048, 303}, +{ 1, 298}, { 64, 250}, { 11, 197}, {296, 194}, { 68, 187}, { 15, 185}, +{192, 184}, {1764, 183}, { 13, 173}, {560, 126}, {160, 115}, {288, 96}, +{104, 96}, {1144, 83}, { 18, 80}, { 23, 78}, { 40, 77}, { 19, 68}, +{ 48, 63}, { 17, 57}, { 72, 54}, {1280, 51}, { 20, 49}, { 28, 47}, +{ 22, 46}, {640, 45}, { 25, 41}, { 14, 40}, { 56, 37}, { 27, 35}, +{ 35, 33}, {384, 33}, { 29, 32}, { 80, 30}, {4095, 22}, {232, 22}, +{ 36, 19}, {184, 17}, { 21, 17}, {256, 16}, { 44, 15}, { 26, 15}, +{ 31, 14}, { 88, 14}, {176, 13}, { 33, 12}, {1024, 12}, {208, 11}, +{ 62, 11}, {128, 10}, {704, 10}, {324, 10}, { 96, 10}, { 60, 9}, +{136, 9}, {124, 9}, { 34, 8}, { 30, 8}, {480, 8}, {1344, 8}, +{273, 7}, {520, 7}, {112, 6}, { 52, 6}, {344, 6}, {336, 6}, +{504, 5}, {168, 5}, {424, 5}, { 0, 4}, { 76, 3}, {200, 3}, +{512, 3}, {312, 3}, {240, 3}, {960, 3}, {264, 2}, {672, 2}, +{ 38, 2}, {328, 2}, { 84, 2}, { 39, 2}, {216, 2}, { 42, 2}, +{ 37, 2}, {1608, 2}, { 70, 2}, { 46, 2}, {536, 2}, {280, 1}, +{248, 1}, { 47, 1}, {1088, 1}, {1288, 1}, {224, 1}, { 41, 1}, +{ 50, 1}, { 49, 1}, {808, 1}, {360, 1}, {440, 1}, { 43, 1}, +{ 45, 1}, { 78, 1}, {968, 1}, {392, 1}, { 54, 1}, { 53, 1}, +{ 59, 1}, {376, 1}, {664, 1}, { 58, 1}, {272, 1}, { 66, 1}, +{2688, 1}, {472, 1}, {568, 1}, {720, 1}, { 51, 1}, { 63, 1}, +{ 86, 1}, {496, 1}, {776, 1}, { 57, 1}, {680, 1}, {792, 1}, +{122, 1}, {760, 1}, {824, 1}, {552, 1}, { 67, 1}, {456, 1}, +{984, 1}, { 74, 1}, {408, 1}, { 75, 1}, { 92, 1}, {576, 1}, +{116, 1}, { 65, 1}, {117, 1}, { 82, 1}, {352, 1}, { 55, 1}, +{100, 1}, { 90, 1}, {696, 1}, {111, 1}, {880, 1}, { 79, 1}, +{488, 1}, { 61, 1}, {114, 1}, { 94, 1}, {1032, 1}, { 98, 1}, +{ 87, 1}, {584, 1}, { 85, 1}, {648, 1}, {0, 0} }; -#define ALIGN_NUM 256 +#define ALIGN_NUM 1024 #define ALIGN_MASK (ALIGN_NUM-1) static uint8_t src_align_arr[ALIGN_NUM]; static uint8_t dst_align_arr[ALIGN_NUM]; -/* Source alignment frequency for memcpy based on SPEC2006. */ +/* Source alignment frequency for memcpy based on SPEC2017. */ static align_data_t src_align_freq[] = { - {16, 144}, {8, 86}, {3, 23}, {1, 3}, {0, 0} + {8, 300}, {16, 292}, {32, 168}, {64, 153}, {4, 79}, {2, 14}, {1, 18}, {0, 0} }; -/* Destination alignment frequency for memcpy based on SPEC2006. */ +/* Destination alignment frequency for memcpy based on SPEC2017. */ static align_data_t dst_align_freq[] = { - {16, 197}, {8, 30}, {3, 23}, {1, 6}, {0, 0} + {8, 265}, {16, 263}, {64, 209}, {32, 174}, {4, 90}, {2, 10}, {1, 13}, {0, 0} }; typedef struct { - uint16_t src; - uint16_t dst; - uint16_t len; + uint64_t src : 24; + uint64_t dst : 24; + uint64_t len : 16; } copy_t; -static copy_t copy[NUM_COPIES]; +static copy_t copy[MAX_COPIES]; typedef char *(*proto_t) (char *, const char *, size_t); @@ -103,6 +127,9 @@ do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, timing_t start, stop, cur; size_t iters = INNER_LOOP_ITERS_MEDIUM; + for (int j = 0; j < n; j++) + CALL (impl, dst + copy[j].dst, src + copy[j].src, copy[j].len); + TIMING_NOW (start); for (int i = 0; i < iters; ++i) for (int j = 0; j < n; j++) @@ -117,16 +144,17 @@ do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, static void do_test (json_ctx_t *json_ctx, size_t max_size) { - for (int i = 0; i < max_size; i++) - buf1[i] = i * 3; + int i; + + memset (buf1, 1, max_size); /* Create a random set of copies with the given size and alignment distributions. */ - for (int i = 0; i < NUM_COPIES; i++) + for (i = 0; i < MAX_COPIES; i++) { - copy[i].dst = (rand () & (max_size - 1)) | 1; + copy[i].dst = (rand () & (max_size - 1)); copy[i].dst &= ~dst_align_arr[rand () & ALIGN_MASK]; - copy[i].src = (rand () & (max_size - 1)) | 3; + copy[i].src = (rand () & (max_size - 1)); copy[i].src &= ~src_align_arr[rand () & ALIGN_MASK]; copy[i].len = size_arr[rand () & SIZE_MASK]; } @@ -136,7 +164,7 @@ do_test (json_ctx_t *json_ctx, size_t max_size) json_array_begin (json_ctx, "timings"); FOR_EACH_IMPL (impl, 0) - do_one_test (json_ctx, impl, (char *) buf2, (char *) buf1, copy, NUM_COPIES); + do_one_test (json_ctx, impl, (char *) buf2, (char *) buf1, copy, i); json_array_end (json_ctx); json_element_object_end (json_ctx); @@ -165,7 +193,7 @@ test_main (void) json_array_end (&json_ctx); json_array_begin (&json_ctx, "results"); - for (int i = 4; i <= 64; i = i * 2) + for (int i = 4; i <= 512; i = i * 2) do_test (&json_ctx, i * 1024); json_array_end (&json_ctx); diff --git a/benchtests/bench-memcpy-walk.c b/benchtests/bench-memcpy-walk.c index 397a1e98df..bd96fe4949 100644 --- a/benchtests/bench-memcpy-walk.c +++ b/benchtests/bench-memcpy-walk.c @@ -1,5 +1,5 @@ /* Measure memcpy function combined throughput for different alignments. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This microbenchmark measures the throughput of memcpy for various sizes from 1 byte to 32MiB, doubling every iteration and then misaligning by 0-15 diff --git a/benchtests/bench-memcpy.c b/benchtests/bench-memcpy.c index 6c5c549144..cc249e07c8 100644 --- a/benchtests/bench-memcpy.c +++ b/benchtests/bench-memcpy.c @@ -1,5 +1,5 @@ /* Measure memcpy functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef MEMCPY_RESULT # define MEMCPY_RESULT(dst, len) dst @@ -23,23 +23,16 @@ # define TEST_NAME "memcpy" # include "bench-string.h" -char * -simple_memcpy (char *dst, const char *src, size_t n) -{ - char *ret = dst; - while (n--) - *dst++ = *src++; - return ret; -} +void *generic_memcpy (void *, const void *, size_t); IMPL (memcpy, 1) -IMPL (simple_memcpy, 0) +IMPL (generic_memcpy, 0) #endif # include "json-lib.h" -typedef char *(*proto_t) (char *, const char *, size_t); +typedef void *(*proto_t) (void *, const void *, size_t); static void do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, const char *src, @@ -161,3 +154,9 @@ test_main (void) } #include + +#define libc_hidden_builtin_def(X) +#undef MEMCPY +#define MEMCPY generic_memcpy +#include +#include diff --git a/benchtests/bench-memmem.c b/benchtests/bench-memmem.c index 42778b0765..ad089569de 100644 --- a/benchtests/bench-memmem.c +++ b/benchtests/bench-memmem.c @@ -1,5 +1,5 @@ /* Measure memmem functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #define TEST_NAME "memmem" diff --git a/benchtests/bench-memmove-large.c b/benchtests/bench-memmove-large.c index 710c648634..a6a0f680f2 100644 --- a/benchtests/bench-memmove-large.c +++ b/benchtests/bench-memmove-large.c @@ -1,5 +1,5 @@ /* Measure memmove functions with large data sizes. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define BASE_PAGE_SIZE (1024 * 1024) #define START_SIZE (4 * 1024) diff --git a/benchtests/bench-memmove-walk.c b/benchtests/bench-memmove-walk.c index 2b4a7e4f29..de5bca1390 100644 --- a/benchtests/bench-memmove-walk.c +++ b/benchtests/bench-memmove-walk.c @@ -1,5 +1,5 @@ /* Measure memmove function combined throughput for different alignments. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This microbenchmark measures the throughput of memmove for various sizes from 1 byte to 32MiB, doubling every iteration and then misaligning by 0-15 diff --git a/benchtests/bench-memmove.c b/benchtests/bench-memmove.c index a4d5ecd638..4e28f5bf7d 100644 --- a/benchtests/bench-memmove.c +++ b/benchtests/bench-memmove.c @@ -1,5 +1,5 @@ /* Measure memmove functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,37 +14,19 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #define TEST_NAME "memmove" #include "bench-string.h" #include "json-lib.h" -char *simple_memmove (char *, const char *, size_t); +void *generic_memmove (void *, const void *, size_t); -typedef char *(*proto_t) (char *, const char *, size_t); +typedef void *(*proto_t) (void *, const void *, size_t); IMPL (memmove, 1) -IMPL (simple_memmove, 0) - -char * -inhibit_loop_to_libcall -simple_memmove (char *dst, const char *src, size_t n) -{ - char *ret = dst; - if (src < dst) - { - dst += n; - src += n; - while (n--) - *--dst = *--src; - } - else - while (n--) - *dst++ = *src++; - return ret; -} +IMPL (generic_memmove, 0) static void do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, @@ -165,3 +147,9 @@ test_main (void) } #include + +#define libc_hidden_builtin_def(X) +#undef MEMMOVE +#define MEMMOVE generic_memmove +#include +#include diff --git a/benchtests/bench-mempcpy.c b/benchtests/bench-mempcpy.c index 09f8557413..2e695fed88 100644 --- a/benchtests/bench-mempcpy.c +++ b/benchtests/bench-mempcpy.c @@ -1,5 +1,5 @@ /* Measure mempcpy functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define MEMCPY_RESULT(dst, len) (dst) + (len) #define TEST_MAIN diff --git a/benchtests/bench-memrchr.c b/benchtests/bench-memrchr.c index f8034050cd..31b55dd003 100644 --- a/benchtests/bench-memrchr.c +++ b/benchtests/bench-memrchr.c @@ -1,5 +1,5 @@ /* Measure memrchr functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #define TEST_NAME "memrchr" diff --git a/benchtests/bench-memset-large.c b/benchtests/bench-memset-large.c index d99f0a24aa..4af10f2d36 100644 --- a/benchtests/bench-memset-large.c +++ b/benchtests/bench-memset-large.c @@ -1,5 +1,5 @@ /* Measure memset functions with large data sizes. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,41 +14,23 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN -#ifndef WIDE -# define TEST_NAME "memset" -#else -# define TEST_NAME "wmemset" -#endif /* WIDE */ +#define TEST_NAME "memset" #define START_SIZE (128 * 1024) #define MIN_PAGE_SIZE (getpagesize () + 64 * 1024 * 1024) #define TIMEOUT (20 * 60) #include "bench-string.h" -#ifndef WIDE -# define SIMPLE_MEMSET simple_memset -#else -# define SIMPLE_MEMSET simple_wmemset -#endif /* WIDE */ - #include #include "json-lib.h" -IMPL (MEMSET, 1) - -typedef CHAR *(*proto_t) (CHAR *, int, size_t); +void *generic_memset (void *, int, size_t); +typedef void *(*proto_t) (void *, int, size_t); -CHAR * -inhibit_loop_to_libcall -SIMPLE_MEMSET (CHAR *s, int c, size_t n) -{ - CHAR *r = s, *end = s + n; - while (r < end) - *r++ = c; - return s; -} +IMPL (MEMSET, 1) +IMPL (generic_memset, 0) static void do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *s, @@ -133,3 +115,11 @@ test_main (void) } #include + +#define libc_hidden_builtin_def(X) +#define libc_hidden_def(X) +#define libc_hidden_weak(X) +#define weak_alias(X,Y) +#undef MEMSET +#define MEMSET generic_memset +#include diff --git a/benchtests/bench-memset-walk.c b/benchtests/bench-memset-walk.c index 930aae34d1..b44309481a 100644 --- a/benchtests/bench-memset-walk.c +++ b/benchtests/bench-memset-walk.c @@ -1,5 +1,5 @@ /* Measure memset function throughput with large data sizes. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,42 +14,23 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN -#ifndef WIDE -# define TEST_NAME "memset" -#else -# define TEST_NAME "wmemset" -#endif /* WIDE */ +#define TEST_NAME "memset" #define START_SIZE 128 #define MIN_PAGE_SIZE (getpagesize () + 32 * 1024 * 1024) #define TIMEOUT (20 * 60) #include "bench-string.h" -#ifndef WIDE -# define SIMPLE_MEMSET simple_memset -#else -# define SIMPLE_MEMSET simple_wmemset -#endif /* WIDE */ - #include #include "json-lib.h" +void *generic_memset (void *, int, size_t); +typedef void *(*proto_t) (void *, int, size_t); -typedef CHAR *(*proto_t) (CHAR *, int, size_t); - -CHAR * -inhibit_loop_to_libcall -SIMPLE_MEMSET (CHAR *s, int c, size_t n) -{ - CHAR *r = s, *end = s + n; - while (r < end) - *r++ = c; - return s; -} - -IMPL (SIMPLE_MEMSET, 1) +IMPL (MEMSET, 1) +IMPL (generic_memset, 0) static void do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *s, CHAR *s_end, @@ -132,3 +113,11 @@ test_main (void) } #include + +#define libc_hidden_builtin_def(X) +#define libc_hidden_def(X) +#define libc_hidden_weak(X) +#define weak_alias(X,Y) +#undef MEMSET +#define MEMSET generic_memset +#include diff --git a/benchtests/bench-memset.c b/benchtests/bench-memset.c index 0df55d1263..ee6059a6e4 100644 --- a/benchtests/bench-memset.c +++ b/benchtests/bench-memset.c @@ -1,5 +1,5 @@ /* Measure memset functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,35 +14,30 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifndef WIDE # define TEST_NAME "memset" #else # define TEST_NAME "wmemset" +# define generic_memset generic_wmemset #endif /* WIDE */ #define MIN_PAGE_SIZE 131072 #include "bench-string.h" #include "json-lib.h" -CHAR *SIMPLE_MEMSET (CHAR *, int, size_t); +#ifdef WIDE +CHAR *generic_wmemset (CHAR *, CHAR, size_t); +#else +void *generic_memset (void *, int, size_t); +#endif -typedef CHAR *(*proto_t) (CHAR *, int, size_t); +typedef void *(*proto_t) (void *, int, size_t); IMPL (MEMSET, 1) -IMPL (SIMPLE_MEMSET, 0) - -CHAR * -inhibit_loop_to_libcall -SIMPLE_MEMSET (CHAR *s, int c, size_t n) -{ - CHAR *r = s, *end = s + n; - while (r < end) - *r++ = c; - return s; -} +IMPL (generic_memset, 0) static void do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *s, @@ -146,3 +141,16 @@ test_main (void) } #include + +#define libc_hidden_builtin_def(X) +#define libc_hidden_def(X) +#define libc_hidden_weak(X) +#define weak_alias(X,Y) +#ifndef WIDE +# undef MEMSET +# define MEMSET generic_memset +# include +#else +# define WMEMSET generic_wmemset +# include +#endif diff --git a/benchtests/bench-rawmemchr.c b/benchtests/bench-rawmemchr.c index f7e1524d8a..9d80f0d164 100644 --- a/benchtests/bench-rawmemchr.c +++ b/benchtests/bench-rawmemchr.c @@ -1,5 +1,5 @@ /* Measure memchr functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/benchtests/bench-skeleton.c b/benchtests/bench-skeleton.c index 854151e5a8..aa20dadae6 100644 --- a/benchtests/bench-skeleton.c +++ b/benchtests/bench-skeleton.c @@ -1,5 +1,5 @@ /* Skeleton for benchmark programs. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/benchtests/bench-stpcpy.c b/benchtests/bench-stpcpy.c index bcea9af1bf..446d32f3c1 100644 --- a/benchtests/bench-stpcpy.c +++ b/benchtests/bench-stpcpy.c @@ -1,5 +1,5 @@ /* Measure stpcpy functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define STRCPY_RESULT(dst, len) ((dst) + (len)) #define TEST_MAIN diff --git a/benchtests/bench-stpcpy_chk.c b/benchtests/bench-stpcpy_chk.c index 51d84c3272..b225eb3bdc 100644 --- a/benchtests/bench-stpcpy_chk.c +++ b/benchtests/bench-stpcpy_chk.c @@ -1,5 +1,5 @@ /* Measure stpcpy checking functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define STRCPY_RESULT(dst, len) ((dst) + (len)) #define TEST_MAIN diff --git a/benchtests/bench-stpncpy.c b/benchtests/bench-stpncpy.c index c4c6b65bb7..95b241af14 100644 --- a/benchtests/bench-stpncpy.c +++ b/benchtests/bench-stpncpy.c @@ -1,5 +1,5 @@ /* Measure stpncpy functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define STRNCPY_RESULT(dst, len, n) ((dst) + ((len) > (n) ? (n) : (len))) #define TEST_MAIN diff --git a/benchtests/bench-strcasecmp.c b/benchtests/bench-strcasecmp.c index 4e9bcdc9a5..b8bfbe990f 100644 --- a/benchtests/bench-strcasecmp.c +++ b/benchtests/bench-strcasecmp.c @@ -1,5 +1,5 @@ /* Measure strcasecmp functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #define TEST_MAIN diff --git a/benchtests/bench-strcasestr.c b/benchtests/bench-strcasestr.c index d701ff4f36..1bab43105e 100644 --- a/benchtests/bench-strcasestr.c +++ b/benchtests/bench-strcasestr.c @@ -1,5 +1,5 @@ /* Measure strcasestr functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #define TEST_NAME "strcasestr" diff --git a/benchtests/bench-strcat.c b/benchtests/bench-strcat.c index 08841d037f..069c24f9f2 100644 --- a/benchtests/bench-strcat.c +++ b/benchtests/bench-strcat.c @@ -1,5 +1,5 @@ /* Measure strcat functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifndef WIDE diff --git a/benchtests/bench-strchr.c b/benchtests/bench-strchr.c index 10d06feb23..d33cad6a40 100644 --- a/benchtests/bench-strchr.c +++ b/benchtests/bench-strchr.c @@ -1,5 +1,5 @@ /* Measure STRCHR functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifndef WIDE diff --git a/benchtests/bench-strchrnul.c b/benchtests/bench-strchrnul.c index 7a83f9148d..6f0228d0ac 100644 --- a/benchtests/bench-strchrnul.c +++ b/benchtests/bench-strchrnul.c @@ -1,5 +1,5 @@ /* Measure strchrnul function. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define USE_FOR_STRCHRNUL 1 #include "bench-strchr.c" diff --git a/benchtests/bench-strcmp.c b/benchtests/bench-strcmp.c index b8d355c3ce..47d0a35299 100644 --- a/benchtests/bench-strcmp.c +++ b/benchtests/bench-strcmp.c @@ -1,5 +1,5 @@ /* Measure strcmp and wcscmp functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifdef WIDE diff --git a/benchtests/bench-strcoll.c b/benchtests/bench-strcoll.c index 4943c5ee8a..15f6602988 100644 --- a/benchtests/bench-strcoll.c +++ b/benchtests/bench-strcoll.c @@ -1,5 +1,5 @@ /* Measure strcoll execution time in different locales. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/benchtests/bench-strcpy.c b/benchtests/bench-strcpy.c index 7a7cf4abb2..5dbe8afe65 100644 --- a/benchtests/bench-strcpy.c +++ b/benchtests/bench-strcpy.c @@ -1,5 +1,5 @@ /* Measure strcpy functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define BIG_CHAR MAX_CHAR diff --git a/benchtests/bench-strcpy_chk.c b/benchtests/bench-strcpy_chk.c index 34c9c78a77..1f6c0afcf4 100644 --- a/benchtests/bench-strcpy_chk.c +++ b/benchtests/bench-strcpy_chk.c @@ -1,5 +1,5 @@ /* Measure __strcpy_chk functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef STRCPY_RESULT # define STRCPY_RESULT(dst, len) dst diff --git a/benchtests/bench-strcspn.c b/benchtests/bench-strcspn.c index bf9c4f8db3..0f6d065182 100644 --- a/benchtests/bench-strcspn.c +++ b/benchtests/bench-strcspn.c @@ -1,5 +1,5 @@ /* Measure strcspn functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define STRPBRK_RESULT(s, pos) (pos) #define RES_TYPE size_t diff --git a/benchtests/bench-string.h b/benchtests/bench-string.h index 4831e21054..841a66a9d8 100644 --- a/benchtests/bench-string.h +++ b/benchtests/bench-string.h @@ -1,5 +1,5 @@ /* Measure string and memory functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/benchtests/bench-strlen.c b/benchtests/bench-strlen.c index 1997ad75b4..cc125e820a 100644 --- a/benchtests/bench-strlen.c +++ b/benchtests/bench-strlen.c @@ -1,5 +1,5 @@ /* Measure STRLEN functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifndef WIDE diff --git a/benchtests/bench-strncasecmp.c b/benchtests/bench-strncasecmp.c index 7c97877112..157826f756 100644 --- a/benchtests/bench-strncasecmp.c +++ b/benchtests/bench-strncasecmp.c @@ -1,5 +1,5 @@ /* Measure strncasecmp functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #define TEST_MAIN diff --git a/benchtests/bench-strncat.c b/benchtests/bench-strncat.c index e7583dfad4..6b820b0605 100644 --- a/benchtests/bench-strncat.c +++ b/benchtests/bench-strncat.c @@ -1,5 +1,5 @@ /* Measure strncat functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifndef WIDE diff --git a/benchtests/bench-strncmp.c b/benchtests/bench-strncmp.c index bd3f9b2871..95a59c9465 100644 --- a/benchtests/bench-strncmp.c +++ b/benchtests/bench-strncmp.c @@ -1,5 +1,5 @@ /* Measure strncmp functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifdef WIDE diff --git a/benchtests/bench-strncpy.c b/benchtests/bench-strncpy.c index a26232f423..602ae2a5bf 100644 --- a/benchtests/bench-strncpy.c +++ b/benchtests/bench-strncpy.c @@ -1,5 +1,5 @@ /* Measure strncpy functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define BIG_CHAR MAX_CHAR diff --git a/benchtests/bench-strnlen.c b/benchtests/bench-strnlen.c index 72ec303977..edc5110a18 100644 --- a/benchtests/bench-strnlen.c +++ b/benchtests/bench-strnlen.c @@ -1,5 +1,5 @@ /* Measure strlen functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifndef WIDE diff --git a/benchtests/bench-strpbrk.c b/benchtests/bench-strpbrk.c index e484ebd0c0..ed94ac3cfe 100644 --- a/benchtests/bench-strpbrk.c +++ b/benchtests/bench-strpbrk.c @@ -1,5 +1,5 @@ /* Measure strpbrk functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define BIG_CHAR MAX_CHAR diff --git a/benchtests/bench-strrchr.c b/benchtests/bench-strrchr.c index bdb3b41d40..2d44c8c5ec 100644 --- a/benchtests/bench-strrchr.c +++ b/benchtests/bench-strrchr.c @@ -1,5 +1,5 @@ /* Measure STRCHR functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifdef WIDE diff --git a/benchtests/bench-strsep.c b/benchtests/bench-strsep.c index 96d3be5222..a9b78e92de 100644 --- a/benchtests/bench-strsep.c +++ b/benchtests/bench-strsep.c @@ -1,5 +1,5 @@ /* Measure strsep functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #define TEST_NAME "strsep" diff --git a/benchtests/bench-strspn.c b/benchtests/bench-strspn.c index ed97c5fc62..c0166b350f 100644 --- a/benchtests/bench-strspn.c +++ b/benchtests/bench-strspn.c @@ -1,5 +1,5 @@ /* Measure strspn functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #ifndef WIDE diff --git a/benchtests/bench-strstr.c b/benchtests/bench-strstr.c index 36b7669d59..76783c4ef2 100644 --- a/benchtests/bench-strstr.c +++ b/benchtests/bench-strstr.c @@ -1,5 +1,5 @@ /* Measure strstr functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define MIN_PAGE_SIZE 131072 #define TEST_MAIN diff --git a/benchtests/bench-strtod.c b/benchtests/bench-strtod.c index 780c04ab0a..b83b4f7a36 100644 --- a/benchtests/bench-strtod.c +++ b/benchtests/bench-strtod.c @@ -1,5 +1,5 @@ /* Measure strtod implementation. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #define TEST_NAME "strtod" diff --git a/benchtests/bench-strtok.c b/benchtests/bench-strtok.c index f5ab587dd9..7012fb9265 100644 --- a/benchtests/bench-strtok.c +++ b/benchtests/bench-strtok.c @@ -1,5 +1,5 @@ /* Measure strtok functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_MAIN #define TEST_NAME "strtok" diff --git a/benchtests/bench-timing-type.c b/benchtests/bench-timing-type.c index 629316fd02..18b8320e7f 100644 --- a/benchtests/bench-timing-type.c +++ b/benchtests/bench-timing-type.c @@ -1,5 +1,5 @@ /* Print out the timing type used by the benchmark run. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "bench-timing.h" #include diff --git a/benchtests/bench-timing.h b/benchtests/bench-timing.h index d068bf9459..c632d4440e 100644 --- a/benchtests/bench-timing.h +++ b/benchtests/bench-timing.h @@ -1,5 +1,5 @@ /* Define timing macros. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,12 +14,15 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #undef attribute_hidden #define attribute_hidden -#define __clock_gettime clock_gettime -#include +#ifdef USE_CLOCK_GETTIME +# include +#else +# include +#endif #include #define GL(x) _##x diff --git a/benchtests/bench-util.c b/benchtests/bench-util.c index 91ca53fb37..79db53dfb8 100644 --- a/benchtests/bench-util.c +++ b/benchtests/bench-util.c @@ -1,5 +1,5 @@ /* Benchmark utility functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ static volatile unsigned int dontoptimize = 0; diff --git a/benchtests/bench-util.h b/benchtests/bench-util.h index 470e31da93..b682518725 100644 --- a/benchtests/bench-util.h +++ b/benchtests/bench-util.h @@ -1,5 +1,5 @@ /* Benchmark utility functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef START_ITER diff --git a/benchtests/bench-wcpcpy.c b/benchtests/bench-wcpcpy.c index e635972df4..ab524d2eeb 100644 --- a/benchtests/bench-wcpcpy.c +++ b/benchtests/bench-wcpcpy.c @@ -1,5 +1,5 @@ /* Measure wcpcpy functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-stpcpy.c" diff --git a/benchtests/bench-wcpncpy.c b/benchtests/bench-wcpncpy.c index 846b79be3d..0b931e66f5 100644 --- a/benchtests/bench-wcpncpy.c +++ b/benchtests/bench-wcpncpy.c @@ -1,5 +1,5 @@ /* Measure wcpncpy functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-stpncpy.c" diff --git a/benchtests/bench-wcscat.c b/benchtests/bench-wcscat.c index 5db8d7e007..757e811d09 100644 --- a/benchtests/bench-wcscat.c +++ b/benchtests/bench-wcscat.c @@ -1,5 +1,5 @@ /* Measure wcscat functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strcat.c" diff --git a/benchtests/bench-wcschr.c b/benchtests/bench-wcschr.c index 47911124c9..1e92837ad8 100644 --- a/benchtests/bench-wcschr.c +++ b/benchtests/bench-wcschr.c @@ -1,5 +1,5 @@ /* Measure wcschr functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strchr.c" diff --git a/benchtests/bench-wcschrnul.c b/benchtests/bench-wcschrnul.c index b8afb4e374..01716002cc 100644 --- a/benchtests/bench-wcschrnul.c +++ b/benchtests/bench-wcschrnul.c @@ -1,5 +1,5 @@ /* Measure wcschrnul functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strchrnul.c" diff --git a/benchtests/bench-wcscmp.c b/benchtests/bench-wcscmp.c index 026e12e28a..71fab071e0 100644 --- a/benchtests/bench-wcscmp.c +++ b/benchtests/bench-wcscmp.c @@ -1,5 +1,5 @@ /* Measure wcscmp functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strcmp.c" diff --git a/benchtests/bench-wcscpy.c b/benchtests/bench-wcscpy.c index d204b6f3df..c5b4eb11ef 100644 --- a/benchtests/bench-wcscpy.c +++ b/benchtests/bench-wcscpy.c @@ -1,5 +1,5 @@ /* Measure wcscpy functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strcpy.c" diff --git a/benchtests/bench-wcscspn.c b/benchtests/bench-wcscspn.c index 8061b03ecd..16f68c1822 100644 --- a/benchtests/bench-wcscspn.c +++ b/benchtests/bench-wcscspn.c @@ -1,5 +1,5 @@ /* Measure wcscspn functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strcspn.c" diff --git a/benchtests/bench-wcslen.c b/benchtests/bench-wcslen.c index 949b199422..a6a633191e 100644 --- a/benchtests/bench-wcslen.c +++ b/benchtests/bench-wcslen.c @@ -1,5 +1,5 @@ /* Measure wcslen functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strlen.c" diff --git a/benchtests/bench-wcsncat.c b/benchtests/bench-wcsncat.c index c08e854ad8..545e2070c3 100644 --- a/benchtests/bench-wcsncat.c +++ b/benchtests/bench-wcsncat.c @@ -1,5 +1,5 @@ /* Measure wcsncat functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strncat.c" diff --git a/benchtests/bench-wcsncmp.c b/benchtests/bench-wcsncmp.c index 1317b93878..dcaab47157 100644 --- a/benchtests/bench-wcsncmp.c +++ b/benchtests/bench-wcsncmp.c @@ -1,5 +1,5 @@ /* Measure wcsncmp functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strncmp.c" diff --git a/benchtests/bench-wcsncpy.c b/benchtests/bench-wcsncpy.c index 2242792038..90ba70ce3c 100644 --- a/benchtests/bench-wcsncpy.c +++ b/benchtests/bench-wcsncpy.c @@ -1,5 +1,5 @@ /* Measure wcsncpy functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strncpy.c" diff --git a/benchtests/bench-wcsnlen.c b/benchtests/bench-wcsnlen.c index 3eaea6213e..075c935139 100644 --- a/benchtests/bench-wcsnlen.c +++ b/benchtests/bench-wcsnlen.c @@ -1,5 +1,5 @@ /* Measure wcsnlen functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #define __wmemchr wmemchr diff --git a/benchtests/bench-wcspbrk.c b/benchtests/bench-wcspbrk.c index a59bbadeb3..70adea119d 100644 --- a/benchtests/bench-wcspbrk.c +++ b/benchtests/bench-wcspbrk.c @@ -1,5 +1,5 @@ /* Measure wcspbrk functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strpbrk.c" diff --git a/benchtests/bench-wcsrchr.c b/benchtests/bench-wcsrchr.c index 0d8ae4c918..7f3b19b707 100644 --- a/benchtests/bench-wcsrchr.c +++ b/benchtests/bench-wcsrchr.c @@ -1,5 +1,5 @@ /* Measure wcsrchr functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strrchr.c" diff --git a/benchtests/bench-wcsspn.c b/benchtests/bench-wcsspn.c index 18c0a6d1a3..787b93a1cd 100644 --- a/benchtests/bench-wcsspn.c +++ b/benchtests/bench-wcsspn.c @@ -1,5 +1,5 @@ /* Measure wcsspn functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-strspn.c" diff --git a/benchtests/bench-wmemchr.c b/benchtests/bench-wmemchr.c index 6f1328199e..b2cfba4d59 100644 --- a/benchtests/bench-wmemchr.c +++ b/benchtests/bench-wmemchr.c @@ -1,5 +1,5 @@ /* Measure wmemchr functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-memchr.c" diff --git a/benchtests/bench-wmemcmp.c b/benchtests/bench-wmemcmp.c index e790b9eb55..1dc60f5f93 100644 --- a/benchtests/bench-wmemcmp.c +++ b/benchtests/bench-wmemcmp.c @@ -1,5 +1,5 @@ /* Measure wmemcmp functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-memcmp.c" diff --git a/benchtests/bench-wmemset.c b/benchtests/bench-wmemset.c index 57067ce604..26138db0a3 100644 --- a/benchtests/bench-wmemset.c +++ b/benchtests/bench-wmemset.c @@ -1,5 +1,5 @@ /* Measure wmemset functions. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define WIDE 1 #include "bench-memset.c" diff --git a/benchtests/exp10f-inputs b/benchtests/exp10f-inputs new file mode 100644 index 0000000000..302af485eb --- /dev/null +++ b/benchtests/exp10f-inputs @@ -0,0 +1,2388 @@ +## args: float +## ret: float +## includes: math.h +## name: workload-spec2017.wrf (adapted) +0x0p+0 +-0x1.cca64ap+0 +-0x1.570ef6p-2 +0x1.1aa2d2p+2 +0x1.0f756cp+2 +0x1.0f4c5p+2 +-0x1.4e5cbap-1 +-0x1.10efc8p+0 +-0x1.ca213p-2 +0x1.12c966p+2 +0x1.acffep+1 +-0x1.8118a2p-3 +-0x1.d5e3a2p+3 +-0x1.480aep+3 +0x1.f608d6p+1 +-0x1.32fc0cp+2 +-0x1.4b229ap-1 +0x1.d0b80ep-2 +0x1.19a5b6p+2 +0x1.a42b5ep+1 +0x1.1a21dep+2 +0x1.92e89p+1 +-0x1.7b9ac4p+0 +0x1.66ce46p+0 +0x1.5f4bbcp+1 +0x1.668d4ap-1 +-0x1.a295e4p-1 +-0x1.1bdf4cp-4 +0x1.5d9048p-3 +-0x1.97a6e8p+0 +0x1.5d5c2cp-1 +0x1.3b3926p+1 +0x1.5df8b6p-2 +-0x1.701c4ep+1 +-0x1.831428p+1 +-0x1.091166p+0 +0x1.7bb7dep+0 +-0x1.71320ap+1 +-0x1.000146p+1 +-0x1.31ed22p-4 +-0x1.4b926ap+2 +-0x1.429b84p-2 +-0x1.447decp+1 +-0x1.9c76f6p-2 +0x1.7a8d26p+1 +-0x1.abdd4cp+0 +-0x1.de3accp-2 +0x1.8a5286p+0 +0x1.fda316p-5 +-0x1.06p+5 +-0x1.4be122p-1 +0x1.9bac1ap+1 +-0x1.44cfb2p+1 +0x1.14b2d2p+2 +-0x1.322fb6p-4 +0x1.7c65bap+1 +0x1.9a5056p-1 +0x1.16f75p+2 +-0x1.14c492p+0 +-0x1.179386p+1 +-0x1.f7543ep-4 +-0x1.282e94p+1 +-0x1.32391ep-4 +-0x1.52f73ap+1 +0x1.75bdb6p+1 +-0x1.77763p-1 +0x1.a5d2d6p+0 +0x1.827938p-1 +0x1.12d21cp-1 +-0x1.11a162p-1 +-0x1.3be4d8p+1 +0x1.49d97ep+1 +0x1.19b118p+2 +0x1.19c026p+2 +0x1.e3963cp-2 +0x1.96eb86p+1 +-0x1.180652p+0 +-0x1.59b81cp+1 +0x1.d6e006p-2 +-0x1.15d164p+1 +0x1.233a6ep+0 +-0x1.27864ep+2 +-0x1.30e92cp-4 +-0x1.2e7c2p+1 +-0x1.4fe7c8p+1 +-0x1.35eadap-4 +0x1.484e6p+1 +0x1.7938eap+1 +-0x1.18e616p+2 +-0x1.36859ep-1 +0x1.f4b8dp-2 +-0x1.863916p-2 +0x1.643824p+0 +-0x1.7568e8p+0 +0x1.9c885ep+1 +-0x1.34527cp-2 +-0x1.481836p-1 +-0x1.0f8e4ap-1 +-0x1.9fbb48p+1 +-0x1.af4f5ep+0 +0x1.a88166p-2 +-0x1.9fcf5ap-1 +0x1.821a5p+1 +0x1.ab25cep+1 +-0x1.224cb8p+2 +0x1.96a544p+1 +0x1.a19cb2p-4 +-0x1.4c92f2p-3 +0x1.a0b7c8p+1 +-0x1.499ed8p+1 +-0x1.2c6602p+1 +-0x1.e6132ap-2 +-0x1.7198ccp+1 +0x1.a93194p+1 +-0x1.aadde2p+1 +0x1.d4c3b2p-3 +-0x1.c22fb6p-1 +0x1.703a62p+0 +-0x1.b82142p+0 +0x1.735e98p+1 +0x1.6b8af8p+1 +0x1.de7796p-6 +-0x1.aa786cp-1 +-0x1.6e4dap+3 +-0x1.f6e0fap-2 +-0x1.25239p-2 +-0x1.25dd98p+1 +0x1.1fab24p-2 +-0x1.308cdp-4 +-0x1.7f6a14p+1 +-0x1.fadcf8p-1 +0x1.f166e6p-4 +-0x1.b37p-3 +0x1.6735dcp-1 +0x1.864b22p+1 +0x1.893d72p+1 +-0x1.2c9ddcp+1 +0x1.9a36acp+1 +0x1.1947d2p+2 +-0x1.2a6352p+0 +-0x1.d8751ap+1 +-0x1.b64acap-4 +0x1.40f61cp+1 +0x1.70676ep+1 +-0x1.1680eap-1 +-0x1.f6604ep+0 +0x1.116176p-1 +0x1.6549cp-1 +-0x1.f7aa4ap+1 +-0x1.2bdf2ep-2 +0x1.69eed8p+1 +0x1.f2dc02p-2 +0x1.a145e6p+0 +0x1.8083d6p+1 +0x1.1b9a32p+0 +-0x1.3c9fp+1 +0x1.626386p+1 +-0x1.457912p-2 +0x1.138216p+2 +0x1.639d8cp+1 +0x1.12117cp+2 +-0x1.4970bcp-3 +-0x1.f0c518p-3 +-0x1.9c45b8p+1 +0x1.8fee74p+0 +0x1.4143acp-1 +-0x1.3c5f9ap-1 +0x1.5cf878p-2 +-0x1.122a6ep-4 +-0x1.de549ap-6 +-0x1.f3800ap+0 +0x1.721f64p+1 +0x1.902a2ep+1 +0x1.901aaep+1 +-0x1.816496p-4 +-0x1.a83cb4p+0 +0x1.271acep-2 +0x1.0d212p+2 +0x1.1cdf14p-1 +0x1.6269e2p-2 +-0x1.b93846p+1 +-0x1.6024c2p+0 +-0x1.582c58p+1 +-0x1.712d54p+1 +-0x1.479afcp+0 +-0x1.2e518p-8 +0x1.1b4d6p-2 +0x1.08ea6ap+0 +-0x1.725e56p+3 +-0x1.36a72cp-3 +0x1.376aeap-1 +0x1.2a1632p-3 +-0x1.28c472p+1 +-0x1.de1874p-1 +0x1.10e30ap+1 +0x1.e61a4p-3 +0x1.86d724p+0 +0x1.d9e3eap+1 +-0x1.797188p+0 +-0x1.75478ap-2 +-0x1.41b4ccp+1 +-0x1.30429ep-3 +0x1.6d356p+1 +-0x1.092c4ep-4 +-0x1.4f37dp+1 +-0x1.6c4f8ap+1 +-0x1.9a40eap-2 +-0x1.24069ap+4 +0x1.1a824cp+2 +-0x1.d0719ap-2 +-0x1.84f73cp+1 +0x1.1d4d62p+2 +-0x1.1dce7cp+3 +0x1.3102f4p-4 +-0x1.d5e8b8p-2 +-0x1.215e3p+4 +-0x1.e07cc8p+0 +-0x1.6ce266p-2 +0x1.d555d2p-1 +0x1.f67854p-6 +0x1.15a992p-1 +0x1.ab4f76p-2 +-0x1.2b9d0ap+1 +-0x1.a4c9fcp-2 +0x1.17645p+2 +-0x1.338ea4p+0 +-0x1.fbcf2cp-2 +-0x1.03e628p+1 +-0x1.fc0ad6p+0 +0x1.8f8294p+1 +0x1.8b8c84p-2 +0x1.d34d66p-3 +0x1.0d402cp+2 +0x1.158cep+2 +-0x1.35a2e6p-4 +-0x1.2e08acp-4 +-0x1.48242ep+1 +-0x1.29ed7ap-4 +-0x1.c7b494p+0 +-0x1.193bacp-1 +0x1.578c62p-1 +0x1.53c52p-1 +-0x1.493442p-4 +-0x1.da613cp-4 +-0x1.2f2194p-4 +-0x1.2fb2b6p-4 +0x1.d9e34p+1 +0x1.75d608p+1 +0x1.126b06p+2 +0x1.0142d4p+1 +-0x1.644758p+1 +-0x1.2e3b98p-4 +-0x1.be8ddep+1 +0x1.49824cp-3 +-0x1.35b23ap-1 +-0x1.2356b4p-1 +0x1.18b5acp+2 +0x1.47077cp+1 +-0x1.173db8p+1 +-0x1.665c4ap+1 +-0x1.1c6faap+1 +-0x1.310e3ap-4 +0x1.0e699cp+1 +-0x1.9aab7p+1 +-0x1.cc23acp-2 +0x1.5437c6p-1 +-0x1.0a05d2p+0 +0x1.085f18p-1 +-0x1.35b786p-4 +-0x1.6baad6p-3 +-0x1.3231dap-4 +-0x1.32939ep-4 +0x1.482856p-2 +-0x1.35a4a8p-4 +0x1.706bap-1 +-0x1.4acaf8p-1 +0x1.19de58p+2 +0x1.d143f2p-2 +-0x1.7a380ap-1 +-0x1.784deap+1 +0x1.4feed4p-2 +-0x1.261576p+4 +-0x1.ea0ce6p-5 +0x1.97c84ep+1 +0x1.08b326p+1 +-0x1.19f4ap+2 +-0x1.299982p-4 +-0x1.e70ce6p+2 +0x1.a64db8p-3 +-0x1.7423acp-2 +0x1.1b4bap+2 +-0x1.348e26p-4 +0x1.68ebc4p+1 +-0x1.9cfd68p-2 +-0x1.3bad8ep+1 +-0x1.c3cc6cp-1 +0x1.3bc00ap-1 +0x1.0eb82cp+2 +0x1.44cd7ap+2 +-0x1.4e79aep+0 +0x1.17402ep+2 +-0x1.b0636p-3 +0x1.0d71b4p+2 +0x1.bbe7bcp+0 +0x1.5bfe3ep+1 +-0x1.8edcf2p+0 +-0x1.36303p-4 +0x1.4e3ca8p+2 +0x1.319214p-1 +-0x1.09180ap+4 +0x1.726b38p+1 +0x1.9d1a86p-1 +-0x1.25fb1cp+2 +0x1.d9a272p-2 +0x1.8e93aep+1 +0x1.8aef1ep-2 +-0x1.9131eep+0 +-0x1.5e9edcp+0 +-0x1.dc1ef2p+0 +-0x1.661d22p-1 +-0x1.9ad2d6p-1 +0x1.2f195ap+1 +-0x1.5bba84p+1 +0x1.7cbff8p+1 +-0x1.300c18p-4 +0x1.d9e494p+1 +-0x1.36921cp-4 +0x1.195306p-1 +-0x1.81fda2p+1 +0x1.373e84p-2 +-0x1.dba4c6p-3 +0x1.e5196cp-2 +-0x1.223552p+1 +0x1.439eb6p+0 +-0x1.00184p+3 +-0x1.0c2daap+0 +0x1.52b014p+0 +0x1.6ff002p+0 +-0x1.33ea92p-4 +0x1.b682fp-4 +0x1.51e056p-3 +0x1.2da342p-3 +-0x1.2b40b8p-4 +-0x1.0ec358p+1 +-0x1.3648f2p-2 +0x1.410ccep-3 +-0x1.06b8f4p+0 +0x1.3716c8p+1 +0x1.9d24d2p+1 +-0x1.744f56p+1 +0x1.79f3ccp+1 +-0x1.faab38p+0 +-0x1.7c307p+1 +0x1.ecaf74p-4 +-0x1.46013cp-3 +0x1.304aa4p+1 +-0x1.2d2e0ap+0 +0x1.9ec978p+1 +-0x1.7ace0ap+0 +-0x1.36a862p-5 +0x1.1037bp+2 +-0x1.4ecc52p+1 +0x1.7b09bcp-2 +-0x1.725004p+1 +0x1.0eb17ep+2 +0x1.a3874ap-5 +0x1.621192p-2 +0x1.0aeaeap-1 +0x1.5c0f0ep-4 +0x1.d43cb6p-1 +0x1.33a642p+1 +-0x1.32e16p-1 +0x1.0c5826p-1 +-0x1.3d5f08p+0 +0x1.80616cp+1 +-0x1.151ff8p+2 +0x1.7734a4p-5 +0x1.c6bb7cp-1 +0x1.165c08p-2 +-0x1.25e9e2p-1 +0x1.824d56p+1 +-0x1.1db7f6p+1 +0x1.1550c4p-1 +0x1.abfabep-5 +0x1.5be644p-3 +-0x1.9736dp+1 +-0x1.337be6p-4 +0x1.1d50fp+2 +0x1.12f136p-3 +-0x1.4fd9b6p+1 +0x1.b48b8p-1 +0x1.928bcp+1 +-0x1.358bcep-4 +-0x1.4e92eap+0 +-0x1.4b13b4p+1 +0x1.ab4ee6p+1 +0x1.8176a4p+1 +-0x1.b9c5b6p+0 +-0x1.739fbep-2 +-0x1.e699p-3 +-0x1.0e7c3p-4 +0x1.07b746p+1 +0x1.6d05ccp+1 +0x1.d9e82ep+1 +0x1.0aae92p-8 +0x1.66466ap-3 +-0x1.ef3d28p+2 +0x1.c3e356p+0 +-0x1.ee3f16p-6 +0x1.c39f2ap-3 +-0x1.66a4cap-3 +-0x1.bfee84p-1 +0x1.81f6ep-4 +-0x1.7e7f5cp+1 +-0x1.31852cp-4 +0x1.6bed6cp-2 +-0x1.b628e2p-3 +0x1.bc7314p-2 +0x1.1e193ap-1 +-0x1.502deap+1 +-0x1.c5789cp-4 +-0x1.267a3ap-1 +0x1.44f054p-1 +-0x1.2fc60ap-4 +0x1.6d2b4ap+0 +-0x1.35983ap+4 +-0x1.73498p+0 +-0x1.7e7b2cp-7 +0x1.015cp-1 +-0x1.342c98p-4 +0x1.8d1564p+1 +0x1.168e4ap-3 +-0x1.42a24cp+1 +0x1.112dc6p-2 +0x1.e20982p-1 +-0x1.6ad56p+3 +0x1.b33ed2p+1 +0x1.7ae86cp+1 +0x1.dfb8dcp+0 +-0x1.0589dep+1 +0x1.24d3c8p-3 +0x1.499b44p+1 +-0x1.2ab0d4p+0 +-0x1.f305b4p-1 +-0x1.8424bap+0 +-0x1.c56a9cp+0 +0x1.8cc9f4p+1 +-0x1.43400ap+4 +-0x1.e3ca3ep-3 +0x1.4f4cf4p-4 +-0x1.af6c6ep+0 +0x1.544da4p+1 +0x1.3eb6d4p+0 +-0x1.6c4318p+1 +0x1.57004cp-1 +-0x1.01ccacp+0 +0x1.144bc6p-1 +0x1.2476ccp+1 +0x1.0deaecp+2 +-0x1.bdfe9cp-1 +-0x1.ceea0cp+1 +0x1.13232p-1 +0x1.58349cp-2 +-0x1.d430ccp-1 +0x1.91c14p+1 +0x1.436bccp+0 +0x1.0dd524p+2 +-0x1.eab124p-1 +-0x1.5307ap-2 +0x1.1cacb4p+2 +-0x1.d6441ap-2 +-0x1.32b6a8p-4 +0x1.1bd4ep+2 +-0x1.a591d2p-11 +-0x1.301e24p-4 +-0x1.329332p-2 +-0x1.1e6754p+1 +0x1.35b7a6p+0 +0x1.542d52p-5 +-0x1.48e368p+1 +0x1.58ceep-5 +0x1.82cdep+1 +0x1.58be32p-1 +-0x1.3c2a3p-2 +0x1.9409bap+1 +0x1.4b97bap+1 +0x1.17ca0ep+2 +-0x1.366acap-4 +-0x1.f3ace4p-1 +0x1.a0c9f8p+1 +-0x1.a2ea86p-2 +-0x1.cbde64p-2 +-0x1.7a887cp+1 +-0x1.2dd12ap-4 +0x1.a3c1ap+1 +-0x1.2b8f2ap+1 +-0x1.d42268p+1 +0x1.706948p-4 +-0x1.285f8p+1 +-0x1.7f58bcp+0 +-0x1.25ebeap+0 +-0x1.1946b8p-2 +-0x1.902626p+2 +-0x1.b2ce32p-2 +-0x1.124bc4p-3 +-0x1.075acap+1 +-0x1.32c68ap-4 +-0x1.a030bap-2 +0x1.308c56p+1 +0x1.933c64p-5 +0x1.17dafep+2 +-0x1.722dep+1 +-0x1.b2262ep-1 +-0x1.4ee21ep-3 +0x1.0a7eeep+1 +-0x1.87e73cp-1 +0x1.9dc436p-1 +0x1.ee2428p-3 +-0x1.117f16p-2 +0x1.daa778p-2 +-0x1.2dbecap-4 +0x1.0d7dd6p+2 +0x1.81440ap+1 +-0x1.88f954p+0 +-0x1.8abfd8p-2 +0x1.12f78ep+2 +0x1.1d307p+2 +0x1.b631eap-2 +-0x1.8469c6p-1 +-0x1.9091c2p+1 +0x1.4fcf6p-2 +-0x1.71764p+1 +0x1.709448p-1 +-0x1.c2300cp+0 +-0x1.530c38p-2 +0x1.247446p-1 +0x1.984faep+1 +0x1.571c4ep-6 +-0x1.939a94p+0 +-0x1.657dd4p+1 +-0x1.2bf2ccp-4 +0x1.7d061p-3 +0x1.e446b2p-4 +0x1.903e9ep+0 +-0x1.36822ap+0 +0x1.728a0cp+1 +-0x1.b795acp+0 +-0x1.dd215ep+0 +-0x1.5cb27ep+1 +0x1.66108p-4 +0x1.a783b4p-1 +0x1.e6a6bcp-5 +-0x1.182e36p-5 +-0x1.344ffep-4 +0x1.4174a4p+1 +0x1.8eeb4ap+1 +-0x1.1e29bep+1 +-0x1.0c7b16p+0 +-0x1.d5069ap+0 +0x1.12761ap-1 +-0x1.1082d6p-7 +-0x1.10d2c8p+0 +-0x1.502f0ep+1 +0x1.7a4a04p-6 +-0x1.2747bp+1 +-0x1.313d6cp-4 +-0x1.22d6fep+0 +-0x1.288d02p+1 +0x1.6193a8p+0 +0x1.d178acp-2 +-0x1.74beb8p+1 +-0x1.768aaep+0 +-0x1.45a396p+1 +-0x1.366bd6p+0 +0x1.51322ep-3 +0x1.0f4488p+2 +-0x1.1c98d2p-1 +0x1.b2dc9cp+1 +-0x1.4adad4p+1 +-0x1.0b063ap-1 +-0x1.1d91f8p+0 +0x1.1dff62p+2 +-0x1.e888cap+3 +0x1.0cccfp+1 +-0x1.352b56p-4 +-0x1.28e938p-5 +0x1.9a6954p-2 +-0x1.4164fcp-1 +0x1.9d36e8p+1 +-0x1.3067aap-4 +-0x1.f60dfap-1 +0x1.c7d7acp+0 +-0x1.358ea8p-4 +0x1.c3579cp+0 +0x1.d9e3d6p+1 +-0x1.3a0566p+0 +-0x1.b89bacp-1 +0x1.d58a28p-1 +-0x1.7601aep+1 +-0x1.4ec9f8p-10 +-0x1.6d5776p+0 +0x1.b2bfd8p-3 +0x1.88677p-1 +0x1.2db776p+1 +-0x1.a7cb9cp+0 +-0x1.31ba78p-4 +-0x1.ebd996p+1 +-0x1.410194p+0 +-0x1.2ddc58p-4 +0x1.d943a6p+0 +0x1.14a0d2p-5 +0x1.0dd346p+2 +0x1.f1b254p-2 +-0x1.3cc36ep+1 +0x1.5d021ep-2 +-0x1.0c30f4p+0 +-0x1.2beac4p+1 +0x1.9e81ap+1 +0x1.af36ap+1 +0x1.922238p+1 +-0x1.80886p-3 +-0x1.c29136p-2 +0x1.3d44b6p-3 +-0x1.edd8eap+0 +-0x1.a847acp+0 +0x1.0f79f6p+2 +0x1.53f778p+0 +-0x1.309952p-4 +-0x1.35d438p-4 +-0x1.c10eeep-3 +-0x1.806394p+0 +0x1.ff7b88p+0 +0x1.69316ep+1 +-0x1.6d0674p+0 +0x1.472c1ep+0 +0x1.0e8cbp+2 +-0x1.5ef1a4p+0 +-0x1.bab7dcp-1 +-0x1.36adb6p-4 +0x1.6dca62p+2 +-0x1.1c474ep+2 +-0x1.868c8ep-2 +-0x1.4ced6ap+2 +0x1.159d72p+2 +0x1.3c9656p+1 +0x1.4fae6p-2 +-0x1.4f8a48p+1 +0x1.bba5eap-3 +0x1.a5b6b8p+1 +-0x1.2a69f2p+2 +0x1.d2f84p-4 +-0x1.33012cp-1 +-0x1.b514e2p-1 +0x1.b23606p+1 +0x1.18a2ap+2 +-0x1.d75522p-1 +-0x1.a5bb52p-6 +0x1.9547f8p+1 +0x1.8c7182p+1 +0x1.1ac8bap+2 +-0x1.2864p-4 +-0x1.c6baa8p-2 +0x1.19c122p+1 +0x1.65acd6p-5 +0x1.c76bd8p-2 +0x1.194a94p+2 +0x1.288ad8p+1 +0x1.b2ebfp+0 +-0x1.1b7bdp+0 +-0x1.32e204p-4 +-0x1.7bc0dep-4 +0x1.68c198p-1 +0x1.1a8ef8p+2 +-0x1.b8ed5p+0 +-0x1.3109d4p-4 +0x1.3cfa08p-1 +0x1.2aebdep+1 +0x1.7cf2b2p+0 +0x1.40ea82p+2 +-0x1.6d1d98p-2 +-0x1.5fbf82p-1 +-0x1.83ed44p+1 +0x1.2e3f04p-1 +0x1.d9e37cp+1 +-0x1.432864p+1 +-0x1.cda79ep-1 +0x1.0da60ap+2 +0x1.840bf6p+1 +-0x1.3496e2p+1 +0x1.82c98p+1 +0x1.50037ep-2 +-0x1.4f6732p+1 +0x1.f7da28p-4 +-0x1.a228a8p-2 +-0x1.0cd8p-2 +0x1.a1db86p-3 +-0x1.594874p-1 +0x1.20835cp+0 +0x1.0f6acp+1 +0x1.59515ep-2 +0x1.8bea1p+1 +0x0p+0 +0x1.0fcd7p+2 +-0x1.086928p+1 +-0x1.2c535cp-4 +0x1.3d6cccp-1 +-0x1.92a8ecp+1 +-0x1.2fb916p-4 +0x1.747f3cp+1 +-0x1.a4386ep+0 +-0x1.d30c56p-2 +0x1.0fde5ep+1 +-0x1.36136ap+1 +-0x1.501534p+1 +-0x1.14c224p+2 +-0x1.d05bb6p-1 +0x1.be78dap-7 +-0x1.0451c2p-3 +0x1.bcd7d4p-2 +-0x1.4912bp-2 +0x1.a572dcp+1 +-0x1.35b01p-4 +0x1.a817fep+1 +-0x1.347608p-1 +-0x1.ceacd6p+1 +0x1.dc80d2p-4 +0x1.815a7ap+1 +0x1.1a75e6p+2 +0x1.ed45ccp-2 +0x1.3d0098p+0 +-0x1.c25928p+0 +0x1.189d3ap+2 +-0x1.4537dep-4 +0x1.4fb96ep+1 +0x1.14734ep+2 +-0x1.4d5efcp-3 +-0x1.18b74cp-2 +-0x1.5d6d18p+0 +-0x1.3590a8p+1 +-0x1.557742p-1 +-0x1.04313cp-1 +0x1.23ec9p-6 +0x1.246ef4p+0 +0x1.a35876p+1 +0x1.8770aap-2 +-0x1.32ca5p-4 +-0x1.4a9294p+0 +-0x1.79031ep-1 +0x1.40b186p-3 +0x1.b3b1a8p-3 +0x1.ca4534p+0 +-0x1.1b979cp-3 +-0x1.c0221ep-4 +0x1.278df4p-3 +-0x1.90e686p-2 +0x1.1983f2p+2 +-0x1.707a4p+1 +0x1.3a91a8p-1 +-0x1.0ae4ep-2 +0x1.93d88ep+1 +-0x1.36804ep-4 +-0x1.1664eep+1 +-0x1.bf6116p-1 +0x1.bb1f2ap-5 +0x1.5d6f24p-1 +-0x1.2f3ap-3 +0x1.8bea1cp+1 +0x1.933a2p+1 +0x1.d04b8cp-2 +-0x1.a2d34ap+0 +-0x1.807b86p-2 +0x1.44a46ep+1 +0x1.08b1p-1 +-0x1.5ac2fap+1 +0x1.93af92p+1 +-0x1.360d0cp-4 +-0x1.a9d00ep+0 +-0x1.c5730cp+0 +0x1.388076p-3 +0x1.ec991ap+0 +-0x1.eba70cp+1 +0x1.1a5e26p+2 +0x1.456762p-2 +-0x1.f6b70ep+2 +-0x1.4c4d6ap-5 +-0x1.773adap+1 +0x1.b08eacp-8 +-0x1.584bd8p+4 +0x1.aece5ep+1 +0x1.9484eep+1 +0x1.2f03cap-1 +0x1.857dc8p-2 +-0x1.7a09c2p-3 +0x1.413dcap-1 +-0x1.35e0a4p-4 +-0x1.14c224p+2 +-0x1.4b6036p+1 +0x1.72638ep+1 +-0x1.aca576p-5 +-0x1.a8005ap+1 +-0x1.7596e2p+1 +-0x1.48f8c6p+1 +0x1.17df42p+2 +-0x1.86feeep-3 +0x1.32ae9cp+0 +-0x1.3294e8p-4 +-0x1.cd56fap-2 +0x1.ed6752p-2 +0x1.52ca7ap-3 +0x1.88bd5ep+2 +-0x1.0bc4c4p-6 +-0x1.9c9c7ep+2 +-0x1.3dba0ap+1 +-0x1.22c518p-3 +0x1.1ae9bcp+2 +0x1.15e838p-2 +-0x1.828332p+1 +-0x1.54c63p+1 +-0x1.6a32f6p-1 +0x1.c55e1cp-3 +-0x1.08a5fp-3 +0x1.165574p+2 +-0x1.480b04p+1 +0x1.f8983p-3 +0x1.0d3bdap+2 +-0x1.0d26d8p+1 +-0x1.32a25p-4 +-0x1.354c2ep-4 +-0x1.36b518p-4 +0x1.d956p-2 +0x1.56d7bap+1 +0x1.0eea1ap+2 +0x1.18f428p+2 +0x1.62ad3p+1 +0x1.a35124p+1 +0x1.2745c2p-2 +-0x1.d21364p-1 +-0x1.27e588p+1 +0x1.519fc8p+2 +0x1.6f9af6p-1 +0x1.60654ap+1 +-0x1.acc2fp+0 +0x1.68b8a8p+1 +0x1.bc0924p-2 +0x1.19a1dep+2 +0x1.46286ap-2 +-0x1.611fcap+0 +0x1.3704ecp+1 +0x1.498faap+1 +-0x1.2ded8cp-4 +0x1.5329a6p-2 +0x1.1aa978p+2 +-0x1.7a949ap-2 +0x1.6638f6p+0 +0x1.60e3dcp-1 +-0x1.4eac8ep+1 +-0x1.3db95cp+1 +0x1.da4e46p-4 +-0x1.f3703p-1 +-0x1.a625fap+0 +0x1.3c17a4p+0 +0x1.f75f9p-3 +-0x1.9369bp+1 +-0x1.03c062p-2 +-0x1.ac914ep+0 +0x1.27711cp-5 +0x1.193a5ep+0 +0x1.0aeda2p-1 +-0x1.284b2cp-4 +-0x1.47ca52p+1 +-0x1.d8dcd4p+0 +0x1.340c62p-5 +0x1.966712p+1 +-0x1.8a04dap+0 +-0x1.06p+5 +0x1.693188p-1 +-0x1.33051ap+1 +0x1.4adfaep-4 +0x1.8699fep-2 +-0x1.c528a2p+3 +-0x1.87449ep-1 +-0x1.376054p+1 +-0x1.3faeb2p+1 +0x1.bf3f86p-2 +-0x1.a29252p-2 +0x1.a5e514p+1 +0x1.47e23p+1 +-0x1.04187p-1 +-0x1.dfdd0ap+1 +0x1.18fad4p+2 +0x1.5f067cp-5 +-0x1.c72628p-1 +-0x1.a7323cp+1 +0x1.0dcc54p+2 +-0x1.3ed8b4p+1 +0x1.f9b94ap+0 +-0x1.b551cp-1 +-0x1.397f1ep-1 +-0x1.51b1e2p+3 +-0x1.a692f2p-3 +0x1.69fdacp+1 +-0x1.4e1826p-1 +0x1.91c0fep-3 +-0x1.a6e1b2p+0 +0x1.8189fp-6 +0x1.d6b1bp+0 +-0x1.3138f6p-2 +-0x1.63dcc6p+1 +0x1.1e25a8p+2 +-0x1.615f82p+1 +-0x1.06116ep-6 +-0x1.2dbf32p-4 +0x1.30efb2p+1 +0x1.90d4fep+1 +-0x1.2e8768p+1 +0x1.52c482p-1 +0x1.139014p+2 +0x1.f188e6p+0 +0x1.489bap-3 +-0x1.30b51p-1 +0x1.26bebcp+1 +-0x1.473cfap-2 +0x1.189b68p+2 +-0x1.fff626p-4 +-0x1.4f04f6p+1 +-0x1.47b56cp-1 +-0x1.2b0338p-4 +0x1.5f00a4p-1 +-0x1.2453d8p+1 +0x1.63f072p-3 +-0x1.5f2a8ap-4 +0x1.0de616p+2 +0x1.04227p-1 +-0x1.11fb4ap+1 +0x1.e7937ep-4 +-0x1.b1bb1p-1 +-0x1.59229ap-3 +0x1.e54bb8p-3 +-0x1.49ced2p+1 +-0x1.3c8558p-1 +-0x1.365d0ap-4 +-0x1.d95314p-4 +-0x1.faa6a2p-1 +-0x1.4a931ep+1 +-0x1.35baf2p-4 +0x1.40e5c4p+0 +-0x1.d9ae8p+1 +0x1.1121fap-1 +0x1.3e6be4p-2 +0x1.7e0ef2p-3 +-0x1.880112p+0 +-0x1.652642p+1 +0x1.3612bep+0 +-0x1.cae1d2p-2 +-0x1.5c0edp+0 +-0x1.c4600ep-2 +0x1.c07a82p-4 +0x1.09a756p+1 +-0x1.e84cfap+0 +-0x1.c91046p+3 +0x1.2ad4eap+1 +-0x1.d5d568p-1 +0x1.3d84aap-1 +0x1.77039ep+1 +-0x1.d2310cp+0 +-0x1.cfd498p+0 +-0x1.715682p+1 +-0x1.0f89b2p-5 +-0x1.67af76p-1 +0x1.020d18p+1 +0x1.1a5e44p-1 +-0x1.2b8602p-4 +-0x1.59004ep-2 +0x1.66a0b4p+2 +0x1.44cf1p-2 +0x1.731836p-1 +-0x1.444264p+2 +0x1.7ab92p+0 +0x1.747564p-1 +-0x1.35aa9ep-4 +0x1.7c9424p+1 +0x1.cee034p+1 +-0x1.5b10fp-1 +-0x1.364912p-4 +-0x1.69bbfcp+1 +-0x1.50a1cp+1 +-0x1.f3f57p-3 +0x1.158cf8p+2 +-0x1.a72588p+1 +0x1.26afa8p-4 +-0x1.f7580ap-3 +0x1.1c73b8p-1 +-0x1.f2e3ecp-3 +0x1.363ffap-1 +0x1.1955bp+2 +-0x1.85807ap-1 +0x1.7a0e24p-1 +-0x1.2d6f04p-3 +-0x1.076d68p+1 +-0x1.0cd796p+1 +-0x1.955e58p+1 +-0x1.e74dfp+0 +0x1.94e14p+1 +-0x1.0d0d0cp+0 +-0x1.57b626p+2 +-0x1.ef69a6p+1 +-0x1.31c994p-4 +-0x1.ee21eep+1 +-0x1.357044p+1 +0x1.687e62p+1 +0x1.58074cp+1 +0x1.0d13b8p+2 +0x1.4e4534p+1 +-0x1.2b7b6ep-3 +0x1.1b4bb4p-3 +-0x1.00f538p-1 +0x1.0f0c76p+2 +0x1.5213a6p+1 +-0x1.29df0ep+0 +-0x1.ae06f2p-2 +-0x1.5221c8p+1 +0x1.e1d62ep+2 +-0x1.272b88p-4 +-0x1.6649b8p+1 +0x1.98b39cp+1 +-0x1.27c198p-4 +-0x1.434cfep-3 +0x1.3cbb2p-2 +-0x1.3c9292p-2 +0x1.0efaf4p+2 +-0x1.633b78p+0 +0x1.ec1532p-2 +-0x1.0a31f4p-2 +0x1.d473a6p-4 +0x1.6636a4p+1 +-0x1.8901dp+1 +0x1.6c011cp-5 +0x1.4159ccp-2 +-0x1.f98358p-1 +0x1.0e5a1p+2 +0x1.7c455p+0 +-0x1.2d9d62p-4 +-0x1.29249cp-4 +-0x1.07ef22p+3 +-0x1.2bf514p+1 +-0x1.45d45cp+0 +-0x1.2cabd8p-4 +0x1.f64b9ep+0 +0x1.960a98p+1 +0x1.45767cp-4 +0x1.bd19cep-2 +-0x1.0d64aep+1 +0x1.1a629ep+2 +-0x1.c7da8ap-1 +0x1.f676d2p-2 +-0x1.3ed448p+1 +-0x1.abed62p-7 +0x1.7f6afp+1 +-0x1.350bfp-4 +0x1.0da06ap+0 +0x1.097cc6p-1 +-0x1.8b5294p-6 +-0x1.3ea218p-7 +0x1.fc6b92p-5 +-0x1.1c957ep-2 +0x1.5fd2ecp+1 +-0x1.2acb2ap-4 +0x1.8d9becp-1 +0x1.99c11ap+1 +-0x1.012c68p-1 +-0x1.3294aap-4 +-0x1.340894p-4 +0x1.9a0ee2p-2 +0x1.4584d6p-4 +-0x1.2ddb48p+1 +-0x1.98374cp+1 +0x1.3383eap+1 +0x1.7d2846p+1 +-0x1.1f83bep-1 +-0x1.69b974p-2 +-0x1.0062e4p-2 +-0x1.e0c96ap-3 +-0x1.9b2cdcp-2 +0x1.b10d8ap-2 +0x1.462c08p+0 +0x1.801c0ep-4 +-0x1.91fe4ep+1 +-0x1.def94ep-7 +0x1.97541p+1 +0x1.7a346ap+1 +0x1.23d8e2p-2 +-0x1.c5295ep-1 +-0x1.308504p+1 +-0x1.7f607ap-7 +-0x1.92dcbp+0 +0x1.361d6p-1 +-0x1.279b06p+2 +-0x1.dadd1p-2 +-0x1.63de3ep+1 +-0x1.a9d38ep-3 +-0x1.330efcp-3 +0x1.5cd4cep+1 +-0x1.2d6346p-4 +0x1.aa19fcp-3 +-0x1.be1354p-1 +-0x1.1f2d94p+1 +0x1.541a54p-4 +0x1.e7e51ap-6 +0x1.327a8ap+0 +0x1.a8d34ep-2 +0x1.47e02p-1 +0x1.f0499ep-2 +-0x1.6338f4p-2 +0x1.758f7p+1 +-0x1.8dd02ep-5 +0x1.1335e4p-1 +-0x1.29400ap-4 +0x1.19e52ap+2 +0x1.7c685cp+1 +-0x1.010042p+1 +0x1.183edep+2 +-0x1.647b8cp+1 +0x1.0df434p+2 +0x1.a9173cp+0 +0x1.605c96p+1 +-0x1.375146p-1 +-0x1.96f0e4p-1 +0x1.99d6f6p+0 +0x1.475f9cp+0 +0x1.6ce1e6p-3 +-0x1.0c4ec2p-2 +0x1.979a3ep+1 +0x1.4c02b2p-3 +-0x1.5d643cp+1 +0x1.1981b4p+2 +-0x1.450f54p+2 +-0x1.daf71cp+1 +0x1.5b84f2p+1 +-0x1.4e39p-3 +0x1.2e338cp-1 +-0x1.4ac494p-1 +0x1.1a2ee4p+2 +-0x1.00c2dap+1 +-0x1.05797cp-2 +0x1.810c4cp+0 +0x1.8371f6p-2 +-0x1.2e5d5ep-4 +0x1.20568cp+1 +0x1.7533fap+1 +-0x1.2eff36p-1 +-0x1.095fc4p+1 +0x1.14268ap-5 +-0x1.a4098cp-2 +-0x1.a826c6p+1 +-0x1.2d9248p+1 +0x1.0d08ccp+2 +-0x1.caa236p+3 +0x1.bab198p-3 +-0x1.e2136ap-3 +-0x1.24ef2cp+2 +0x1.e120f8p-1 +-0x1.6f5d06p-2 +-0x1.351596p-4 +-0x1.f8c01ap+0 +0x1.24cb0cp-2 +-0x1.8772c8p+1 +-0x1.3139e4p+1 +-0x1.552332p+1 +0x1.1f01ep-1 +0x1.93975p+1 +-0x1.860b12p+0 +-0x1.325f32p+4 +-0x1.157d7cp+2 +0x1.b04adp+0 +-0x1.162d22p+1 +0x1.66397ap-3 +0x1.229e52p-5 +0x1.ef5bbcp+0 +-0x1.0ede58p+1 +0x1.4c9bf8p+2 +0x1.89aa3p+1 +0x1.5c7128p+1 +0x1.6658cp+1 +0x1.839efp-3 +-0x1.2ac61ap-5 +0x1.18cf9cp+2 +0x1.057f2cp-2 +-0x1.80098ep+0 +0x1.117f5p+2 +-0x1.602f22p+1 +-0x1.8aa62p+0 +0x1.fab3e8p-1 +-0x1.faf368p+0 +-0x1.803ab2p-1 +-0x1.93715ap-4 +0x1.24106ap-3 +0x1.301864p-1 +0x1.608766p+1 +0x1.55c9aap+1 +-0x1.297edap-1 +0x1.65432ap+1 +0x1.c27718p+2 +-0x1.3ae348p-1 +0x1.aa80a8p+1 +-0x1.3b9fa2p-1 +0x1.414f82p-2 +0x1.bdd05p+0 +0x1.6ed8ep-1 +0x1.b0fc5p+1 +-0x1.38dd7cp-1 +-0x1.3dd132p-1 +-0x1.b000dap+1 +-0x1.fa8046p+0 +0x1.ada91ep+1 +-0x1.bbacc8p-1 +-0x1.f9f426p+2 +-0x1.bc74fcp-1 +-0x1.5b356ap-2 +-0x1.ff6d66p-3 +0x1.d9dec2p+1 +-0x1.4d683p-3 +-0x1.c94956p+1 +-0x1.34e83cp+0 +0x1.4eab1cp-3 +0x1.36cf66p-2 +-0x1.35e6ecp-4 +0x1.9b228ap+1 +-0x1.3296aap-4 +-0x1.361d6p-4 +0x1.1cfa22p+2 +0x1.a1a75cp+1 +-0x1.3f464ep+0 +-0x1.ed46cep-2 +0x1.b2adeap-2 +0x1.8bb406p+1 +-0x1.25e534p-2 +-0x1.343002p-4 +-0x1.aac09ep-3 +-0x1.cdbeaep-2 +0x1.14729p+2 +0x1.0821ecp-2 +-0x1.108176p+1 +-0x1.8c30c6p+1 +-0x1.084082p+3 +0x1.5ad252p+1 +0x1.c292c2p-4 +-0x1.31a53ap-4 +0x1.c3afp-7 +0x1.967b8cp+1 +0x1.185164p-2 +-0x1.9137acp-1 +-0x1.43fc64p+1 +0x1.4b91c2p-1 +-0x1.b317f6p+1 +0x1.4a4e98p-7 +0x1.449a4ap-3 +0x1.5949e4p+1 +0x1.2e1846p-1 +-0x1.a2118p-1 +-0x1.24f4d8p-3 +0x1.85ec84p+1 +-0x1.6b47dep+1 +-0x1.bea2f6p-2 +-0x1.9f1a1ep+3 +-0x1.9bb644p-1 +-0x1.773ffep-5 +0x1.192ad2p+2 +0x1.534a58p+0 +-0x1.b68d7cp-1 +-0x1.2836d6p+0 +-0x1.de7844p+0 +-0x1.c2bbf6p+1 +0x1.b46346p-4 +0x1.e65288p-2 +0x1.7355b6p-2 +-0x1.26aeb4p+3 +-0x1.351a9cp-4 +-0x1.ef0e14p-2 +0x1.2a4abap-1 +-0x1.19c2cap+1 +-0x1.36a336p-4 +0x1.784352p-3 +0x1.96f24p+1 +-0x1.c19ae8p-1 +-0x1.3297f8p-4 +-0x1.e48354p-3 +0x1.7b33dep-1 +-0x1.6d82dcp+1 +0x1.e95628p-1 +0x1.4c4672p+1 +-0x1.02603p+0 +-0x1.2111p+0 +0x1.e3b636p-2 +-0x1.35a41ep+0 +0x1.f0b27p-1 +-0x1.229a2p-4 +0x1.544d02p-1 +-0x1.14c224p+2 +0x1.55c23p-1 +0x1.3c8eeep-1 +-0x1.2db0bep-4 +-0x1.08b4d6p+0 +-0x1.34e21ep-4 +-0x1.209ab8p+1 +-0x1.3e751p+0 +0x1.5a36f6p+1 +-0x1.4e6874p+1 +0x1.ef9c56p+2 +-0x1.abd05ep-2 +-0x1.240f5cp+1 +0x1.a5b1dap+1 +-0x1.2fe2ep-2 +0x1.190e9cp+2 +-0x1.1f19cep+1 +-0x1.5e8984p+1 +-0x1.13e68cp-5 +-0x1.2b7158p+1 +-0x1.14ca8p+2 +-0x1.72a042p+1 +-0x1.4a5f58p-2 +0x1.8487aep+1 +0x1.d9e78p+1 +0x1.b782ecp-2 +-0x1.8e3d8cp-5 +0x1.55972ap+1 +0x1.1993a6p+2 +0x1.0e317p+2 +-0x1.60a1e2p-2 +0x1.947566p+1 +0x1.455f28p-1 +0x1.2270bep-2 +-0x1.2a9576p+0 +-0x1.995a66p-1 +-0x1.14c224p+2 +-0x1.51fbcap+1 +0x1.fc0e86p+0 +0x1.15172p+0 +-0x1.34c418p-3 +0x1.176bc2p+2 +-0x1.c54b18p-5 +-0x1.548d3p+1 +-0x1.7983cap+1 +0x1.27f4bap+2 +-0x1.69b152p-1 +-0x1.299848p-1 +0x1.0324cap+3 +-0x1.32a1d6p-4 +-0x1.4fd9cp+0 +0x1.6cf24p+1 +-0x1.57b3fcp-1 +-0x1.33e9a6p-4 +0x1.781074p-10 +-0x1.1ba9bcp+0 +0x1.1a5178p+2 +-0x1.535882p+1 +0x1.9bef5cp+1 +-0x1.adc8a6p-2 +-0x1.c3536p-1 +-0x1.f85feep+2 +-0x1.2544bp+1 +0x1.fc9ef4p-2 +0x1.49aa9p+1 +-0x1.e5f78ap-4 +0x1.73cdc8p-4 +-0x1.501f9ap+1 +-0x1.3050c6p-2 +-0x1.4ddd24p+1 +-0x1.31c498p-4 +-0x1.54e8b2p-4 +-0x1.32eb68p-4 +-0x1.49c4c2p+3 +0x1.b437eap-5 +-0x1.a149a4p+1 +-0x1.31867p-4 +0x1.729434p+1 +-0x1.4ecf7cp+1 +0x1.2f09p-1 +0x1.792de6p-2 +-0x1.760a02p-1 +-0x1.00044ap+1 +-0x1.2ca72ap+1 +-0x1.28bb78p-4 +0x1.0c6ef6p+2 +-0x1.6541ep+0 +0x1.a17bbp+1 +-0x1.43fa36p+1 +-0x1.f01772p-1 +-0x1.2fb4fep-2 +-0x1.090966p+0 +-0x1.3429bp-4 +-0x1.8663d2p-2 +-0x1.687992p-2 +-0x1.201236p+1 +0x1.8eea1p+1 +-0x1.4ca762p-2 +0x1.1accb4p+2 +-0x1.2e1a5ap-4 +0x1.885802p-4 +-0x1.8f22eep-4 +-0x1.013a28p-2 +-0x1.6c4176p+1 +-0x1.5467dap+1 +-0x1.3965aep-2 +-0x1.7af334p+1 +-0x1.20fc2ep+1 +-0x1.c65aacp-4 +-0x1.31be86p-4 +0x1.9a0464p-3 +0x1.808ff4p-1 +0x1.83ebcep+1 +0x1.bf2bap-4 +-0x1.6ea6eep+1 +0x1.3c0614p+1 +-0x1.67be1p-3 +-0x1.5e68cep+1 +-0x1.0fe648p-1 +-0x1.8d5ae2p-1 +0x1.239e2ep-3 +-0x1.3204eep-4 +0x1.be1176p-4 +-0x1.36bd38p-4 +0x1.6f607cp+1 +0x1.d7ce82p-3 +-0x1.6eeff6p+0 +0x1.0d7c94p+2 +0x1.f4c93cp+0 +0x1.9c2fccp-2 +-0x1.1a65cap+1 +-0x1.89d558p+1 +0x1.89e702p-1 +-0x1.dc78b6p-3 +-0x1.114834p-7 +0x1.8a616ep+0 +-0x1.359ecep-4 +-0x1.3bf01p+1 +-0x1.4c0a78p+0 +-0x1.b84bfp-4 +0x1.7f4842p-5 +0x1.1eeabcp-1 +0x1.720f42p-2 +-0x1.497d2ep+1 +-0x1.2c5a1ep+1 +0x1.1cd364p+2 +-0x1.32f838p-4 +0x1.11ebbp-1 +0x1.08e6dep-1 +-0x1.4bbf28p-3 +0x1.765a02p+0 +0x1.a5db9p+1 +-0x1.635d1cp+0 +-0x1.16d85cp+0 +0x1.48e082p+0 +0x1.31a8d4p+1 +-0x1.ca1c54p-2 +0x1.58fc9cp-2 +-0x1.2fd26ep-4 +0x1.22db18p-6 +-0x1.2ced4ep-5 +-0x1.2842a8p-4 +0x1.181b6ap+2 +0x1.97c4dep+1 +-0x1.7161a8p-1 +0x1.012b68p-1 +-0x1.cfb272p+0 +0x1.18976ap+2 +0x1.3fde66p-1 +-0x1.330cap-4 +0x1.62cb5p+1 +-0x1.2eb88cp-4 +-0x1.6a2b6ep+1 +-0x1.35072ep-4 +0x1.2ecd0ep+1 +0x1.93a21ep-1 +0x1.9e53bp+1 +0x1.087e3cp-5 +0x1.af8516p-2 +0x1.0e74ap+2 +-0x1.ec4bc8p+2 +-0x1.8a5d82p+1 +0x1.5ea982p-1 +-0x1.3541cp-4 +-0x1.74371p-1 +-0x1.e06d5cp+0 +-0x1.3280bcp-4 +-0x1.32f774p-4 +-0x1.70ac58p+1 +-0x1.2f25aep+2 +-0x1.0dc2d8p-2 +0x1.ac224ep-4 +-0x1.bfcde4p-2 +0x1.83ce48p+1 +-0x1.0d8bb4p-4 +0x1.4ba414p-2 +0x1.5fbf6p-1 +0x1.a05ff8p+1 +-0x1.01cd14p-1 +-0x1.365478p-4 +-0x1.8f732ap-5 +-0x1.fb09ecp-1 +-0x1.043ec6p+1 +0x1.01f7cep-1 +-0x1.30f7dep-4 +-0x1.76a19p-3 +-0x1.feec72p+0 +-0x1.5eeaeep-1 +-0x1.723032p-2 +-0x1.e591b6p-2 +-0x1.6a82acp+0 +0x1.520614p+1 +-0x1.efe32p-3 +0x1.13cecap+2 +0x1.a002aep+1 +0x1.122dbep-1 +-0x1.3182d6p-1 +0x1.2904c2p-3 +-0x1.940cd6p+0 +-0x1.2bc316p-4 +-0x1.af4b52p-2 +-0x1.97f2a2p+1 +0x1.99bbe4p+1 +0x1.17c292p+2 +-0x1.268ae2p+2 +-0x1.46e27ap+1 +0x1.8e6e42p+1 +0x1.1d204ap+2 +0x1.ba4234p-6 +-0x1.354224p-4 +0x1.1a24ap-1 +-0x1.205ce8p-2 +0x1.1dc96ap+2 +-0x1.43b982p+2 +0x1.4cedfep+0 +0x1.28bdf8p+0 +0x1.07dcc6p-1 +-0x1.4e5178p-1 +-0x1.069086p+3 +-0x1.561432p+0 +0x1.4d9a08p-1 +-0x1.3628c8p-4 +-0x1.4fdecep+1 +0x1.b049bep-2 +0x1.01e4a6p+0 +-0x1.a1647ep-1 +0x1.d9e2p+1 +-0x1.35f696p-4 +0x1.92dbaap+1 +-0x1.360078p+1 +0x1.bfc58ep-3 +-0x1.d32e94p+0 +0x1.37975p-3 +-0x1.1ca94ap+4 +0x1.902da4p+1 +0x1.95e31cp+1 +0x1.2aee2ap-1 +-0x1.65d58ap+1 +-0x1.00451cp+1 +0x1.19be14p+2 +-0x1.87759ep+1 +0x1.42e32p-2 +-0x1.2f5a58p-4 +-0x1.27fb92p+2 +0x1.78136cp+1 +0x1.27ad7p+1 +0x1.0d92bep-2 +0x1.4eca7p+0 +-0x1.35f8c8p-4 +0x1.573b4cp-3 +0x1.a78904p+1 +-0x1.477fcp+1 +-0x1.d5d7fap+3 +-0x1.492ee2p+1 +0x1.813bf6p+1 +-0x1.785124p+0 +-0x1.539ccep+1 +0x1.c7229ep+2 +-0x1.52da9ap-1 +0x1.3eaceep-1 +-0x1.efcbf2p-3 +0x1.00ef8ep-4 +0x1.f4ba56p-1 +-0x1.5ef02ap+0 +-0x1.345798p-4 +-0x1.fe005ap+2 +0x1.a79bf6p+1 +-0x1.4c5ebep-4 +-0x1.14c224p+2 +-0x1.0182a6p+1 +-0x1.72f084p+1 +0x1.9714b8p+1 +0x1.63ea48p-4 +0x1.006dfp-1 +0x1.d9e87p+1 +0x1.584fecp-2 +0x1.479bp-2 +0x1.83c21cp+1 +-0x1.bd177cp+0 +0x1.ae7256p-4 +-0x1.31ad44p-1 +-0x1.154218p+1 +0x1.55e3f6p-1 +-0x1.0a097cp+1 +0x1.a4aa2cp+1 +-0x1.2c0b1ep-4 +0x1.03afbp-1 +-0x1.4457b4p+0 +0x1.768e52p-5 +0x1.4e0458p-1 +-0x1.591124p+1 +0x1.1b53d2p+2 +0x1.117152p-1 +0x1.ac1a62p+1 +0x1.036db4p-4 +-0x1.99fccp-3 +0x1.aefd9cp+1 +0x1.67622p+1 +-0x1.7b603ap-7 +-0x1.369f8cp-4 +-0x1.47ef54p+0 +0x1.8ccf44p+1 +-0x1.1c9e86p-7 +-0x1.f1b734p+0 +-0x1.2f5b3ap-4 +0x1.df5724p+0 +-0x1.32bc2cp-4 +-0x1.b1437p+0 +-0x1.273b8p-4 +-0x1.dc6104p-1 +-0x1.5944d6p+1 +-0x1.2b1dccp+1 +-0x1.5cad7cp+0 +0x1.71a4fp-2 +-0x1.5e61e8p-2 +0x1.17f392p+2 +0x1.301478p-2 +-0x1.32d82ap-4 +-0x1.6e3d4ep+1 +0x1.15097ep+2 +-0x1.d498a2p-6 +0x1.c33044p-4 +-0x1.5c56e8p+2 +-0x1.07d544p-1 +-0x1.2c81fcp-4 +0x1.4add72p+0 +0x1.eda0dap-2 +-0x1.9f8208p+1 +0x1.44f78p-1 +-0x1.632352p+0 +-0x1.f30448p-1 +0x1.756074p+1 +0x1.46dc4p-2 +-0x1.30e0cp+1 +0x1.1da808p-2 +0x1.4c0066p-1 +0x1.57c40ap-4 +0x1.0ed704p-2 +0x1.e20af6p+0 +0x1.3f9d9ep-1 +0x1.e3963cp-2 +0x1.9962bep+1 +0x1.1970e4p+2 +-0x1.367d5ap-4 +0x1.7c379cp-3 +-0x1.535108p+1 +-0x1.a18f2ap+0 +-0x1.15105ep+2 +0x1.1b784p+2 +0x1.3a4166p-3 +0x1.b7f37ep-1 +0x1.2329bp-4 +0x1.5b87b6p+1 +-0x1.5ee2bcp+0 +-0x1.8b0e2ep-2 +-0x1.56d3ep+1 +0x1.10f4dep+2 +-0x1.0bf5a6p+0 +-0x1.732da6p-4 +0x1.03c83ap+1 +-0x1.47477ep+1 +-0x1.1a484cp+0 +0x1.54e216p+1 +-0x1.607414p+1 +0x1.3af45ep+1 +0x1.2d35dap-3 +-0x1.6c0594p+0 +-0x1.337242p-3 +0x1.9c45e4p+1 +-0x1.63708cp-2 +0x1.58e512p+1 +-0x1.40e748p-7 +0x1.6d6436p-2 +-0x1.70756p+3 +-0x1.13d5bp+1 +-0x1.0bdb8ap+3 +0x1.76ba4ap+1 +0x1.74c826p+1 +-0x1.30a1d8p-4 +0x1.210e5cp-2 +0x1.0d781ap+2 +0x1.8e798cp+1 +-0x1.35df74p-4 +-0x1.2e04dcp-4 +0x1.66940ep+1 +0x1.6a04b2p-2 +0x1.d7c0c6p-6 +-0x1.3777d8p-1 +0x1.781b4ap+0 +0x1.9b9eb6p-4 +-0x1.52ca5cp+1 +-0x1.bd3f38p-2 +0x1.321e0ap-1 +-0x1.139e9ap+1 +0x1.a54e7p+2 +0x1.e5424ap-4 +-0x1.e1a202p-1 +0x1.9663a2p+1 +0x1.5168ccp+1 +-0x1.4a0188p-2 +-0x1.fa0c48p-1 +0x1.6c0bccp+1 +0x1.0e3b7cp+2 +0x1.1e5b42p+0 +0x1.cc844p-2 +-0x1.637bccp+1 +-0x1.36ad66p-4 +-0x1.156c24p+1 +0x1.71e292p-2 +-0x1.d9793ap-1 +0x1.fa92f8p-3 +-0x1.488b06p+0 +0x1.07cd1ap-4 +-0x1.8702a2p-2 +-0x1.225c9ep+1 +-0x1.7f7204p-3 +0x1.3a85c6p-2 +-0x1.1f5404p+1 +0x1.2c18aep-3 +-0x1.02c0aep-5 +-0x1.5e04dcp+1 +0x1.7c36b8p+1 +0x1.96c038p+1 +-0x1.db2e8cp-2 +-0x1.cd07d8p-3 +0x1.7b3e0cp+1 +0x1.1c8c62p+2 +-0x1.617268p+1 +-0x1.e6645p+0 +-0x1.08b348p-4 +0x1.1ac63ep+2 +0x1.0dfb3cp+2 +0x1.1e3e4ep-1 +0x1.6dc63cp+1 +-0x1.45a632p-3 +0x1.714c24p-2 +0x1.ee9792p-1 +0x1.afc428p-2 +-0x1.07fedcp+0 +0x1.55a38ap-2 +0x1.14c72ep-2 +0x1.226b88p-1 +-0x1.2f4d32p-4 +0x1.3e2c1ap+0 +0x1.6a05d4p+1 +0x1.14bf0cp-1 +-0x1.32a40cp-4 +-0x1.a5aa4ap-5 +-0x1.1f319ep+2 +0x1.3b6b16p-2 +0x1.d9e6f2p+1 +0x1.0186fp-1 +0x1.14dcdcp-3 +-0x1.73ec3ep+1 +-0x1.0e6aaep-3 +0x1.9ea2f4p+1 +-0x1.13233ap+4 +-0x1.34f558p-4 +-0x1.0e0352p-1 +-0x1.737926p-2 +0x1.645f06p-4 +0x1.7073b4p+0 +0x1.1e13a6p+1 +-0x1.03cef8p+1 +0x1.131784p+2 +0x1.11a526p+1 +-0x1.fcbca6p+0 +0x1.7b65e6p-2 +-0x1.418c16p+1 +0x1.38fd4p-1 +0x1.62fe14p+1 +0x1.780cb6p+1 +-0x1.e8d1fp-1 +0x1.228b02p-6 +0x1.85b9dcp+1 +0x1.0e283ap+2 +-0x1.d5a52cp+0 +-0x1.9209b4p+3 +-0x1.cb4b88p+1 +-0x1.71d56ap+0 +-0x1.43d83ep-8 +-0x1.354fcep-4 +0x1.816a8p+1 +-0x1.0c00ccp-4 +-0x1.3700fep-4 +0x1.74853cp-5 +-0x1.f78656p-2 +0x1.1b84a2p-1 +-0x1.dad15p-2 +-0x1.46dffp+1 +-0x1.b7d5e6p-2 +-0x1.b73ee2p-11 +0x1.81e878p+1 +-0x1.2dd9f4p-4 +0x1.1c6e4p+0 +0x1.207204p-1 +-0x1.8ba2fap-1 +0x1.4b0e1p+0 +0x1.7606eep+0 +0x1.6125b2p+1 +-0x1.8e964ep-1 +0x1.9e5e94p+1 +-0x1.326f4p-4 +0x1.a89b54p+1 +-0x1.6378d8p-1 +-0x1.23a9d2p+2 +0x1.892ac4p+1 +0x1.4aef3cp+1 +-0x1.87e214p+1 +-0x1.52ebf8p+1 +0x1.78eedap+1 +-0x1.6185eap+3 +-0x1.28c228p+2 +-0x1.975928p+1 +0x1.31bdbcp-4 +0x1.86aec2p-7 +0x1.5abb42p-2 +-0x1.18b8f8p-2 +-0x1.73433ep-2 +-0x1.6ec38ap-3 +0x1.1a330ep+2 +-0x1.97b946p+2 +0x1.077e5p+1 +0x1.18f0a4p+2 +-0x1.351ab4p-4 +0x1.3817d8p-1 +0x1.55e486p+1 +-0x1.1deec8p-1 +-0x1.838984p+0 +-0x1.bfe726p+0 +-0x1.139b52p+4 +0x1.1c8ecap+2 +-0x1.385deep-2 +0x1.7ad5bep+1 +-0x1.ca4ea2p-1 +-0x1.528404p+1 +0x1.965e58p+1 +-0x1.3f8154p+1 +-0x1.dfabap-2 +-0x1.303b3cp-4 +0x1.15e698p+1 +0x1.15663ep+0 +-0x1.38e5bep+1 +0x1.1aa762p+0 +-0x1.f4a76p+0 +-0x1.34a1a8p-4 +-0x1.287326p+1 +-0x1.243778p+1 +0x1.b13e2p-2 +0x1.18aaacp+2 +-0x1.399494p+1 +0x1.6a5d54p+1 +-0x1.329d12p-4 +-0x1.4e209ap+1 +-0x1.0406fcp+1 +0x1.d1f2eep-4 +0x1.3be89cp+1 +0x1.ad9acap-2 +0x1.1303e6p-1 +-0x1.8dd6bap+3 +-0x1.7fe85ap-3 +0x1.964c34p-2 +-0x1.060912p+1 +-0x1.f2eff6p-6 +0x1.39aeacp+1 +0x1.83e306p+1 +-0x1.3cc9c2p+1 +-0x1.296034p-4 +0x1.d3fe14p-2 +0x1.5a2b0ep+1 +-0x1.687954p-5 +0x1.1947f8p-2 +0x1.0d6d1p+2 +-0x1.d56f06p-1 +-0x1.64804p+1 +-0x1.2d370ep-4 +-0x1.fd54b6p-1 +-0x1.469a58p+1 +-0x1.2600ccp-3 +0x1.4a52a2p+1 +0x1.143b5ap+1 +-0x1.3ee13p+0 +0x1.992f76p+1 +-0x1.22f3aap-1 +0x1.0c5358p-2 +-0x1.8268f2p-12 +-0x1.4a87f2p+0 +0x1.f09afcp-2 +0x1.c8f29ap+0 +0x1.5f28ccp+1 +-0x1.5b39b2p+1 +0x1.ceaa38p-6 +0x1.1971ecp+0 +-0x1.0db4d4p+0 +-0x1.31e0c6p-4 +-0x1.29491ap-4 +-0x1.32b39ep-4 +0x1.b237d8p-3 +0x1.937e58p+1 +-0x1.130dccp-7 +0x1.86e96p+1 +-0x1.bf69d8p-3 +-0x1.36035cp+4 +-0x1.58c7b8p+0 +-0x1.49eb1ep+1 +0x1.5c5262p-1 +0x1.53fcc8p-2 +0x1.3bc1f6p+1 +-0x1.347122p-4 +0x1.774766p+1 +-0x1.b131c6p+0 +-0x1.1ab9fcp+0 +-0x1.312e72p-4 +-0x1.6158bp+1 +0x1.020bf2p-1 +-0x1.95e65cp-1 +0x1.0f855p-1 +0x1.753114p-2 +-0x1.fa4ap-2 +-0x1.f5789cp+0 +0x1.c7f504p-5 +0x1.130f1ep-1 +0x1.8259d6p+1 +0x1.fd4d5p-2 +-0x1.09fbb6p+1 +0x1.0d403p+2 +-0x1.3fedf6p-4 +-0x1.4e95b4p+3 +0x1.157abep+2 +0x1.1581cp+2 +0x1.0f18ccp+0 +-0x1.ba5008p-3 +-0x1.0450f4p-2 +0x1.9f78b4p+1 +0x1.45e0dap-1 +0x1.700002p+0 +-0x1.c749d2p+1 +0x1.2d70bp+1 +-0x1.6772e2p-3 +-0x1.68b22ep+0 +-0x1.9767ecp+0 +-0x1.29b4dap-4 +0x1.e3f134p-1 +-0x1.31b36ap-4 +-0x1.bc7d5p+1 +-0x1.0f42fp+0 +-0x1.7f8552p+0 +0x1.10d28ep+1 +0x1.1a463cp+2 +0x1.2478a6p-9 +-0x1.2a63acp+1 +0x1.1d6f0ep+2 +0x1.4ca544p-2 +-0x1.fb922ep-12 +0x1.798756p+2 +0x1.8c9b7cp+1 +0x1.0d1ff2p+2 +-0x1.67d556p-1 +-0x1.44c0f4p-4 +-0x1.2e8d9ep-4 +-0x1.dcc188p-2 +-0x1.9624d4p+1 +-0x1.649b1p-1 +0x1.a69b1p+1 +0x1.fb523cp-1 +0x1.57c3fep-2 +0x1.6a83a8p-8 +-0x1.33fc56p-4 +0x1.a6601ep+1 +-0x1.552a5ep+0 +-0x1.5cd282p+4 +-0x1.014422p-2 +0x1.919078p+1 +-0x1.03e91cp+0 +0x1.4e8f42p+1 +0x1.49c32p-2 +0x1.1c34fap-1 +-0x1.d0cacp+2 +-0x1.a6e4a6p-3 +0x1.1979d2p+2 +-0x1.5c7444p+1 +-0x1.204fa8p+1 +-0x1.74de44p-5 +0x1.0d3e2ep+2 +-0x1.59b50cp-2 +0x1.1d7a2cp+2 +-0x1.d84d02p-2 +-0x1.e823d4p-4 +-0x1.a6bf2p-1 +0x1.8e54fp+1 +0x1.a35faep-2 +-0x1.0c803p-1 +0x1.3d3d6ap+1 +0x1.bc89dep-1 +-0x1.3d136ap+1 +-0x1.1291d4p-6 +-0x1.864fb2p-4 +0x1.62ba24p-1 +0x1.6e8daep+1 +-0x1.5e7486p-4 +0x1.0e6faap+2 +0x1.31a202p-1 +-0x1.3cd606p+3 +-0x1.c5d49p+0 +0x1.1f738ap+0 +0x1.1c5f44p+2 +-0x1.072c08p-4 +0x1.0cf76cp+2 +-0x1.b957c4p-2 +-0x1.1ad3c8p-1 +0x1.b6578p-2 +-0x1.703f3ap-6 +-0x1.68a344p+0 +-0x1.eb8188p+0 +0x1.0e0802p+2 +0x1.dbd8e4p-2 +0x1.364246p-2 +-0x1.ffc1cep-1 +0x1.749832p+0 +-0x1.cf3a6ep-7 +-0x1.66df6p-1 +-0x1.1017bep+3 +0x1.05c8fcp-1 +-0x1.7ab2dap-7 +0x1.9d6a3p+1 +-0x1.337716p-4 +-0x1.c1934cp-1 +-0x1.138ebcp-1 +-0x1.35f16p-4 +-0x1.64780ap-6 +-0x1.167f94p+3 +-0x1.5158d2p+1 +-0x1.fdd872p-3 +0x1.a2b46p+1 +0x1.2436fcp-2 +-0x1.68d52ap-2 +0x1.8efb64p-3 +0x1.a0dc7ep+1 +-0x1.a0112cp+0 +-0x1.1a17cep+0 +-0x1.6c7ee2p+0 +-0x1.05f67cp+0 +-0x1.0b36b8p+3 +-0x1.36523ep-4 +0x1.f11a42p-1 +0x1.15ab74p+2 +-0x1.5bc8ecp+0 +-0x1.2ea89cp-4 +0x1.73c892p-1 +0x1.1bf5cep-2 +-0x1.81da28p+0 +0x1.08eee6p-1 +0x1.20aaa8p+0 +-0x1.433b2p-1 +-0x1.2e48c8p-4 +0x1.33ef54p-1 +-0x1.8d8fap-1 +0x1.a5c5bcp-4 +-0x1.3478eap-4 +0x1.2e3552p+0 +0x1.12a2dp+2 +0x1.e446b2p-4 +0x1.7979ecp+1 +0x1.166012p+2 +-0x1.454876p-2 +0x1.aa6f0ap-4 +-0x1.20bd32p+1 +-0x1.34c7d8p+0 +-0x1.4cfd8ap-7 +-0x1.36b0e4p-4 +-0x1.db3a1cp-3 +0x1.d9eabp+1 +0x1.9898dap+1 +-0x1.0fdefep+1 +0x1.7aa95ep+1 +-0x1.e05838p-1 +-0x1.11bb4ep+1 +0x1.9be3cap+1 +-0x1.36a57ap-4 +-0x1.2d24dp+4 +0x1.6f97eep+1 +-0x1.264e28p-3 +-0x1.152cbap+1 +0x1.136628p+2 +-0x1.a79d3ep-4 +0x1.1f1dd2p-1 +-0x1.3a5e08p-2 +0x1.74f1a2p-1 +0x1.0da394p+2 +-0x1.b18996p+2 +-0x1.326c62p-4 +-0x1.c774eep-1 +-0x1.6e756ep-2 +0x1.1d8ce4p+2 +-0x1.27e158p-2 +-0x1.ef3134p-1 +-0x1.d4146ep-5 +-0x1.8b522ap+3 +0x1.92447ap+1 +-0x1.184f48p+0 +0x1.17c732p+2 +-0x1.5fcfb6p+1 +-0x1.35528ap+1 +0x1.0ece64p+2 +-0x1.09e0c6p+1 +0x1.853272p+1 +0x1.0390dap-1 +-0x1.808252p-6 +0x1.b05244p+0 +-0x1.e4320ap-2 +0x1.3a682ep-1 +0x1.9939c2p+1 +-0x1.ff5038p-2 +-0x1.7c7414p+1 +0x1.1271c8p+1 +0x1.10db3ep+2 +0x1.08362ep+1 +0x1.7dc1fcp+1 +0x1.f9b97ep+0 +0x1.7f991p+1 +0x1.13b7fp-5 +-0x1.36f9a6p+1 +-0x1.bf33aap-17 +0x1.4d48eap+1 +0x1.814322p+1 +0x1.104532p+2 +-0x1.cc3924p-1 +0x1.a82e48p+1 +-0x1.8066e4p-1 +-0x1.31c88p-4 +0x1.1c0d22p+1 +0x1.45a4a2p+0 +-0x1.952a72p-2 +-0x1.b8945p+0 +0x1.4d78c8p+1 +-0x1.1d5f4p+4 +0x1.13ef6cp-1 +-0x1.808e5ap+1 +0x1.17c234p+2 +0x1.11b728p+0 +-0x1.a9d59cp-4 +0x1.8938aap-6 +-0x1.1f29cep+3 +0x1.c99c2ap-4 +0x1.6209eap+1 +0x1.15c72ap+2 +0x1.120c28p+2 +0x1.592c44p-5 +0x1.7b32e4p-3 +-0x1.ea1faep-3 +0x1.07e47cp-4 +0x1.1824e2p+2 +0x1.623f26p-1 +-0x1.535f3p-3 +0x1.5b77e4p+1 +0x1.166e9p+0 +-0x1.d7f864p-9 +0x1.6be938p+1 +-0x1.053aa8p-6 +-0x1.3a1f6p+0 +0x1.d11a72p-4 +0x1.066e6ep-1 +-0x1.553c24p-3 +0x1.4a1adep+1 +-0x1.165dfep-3 +0x1.9aea0cp+1 +0x1.3fa66p-1 +0x1.44717ep+1 +0x1.d4b5ep+0 +-0x1.4ce712p+1 +0x1.90dc5p+1 +-0x1.bb9926p+1 +-0x1.ea6a6p+0 +0x1.a4f664p+0 +-0x1.d0789ep+1 +0x1.47ff3p+0 +-0x1.a4582ap-2 +0x1.0f1fbcp+2 +-0x1.851cbep+0 +-0x1.cad56p+0 +0x1.fb3c08p-1 +-0x1.8600c4p+0 +-0x1.280b14p-4 +0x1.453bcep+1 +-0x1.65a45p-2 +-0x1.02c716p+1 +-0x1.0f67dcp+0 +-0x1.3329dcp-4 +-0x1.813234p+0 +0x1.48ab04p+0 +0x1.959152p+1 +0x1.1d050ap+2 +0x1.44c6dcp-3 +0x1.18537cp+2 +-0x1.92e60ep+1 +-0x1.525a6p+3 +0x1.279f9ap-1 +0x1.d03c6p-2 +-0x1.95b67p-2 +0x1.2b892p+1 +0x1.8aed26p+0 +0x1.71a006p+1 +0x1.2e8d8cp+0 +-0x1.56105cp-2 +-0x1.361ac2p-4 +0x1.e8907cp-3 +0x1.2e161p+2 +0x1.10c198p+2 +0x1.e31decp+2 +-0x1.413e02p+1 +-0x1.c12e1p-2 +0x1.9daef2p-2 +-0x1.b2a0f4p+0 +-0x1.59e422p-3 +-0x1.041c7ep+0 +0x1.790cd8p+1 +0x1.6650fcp+1 +-0x1.35f2dep-4 +-0x1.ff881cp+0 +-0x1.2704d2p+1 +0x1.9e0808p-3 +0x1.96a51p+1 +0x1.1aeb02p+2 +-0x1.2e50b8p-2 +-0x1.74685cp+1 +0x1.9bf692p+1 +-0x1.35fff4p-4 +-0x1.41eb4ap+4 +-0x1.e8ac7p+1 +0x1.4c0388p-1 +-0x1.30d8aap-4 +0x1.a4a072p+0 +-0x1.437f74p+1 +-0x1.1593a4p+0 +0x1.77bdeep+1 +0x1.7cda62p+1 +-0x1.19d11cp+2 +0x1.1de2e2p+2 +0x1.964d1p-4 +-0x1.db69fep-2 +-0x1.a3d6cep-3 +0x1.9f68cap-2 +-0x1.04116cp-5 +0x1.05b658p-1 +0x1.1d7a04p+0 +0x1.19b26ap+2 +0x1.0d19eep+2 +0x1.6ddca6p-2 +0x1.429242p-2 +0x1.79bd98p-2 +0x1.460756p+1 +0x1.4ef02p-3 +0x1.5ab3bap+1 +0x1.81525ep+1 +-0x1.21c3bcp+1 +0x1.99bf02p+1 +-0x1.f42bc6p+0 +0x1.2191ap+2 +-0x1.1fa0bcp+2 +-0x1.1e539cp-3 +0x1.1aaaaep+2 +0x1.1e9862p-2 +-0x1.34fb92p-5 +0x1.78626ep+1 +0x1.a1dd9ap+1 +-0x1.24e6dap+2 +-0x1.0d049p-3 +-0x1.ed15acp+0 +0x1.2c3006p-1 +0x1.751326p-3 +0x1.9b3f0cp+1 +-0x1.53880cp-2 +0x1.d9e45p+1 +0x1.ef5dfap+0 +0x1.aa1c96p+1 +0x1.746548p+1 +0x1.6f4152p-1 +-0x1.d895a6p-5 +-0x1.3de39cp+4 +-0x1.2d7adap-1 +0x1.5fe768p-1 +-0x1.2d176ep+1 +0x1.3c92eep+3 +0x1.76be62p+0 +0x1.91f7aap+1 +0x1.cba684p-2 +-0x1.350b24p-4 +0x1.e89612p+0 +-0x1.e0d5dcp-1 +-0x1.7c4b6ep+1 +-0x1.ce6d08p-4 +-0x1.e4e1fp+0 +0x1.1e69a6p+2 +-0x1.a72352p+2 +-0x1.fa0866p-3 +0x1.193b9ep+2 +-0x1.e5a2dcp+0 +0x1.bac746p-4 +-0x1.a74954p+1 +0x1.b6958ap+1 +0x1.10dfd8p+2 +-0x1.238eeep+1 +0x1.5fef46p+0 +-0x1.b72a8ap-1 +0x1.f9e15ep-2 +0x1.d82a3ap-8 +-0x1.28248ap+1 +-0x1.aa113ap-5 +-0x1.1a412ep+1 +0x1.679748p-1 +0x1.22106ep-2 +-0x1.3122d6p-1 +0x1.0c6e18p+2 +0x1.a79f02p+1 +-0x1.8f3d18p+0 +0x1.14ddb2p-1 +0x1.7ebb34p+1 +-0x1.2e5b18p+3 +-0x1.c61e0cp+1 +0x1.59dcb4p+1 +0x1.79d2bap-3 +0x1.cfc494p-4 +-0x1.2ac43ap+2 +0x1.13727p+2 +-0x1.033e3ap-2 +-0x1.06p+5 +-0x1.23a906p-3 +0x1.bd019ep-2 +-0x1.f5986cp+0 +-0x1.313e8cp+1 +0x1.5ed728p-5 +-0x1.88d504p+1 +0x1.7a0fc8p+1 +-0x1.bba7fep-2 +0x1.2d0bccp+0 +0x1.68e3p+1 +0x1.8c6fb6p+1 +0x1.5531a6p-2 +-0x1.46bc7cp+1 +-0x1.706772p-3 +0x1.c008d6p+0 +-0x1.36eb54p-4 +-0x1.6f548p+1 +0x1.ffadf6p-4 +0x1.972fb6p+1 +0x1.d9eff8p+1 +0x1.0acaecp+0 +0x1.1a5ac2p+2 +0x1.79d0cep+1 +0x1.857eaep+1 +-0x1.0691d2p+1 +0x1.26905p-2 +-0x1.e91e28p-2 +0x1.0a9cbep-2 +-0x1.34f3f4p-4 +0x1.9f93d4p-2 +-0x1.b74e3p-1 +0x1.8300cap+1 +-0x1.43973ap+1 +-0x1.d1cb64p+0 +0x1.154c14p+2 +0x1.e48fap-1 +0x1.bc715ep-2 +-0x1.142f68p-6 +-0x1.ce93ep+1 +-0x1.c96304p-5 +0x1.0cde26p+2 diff --git a/benchtests/json-lib.c b/benchtests/json-lib.c index a67820b255..fb2835f705 100644 --- a/benchtests/json-lib.c +++ b/benchtests/json-lib.c @@ -1,5 +1,5 @@ /* Simple library for printing JSON data. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/benchtests/json-lib.h b/benchtests/json-lib.h index 577d45dfce..d412dc6437 100644 --- a/benchtests/json-lib.h +++ b/benchtests/json-lib.h @@ -1,5 +1,5 @@ /* Simple library for printing JSON data. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef __JSON_LIB_H__ #define __JSON_LIB_H__ diff --git a/benchtests/pthread_once-source.c b/benchtests/pthread_once-source.c index 93d7393d88..6ca1abbc60 100644 --- a/benchtests/pthread_once-source.c +++ b/benchtests/pthread_once-source.c @@ -1,6 +1,6 @@ /* Measure pthread_once best-case latency (i.e., when already initialized. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ static pthread_once_t once = PTHREAD_ONCE_INIT; diff --git a/benchtests/roundeven-inputs b/benchtests/roundeven-inputs new file mode 100644 index 0000000000..49ff407a6a --- /dev/null +++ b/benchtests/roundeven-inputs @@ -0,0 +1,22 @@ +## args: double +## ret: double +## includes: math.h +0.0 +-0.0 +0.001 +-0.001 +0.5 +-0.5 +0.999 +-0.999 +1.0 +-1.0 +1.001 +-1.001 +123.5 +-123.5 +12345.1 +-1000000.1 +1e15 +-1e30 +1e200 diff --git a/benchtests/roundevenf-inputs b/benchtests/roundevenf-inputs new file mode 100644 index 0000000000..c37c5dacba --- /dev/null +++ b/benchtests/roundevenf-inputs @@ -0,0 +1,21 @@ +## args: float +## ret: float +## includes: math.h +0.0f +-0.0f +0.001f +-0.001f +0.5f +-0.5f +0.999f +-0.999f +1.0f +-1.0f +1.001f +-1.001f +123.5f +-123.5f +12345.1f +-1000000.5f +1e15f +-1e30f diff --git a/benchtests/scripts/bench.py b/benchtests/scripts/bench.py index dcf4e8d088..a54ec6f7e3 100755 --- a/benchtests/scripts/bench.py +++ b/benchtests/scripts/bench.py @@ -1,5 +1,5 @@ -#!/usr/bin/python -# Copyright (C) 2014-2019 Free Software Foundation, Inc. +#!/usr/bin/python3 +# Copyright (C) 2014-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . """Benchmark program generator script diff --git a/benchtests/scripts/compare_bench.py b/benchtests/scripts/compare_bench.py index c1c438a1c9..a215ebc9bd 100755 --- a/benchtests/scripts/compare_bench.py +++ b/benchtests/scripts/compare_bench.py @@ -1,5 +1,5 @@ #!/usr/bin/python -# Copyright (C) 2015-2019 Free Software Foundation, Inc. +# Copyright (C) 2015-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . """Compare two benchmark results Given two benchmark result files and a threshold, this script compares the diff --git a/benchtests/scripts/compare_strings.py b/benchtests/scripts/compare_strings.py index bd37e2b9c2..2b2edbf10d 100755 --- a/benchtests/scripts/compare_strings.py +++ b/benchtests/scripts/compare_strings.py @@ -1,5 +1,5 @@ #!/usr/bin/python -# Copyright (C) 2017-2019 Free Software Foundation, Inc. +# Copyright (C) 2017-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . """Compare results of string functions Given a string benchmark result file, print a table with comparisons with a diff --git a/benchtests/scripts/import_bench.py b/benchtests/scripts/import_bench.py index 7a55d19f03..08681aafdc 100644 --- a/benchtests/scripts/import_bench.py +++ b/benchtests/scripts/import_bench.py @@ -1,5 +1,5 @@ #!/usr/bin/python -# Copyright (C) 2015-2019 Free Software Foundation, Inc. +# Copyright (C) 2015-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . """Functions to import benchmark data and process it""" import json diff --git a/benchtests/scripts/plot_strings.py b/benchtests/scripts/plot_strings.py new file mode 100755 index 0000000000..c74497d0fb --- /dev/null +++ b/benchtests/scripts/plot_strings.py @@ -0,0 +1,395 @@ +#!/usr/bin/python3 +# Plot GNU C Library string microbenchmark output. +# Copyright (C) 2019-2020 Free Software Foundation, Inc. +# This file is part of the GNU C Library. +# +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# . +"""Plot string microbenchmark results. + +Given a benchmark results file in JSON format and a benchmark schema file, +plot the benchmark timings in one of the available representations. + +Separate figure is generated and saved to a file for each 'results' array +found in the benchmark results file. Output filenames and plot titles +are derived from the metadata found in the benchmark results file. +""" +import argparse +from collections import defaultdict +import json +import matplotlib as mpl +import numpy as np +import os + +try: + import jsonschema as validator +except ImportError: + print("Could not find jsonschema module.") + raise + +# Use pre-selected markers for plotting lines to improve readability +markers = [".", "x", "^", "+", "*", "v", "1", ">", "s"] + +# Benchmark variants for which the x-axis scale should be logarithmic +log_variants = {"powers of 2"} + + +def gmean(numbers): + """Compute geometric mean. + + Args: + numbers: 2-D list of numbers + Return: + numpy array with geometric means of numbers along each column + """ + a = np.array(numbers, dtype=np.complex) + means = a.prod(0) ** (1.0 / len(a)) + return np.real(means) + + +def relativeDifference(x, x_reference): + """Compute per-element relative difference between each row of + a matrix and an array of reference values. + + Args: + x: numpy matrix of shape (n, m) + x_reference: numpy array of size m + Return: + relative difference between rows of x and x_reference (in %) + """ + abs_diff = np.subtract(x, x_reference) + return np.divide(np.multiply(abs_diff, 100.0), x_reference) + + +def plotTime(timings, routine, bench_variant, title, outpath): + """Plot absolute timing values. + + Args: + timings: timings to plot + routine: benchmarked string routine name + bench_variant: top-level benchmark variant name + title: figure title (generated so far) + outpath: output file path (generated so far) + Return: + y: y-axis values to plot + title_final: final figure title + outpath_final: file output file path + """ + y = timings + plt.figure() + + if not args.values: + plt.axes().yaxis.set_major_formatter(plt.NullFormatter()) + + plt.ylabel("timing") + title_final = "%s %s benchmark timings\n%s" % \ + (routine, bench_variant, title) + outpath_final = os.path.join(args.outdir, "%s_%s_%s%s" % \ + (routine, args.plot, bench_variant, outpath)) + + return y, title_final, outpath_final + + +def plotRelative(timings, all_timings, routine, ifuncs, bench_variant, + title, outpath): + """Plot timing values relative to a chosen ifunc + + Args: + timings: timings to plot + all_timings: all collected timings + routine: benchmarked string routine name + ifuncs: names of ifuncs tested + bench_variant: top-level benchmark variant name + title: figure title (generated so far) + outpath: output file path (generated so far) + Return: + y: y-axis values to plot + title_final: final figure title + outpath_final: file output file path + """ + # Choose the baseline ifunc + if args.baseline: + baseline = args.baseline.replace("__", "") + else: + baseline = ifuncs[0] + + baseline_index = ifuncs.index(baseline) + + # Compare timings against the baseline + y = relativeDifference(timings, all_timings[baseline_index]) + + plt.figure() + plt.axhspan(-args.threshold, args.threshold, color="lightgray", alpha=0.3) + plt.axhline(0, color="k", linestyle="--", linewidth=0.4) + plt.ylabel("relative timing (in %)") + title_final = "Timing comparison against %s\nfor %s benchmark, %s" % \ + (baseline, bench_variant, title) + outpath_final = os.path.join(args.outdir, "%s_%s_%s%s" % \ + (baseline, args.plot, bench_variant, outpath)) + + return y, title_final, outpath_final + + +def plotMax(timings, routine, bench_variant, title, outpath): + """Plot results as percentage of the maximum ifunc performance. + + The optimal ifunc is computed on a per-parameter-value basis. + Performance is computed as 1/timing. + + Args: + timings: timings to plot + routine: benchmarked string routine name + bench_variant: top-level benchmark variant name + title: figure title (generated so far) + outpath: output file path (generated so far) + Return: + y: y-axis values to plot + title_final: final figure title + outpath_final: file output file path + """ + perf = np.reciprocal(timings) + max_perf = np.max(perf, axis=0) + y = np.add(100.0, relativeDifference(perf, max_perf)) + + plt.figure() + plt.axhline(100.0, color="k", linestyle="--", linewidth=0.4) + plt.ylabel("1/timing relative to max (in %)") + title_final = "Performance comparison against max for %s\n%s " \ + "benchmark, %s" % (routine, bench_variant, title) + outpath_final = os.path.join(args.outdir, "%s_%s_%s%s" % \ + (routine, args.plot, bench_variant, outpath)) + + return y, title_final, outpath_final + + +def plotThroughput(timings, params, routine, bench_variant, title, outpath): + """Plot throughput. + + Throughput is computed as the varied parameter value over timing. + + Args: + timings: timings to plot + params: varied parameter values + routine: benchmarked string routine name + bench_variant: top-level benchmark variant name + title: figure title (generated so far) + outpath: output file path (generated so far) + Return: + y: y-axis values to plot + title_final: final figure title + outpath_final: file output file path + """ + y = np.divide(params, timings) + plt.figure() + + if not args.values: + plt.axes().yaxis.set_major_formatter(plt.NullFormatter()) + + plt.ylabel("%s / timing" % args.key) + title_final = "%s %s benchmark throughput results\n%s" % \ + (routine, bench_variant, title) + outpath_final = os.path.join(args.outdir, "%s_%s_%s%s" % \ + (routine, args.plot, bench_variant, outpath)) + return y, title_final, outpath_final + + +def finishPlot(x, y, title, outpath, x_scale, plotted_ifuncs): + """Finish generating current Figure. + + Args: + x: x-axis values + y: y-axis values + title: figure title + outpath: output file path + x_scale: x-axis scale + plotted_ifuncs: names of ifuncs to plot + """ + plt.xlabel(args.key) + plt.xscale(x_scale) + plt.title(title) + + plt.grid(color="k", linestyle=args.grid, linewidth=0.5, alpha=0.5) + + for i in range(len(plotted_ifuncs)): + plt.plot(x, y[i], marker=markers[i % len(markers)], + label=plotted_ifuncs[i]) + + plt.legend(loc="best", fontsize="small") + plt.savefig("%s_%s.%s" % (outpath, x_scale, args.extension), + format=args.extension, dpi=args.resolution) + + if args.display: + plt.show() + + plt.close() + + +def plotRecursive(json_iter, routine, ifuncs, bench_variant, title, outpath, + x_scale): + """Plot benchmark timings. + + Args: + json_iter: reference to json object + routine: benchmarked string routine name + ifuncs: names of ifuncs tested + bench_variant: top-level benchmark variant name + title: figure's title (generated so far) + outpath: output file path (generated so far) + x_scale: x-axis scale + """ + + # RECURSIVE CASE: 'variants' array found + if "variants" in json_iter: + # Continue recursive search for 'results' array. Record the + # benchmark variant (configuration) in order to customize + # the title, filename and X-axis scale for the generated figure. + for variant in json_iter["variants"]: + new_title = "%s%s, " % (title, variant["name"]) + new_outpath = "%s_%s" % (outpath, variant["name"].replace(" ", "_")) + new_x_scale = "log" if variant["name"] in log_variants else x_scale + + plotRecursive(variant, routine, ifuncs, bench_variant, new_title, + new_outpath, new_x_scale) + return + + # BASE CASE: 'results' array found + domain = [] + timings = defaultdict(list) + + # Collect timings + for result in json_iter["results"]: + domain.append(result[args.key]) + timings[result[args.key]].append(result["timings"]) + + domain = np.unique(np.array(domain)) + averages = [] + + # Compute geometric mean if there are multple timings for each + # parameter value. + for parameter in domain: + averages.append(gmean(timings[parameter])) + + averages = np.array(averages).transpose() + + # Choose ifuncs to plot + if isinstance(args.ifuncs, str): + plotted_ifuncs = ifuncs + else: + plotted_ifuncs = [x.replace("__", "") for x in args.ifuncs] + + plotted_indices = [ifuncs.index(x) for x in plotted_ifuncs] + plotted_vals = averages[plotted_indices,:] + + # Plotting logic specific to each plot type + if args.plot == "time": + codomain, title, outpath = plotTime(plotted_vals, routine, + bench_variant, title, outpath) + elif args.plot == "rel": + codomain, title, outpath = plotRelative(plotted_vals, averages, routine, + ifuncs, bench_variant, title, outpath) + elif args.plot == "max": + codomain, title, outpath = plotMax(plotted_vals, routine, + bench_variant, title, outpath) + elif args.plot == "thru": + codomain, title, outpath = plotThroughput(plotted_vals, domain, routine, + bench_variant, title, outpath) + + # Plotting logic shared between plot types + finishPlot(domain, codomain, title, outpath, x_scale, plotted_ifuncs) + + +def main(args): + """Program Entry Point. + + Args: + args: command line arguments (excluding program name) + """ + + # Select non-GUI matplotlib backend if interactive display is disabled + if not args.display: + mpl.use("Agg") + + global plt + import matplotlib.pyplot as plt + + schema = None + + with open(args.schema, "r") as f: + schema = json.load(f) + + for filename in args.bench: + bench = None + + with open(filename, "r") as f: + bench = json.load(f) + + validator.validate(bench, schema) + + for function in bench["functions"]: + bench_variant = bench["functions"][function]["bench-variant"] + ifuncs = bench["functions"][function]["ifuncs"] + ifuncs = [x.replace("__", "") for x in ifuncs] + + plotRecursive(bench["functions"][function], function, ifuncs, + bench_variant, "", "", args.logarithmic) + + +""" main() """ +if __name__ == "__main__": + + parser = argparse.ArgumentParser(description= + "Plot string microbenchmark results", + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + + # Required parameter + parser.add_argument("bench", nargs="+", + help="benchmark results file(s) in json format") + + # Optional parameters + parser.add_argument("-b", "--baseline", type=str, + help="baseline ifunc for 'rel' plot") + parser.add_argument("-d", "--display", action="store_true", + help="display figures") + parser.add_argument("-e", "--extension", type=str, default="png", + choices=["png", "pdf", "svg"], + help="output file(s) extension") + parser.add_argument("-g", "--grid", action="store_const", default="", + const="-", help="show grid lines") + parser.add_argument("-i", "--ifuncs", nargs="+", default="all", + help="ifuncs to plot") + parser.add_argument("-k", "--key", type=str, default="length", + help="key to access the varied parameter") + parser.add_argument("-l", "--logarithmic", action="store_const", + default="linear", const="log", + help="use logarithmic x-axis scale") + parser.add_argument("-o", "--outdir", type=str, default=os.getcwd(), + help="output directory") + parser.add_argument("-p", "--plot", type=str, default="time", + choices=["time", "rel", "max", "thru"], + help="plot absolute timings, relative timings, " \ + "performance relative to max, or throughput") + parser.add_argument("-r", "--resolution", type=int, default=100, + help="dpi resolution for the generated figures") + parser.add_argument("-s", "--schema", type=str, + default=os.path.join(os.path.dirname( + os.path.realpath(__file__)), + "benchout_strings.schema.json"), + help="schema file to validate the results file.") + parser.add_argument("-t", "--threshold", type=int, default=5, + help="threshold to mark in 'rel' graph (in %%)") + parser.add_argument("-v", "--values", action="store_true", + help="show actual values") + + args = parser.parse_args() + main(args) diff --git a/benchtests/scripts/validate_benchout.py b/benchtests/scripts/validate_benchout.py index 55d07c6bce..6b4877a67b 100755 --- a/benchtests/scripts/validate_benchout.py +++ b/benchtests/scripts/validate_benchout.py @@ -1,5 +1,5 @@ -#!/usr/bin/python -# Copyright (C) 2014-2019 Free Software Foundation, Inc. +#!/usr/bin/python3 +# Copyright (C) 2014-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . """Benchmark output validator Given a benchmark output file in json format and a benchmark schema file, diff --git a/benchtests/strcoll-inputs/filelist#en_US.UTF-8 b/benchtests/strcoll-inputs/filelist#en_US.UTF-8 index aa44107ad6..2f4ef195bb 100644 --- a/benchtests/strcoll-inputs/filelist#en_US.UTF-8 +++ b/benchtests/strcoll-inputs/filelist#en_US.UTF-8 @@ -14107,40 +14107,20 @@ nptl bits manual sunrpc -rpc_hout.c tst-xdrmem2.c -rpc_util.h getrpcbynumber_r.c xdr_intXX_t.c -rpc_tblout.c svc.c -rpc_svcout.c get_myaddr.c getrpcport.c auth_unix.c rpc_prot.c svcauth_des.c -rpc_clntout.c des_soft.c thrsvc.c xdr_rec.c rpcinfo.c rpcsvc -sm_inter.x -spray.x -nfs_prot.x -bootparam.h -klm_prot.x -key_prot.x -rstat.x -rusers.x -rex.x -yppasswd.x -mount.x -bootparam_prot.x -rquota.x -nlm_prot.x -rpc_main.c pmap_prot.c pmap_prot2.c rtime.c @@ -14150,7 +14130,6 @@ svc_simple.c svc_raw.c getrpcent.c pmap_rmt.c -rpc_sample.c pm_getport.c openchild.c xdr_stdio.c @@ -14187,11 +14166,8 @@ clnt.h pmap_clnt.c xdr.c bindrsvprt.c -rpc_parse.c Makefile -rpc_util.c des_crypt.c -rpc_parse.h key_call.c authdes_prot.c xdr_float.c @@ -14201,7 +14177,6 @@ clnt_gen.c getrpcbyname_r.c getrpcbyname.c clnt_udp.c -proto.h publickey.c svc_auth.c etc.rpc @@ -14212,20 +14187,16 @@ getrpcent_r.c rpc_common.c rpc_dtable.c clnt_unix.c -rpcgen.c auth_none.c -rpc_scan.c authuxprot.c svc_udp.c Versions test-rpcent.c svc_run.c key_prot.c -rpc_cout.c pm_getmaps.c xdr_ref.c getrpcbynumber.c -rpc_scan.h ChangeLog.old-ports-arm libc-abis configure.ac diff --git a/benchtests/thread_create-source.c b/benchtests/thread_create-source.c index 3586b9f4ef..c5feda8902 100644 --- a/benchtests/thread_create-source.c +++ b/benchtests/thread_create-source.c @@ -1,7 +1,7 @@ /* Measure pthread_create thread creation with different stack and guard sizes. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/bits/byteswap.h b/bits/byteswap.h index 83731c9eab..ccf613a9f6 100644 --- a/bits/byteswap.h +++ b/bits/byteswap.h @@ -1,5 +1,5 @@ /* Macros and inline functions to swap the order of bytes in integer values. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H # error "Never use directly; include instead." diff --git a/bits/confname.h b/bits/confname.h index 1476f61402..5dc8215093 100644 --- a/bits/confname.h +++ b/bits/confname.h @@ -1,5 +1,5 @@ /* `sysconf', `pathconf', and `confstr' NAME values. Generic version. - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _UNISTD_H # error "Never use directly; include instead." diff --git a/bits/dirent.h b/bits/dirent.h index 49793d93b8..d102c446c2 100644 --- a/bits/dirent.h +++ b/bits/dirent.h @@ -1,5 +1,5 @@ /* Directory entry structure `struct dirent'. 4.4BSD/Generic version. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _DIRENT_H # error "Never use directly; include instead." diff --git a/bits/dirent_ext.h b/bits/dirent_ext.h index 279fd25d25..6e472f54c6 100644 --- a/bits/dirent_ext.h +++ b/bits/dirent_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of , generic version. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _DIRENT_H # error "Never include directly; use instead." diff --git a/bits/dlfcn.h b/bits/dlfcn.h index 8e311f745c..ed67f29bc3 100644 --- a/bits/dlfcn.h +++ b/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _DLFCN_H # error "Never use directly; include instead." diff --git a/bits/environments.h b/bits/environments.h index 02ace1d024..5f39f324ae 100644 --- a/bits/environments.h +++ b/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _UNISTD_H # error "Never include this file directly. Use instead" diff --git a/bits/errno.h b/bits/errno.h index 05bf7a44c5..663570adac 100644 --- a/bits/errno.h +++ b/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. Generic version. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file defines the errno constants. */ diff --git a/bits/fcntl.h b/bits/fcntl.h index 8bb1357684..a8278242e5 100644 --- a/bits/fcntl.h +++ b/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values. 4.4BSD/Generic version. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _FCNTL_H #error "Never use directly; include instead." diff --git a/bits/fenv.h b/bits/fenv.h index c7ba575a87..331e6c145e 100644 --- a/bits/fenv.h +++ b/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _FENV_H # error "Never use directly; include instead." @@ -54,7 +54,7 @@ fenv_t; /* If the default argument is used we use this value. */ #define FE_DFL_ENV ((const fenv_t *) -1l) -#if __GLIBC_USE (IEC_60559_BFP_EXT) +#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) /* Type representing floating-point control modes. */ typedef unsigned int femode_t; diff --git a/bits/fenvinline.h b/bits/fenvinline.h deleted file mode 100644 index 42f77b5618..0000000000 --- a/bits/fenvinline.h +++ /dev/null @@ -1,8 +0,0 @@ -/* This file provides inline versions of floating-pint environment - handling functions. If there were any. */ - -#ifndef __NO_MATH_INLINES - -/* Here is where the code would go. */ - -#endif diff --git a/bits/floatn-common.h b/bits/floatn-common.h index 980bfdaf89..6aa5ba12e4 100644 --- a/bits/floatn-common.h +++ b/bits/floatn-common.h @@ -1,6 +1,6 @@ /* Macros to control TS 18661-3 glibc features where the same definitions are appropriate for all platforms. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_FLOATN_COMMON_H #define _BITS_FLOATN_COMMON_H diff --git a/bits/floatn.h b/bits/floatn.h index 9ec6632a28..7ac5596e2d 100644 --- a/bits/floatn.h +++ b/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Defined to 1 if the current compiler invocation provides a floating-point type with the IEEE 754 binary128 format, and this glibc diff --git a/bits/flt-eval-method.h b/bits/flt-eval-method.h index 64abdf150d..e2b10e3356 100644 --- a/bits/flt-eval-method.h +++ b/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MATH_H # error "Never use directly; include instead." diff --git a/bits/fp-fast.h b/bits/fp-fast.h index bbd275e2f9..328d223027 100644 --- a/bits/fp-fast.h +++ b/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MATH_H # error "Never use directly; include instead." diff --git a/bits/fp-logb.h b/bits/fp-logb.h index 63cd361416..30effcd521 100644 --- a/bits/fp-logb.h +++ b/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MATH_H # error "Never use directly; include instead." diff --git a/bits/hwcap.h b/bits/hwcap.h index b86fd1ea1f..b3d20ca6ac 100644 --- a/bits/hwcap.h +++ b/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_AUXV_H # error "Never include directly; use instead." diff --git a/bits/in.h b/bits/in.h index 7652bc45d0..0831456b76 100644 --- a/bits/in.h +++ b/bits/in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Generic version. */ diff --git a/bits/indirect-return.h b/bits/indirect-return.h index 3826c39ad9..ac389c62f5 100644 --- a/bits/indirect-return.h +++ b/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. Generic version. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _UCONTEXT_H # error "Never include directly; use instead." diff --git a/bits/ioctl-types.h b/bits/ioctl-types.h index d9c42c93f4..474a52b435 100644 --- a/bits/ioctl-types.h +++ b/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Generic Unix version. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_IOCTL_H # error "Never use directly; include instead." diff --git a/bits/ipc.h b/bits/ipc.h index 15c8611317..e2981fd5c3 100644 --- a/bits/ipc.h +++ b/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_IPC_H # error "Never use directly; include instead." diff --git a/bits/ipctypes.h b/bits/ipctypes.h index c941cd14dc..a955cdda7f 100644 --- a/bits/ipctypes.h +++ b/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * Never include directly. diff --git a/bits/iscanonical.h b/bits/iscanonical.h index 3fae311f1c..c8ac276212 100644 --- a/bits/iscanonical.h +++ b/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MATH_H # error "Never use directly; include instead." diff --git a/bits/libc-header-start.h b/bits/libc-header-start.h index 72efab29f2..b872a417be 100644 --- a/bits/libc-header-start.h +++ b/bits/libc-header-start.h @@ -1,5 +1,5 @@ /* Handle feature test macros at the start of a header. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This header is internal to glibc and should not be included outside of glibc headers. Headers including it must define @@ -43,22 +43,38 @@ #endif /* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ - macro. */ + macro. Most but not all symbols enabled by that macro in TS + 18661-1 are enabled unconditionally in C2X; the symbols in Annex F + still require that macro in C2X. */ #undef __GLIBC_USE_IEC_60559_BFP_EXT #if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__ # define __GLIBC_USE_IEC_60559_BFP_EXT 1 #else # define __GLIBC_USE_IEC_60559_BFP_EXT 0 #endif +#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X +#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X) +# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 +#else +# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0 +#endif /* ISO/IEC TS 18661-4:2015 defines the - __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. */ + __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction + functions, the symbols from this TS are enabled unconditionally in + C2X. */ #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__ # define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #else # define __GLIBC_USE_IEC_60559_FUNCS_EXT 0 #endif +#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X +#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X) +# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 +#else +# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0 +#endif /* ISO/IEC TS 18661-3:2015 defines the __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */ diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 0774a90a56..ef3ed54e81 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -1,5 +1,5 @@ /* Empty definitions required for __MATHCALL_VEC unfolding in mathcalls.h. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MATH_H # error "Never include directly;\ diff --git a/bits/long-double.h b/bits/long-double.h index ed36d97cc9..bdde78f49a 100644 --- a/bits/long-double.h +++ b/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This header is included by . @@ -37,3 +37,17 @@ #ifndef __NO_LONG_DOUBLE_MATH # define __NO_LONG_DOUBLE_MATH 1 #endif + +/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the + choice of the underlying ABI of long double. It will always assume + a constant value for each translation unit. + + If the value is non-zero, any API which is parameterized by the long + double type (i.e the scanf/printf family of functions or the explicitly + parameterized math.h functions) will be redirected to a compatible + implementation using _Float128 ABI via symbols suffixed with ieee128. + + The mechanism this macro uses to acquire may be a function + of architecture, or target specific options used to invoke the + compiler. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 diff --git a/bits/math-finite.h b/bits/math-finite.h deleted file mode 100644 index 6141c12537..0000000000 --- a/bits/math-finite.h +++ /dev/null @@ -1,197 +0,0 @@ -/* Entry points to finite-math-only compiler runs. - Copyright (C) 2011-2019 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _MATH_H -# error "Never use directly; include instead." -#endif - -#define __REDIRFROM(...) __REDIRFROM_X(__VA_ARGS__) - -#define __REDIRTO(...) __REDIRTO_X(__VA_ARGS__) - -#define __MATH_REDIRCALL_X(from, args, to) \ - extern _Mdouble_ __REDIRECT_NTH (from, args, to) -#define __MATH_REDIRCALL(function, reentrant, args) \ - __MATH_REDIRCALL_X \ - (__REDIRFROM (function, reentrant), args, \ - __REDIRTO (function, reentrant)) -#define __MATH_REDIRCALL_2(from, reentrant, args, to) \ - __MATH_REDIRCALL_X \ - (__REDIRFROM (from, reentrant), args, \ - __REDIRTO (to, reentrant)) - -#define __MATH_REDIRCALL_INTERNAL(function, reentrant, args) \ - __MATH_REDIRCALL_X \ - (__REDIRFROM (__CONCAT (__, function), \ - __CONCAT (reentrant, _finite)), \ - args, __REDIRTO (function, _r)) - - -/* acos. */ -__MATH_REDIRCALL (acos, , (_Mdouble_)); - -#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 -/* acosh. */ -__MATH_REDIRCALL (acosh, , (_Mdouble_)); -#endif - -/* asin. */ -__MATH_REDIRCALL (asin, , (_Mdouble_)); - -/* atan2. */ -__MATH_REDIRCALL (atan2, , (_Mdouble_, _Mdouble_)); - -#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 -/* atanh. */ -__MATH_REDIRCALL (atanh, , (_Mdouble_)); -#endif - -/* cosh. */ -__MATH_REDIRCALL (cosh, , (_Mdouble_)); - -/* exp. */ -__MATH_REDIRCALL (exp, , (_Mdouble_)); - -#if __GLIBC_USE (IEC_60559_FUNCS_EXT) -/* exp10. */ -__MATH_REDIRCALL (exp10, , (_Mdouble_)); -#endif - -#ifdef __USE_ISOC99 -/* exp2. */ -__MATH_REDIRCALL (exp2, , (_Mdouble_)); -#endif - -/* fmod. */ -__MATH_REDIRCALL (fmod, , (_Mdouble_, _Mdouble_)); - -#if defined __USE_XOPEN || defined __USE_ISOC99 -/* hypot. */ -__MATH_REDIRCALL (hypot, , (_Mdouble_, _Mdouble_)); -#endif - -#if (__MATH_DECLARING_DOUBLE && (defined __USE_MISC || defined __USE_XOPEN)) \ - || (!__MATH_DECLARING_DOUBLE && defined __USE_MISC) -/* j0. */ -__MATH_REDIRCALL (j0, , (_Mdouble_)); - -/* y0. */ -__MATH_REDIRCALL (y0, , (_Mdouble_)); - -/* j1. */ -__MATH_REDIRCALL (j1, , (_Mdouble_)); - -/* y1. */ -__MATH_REDIRCALL (y1, , (_Mdouble_)); - -/* jn. */ -__MATH_REDIRCALL (jn, , (int, _Mdouble_)); - -/* yn. */ -__MATH_REDIRCALL (yn, , (int, _Mdouble_)); -#endif - -#ifdef __USE_MISC -/* lgamma_r. */ -__MATH_REDIRCALL (lgamma, _r, (_Mdouble_, int *)); -#endif - -/* Redirect __lgammal_r_finite to __lgamma_r_finite when __NO_LONG_DOUBLE_MATH - is set and to itself otherwise. It also redirects __lgamma_r_finite and - __lgammaf_r_finite to themselves. */ -__MATH_REDIRCALL_INTERNAL (lgamma, _r, (_Mdouble_, int *)); - -#if ((defined __USE_XOPEN || defined __USE_ISOC99) \ - && defined __extern_always_inline) -/* lgamma. */ -__extern_always_inline _Mdouble_ -__NTH (__REDIRFROM (lgamma, ) (_Mdouble_ __d)) -{ -# if defined __USE_MISC || defined __USE_XOPEN - return __REDIRTO (lgamma, _r) (__d, &signgam); -# else - int __local_signgam = 0; - return __REDIRTO (lgamma, _r) (__d, &__local_signgam); -# endif -} -#endif - -#if ((defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)) \ - && defined __extern_always_inline) && !__MATH_DECLARING_FLOATN -/* gamma. */ -__extern_always_inline _Mdouble_ -__NTH (__REDIRFROM (gamma, ) (_Mdouble_ __d)) -{ - return __REDIRTO (lgamma, _r) (__d, &signgam); -} -#endif - -/* log. */ -__MATH_REDIRCALL (log, , (_Mdouble_)); - -/* log10. */ -__MATH_REDIRCALL (log10, , (_Mdouble_)); - -#ifdef __USE_ISOC99 -/* log2. */ -__MATH_REDIRCALL (log2, , (_Mdouble_)); -#endif - -/* pow. */ -__MATH_REDIRCALL (pow, , (_Mdouble_, _Mdouble_)); - -#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 -/* remainder. */ -__MATH_REDIRCALL (remainder, , (_Mdouble_, _Mdouble_)); -#endif - -#if ((__MATH_DECLARING_DOUBLE \ - && (defined __USE_MISC \ - || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8))) \ - || (!defined __MATH_DECLARE_LDOUBLE && defined __USE_MISC)) \ - && !__MATH_DECLARING_FLOATN -/* scalb. */ -__MATH_REDIRCALL (scalb, , (_Mdouble_, _Mdouble_)); -#endif - -/* sinh. */ -__MATH_REDIRCALL (sinh, , (_Mdouble_)); - -/* sqrt. */ -__MATH_REDIRCALL (sqrt, , (_Mdouble_)); - -#if defined __USE_ISOC99 && defined __extern_always_inline -/* tgamma. */ -extern _Mdouble_ -__REDIRFROM (__gamma, _r_finite) (_Mdouble_, int *); - -__extern_always_inline _Mdouble_ -__NTH (__REDIRFROM (tgamma, ) (_Mdouble_ __d)) -{ - int __local_signgam = 0; - _Mdouble_ __res = __REDIRTO (gamma, _r) (__d, &__local_signgam); - return __local_signgam < 0 ? -__res : __res; -} -#endif - -#undef __REDIRFROM -#undef __REDIRTO -#undef __MATH_REDIRCALL -#undef __MATH_REDIRCALL_2 -#undef __MATH_REDIRCALL_INTERNAL -#undef __MATH_REDIRCALL_X diff --git a/bits/math-vector.h b/bits/math-vector.h index 6fcc4366ab..c4e4885507 100644 --- a/bits/math-vector.h +++ b/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MATH_H # error "Never include directly;\ diff --git a/bits/mathdef.h b/bits/mathdef.h index 56418d997f..1227b13e6f 100644 --- a/bits/mathdef.h +++ b/bits/mathdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _COMPLEX_H # error "Never use directly; include instead" diff --git a/bits/mathinline.h b/bits/mathinline.h deleted file mode 100644 index 02ec21b438..0000000000 --- a/bits/mathinline.h +++ /dev/null @@ -1,12 +0,0 @@ -/* This file should provide inline versions of math functions. - - Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'. - - This file should define __MATH_INLINES if functions are actually defined as - inlines. */ - -#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__ - -/* Here goes the real code. */ - -#endif diff --git a/bits/mman.h b/bits/mman.h index 0953186a3d..35a76c196d 100644 --- a/bits/mman.h +++ b/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for BSD-style memory management. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* These are the bits used by 4.4 BSD and its derivatives. On systems (such as GNU) where these facilities are not system services but can be diff --git a/bits/mqueue.h b/bits/mqueue.h index 641f4dec6c..f80aae8ddc 100644 --- a/bits/mqueue.h +++ b/bits/mqueue.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MQUEUE_H # error "Never use directly; include instead." diff --git a/bits/msq.h b/bits/msq.h index 5ee27a3688..8304e07efc 100644 --- a/bits/msq.h +++ b/bits/msq.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_MSG_H #error "Never use directly; include instead." diff --git a/bits/netdb.h b/bits/netdb.h index 178d824bf4..56df2a6b3b 100644 --- a/bits/netdb.h +++ b/bits/netdb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _NETDB_H # error "Never include directly; use instead." diff --git a/bits/param.h b/bits/param.h index e83f60f0b5..df5634ee34 100644 --- a/bits/param.h +++ b/bits/param.h @@ -1,5 +1,5 @@ /* Old-style Unix parameters and limits. Stub version. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_PARAM_H # error "Never use directly; include instead." diff --git a/bits/poll.h b/bits/poll.h index c0d8e82a88..3fe34d7512 100644 --- a/bits/poll.h +++ b/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_POLL_H # error "Never use directly; include instead." diff --git a/bits/resource.h b/bits/resource.h index 5755b9c334..c2d25794d6 100644 --- a/bits/resource.h +++ b/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. 4.4 BSD/generic GNU version. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_RESOURCE_H # error "Never use directly; include instead." diff --git a/bits/sched.h b/bits/sched.h index c054a0554b..199da9599a 100644 --- a/bits/sched.h +++ b/bits/sched.h @@ -1,6 +1,6 @@ /* Definitions of constants and data structure for POSIX 1003.1b-1993 scheduling interface. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SCHED_H #define _BITS_SCHED_H 1 diff --git a/bits/select.h b/bits/select.h index 71b771f7c9..14ea12f437 100644 --- a/bits/select.h +++ b/bits/select.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_SELECT_H # error "Never use directly; include instead." diff --git a/bits/sem.h b/bits/sem.h index 02754c7e58..a84bfb1dd1 100644 --- a/bits/sem.h +++ b/bits/sem.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_SEM_H # error "Never include directly; use instead." diff --git a/bits/shm.h b/bits/shm.h index 1d87421779..9fb2599174 100644 --- a/bits/shm.h +++ b/bits/shm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_SHM_H # error "Never include directly; use instead." diff --git a/bits/sigaction.h b/bits/sigaction.h index 804555dd58..afcbd87107 100644 --- a/bits/sigaction.h +++ b/bits/sigaction.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SIGACTION_H #define _BITS_SIGACTION_H 1 diff --git a/bits/sigcontext.h b/bits/sigcontext.h index a46277fde7..ba7878db72 100644 --- a/bits/sigcontext.h +++ b/bits/sigcontext.h @@ -1,5 +1,5 @@ /* Structure describing state saved while handling a signal. Stub version. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SIGCONTEXT_H #define _BITS_SIGCONTEXT_H 1 diff --git a/bits/sigevent-consts.h b/bits/sigevent-consts.h index 87f22b6b0f..e5f918a09f 100644 --- a/bits/sigevent-consts.h +++ b/bits/sigevent-consts.h @@ -1,5 +1,5 @@ /* sigevent constants. Stub version. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SIGEVENT_CONSTS_H #define _BITS_SIGEVENT_CONSTS_H 1 diff --git a/bits/siginfo-consts.h b/bits/siginfo-consts.h index 4cb8416500..dbe1d18f81 100644 --- a/bits/siginfo-consts.h +++ b/bits/siginfo-consts.h @@ -1,5 +1,5 @@ /* siginfo_t constants. Stub version. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SIGINFO_CONSTS_H #define _BITS_SIGINFO_CONSTS_H 1 diff --git a/bits/signal_ext.h b/bits/signal_ext.h index d1bed56e55..107c8dc447 100644 --- a/bits/signal_ext.h +++ b/bits/signal_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of , generic version. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SIGNAL_H # error "Never include directly; use instead." diff --git a/bits/signum-arch.h b/bits/signum-arch.h new file mode 100644 index 0000000000..abecff2345 --- /dev/null +++ b/bits/signum-arch.h @@ -0,0 +1,59 @@ +/* Signal number constants. Specific architecture definitions. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGNUM_ARCH_H +#define _BITS_SIGNUM_ARCH_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 16 /* Urgent data is available at a socket. */ +#define SIGSTOP 17 /* Stop, unblockable. */ +#define SIGTSTP 18 /* Keyboard stop. */ +#define SIGCONT 19 /* Continue. */ +#define SIGCHLD 20 /* Child terminated or stopped. */ +#define SIGTTIN 21 /* Background read from control terminal. */ +#define SIGTTOU 22 /* Background write to control terminal. */ +#define SIGPOLL 23 /* Pollable event occurred (System V). */ +#define SIGXCPU 24 /* CPU time limit exceeded. */ +#define SIGVTALRM 26 /* Virtual timer expired. */ +#define SIGPROF 27 /* Profiling timer expired. */ +#define SIGXFSZ 25 /* File size limit exceeded. */ +#define SIGUSR1 30 /* User-defined signal 1. */ +#define SIGUSR2 31 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX __SIGRTMIN + +#endif diff --git a/bits/signum-generic.h b/bits/signum-generic.h index 6fbbf20a31..67131853c2 100644 --- a/bits/signum-generic.h +++ b/bits/signum-generic.h @@ -1,5 +1,5 @@ /* Signal number constants. Generic template. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SIGNUM_GENERIC_H #define _BITS_SIGNUM_GENERIC_H 1 @@ -57,31 +57,9 @@ #define SIGQUIT 3 /* Quit. */ #define SIGTRAP 5 /* Trace/breakpoint trap. */ #define SIGKILL 9 /* Killed. */ -#define SIGBUS 10 /* Bus error. */ -#define SIGSYS 12 /* Bad system call. */ #define SIGPIPE 13 /* Broken pipe. */ #define SIGALRM 14 /* Alarm clock. */ -/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ -#define SIGURG 16 /* Urgent data is available at a socket. */ -#define SIGSTOP 17 /* Stop, unblockable. */ -#define SIGTSTP 18 /* Keyboard stop. */ -#define SIGCONT 19 /* Continue. */ -#define SIGCHLD 20 /* Child terminated or stopped. */ -#define SIGTTIN 21 /* Background read from control terminal. */ -#define SIGTTOU 22 /* Background write to control terminal. */ -#define SIGPOLL 23 /* Pollable event occurred (System V). */ -#define SIGXCPU 24 /* CPU time limit exceeded. */ -#define SIGXFSZ 25 /* File size limit exceeded. */ -#define SIGVTALRM 26 /* Virtual timer expired. */ -#define SIGPROF 27 /* Profiling timer expired. */ -#define SIGUSR1 30 /* User-defined signal 1. */ -#define SIGUSR2 31 /* User-defined signal 2. */ - -/* Nonstandard signals found in all modern POSIX systems - (including both BSD and Linux). */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ - /* Archaic names for compatibility. */ #define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ #define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ @@ -93,8 +71,9 @@ but some real-time signals may be used internally by glibc. Do not use these constants in application code; use SIGRTMIN and SIGRTMAX (defined in signal.h) instead. */ -#define __SIGRTMIN 32 -#define __SIGRTMAX __SIGRTMIN + +/* Include system specific bits. */ +#include /* Biggest signal number + 1 (including real-time signals). */ #define _NSIG (__SIGRTMAX + 1) diff --git a/bits/signum.h b/bits/signum.h deleted file mode 100644 index 8c788c8e7e..0000000000 --- a/bits/signum.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Signal number constants. Generic version. - Copyright (C) 2017-2019 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGNUM_H -#define _BITS_SIGNUM_H 1 - -#ifndef _SIGNAL_H -#error "Never include directly; use instead." -#endif - -#include - -/* This operating system does not need to override any of the generic - signal number assignments in bits/signum-generic.h, nor to add any - additional signal constants. */ - -#endif /* bits/signum.h. */ diff --git a/bits/sigstack.h b/bits/sigstack.h index 393dd889a1..1089019458 100644 --- a/bits/sigstack.h +++ b/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SIGSTACK_H #define _BITS_SIGSTACK_H 1 diff --git a/bits/sigthread.h b/bits/sigthread.h index d130ce7ccb..3da46de73e 100644 --- a/bits/sigthread.h +++ b/bits/sigthread.h @@ -1,5 +1,5 @@ /* Signal handling function for threaded programs. Generic version. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SIGTHREAD_H #define _BITS_SIGTHREAD_H 1 diff --git a/bits/sockaddr.h b/bits/sockaddr.h index 2505246ec5..9b4759bea7 100644 --- a/bits/sockaddr.h +++ b/bits/sockaddr.h @@ -1,5 +1,5 @@ /* Definition of struct sockaddr_* common members and sizes, generic version. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * Never include this file directly; use instead. diff --git a/bits/socket.h b/bits/socket.h index fdcf015192..bebb2e7a57 100644 --- a/bits/socket.h +++ b/bits/socket.h @@ -1,5 +1,5 @@ /* System-specific socket constants and types. 4.4 BSD version. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ + not, see . */ #ifndef __BITS_SOCKET_H #define __BITS_SOCKET_H 1 diff --git a/bits/ss_flags.h b/bits/ss_flags.h index e8de847989..cde0537bf0 100644 --- a/bits/ss_flags.h +++ b/bits/ss_flags.h @@ -1,5 +1,5 @@ /* ss_flags values for stack_t. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SS_FLAGS_H #define _BITS_SS_FLAGS_H 1 diff --git a/bits/stat.h b/bits/stat.h index c8d0665c3e..d6497c9aa7 100644 --- a/bits/stat.h +++ b/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #if !defined _SYS_STAT_H && !defined _FCNTL_H # error "Never include directly; use instead." diff --git a/bits/statfs.h b/bits/statfs.h index eb7ab4ce52..78c981f27b 100644 --- a/bits/statfs.h +++ b/bits/statfs.h @@ -1,5 +1,5 @@ /* Definition of `struct statfs', information about a filesystem. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_STATFS_H # error "Never include directly; use instead." diff --git a/bits/statvfs.h b/bits/statvfs.h index abf5558946..67d21cf824 100644 --- a/bits/statvfs.h +++ b/bits/statvfs.h @@ -1,5 +1,5 @@ /* Definition of `struct statvfs', information about a filesystem. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_STATVFS_H # error "Never include directly; use instead." diff --git a/bits/stdint-intn.h b/bits/stdint-intn.h index fc7b43fc04..9e7bbc97ba 100644 --- a/bits/stdint-intn.h +++ b/bits/stdint-intn.h @@ -1,5 +1,5 @@ /* Define intN_t types. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_STDINT_INTN_H #define _BITS_STDINT_INTN_H 1 diff --git a/bits/stdint-uintn.h b/bits/stdint-uintn.h index e054f0b9f3..cd9fd65c5c 100644 --- a/bits/stdint-uintn.h +++ b/bits/stdint-uintn.h @@ -1,5 +1,5 @@ /* Define uintN_t types. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_STDINT_UINTN_H #define _BITS_STDINT_UINTN_H 1 diff --git a/bits/stdlib-bsearch.h b/bits/stdlib-bsearch.h index 60bb70c2d2..2f248a6937 100644 --- a/bits/stdlib-bsearch.h +++ b/bits/stdlib-bsearch.h @@ -1,5 +1,5 @@ /* Perform binary search - inline version. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ __extern_inline void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, diff --git a/bits/sys_errlist.h b/bits/sys_errlist.h deleted file mode 100644 index 4f0bc9b596..0000000000 --- a/bits/sys_errlist.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Declare sys_errlist and sys_nerr, or don't. Don't version. - Copyright (C) 2002-2019 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _STDIO_H -# error "Never include directly; use instead." -#endif - -/* sys_errlist and sys_nerr are deprecated. Use strerror instead. */ diff --git a/bits/syslog-path.h b/bits/syslog-path.h index 5b97fa7db5..056db353a7 100644 --- a/bits/syslog-path.h +++ b/bits/syslog-path.h @@ -1,5 +1,5 @@ /* -- _PATH_LOG definition - Copyright (C) 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2006-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_SYSLOG_H # error "Never include this file directly. Use instead" diff --git a/bits/sysmacros.h b/bits/sysmacros.h index 226023de7e..e6ba2cfe68 100644 --- a/bits/sysmacros.h +++ b/bits/sysmacros.h @@ -1,5 +1,5 @@ /* Definitions of macros to access `dev_t' values. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_SYSMACROS_H #define _BITS_SYSMACROS_H 1 diff --git a/bits/termios.h b/bits/termios.h index 760bdb9be2..7b062c2f10 100644 --- a/bits/termios.h +++ b/bits/termios.h @@ -1,5 +1,5 @@ /* termios type and macro definitions. 4.4 BSD/generic GNU version. - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _TERMIOS_H # error "Never include directly; use instead." diff --git a/bits/time.h b/bits/time.h index 34a598659b..3473b7e653 100644 --- a/bits/time.h +++ b/bits/time.h @@ -1,5 +1,5 @@ /* System-dependent timing definitions. Generic version. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * Never include this file directly; use instead. diff --git a/bits/time64.h b/bits/time64.h index c0f8a24d8a..42f21fc86e 100644 --- a/bits/time64.h +++ b/bits/time64.h @@ -1,5 +1,5 @@ /* bits/time64.h -- underlying types for __time64_t. Generic version. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_TYPES_H # error "Never include directly; use instead." diff --git a/bits/timesize.h b/bits/timesize.h index 242334e4d8..71bf755069 100644 --- a/bits/timesize.h +++ b/bits/timesize.h @@ -1,5 +1,5 @@ /* Bit size of the time_t type at glibc build time, general case. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/bits/types/error_t.h b/bits/types/error_t.h index 9c9cfe6c9b..63b452bac2 100644 --- a/bits/types/error_t.h +++ b/bits/types/error_t.h @@ -1,5 +1,5 @@ /* Define error_t. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef __error_t_defined # define __error_t_defined 1 diff --git a/bits/types/stack_t.h b/bits/types/stack_t.h index c9df26c931..a5aac932bb 100644 --- a/bits/types/stack_t.h +++ b/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef __stack_t_defined #define __stack_t_defined 1 diff --git a/bits/types/struct_sched_param.h b/bits/types/struct_sched_param.h index 8bf92c0fb0..db228a8d0a 100644 --- a/bits/types/struct_sched_param.h +++ b/bits/types/struct_sched_param.h @@ -1,5 +1,5 @@ /* Sched parameter structure. Generic version. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_TYPES_STRUCT_SCHED_PARAM #define _BITS_TYPES_STRUCT_SCHED_PARAM 1 diff --git a/bits/typesizes.h b/bits/typesizes.h index 41c8924336..8f16903a21 100644 --- a/bits/typesizes.h +++ b/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Generic version. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_TYPES_H # error "Never include directly; use instead." @@ -50,6 +50,7 @@ #define __TIME_T_TYPE __SLONGWORD_TYPE #define __USECONDS_T_TYPE __U32_TYPE #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE #define __DADDR_T_TYPE __S32_TYPE #define __KEY_T_TYPE __S32_TYPE #define __CLOCKID_T_TYPE __S32_TYPE @@ -72,8 +73,19 @@ /* And for rlim_t and rlim64_t. */ # define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 #else # define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 #endif /* Number of descriptors that can fit in an `fd_set'. */ diff --git a/bits/uintn-identity.h b/bits/uintn-identity.h index 23824f9f77..f2fc48b63d 100644 --- a/bits/uintn-identity.h +++ b/bits/uintn-identity.h @@ -1,5 +1,5 @@ /* Inline functions to return unsigned integer values unchanged. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #if !defined _NETINET_IN_H && !defined _ENDIAN_H # error "Never use directly; include or instead." diff --git a/bits/uio-ext.h b/bits/uio-ext.h index 1ca81a17f7..1116c6682e 100644 --- a/bits/uio-ext.h +++ b/bits/uio-ext.h @@ -1,5 +1,5 @@ /* Operating system-specific extensions to sys/uio.h - generic version. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_UIO_EXT_H #define _BITS_UIO_EXT_H 1 diff --git a/bits/uio_lim.h b/bits/uio_lim.h index ca1d3332b4..4b540c05b6 100644 --- a/bits/uio_lim.h +++ b/bits/uio_lim.h @@ -1,5 +1,5 @@ /* Implementation limits related to sys/uio.h - generic version. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_UIO_LIM_H #define _BITS_UIO_LIM_H 1 diff --git a/bits/unistd_ext.h b/bits/unistd_ext.h index d6e88f3bd4..c8e10dff3f 100644 --- a/bits/unistd_ext.h +++ b/bits/unistd_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of , generic version. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _UNISTD_H # error "Never include directly; use instead." diff --git a/bits/utmp.h b/bits/utmp.h index 4c36ca19ce..b82d14536f 100644 --- a/bits/utmp.h +++ b/bits/utmp.h @@ -1,5 +1,5 @@ -/* The `struct utmp' type, describing entries in the utmp file. Generic/BSDish - Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* The `struct utmp' type, describing entries in the utmp file. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,36 +14,114 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _UTMP_H # error "Never include directly; use instead." #endif #include -#include +#include +#include +#include -#define UT_NAMESIZE 8 -#define UT_LINESIZE 8 -#define UT_HOSTSIZE 16 +#define UT_LINESIZE 32 +#define UT_NAMESIZE 32 +#define UT_HOSTSIZE 256 +/* The structure describing an entry in the database of + previous logins. */ struct lastlog { - time_t ll_time; +#if __WORDSIZE_TIME64_COMPAT32 + int32_t ll_time; +#else + __time_t ll_time; +#endif char ll_line[UT_LINESIZE]; char ll_host[UT_HOSTSIZE]; }; -struct utmp + +/* The structure describing the status of a terminated process. This + type is used in `struct utmp' below. */ +struct exit_status { - char ut_line[UT_LINESIZE]; - char ut_user[UT_NAMESIZE]; -#define ut_name ut_user - char ut_host[UT_HOSTSIZE]; - long int ut_time; + short int e_termination; /* Process termination status. */ + short int e_exit; /* Process exit status. */ }; -#define _HAVE_UT_HOST 1 /* We have the ut_host field. */ +/* The structure describing an entry in the user accounting database. */ +struct utmp +{ + short int ut_type; /* Type of login. */ + pid_t ut_pid; /* Process ID of login process. */ + char ut_line[UT_LINESIZE] + __attribute_nonstring__; /* Devicename. */ + char ut_id[4] + __attribute_nonstring__; /* Inittab ID. */ + char ut_user[UT_NAMESIZE] + __attribute_nonstring__; /* Username. */ + char ut_host[UT_HOSTSIZE] + __attribute_nonstring__; /* Hostname for remote login. */ + struct exit_status ut_exit; /* Exit status of a process marked + as DEAD_PROCESS. */ +/* The ut_session and ut_tv fields must be the same size when compiled + 32- and 64-bit. This allows data files and shared memory to be + shared between 32- and 64-bit applications. */ +#if __WORDSIZE_TIME64_COMPAT32 + int32_t ut_session; /* Session ID, used for windowing. */ + struct + { + int32_t tv_sec; /* Seconds. */ + int32_t tv_usec; /* Microseconds. */ + } ut_tv; /* Time entry was made. */ +#else + long int ut_session; /* Session ID, used for windowing. */ + struct timeval ut_tv; /* Time entry was made. */ +#endif + + int32_t ut_addr_v6[4]; /* Internet address of remote host. */ + char __glibc_reserved[20]; /* Reserved for future use. */ +}; + +/* Backwards compatibility hacks. */ +#define ut_name ut_user +#ifndef _NO_UT_TIME +/* We have a problem here: `ut_time' is also used otherwise. Define + _NO_UT_TIME if the compiler complains. */ +# define ut_time ut_tv.tv_sec +#endif +#define ut_xtime ut_tv.tv_sec +#define ut_addr ut_addr_v6[0] + + +/* Values for the `ut_type' field of a `struct utmp'. */ +#define EMPTY 0 /* No valid user accounting information. */ + +#define RUN_LVL 1 /* The system's runlevel. */ +#define BOOT_TIME 2 /* Time of system boot. */ +#define NEW_TIME 3 /* Time after system clock changed. */ +#define OLD_TIME 4 /* Time when system clock changed. */ + +#define INIT_PROCESS 5 /* Process spawned by the init process. */ +#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ +#define USER_PROCESS 7 /* Normal process. */ +#define DEAD_PROCESS 8 /* Terminated process. */ + +#define ACCOUNTING 9 + +/* Old Linux name for the EMPTY type. */ +#define UT_UNKNOWN EMPTY + + +/* Tell the user that we have a modern system with UT_HOST, UT_PID, + UT_TYPE, UT_ID and UT_TV fields. */ +#define _HAVE_UT_TYPE 1 +#define _HAVE_UT_PID 1 +#define _HAVE_UT_ID 1 +#define _HAVE_UT_TV 1 +#define _HAVE_UT_HOST 1 diff --git a/bits/utsname.h b/bits/utsname.h index ddd76483b1..fdcce846b3 100644 --- a/bits/utsname.h +++ b/bits/utsname.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_UTSNAME_H # error "Never include directly; use instead." diff --git a/bits/waitflags.h b/bits/waitflags.h index 45d8fb0164..a2f9646b22 100644 --- a/bits/waitflags.h +++ b/bits/waitflags.h @@ -1,5 +1,5 @@ /* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1992-2019 Free Software Foundation, Inc. + Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #if !defined _SYS_WAIT_H && !defined _STDLIB_H # error "Never include directly; use instead." diff --git a/bits/waitstatus.h b/bits/waitstatus.h index 9d08786c04..66d88a0be6 100644 --- a/bits/waitstatus.h +++ b/bits/waitstatus.h @@ -1,5 +1,5 @@ /* Definitions of status bits for `wait' et al. - Copyright (C) 1992-2019 Free Software Foundation, Inc. + Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #if !defined _SYS_WAIT_H && !defined _STDLIB_H # error "Never include directly; use instead." diff --git a/bits/wchar.h b/bits/wchar.h index f21912d2a7..c00c5014d6 100644 --- a/bits/wchar.h +++ b/bits/wchar.h @@ -1,5 +1,5 @@ /* wchar_t type related definitions. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _BITS_WCHAR_H #define _BITS_WCHAR_H 1 diff --git a/catgets/Makefile b/catgets/Makefile index c3fbf99a58..24cbdedbae 100644 --- a/catgets/Makefile +++ b/catgets/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996-2019 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Makefile for catgets. diff --git a/catgets/catgets.c b/catgets/catgets.c index 9d71cdad1c..d4c427139d 100644 --- a/catgets/catgets.c +++ b/catgets/catgets.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, . @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/catgets/catgetsinfo.h b/catgets/catgetsinfo.h index 29eb1d8a27..7d9aa94e78 100644 --- a/catgets/catgetsinfo.h +++ b/catgets/catgetsinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, . @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/catgets/gencat.c b/catgets/gencat.c index f0d47ae057..f8bc7adbae 100644 --- a/catgets/gencat.c +++ b/catgets/gencat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -246,7 +246,7 @@ print_version (FILE *stream, struct argp_state *state) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2019"); +"), "2020"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } diff --git a/catgets/nl_types.h b/catgets/nl_types.h index f6abf755f8..8facbda138 100644 --- a/catgets/nl_types.h +++ b/catgets/nl_types.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _NL_TYPES_H #define _NL_TYPES_H 1 diff --git a/catgets/open_catalog.c b/catgets/open_catalog.c index 9aa6a09fd7..6b14963d78 100644 --- a/catgets/open_catalog.c +++ b/catgets/open_catalog.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, . @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/catgets/test-gencat.sh b/catgets/test-gencat.sh index bea0d739f4..b169468d6b 100755 --- a/catgets/test-gencat.sh +++ b/catgets/test-gencat.sh @@ -1,6 +1,6 @@ #!/bin/sh # Test escape character handling in gencat. -# Copyright (C) 2000-2019 Free Software Foundation, Inc. +# Copyright (C) 2000-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . set -e diff --git a/catgets/xopen-msg.awk b/catgets/xopen-msg.awk index e271dfe849..5eb693d93d 100644 --- a/catgets/xopen-msg.awk +++ b/catgets/xopen-msg.awk @@ -1,5 +1,5 @@ # xopen-msg.awk - Convert Uniforum style .po file to X/Open style .msg file -# Copyright (C) 2012-2019 Free Software Foundation, Inc. +# Copyright (C) 2012-2020 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, see . # # # The first directive in the .msg should be the definition of the diff --git a/config.h.in b/config.h.in index 824dfe8d8c..b823c8e080 100644 --- a/config.h.in +++ b/config.h.in @@ -20,6 +20,9 @@ /* On powerpc64, use overlapping .opd entries. */ #undef USE_PPC64_OVERLAPPING_OPD +/* On powerpc64, use @notoc. */ +#undef USE_PPC64_NOTOC + /* Define if _Unwind_Find_FDE should be exported from glibc. */ #undef EXPORT_UNWIND_FIND_FDE @@ -47,9 +50,6 @@ #undef STACK_PROTECTOR_LEVEL #endif -/* Defined on SPARC if GCC emits GOTDATA relocations. */ -#undef HAVE_GCC_GOTDATA - /* Define if the linker supports the -z combreloc option. */ #undef HAVE_Z_COMBRELOC @@ -112,6 +112,15 @@ /* AArch64 big endian ABI */ #undef HAVE_AARCH64_BE +/* AArch64 BTI support enabled. */ +#define HAVE_AARCH64_BTI 0 + +/* AArch64 PAC-RET code generation is enabled. */ +#define HAVE_AARCH64_PAC_RET 0 + +/* ARC big endian ABI */ +#undef HAVE_ARC_BE + /* C-SKY ABI version. */ #undef CSKYABI @@ -160,17 +169,6 @@ /* Define if multi-arch DSOs should be generated. */ #undef USE_MULTIARCH -/* Define if `.ctors' and `.dtors' sections shouldn't be used. */ -#undef NO_CTORS_DTORS_SECTIONS - -/* Define if obsolete RPC code should be made available for user-level code - to link against. */ -#undef LINK_OBSOLETE_RPC - -/* Define if obsolete libnsl code should be made available for user-level - code to link against. */ -#undef LINK_OBSOLETE_NSL - /* Define if Systemtap probes should be defined. */ #undef USE_STAP_PROBE @@ -265,4 +263,7 @@ in i386 6 argument syscall issue). */ #define CAN_USE_REGISTER_ASM_EBP 0 +/* The default value of x86 CET control. */ +#define DEFAULT_DL_X86_CET_CONTROL cet_elf_property + #endif diff --git a/config.make.in b/config.make.in index 2fed3da773..1ac9417245 100644 --- a/config.make.in +++ b/config.make.in @@ -96,8 +96,6 @@ build-profile = @profile@ build-static-nss = @static_nss@ cross-compiling = @cross_compiling@ force-install = @force_install@ -link-obsolete-rpc = @link_obsolete_rpc@ -build-obsolete-nsl = @build_obsolete_nsl@ build-crypt = @build_crypt@ build-nscd = @build_nscd@ use-nscd = @use_nscd@ diff --git a/configure b/configure index c773c487b5..4795e721e5 100755 --- a/configure +++ b/configure @@ -582,7 +582,7 @@ PACKAGE_TARNAME='glibc' PACKAGE_VERSION='(see version.h)' PACKAGE_STRING='GNU C Library (see version.h)' PACKAGE_BUGREPORT='https://sourceware.org/bugzilla/' -PACKAGE_URL='http://www.gnu.org/software/glibc/' +PACKAGE_URL='https://www.gnu.org/software/glibc/' ac_unique_file="include/features.h" enable_option_checking=no @@ -673,8 +673,6 @@ base_machine have_tunables build_pt_chown build_nscd -build_obsolete_nsl -link_obsolete_rpc libc_cv_static_nss_crypt libc_cv_nss_crypt build_crypt @@ -785,8 +783,6 @@ enable_multi_arch enable_experimental_malloc enable_crypt enable_nss_crypt -enable_obsolete_rpc -enable_obsolete_nsl enable_systemtap enable_build_nscd enable_nscd @@ -1457,10 +1453,6 @@ Optional Features: --disable-crypt do not build nor install the passphrase hashing library, libcrypt --enable-nss-crypt enable libcrypt to use nss - --enable-obsolete-rpc build and install the obsolete RPC code for - link-time usage - --enable-obsolete-nsl build and install the obsolete libnsl library and - depending NSS modules --enable-systemtap enable systemtap static probe points [default=no] --disable-build-nscd disable building and installing the nscd daemon --disable-nscd library functions will not contact the nscd daemon @@ -1505,7 +1497,7 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . -GNU C Library home page: . +GNU C Library home page: . General help using GNU software: . _ACEOF ac_status=$? @@ -2165,7 +2157,7 @@ if test "${with_bugurl+set}" = set; then : ;; esac else - BUGURL="http://www.gnu.org/software/libc/bugs.html" + BUGURL="https://www.gnu.org/software/libc/bugs.html" fi @@ -3640,34 +3632,6 @@ fi -# Check whether --enable-obsolete-rpc was given. -if test "${enable_obsolete_rpc+set}" = set; then : - enableval=$enable_obsolete_rpc; link_obsolete_rpc=$enableval -else - link_obsolete_rpc=no -fi - - - -if test "$link_obsolete_rpc" = yes; then - $as_echo "#define LINK_OBSOLETE_RPC 1" >>confdefs.h - -fi - -# Check whether --enable-obsolete-nsl was given. -if test "${enable_obsolete_nsl+set}" = set; then : - enableval=$enable_obsolete_nsl; build_obsolete_nsl=$enableval -else - build_obsolete_nsl=no -fi - - - -if test "$build_obsolete_nsl" = yes; then - $as_echo "#define LINK_OBSOLETE_NSL 1" >>confdefs.h - -fi - # Check whether --enable-systemtap was given. if test "${enable_systemtap+set}" = set; then : enableval=$enable_systemtap; systemtap=$enableval @@ -3777,11 +3741,32 @@ else fi +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __CET__ +# error no CET compiler support +#endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + libc_cv_compiler_default_cet=yes +else + libc_cv_compiler_default_cet=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + # Check whether --enable-cet was given. if test "${enable_cet+set}" = set; then : enableval=$enable_cet; enable_cet=$enableval else - enable_cet=no + enable_cet=$libc_cv_compiler_default_cet fi @@ -4014,7 +3999,7 @@ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \ -o conftest conftest.S 1>&5 2>&5; then # Do a link to see if the backend supports IFUNC relocs. $READELF -r conftest 1>&5 - LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || { + LC_ALL=C $READELF -Wr conftest | grep -q 'IRELATIVE\|R_SPARC_JMP_IREL' && { libc_cv_ld_gnu_indirect_function=yes } fi @@ -4203,7 +4188,8 @@ mach= tail=$machine${submachine:+/$submachine} while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do set $m - # Prepend the machine's FPU directory unless --without-fp. + # Prepend the machine's FPU directory unless the architecture specific + # preconfigure disables it. if test "$libc_cv_with_fp" = yes; then maybe_fpu=/fpu else @@ -5731,59 +5717,6 @@ if test $libc_cv_have_sdata_section = yes; then fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use .ctors/.dtors header and trailer" >&5 -$as_echo_n "checking whether to use .ctors/.dtors header and trailer... " >&6; } -if ${libc_cv_ctors_header+:} false; then : - $as_echo_n "(cached) " >&6 -else - libc_cv_ctors_header=yes - cat > conftest.c <&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - if $READELF -WS conftest$ac_exeext | $AWK ' - { gsub(/\[ */, "[") } - $2 == ".ctors" || $2 == ".dtors" { - size = strtonum("0x" $6) - align = strtonum("0x" $NF) - seen[$2] = 1 - stub[$2] = size == align * 2 - } - END { - ctors_ok = !seen[".ctors"] || stub[".ctors"] - dtors_ok = !seen[".dtors"] || stub[".dtors"] - exit ((ctors_ok && dtors_ok) ? 0 : 1) - } - '; then : - libc_cv_ctors_header=no -fi - -else - as_fn_error $? "missing __attribute__ ((constructor)) support??" "$LINENO" 5 - -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5 -$as_echo "$libc_cv_ctors_header" >&6; } -if test $libc_cv_ctors_header = no; then - $as_echo "#define NO_CTORS_DTORS_SECTIONS 1" >>confdefs.h - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunwind-support in compiler" >&5 $as_echo_n "checking for libunwind-support in compiler... " >&6; } if ${libc_cv_cc_with_libunwind+:} false; then : @@ -7473,7 +7406,7 @@ Configuration commands: $config_commands Report bugs to . -GNU C Library home page: . +GNU C Library home page: . General help using GNU software: ." _ACEOF diff --git a/configure.ac b/configure.ac index 598ba6c4ae..93e68fb696 100644 --- a/configure.ac +++ b/configure.ac @@ -1,12 +1,13 @@ dnl Process this file with autoconf to produce a configure script. dnl Note we do not use AC_PREREQ here! See aclocal.m4 for what we use instead. -AC_INIT([GNU C Library], [(see version.h)], [https://sourceware.org/bugzilla/], [glibc]) +AC_INIT([GNU C Library], [(see version.h)], [https://sourceware.org/bugzilla/], + [glibc], [https://www.gnu.org/software/glibc/]) AC_CONFIG_SRCDIR([include/features.h]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR([scripts]) ACX_PKGVERSION([GNU libc]) -ACX_BUGURL([http://www.gnu.org/software/libc/bugs.html]) +ACX_BUGURL([https://www.gnu.org/software/libc/bugs.html]) AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Package description]) AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], @@ -375,28 +376,6 @@ AC_SUBST(libc_cv_nss_crypt) AC_SUBST(libc_cv_static_nss_crypt) -AC_ARG_ENABLE([obsolete-rpc], - AC_HELP_STRING([--enable-obsolete-rpc], - [build and install the obsolete RPC code for link-time usage]), - [link_obsolete_rpc=$enableval], - [link_obsolete_rpc=no]) -AC_SUBST(link_obsolete_rpc) - -if test "$link_obsolete_rpc" = yes; then - AC_DEFINE(LINK_OBSOLETE_RPC) -fi - -AC_ARG_ENABLE([obsolete-nsl], - AC_HELP_STRING([--enable-obsolete-nsl], - [build and install the obsolete libnsl library and depending NSS modules]), - [build_obsolete_nsl=$enableval], - [build_obsolete_nsl=no]) -AC_SUBST(build_obsolete_nsl) - -if test "$build_obsolete_nsl" = yes; then - AC_DEFINE(LINK_OBSOLETE_NSL) -fi - AC_ARG_ENABLE([systemtap], [AS_HELP_STRING([--enable-systemtap], [enable systemtap static probe points @<:@default=no@:>@])], @@ -472,11 +451,18 @@ AC_ARG_ENABLE([mathvec], [build_mathvec=$enableval], [build_mathvec=notset]) +AC_TRY_COMPILE([], [ +#ifndef __CET__ +# error no CET compiler support +#endif], + [libc_cv_compiler_default_cet=yes], + [libc_cv_compiler_default_cet=no]) + AC_ARG_ENABLE([cet], AC_HELP_STRING([--enable-cet], [enable Intel Control-flow Enforcement Technology (CET), x86 only]), [enable_cet=$enableval], - [enable_cet=no]) + [enable_cet=$libc_cv_compiler_default_cet]) # We keep the original values in `$config_*' and never modify them, so we # can write them unchanged into config.make. Everything else uses @@ -641,7 +627,7 @@ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \ -o conftest conftest.S 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then # Do a link to see if the backend supports IFUNC relocs. $READELF -r conftest 1>&AS_MESSAGE_LOG_FD - LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || { + LC_ALL=C $READELF -Wr conftest | grep -q 'IRELATIVE\|R_SPARC_JMP_IREL' && { libc_cv_ld_gnu_indirect_function=yes } fi @@ -801,7 +787,8 @@ mach= tail=$machine${submachine:+/$submachine} while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do set $m - # Prepend the machine's FPU directory unless --without-fp. + # Prepend the machine's FPU directory unless the architecture specific + # preconfigure disables it. if test "$libc_cv_with_fp" = yes; then maybe_fpu=/fpu else @@ -1242,36 +1229,6 @@ if test $libc_cv_have_sdata_section = yes; then AC_DEFINE(HAVE_SDATA_SECTION) fi -AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer, - libc_cv_ctors_header, [dnl - libc_cv_ctors_header=yes - LIBC_TRY_LINK_STATIC([ -__attribute__ ((constructor)) void ctor (void) { asm (""); } -__attribute__ ((destructor)) void dtor (void) { asm (""); } -], - [dnl - AS_IF([$READELF -WS conftest$ac_exeext | $AWK ' - { gsub(/\@<:@ */, "@<:@") } - $2 == ".ctors" || $2 == ".dtors" { - size = strtonum("0x" $6) - align = strtonum("0x" $NF) - seen@<:@$2@:>@ = 1 - stub@<:@$2@:>@ = size == align * 2 - } - END { - ctors_ok = !seen@<:@".ctors"@:>@ || stub@<:@".ctors"@:>@ - dtors_ok = !seen@<:@".dtors"@:>@ || stub@<:@".dtors"@:>@ - exit ((ctors_ok && dtors_ok) ? 0 : 1) - } - '], [libc_cv_ctors_header=no]) - ], [dnl - AC_MSG_ERROR([missing __attribute__ ((constructor)) support??]) - ]) -]) -if test $libc_cv_ctors_header = no; then - AC_DEFINE(NO_CTORS_DTORS_SECTIONS) -fi - AC_CACHE_CHECK(for libunwind-support in compiler, libc_cv_cc_with_libunwind, [ cat > conftest.c <. +# . # # Sub-makefile for conform portion of the library. diff --git a/conform/check-header-lists.sh b/conform/check-header-lists.sh index ba262c33b5..2019622ecc 100755 --- a/conform/check-header-lists.sh +++ b/conform/check-header-lists.sh @@ -1,6 +1,6 @@ #!/bin/sh # Check the set of headers with conformtest expectations for a given standard. -# Copyright (C) 2014-2019 Free Software Foundation, Inc. +# Copyright (C) 2014-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . set -e diff --git a/conform/conformtest.py b/conform/conformtest.py index 53cca690d1..cb2bd97eca 100644 --- a/conform/conformtest.py +++ b/conform/conformtest.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 # Check header contents against the given standard. -# Copyright (C) 2018-2019 Free Software Foundation, Inc. +# Copyright (C) 2018-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . import argparse import fnmatch @@ -633,12 +633,11 @@ def check_namespace(self, name): bad_tokens.discard(match.group(1)) continue # Tokenize the line and check identifiers found. The - # handling of strings does not allow for escaped - # quotes, no allowance is made for character - # constants, and hex floats may be wrongly split into - # tokens including identifiers, but this is sufficient - # in practice and matches the old perl script. - line = re.sub(r'"[^"]*"', '', line) + # handling of strings and character constants does not + # allow for escaped quotes, and hex floats may be + # wrongly split into tokens including identifiers, but + # this is sufficient in practice. + line = re.sub(r'(?:\bL)?(?:"[^"]*"|\'[^\']*\')', '', line) line = line.strip() for token in re.split(r'[^A-Za-z0-9_]+', line): if re.match(r'[A-Za-z_]', token): diff --git a/conform/data/sys/ipc.h-data b/conform/data/sys/ipc.h-data index 09e8f68f8e..1364b07e87 100644 --- a/conform/data/sys/ipc.h-data +++ b/conform/data/sys/ipc.h-data @@ -6,8 +6,7 @@ xfail[i386-gnu]-element {struct ipc_perm} uid_t uid xfail[i386-gnu]-element {struct ipc_perm} gid_t gid xfail[i386-gnu]-element {struct ipc_perm} uid_t cuid xfail[i386-gnu]-element {struct ipc_perm} gid_t cgid -// Bug 18231: wrong type for mode member. -xfail-element {struct ipc_perm} mode_t mode +xfail[i386-gnu]-element {struct ipc_perm} mode_t mode type uid_t type gid_t diff --git a/conform/glibcconform.py b/conform/glibcconform.py index a00b27dc37..1440dedc83 100644 --- a/conform/glibcconform.py +++ b/conform/glibcconform.py @@ -1,6 +1,6 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Shared code for glibc conformance tests. -# Copyright (C) 2018-2019 Free Software Foundation, Inc. +# Copyright (C) 2018-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . import os.path import re diff --git a/conform/linknamespace.py b/conform/linknamespace.py index cfadfdd3ad..1d27e4cfba 100644 --- a/conform/linknamespace.py +++ b/conform/linknamespace.py @@ -1,8 +1,8 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Check that use of symbols declared in a given header does not result # in any symbols being brought in that are not reserved with external # linkage for the given standard. -# Copyright (C) 2014-2019 Free Software Foundation, Inc. +# Copyright (C) 2014-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -17,7 +17,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . import argparse from collections import defaultdict diff --git a/conform/list-header-symbols.py b/conform/list-header-symbols.py index 544b553aa3..bfa463a303 100644 --- a/conform/list-header-symbols.py +++ b/conform/list-header-symbols.py @@ -1,7 +1,7 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Print a list of symbols exported by some headers that would # otherwise be in the user's namespace. -# Copyright (C) 2018-2019 Free Software Foundation, Inc. +# Copyright (C) 2018-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,7 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . import argparse diff --git a/crypt/Makefile b/crypt/Makefile index fd36111617..6311f0c3ff 100644 --- a/crypt/Makefile +++ b/crypt/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996-2019 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Sub-makefile for crypt() portion of the library. diff --git a/crypt/badsalttest.c b/crypt/badsalttest.c index 60b24abbab..110f9fc090 100644 --- a/crypt/badsalttest.c +++ b/crypt/badsalttest.c @@ -1,5 +1,5 @@ /* Test program for bad DES salt detection in crypt. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/crypt/crypt-entry.c b/crypt/crypt-entry.c index 339090d4d6..502b5846f0 100644 --- a/crypt/crypt-entry.c +++ b/crypt/crypt-entry.c @@ -1,7 +1,7 @@ /* * UFC-crypt: ultra fast crypt(3) implementation * - * Copyright (C) 1991-2019 Free Software Foundation, Inc. + * Copyright (C) 1991-2020 Free Software Foundation, Inc. * * The GNU C Library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with the GNU C Library; if not, see - * . + * . * * crypt entry points * diff --git a/crypt/crypt-private.h b/crypt/crypt-private.h index ed4aa906e3..cf8275896a 100644 --- a/crypt/crypt-private.h +++ b/crypt/crypt-private.h @@ -1,7 +1,7 @@ /* * UFC-crypt: ultra fast crypt(3) implementation * - * Copyright (C) 1991-2019 Free Software Foundation, Inc. + * Copyright (C) 1991-2020 Free Software Foundation, Inc. * * The GNU C Library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with the GNU C Library; if not, see - * . + * . * * @(#)crypt-private.h 1.4 12/20/96 */ diff --git a/crypt/crypt.c b/crypt/crypt.c index 43c0ae3b47..1400cd285f 100644 --- a/crypt/crypt.c +++ b/crypt/crypt.c @@ -1,7 +1,7 @@ /* * UFC-crypt: ultra fast crypt(3) implementation * - * Copyright (C) 1991-2019 Free Software Foundation, Inc. + * Copyright (C) 1991-2020 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with this library; see the file COPYING.LIB. If not, - * see . + * see . * * @(#)crypt.c 2.25 12/20/96 * diff --git a/crypt/crypt.h b/crypt/crypt.h index 65061deb9d..ca8ad456cc 100644 --- a/crypt/crypt.h +++ b/crypt/crypt.h @@ -1,7 +1,7 @@ /* * UFC-crypt: ultra fast crypt(3) implementation * - * Copyright (C) 1991-2019 Free Software Foundation, Inc. + * Copyright (C) 1991-2020 Free Software Foundation, Inc. * * The GNU C Library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with the GNU C Library; if not, see - * . + * . * * @(#)crypt.h 1.5 12/20/96 * diff --git a/crypt/crypt_util.c b/crypt/crypt_util.c index 8cff87b458..4b2f0a89cb 100644 --- a/crypt/crypt_util.c +++ b/crypt/crypt_util.c @@ -1,7 +1,7 @@ /* * UFC-crypt: ultra fast crypt(3) implementation * - * Copyright (C) 1991-2019 Free Software Foundation, Inc. + * Copyright (C) 1991-2020 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with this library; see the file COPYING.LIB. If not, - * see . + * see . * * @(#)crypt_util.c 2.56 12/20/96 * diff --git a/crypt/md5-crypt.c b/crypt/md5-crypt.c index ff7d96cdc7..8c715ef410 100644 --- a/crypt/md5-crypt.c +++ b/crypt/md5-crypt.c @@ -1,6 +1,6 @@ /* One way encryption based on MD5 sum. Compatible with the behavior of MD5 crypt introduced in FreeBSD 2.0. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/crypt/md5.c b/crypt/md5.c index ef13ca948e..c74637c50d 100644 --- a/crypt/md5.c +++ b/crypt/md5.c @@ -1,6 +1,6 @@ /* Functions to compute MD5 message digest of files or memory blocks. according to the definition of MD5 in RFC 1321 from April 1992. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Written by Ulrich Drepper , 1995. */ diff --git a/crypt/md5.h b/crypt/md5.h index dd7de528d7..36f2d63ef3 100644 --- a/crypt/md5.h +++ b/crypt/md5.h @@ -1,6 +1,6 @@ /* Declaration of functions and data types used for MD5 sum computing library functions. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MD5_H #define _MD5_H 1 diff --git a/crypt/md5test-giant.c b/crypt/md5test-giant.c index cf1b6535f8..c892b70aa6 100644 --- a/crypt/md5test-giant.c +++ b/crypt/md5test-giant.c @@ -1,5 +1,5 @@ /* Testcase for https://sourceware.org/bugzilla/show_bug.cgi?id=14090. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include #include diff --git a/crypt/sha256-crypt.c b/crypt/sha256-crypt.c index c10061dd03..cefef173ea 100644 --- a/crypt/sha256-crypt.c +++ b/crypt/sha256-crypt.c @@ -1,5 +1,5 @@ /* One way encryption based on SHA256 sum. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2007. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/crypt/sha256.c b/crypt/sha256.c index f90650f083..d60162c049 100644 --- a/crypt/sha256.c +++ b/crypt/sha256.c @@ -1,6 +1,6 @@ /* Functions to compute SHA256 message digest of files or memory blocks. according to the definition of SHA256 in FIPS 180-2. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Written by Ulrich Drepper , 2007. */ diff --git a/crypt/sha256.h b/crypt/sha256.h index c311e5d3d7..05ccb38b3e 100644 --- a/crypt/sha256.h +++ b/crypt/sha256.h @@ -1,6 +1,6 @@ /* Declaration of functions and data types used for SHA256 sum computing library functions. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SHA256_H #define _SHA256_H 1 diff --git a/crypt/sha512-crypt.c b/crypt/sha512-crypt.c index df665cbe21..a1878c4dd4 100644 --- a/crypt/sha512-crypt.c +++ b/crypt/sha512-crypt.c @@ -1,5 +1,5 @@ /* One way encryption based on SHA512 sum. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2007. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/crypt/sha512.c b/crypt/sha512.c index 94adbd428a..aeced8844f 100644 --- a/crypt/sha512.c +++ b/crypt/sha512.c @@ -1,6 +1,6 @@ /* Functions to compute SHA512 message digest of files or memory blocks. according to the definition of SHA512 in FIPS 180-2. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Written by Ulrich Drepper , 2007. */ diff --git a/crypt/sha512.h b/crypt/sha512.h index 4b4d89eb4f..edb93804e1 100644 --- a/crypt/sha512.h +++ b/crypt/sha512.h @@ -1,6 +1,6 @@ /* Declaration of functions and data types used for SHA512 sum computing library functions. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SHA512_H #define _SHA512_H 1 diff --git a/crypt/ufc-crypt.h b/crypt/ufc-crypt.h index 7b511e949d..ca8a5e7123 100644 --- a/crypt/ufc-crypt.h +++ b/crypt/ufc-crypt.h @@ -1,5 +1,5 @@ /* Types for UFC-crypt. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/crypt/ufc.c b/crypt/ufc.c index bc617c3124..80752a92e1 100644 --- a/crypt/ufc.c +++ b/crypt/ufc.c @@ -1,7 +1,7 @@ /* * UFC-crypt: ultra fast crypt(3) implementation * - * Copyright (C) 1991-2019 Free Software Foundation, Inc. + * Copyright (C) 1991-2020 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with the GNU C Library; see the file COPYING.LIB. If not, - * see . + * see . * * @(#)ufc.c 2.7 9/10/96 * diff --git a/csu/Makefile b/csu/Makefile index 73844b912f..555ae27dea 100644 --- a/csu/Makefile +++ b/csu/Makefile @@ -1,5 +1,5 @@ # Makefile for csu code for GNU C library. -# Copyright (C) 1995-2019 Free Software Foundation, Inc. +# Copyright (C) 1995-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # This directory contains the C startup code (that which calls main). This # consists of the startfile, built from start.c and installed as crt0.o diff --git a/csu/abi-note.S b/csu/abi-note.S deleted file mode 100644 index fa1f014a88..0000000000 --- a/csu/abi-note.S +++ /dev/null @@ -1,72 +0,0 @@ -/* Special .init and .fini section support. - Copyright (C) 1997-2019 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* Define an ELF note identifying the operating-system ABI that the - executable was created for. The ELF note information identifies a - particular OS or coordinated development effort within which the - ELF header's e_machine value plus (for dynamically linked programs) - the PT_INTERP dynamic linker name and DT_NEEDED shared library - names fully identify the runtime environment required by an - executable. - - The general format of ELF notes is as follows. - Offsets and lengths are bytes or (parenthetical references) to the - values in other fields. - -offset length contents -0 4 length of name -4 4 length of data -8 4 note type -12 (0) vendor name - - null-terminated ASCII string, padded to 4-byte alignment -12+(0) (4) note data, - - The GNU project and cooperating development efforts (including the - Linux community) use note type 1 and a vendor name string of "GNU" - for a note descriptor that indicates ABI requirements. The note data - is four 32-bit words. The first of these is an operating system - number (0=Linux, 1=Hurd, 2=Solaris, ...) and the remaining three - identify the earliest release of that OS that supports this ABI. - See abi-tags (top level) for details. */ - -#include -#include /* OS-specific ABI tag value */ - -/* The linker (GNU ld 2.8 and later) recognizes an allocated section whose - name begins with `.note' and creates a PT_NOTE program header entry - pointing at it. */ - - .section ".note.ABI-tag", "a" - .p2align 2 - .long 1f - 0f /* name length */ - .long 3f - 2f /* data length */ - .long 1 /* note type */ -0: .asciz "GNU" /* vendor name */ -1: .p2align 2 -2: .long __ABI_TAG_OS /* note data: the ABI tag */ - .long __ABI_TAG_VERSION -3: .p2align 2 /* pad out section */ diff --git a/csu/abi-note.c b/csu/abi-note.c new file mode 100644 index 0000000000..8febf4cac0 --- /dev/null +++ b/csu/abi-note.c @@ -0,0 +1,77 @@ +/* Special .init and .fini section support. + Copyright (C) 1997-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file with other + programs, and to distribute those programs without any restriction + coming from the use of this file. (The Lesser General Public + License restrictions do apply in other respects; for example, they + cover modification of the file, and distribution when not linked + into another program.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Define an ELF note identifying the operating-system ABI that the + executable was created for. The ELF note information identifies a + particular OS or coordinated development effort within which the + ELF header's e_machine value plus (for dynamically linked programs) + the PT_INTERP dynamic linker name and DT_NEEDED shared library + names fully identify the runtime environment required by an + executable. + + The general format of ELF notes is as follows. + Offsets and lengths are bytes or (parenthetical references) to the + values in other fields. + +offset length contents +0 4 length of name +4 4 length of data +8 4 note type +12 (0) vendor name + - null-terminated ASCII string, padded to 4-byte alignment +12+(0) (4) note data, + + The GNU project and cooperating development efforts (including the + Linux community) use note type 1 and a vendor name string of "GNU" + for a note descriptor that indicates ABI requirements. The note data + is four 32-bit words. The first of these is an operating system + number (0=Linux, 1=Hurd, 2=Solaris, ...) and the remaining three + identify the earliest release of that OS that supports this ABI. + See abi-tags (top level) for details. */ + +#include +#include +#include +#include /* OS-specific ABI tag value */ + +/* The linker (GNU ld 2.8 and later) recognizes an allocated section whose + name begins with `.note' and creates a PT_NOTE program header entry + pointing at it. */ + +__attribute__ ((used, aligned (4), section (".note.ABI-tag"))) +static const struct +{ + ElfW(Nhdr) nhdr; + char name[4]; + int32_t desc[4]; +} __abi_tag = { + { .n_namesz = sizeof __abi_tag.name, + .n_descsz = sizeof __abi_tag.desc, + .n_type = 1 }, + "GNU", + { __ABI_TAG_OS, __ABI_TAG_VERSION } +}; diff --git a/csu/check_fds.c b/csu/check_fds.c index fceba96b1f..30634b81a7 100644 --- a/csu/check_fds.c +++ b/csu/check_fds.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/csu/dso_handle.c b/csu/dso_handle.c index 05960bca03..c910af4e53 100644 --- a/csu/dso_handle.c +++ b/csu/dso_handle.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2019 Free Software Foundation, Inc. +/* Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* We have to define __dso_handle ourselves since we do not use gcc's crtbegin files. */ diff --git a/csu/elf-init.c b/csu/elf-init.c index 9d192dfca0..98b3f11ff5 100644 --- a/csu/elf-init.c +++ b/csu/elf-init.c @@ -1,5 +1,5 @@ /* Startup support for ELF initializers/finalizers in the main executable. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,9 +31,10 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include +#include /* These magic symbols are provided by the linker. */ @@ -49,7 +50,7 @@ extern void (*__fini_array_start []) (void) attribute_hidden; extern void (*__fini_array_end []) (void) attribute_hidden; -#ifndef NO_INITFINI +#if ELF_INITFINI /* These function symbols are provided for the .init/.fini section entry points automagically by the linker. */ extern void _init (void); @@ -79,7 +80,7 @@ __libc_csu_init (int argc, char **argv, char **envp) } #endif -#ifndef NO_INITFINI +#if ELF_INITFINI _init (); #endif @@ -99,7 +100,7 @@ __libc_csu_fini (void) while (i-- > 0) (*__fini_array_start [i]) (); -# ifndef NO_INITFINI +# if ELF_INITFINI _fini (); # endif #endif diff --git a/csu/errno-loc.c b/csu/errno-loc.c index 76d30846d5..cf59c2bae1 100644 --- a/csu/errno-loc.c +++ b/csu/errno-loc.c @@ -1,6 +1,6 @@ /* MT support function to get address of `errno' variable, non-threaded version. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/csu/errno.c b/csu/errno.c index 89666c662f..5511279a7c 100644 --- a/csu/errno.c +++ b/csu/errno.c @@ -1,5 +1,5 @@ /* Definition of `errno' variable. Canonical version. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/csu/gmon-start.c b/csu/gmon-start.c index 347efed449..da9f04c522 100644 --- a/csu/gmon-start.c +++ b/csu/gmon-start.c @@ -1,5 +1,5 @@ /* Code to enable profiling at program startup. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,12 +31,13 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include #include #include +#include #define __ASSEMBLY__ #include @@ -59,6 +60,13 @@ extern char etext[]; # endif #endif +#if !ELF_INITFINI +/* Instead of defining __gmon_start__ globally in gcrt1.o, we make it + static and just put a pointer to it into the .preinit_array + section. */ +# define GMON_START_ARRAY_SECTION ".preinit_array" +#endif + #ifdef GMON_START_ARRAY_SECTION static void __gmon_start__ (void); static void (*const gmon_start_initializer) (void) diff --git a/csu/init-first.c b/csu/init-first.c index 10762b61f5..47aaacdbd0 100644 --- a/csu/init-first.c +++ b/csu/init-first.c @@ -1,5 +1,5 @@ /* Initialization code run first thing by the ELF startup code. Common version - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,9 +14,8 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ -#include #include #include #include @@ -43,12 +42,11 @@ void __libc_init_first (int argc, char **argv, char **envp) { #ifdef SHARED - /* For DSOs we do not need __libc_init_first but instead _init. */ + /* For DSOs we do not need __libc_init_first but an ELF constructor. */ } -void -attribute_hidden -_init (int argc, char **argv, char **envp) +static void __attribute__ ((constructor)) +_init_first (int argc, char **argv, char **envp) { #endif @@ -74,24 +72,14 @@ _init (int argc, char **argv, char **envp) _dl_non_dynamic_init (); #endif -#ifdef VDSO_SETUP - VDSO_SETUP (); -#endif - __init_misc (argc, argv, envp); - - /* Initialize ctype data. */ - __ctype_init (); - -#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS - __libc_global_ctors (); -#endif } /* This function is defined here so that if this file ever gets into ld.so we will get a link error. Having this file silently included - in ld.so causes disaster, because the _init definition above will - cause ld.so to gain an init function, which is not a cool thing. */ + in ld.so causes disaster, because the _init_first definition above + will cause ld.so to gain an ELF constructor, which is not a cool + thing. */ extern void _dl_start (void) __attribute__ ((noreturn)); diff --git a/csu/init.c b/csu/init.c index c7a6da07d0..db7598778a 100644 --- a/csu/init.c +++ b/csu/init.c @@ -1,5 +1,5 @@ /* Special startup support. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Vestigial libio version number. Some code in libio checks whether this symbol exists in the executable, but nothing looks at its diff --git a/csu/libc-start.c b/csu/libc-start.c index 5d9c3675fa..4005caf84a 100644 --- a/csu/libc-start.c +++ b/csu/libc-start.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2019 Free Software Foundation, Inc. +/* Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -22,6 +22,8 @@ #include #include #include +#include +#include #include @@ -238,6 +240,10 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), __cxa_atexit ((void (*) (void *)) rtld_fini, NULL, NULL); #ifndef SHARED + /* Perform early initialization. In the shared case, this function + is called from the dynamic loader as early as possible. */ + __libc_early_init (true); + /* Call the initializer of the libc. This is only needed here if we are compiling for the static library in which case we haven't run the constructors in `_dl_start_user'. */ @@ -272,7 +278,7 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->preinit != NULL) - afct->preinit (&head->l_audit[cnt].cookie); + afct->preinit (&link_map_audit_state (head, cnt)->cookie); afct = afct->next; } diff --git a/csu/libc-tls.c b/csu/libc-tls.c index a36d1d49ac..06e76bd395 100644 --- a/csu/libc-tls.c +++ b/csu/libc-tls.c @@ -1,5 +1,5 @@ /* Initialization code for TLS in statically linked application. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -23,7 +23,7 @@ #include #include #include - +#include #ifdef SHARED #error makefile bug, this file is for static only @@ -32,17 +32,11 @@ dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS]; -static struct -{ - struct dtv_slotinfo_list si; - /* The dtv_slotinfo_list data structure does not include the actual - information since it is defined as an array of size zero. We define - here the necessary entries. Note that it is not important whether - there is padding or not since we will always access the information - through the 'si' element. */ - struct dtv_slotinfo info[2 + TLS_SLOTINFO_SURPLUS]; -} static_slotinfo; - +static struct dtv_slotinfo_list static_slotinfo = + { + /* Allocate an array of 2 + TLS_SLOTINFO_SURPLUS elements. */ + .slotinfo = { [array_length (_dl_static_dtv) - 1] = { 0 } }, + }; /* Highest dtv index currently needed. */ size_t _dl_tls_max_dtv_idx; @@ -52,13 +46,19 @@ bool _dl_tls_dtv_gaps; struct dtv_slotinfo_list *_dl_tls_dtv_slotinfo_list; /* Number of modules in the static TLS block. */ size_t _dl_tls_static_nelem; -/* Size of the static TLS block. Giving this initialized value - preallocates some surplus bytes in the static TLS area. */ -size_t _dl_tls_static_size = 2048; +/* Size of the static TLS block. */ +size_t _dl_tls_static_size; /* Size actually allocated in the static TLS block. */ size_t _dl_tls_static_used; /* Alignment requirement of the static TLS block. */ size_t _dl_tls_static_align; +/* Size of surplus space in the static TLS area for dynamically + loaded modules with IE-model TLS or for TLSDESC optimization. + See comments in elf/dl-tls.c where it is initialized. */ +size_t _dl_tls_static_surplus; +/* Remaining amount of static TLS that may be used for optimizing + dynamic TLS access (e.g. with TLSDESC). */ +size_t _dl_tls_static_optional; /* Generation counter for the dtv. */ size_t _dl_tls_generation; @@ -72,25 +72,23 @@ TLS_INIT_HELPER static void init_slotinfo (void) { - /* Create the slotinfo list. */ - static_slotinfo.si.len = (((char *) (&static_slotinfo + 1) - - (char *) &static_slotinfo.si.slotinfo[0]) - / sizeof static_slotinfo.si.slotinfo[0]); - // static_slotinfo.si.next = NULL; already zero + /* Create the slotinfo list. Note that the type of static_slotinfo + has effectively a zero-length array, so we cannot use the size of + static_slotinfo to determine the array length. */ + static_slotinfo.len = array_length (_dl_static_dtv); + /* static_slotinfo.next = NULL; -- Already zero. */ /* The slotinfo list. Will be extended by the code doing dynamic linking. */ GL(dl_tls_max_dtv_idx) = 1; - GL(dl_tls_dtv_slotinfo_list) = &static_slotinfo.si; + GL(dl_tls_dtv_slotinfo_list) = &static_slotinfo; } static void init_static_tls (size_t memsz, size_t align) { - /* That is the size of the TLS memory for this object. The initialized - value of _dl_tls_static_size is provided by dl-open.c to request some - surplus that permits dynamic loading of modules with IE-model TLS. */ - GL(dl_tls_static_size) = roundup (memsz + GL(dl_tls_static_size), + /* That is the size of the TLS memory for this object. */ + GL(dl_tls_static_size) = roundup (memsz + GLRO(dl_tls_static_surplus), TLS_TCB_ALIGN); #if TLS_TCB_AT_TP GL(dl_tls_static_size) += TLS_TCB_SIZE; @@ -131,25 +129,24 @@ __libc_setup_tls (void) break; } + /* Calculate the size of the static TLS surplus, with 0 auditors. */ + _dl_tls_static_surplus_init (0); + /* We have to set up the TCB block which also (possibly) contains 'errno'. Therefore we avoid 'malloc' which might touch 'errno'. Instead we use 'sbrk' which would only uses 'errno' if it fails. In this case we are right away out of memory and the user gets - what she/he deserves. - - The initialized value of _dl_tls_static_size is provided by dl-open.c - to request some surplus that permits dynamic loading of modules with - IE-model TLS. */ + what she/he deserves. */ #if TLS_TCB_AT_TP /* Align the TCB offset to the maximum alignment, as _dl_allocate_tls_storage (in elf/dl-tls.c) does using __libc_memalign and dl_tls_static_align. */ - tcb_offset = roundup (memsz + GL(dl_tls_static_size), max_align); + tcb_offset = roundup (memsz + GLRO(dl_tls_static_surplus), max_align); tlsblock = __sbrk (tcb_offset + TLS_INIT_TCB_SIZE + max_align); #elif TLS_DTV_AT_TP tcb_offset = roundup (TLS_INIT_TCB_SIZE, align ?: 1); tlsblock = __sbrk (tcb_offset + memsz + max_align - + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size)); + + TLS_PRE_TCB_SIZE + GLRO(dl_tls_static_surplus)); tlsblock += TLS_PRE_TCB_SIZE; #else /* In case a model with a different layout for the TCB and DTV @@ -205,8 +202,8 @@ __libc_setup_tls (void) main_map->l_tls_modid = 1; init_slotinfo (); - // static_slotinfo.si.slotinfo[1].gen = 0; already zero - static_slotinfo.si.slotinfo[1].map = main_map; + /* static_slotinfo.slotinfo[1].gen = 0; -- Already zero. */ + static_slotinfo.slotinfo[1].map = main_map; memsz = roundup (memsz, align ?: 1); diff --git a/csu/static-reloc.c b/csu/static-reloc.c index 38bbb0ff6a..b41a940142 100644 --- a/csu/static-reloc.c +++ b/csu/static-reloc.c @@ -1,5 +1,5 @@ /* Special startup support for non-PIE static executables. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #if ENABLE_STATIC_PIE #include diff --git a/csu/version.c b/csu/version.c index 5d2ae15510..57b49dfd8a 100644 --- a/csu/version.c +++ b/csu/version.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "version.h" #include @@ -25,7 +25,7 @@ static const char __libc_version[] = VERSION; static const char banner[] = "GNU C Library "PKGVERSION RELEASE" release version "VERSION".\n\ -Copyright (C) 2019 Free Software Foundation, Inc.\n\ +Copyright (C) 2020 Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions.\n\ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ PARTICULAR PURPOSE.\n\ diff --git a/ctype/Makefile b/ctype/Makefile index a4e216957a..daaa908329 100644 --- a/ctype/Makefile +++ b/ctype/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Sub-makefile for ctype portion of the library. diff --git a/ctype/ctype-c99.c b/ctype/ctype-c99.c index cab944609b..970d60719b 100644 --- a/ctype/ctype-c99.c +++ b/ctype/ctype-c99.c @@ -1,5 +1,5 @@ /* External function version of isblank. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define __NO_CTYPE #include diff --git a/ctype/ctype-c99_l.c b/ctype/ctype-c99_l.c index be3521bf12..8352f36434 100644 --- a/ctype/ctype-c99_l.c +++ b/ctype/ctype-c99_l.c @@ -1,5 +1,5 @@ /* External function version of isblank_l. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define __NO_CTYPE #include diff --git a/ctype/ctype-extn.c b/ctype/ctype-extn.c index db617b0ac0..76691ec86d 100644 --- a/ctype/ctype-extn.c +++ b/ctype/ctype-extn.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define __NO_CTYPE #include diff --git a/ctype/ctype-info.c b/ctype/ctype-info.c index 4083c7d2a6..15ee600a1a 100644 --- a/ctype/ctype-info.c +++ b/ctype/ctype-info.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define CTYPE_EXTERN_INLINE /* Define real functions for accessors. */ #include diff --git a/ctype/ctype.c b/ctype/ctype.c index 332b1312d2..e0f149ff96 100644 --- a/ctype/ctype.c +++ b/ctype/ctype.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define __NO_CTYPE #include diff --git a/ctype/ctype.h b/ctype/ctype.h index 78a455e227..351495aa4f 100644 --- a/ctype/ctype.h +++ b/ctype/ctype.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * ISO C99 Standard 7.4: Character handling @@ -36,7 +36,7 @@ __BEGIN_DECLS endian). We define the bit value interpretations here dependent on the machine's byte order. */ -# include +# include # if __BYTE_ORDER == __BIG_ENDIAN # define _ISbit(bit) (1 << (bit)) # else /* __BYTE_ORDER == __LITTLE_ENDIAN */ diff --git a/ctype/ctype_l.c b/ctype/ctype_l.c index d785ac0b89..79aaf8cb67 100644 --- a/ctype/ctype_l.c +++ b/ctype/ctype_l.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define __NO_CTYPE #include diff --git a/ctype/isctype.c b/ctype/isctype.c index abae15d864..bc40b512a5 100644 --- a/ctype/isctype.c +++ b/ctype/isctype.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2019 Free Software Foundation, Inc. +/* Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/ctype/test_ctype.c b/ctype/test_ctype.c index e1edee6df5..9b8227e5c1 100644 --- a/ctype/test_ctype.c +++ b/ctype/test_ctype.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/Makefile b/debug/Makefile index 6351b7e9f4..3a60d7af7a 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2019 Free Software Foundation, Inc. +# Copyright (C) 1998-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Sub-makefile for debug portion of the library. @@ -188,6 +188,17 @@ LOCALES := de_DE.UTF-8 include ../gen-locales.mk $(objpfx)tst-chk1.out: $(gen-locales) +$(objpfx)tst-chk2.out: $(gen-locales) +$(objpfx)tst-chk3.out: $(gen-locales) +$(objpfx)tst-chk4.out: $(gen-locales) +$(objpfx)tst-chk5.out: $(gen-locales) +$(objpfx)tst-chk6.out: $(gen-locales) +$(objpfx)tst-lfschk1.out: $(gen-locales) +$(objpfx)tst-lfschk2.out: $(gen-locales) +$(objpfx)tst-lfschk3.out: $(gen-locales) +$(objpfx)tst-lfschk4.out: $(gen-locales) +$(objpfx)tst-lfschk5.out: $(gen-locales) +$(objpfx)tst-lfschk6.out: $(gen-locales) endif sLIBdir := $(shell echo $(slibdir) | sed 's,lib\(\|64\)$$,\\\\$$LIB,') diff --git a/debug/asprintf_chk.c b/debug/asprintf_chk.c index edd730bfa3..adb7c946c7 100644 --- a/debug/asprintf_chk.c +++ b/debug/asprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/backtrace.c b/debug/backtrace.c index 87aaa4991f..69cf4c23c8 100644 --- a/debug/backtrace.c +++ b/debug/backtrace.c @@ -1,5 +1,5 @@ /* Return backtrace of current program state. - Copyright (C) 2003-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2003. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -23,6 +23,7 @@ #include #include #include +#include struct trace_arg { @@ -78,6 +79,10 @@ backtrace_helper (struct _Unwind_Context *ctx, void *a) if (arg->cnt != -1) { arg->array[arg->cnt] = (void *) unwind_getip (ctx); + if (arg->cnt > 0) + arg->array[arg->cnt] + = unwind_arch_adjustment (arg->array[arg->cnt - 1], + arg->array[arg->cnt]); /* Check whether we make any progress. */ _Unwind_Word cfa = unwind_getcfa (ctx); diff --git a/debug/backtracesyms.c b/debug/backtracesyms.c index 1fe7120beb..d249927e8c 100644 --- a/debug/backtracesyms.c +++ b/debug/backtracesyms.c @@ -1,5 +1,5 @@ /* Return list with names for address in backtrace. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/backtracesymsfd.c b/debug/backtracesymsfd.c index 5751d62f85..48773c896a 100644 --- a/debug/backtracesymsfd.c +++ b/debug/backtracesymsfd.c @@ -1,5 +1,5 @@ /* Write formatted list with names for addresses in backtrace to a file. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/catchsegv.sh b/debug/catchsegv.sh index 245c100f56..dcf5948400 100755 --- a/debug/catchsegv.sh +++ b/debug/catchsegv.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 1998-2019 Free Software Foundation, Inc. +# Copyright (C) 1998-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . if test $# -eq 0; then echo "$0: missing program name" >&2 @@ -40,7 +40,7 @@ EOF ;; --v | --ve | --ver | --vers | --versi | --versio | --version) echo 'catchsegv @PKGVERSION@@VERSION@' - echo 'Copyright (C) 2019 Free Software Foundation, Inc. + echo 'Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Ulrich Drepper.' diff --git a/debug/chk_fail.c b/debug/chk_fail.c index 3dad8838e4..20f084d653 100644 --- a/debug/chk_fail.c +++ b/debug/chk_fail.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/confstr_chk.c b/debug/confstr_chk.c index b4230600db..f81e237797 100644 --- a/debug/confstr_chk.c +++ b/debug/confstr_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 20055. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/dprintf_chk.c b/debug/dprintf_chk.c index bf4bc048ef..fb543d0bd8 100644 --- a/debug/dprintf_chk.c +++ b/debug/dprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/execinfo.h b/debug/execinfo.h index 0c361451b4..d44555a82a 100644 --- a/debug/execinfo.h +++ b/debug/execinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2019 Free Software Foundation, Inc. +/* Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _EXECINFO_H #define _EXECINFO_H 1 diff --git a/debug/explicit_bzero_chk.c b/debug/explicit_bzero_chk.c index 2470f8801b..7e524dedb1 100644 --- a/debug/explicit_bzero_chk.c +++ b/debug/explicit_bzero_chk.c @@ -1,5 +1,5 @@ /* Generic implementation of __explicit_bzero_chk. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Torbjorn Granlund (tege@sics.se). @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This is the generic definition of __explicit_bzero_chk. The __explicit_bzero_chk symbol is used as the implementation of diff --git a/debug/fdelt_chk.c b/debug/fdelt_chk.c index c71ae38e2b..f62ce73497 100644 --- a/debug/fdelt_chk.c +++ b/debug/fdelt_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2019 Free Software Foundation, Inc. +/* Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/fgets_chk.c b/debug/fgets_chk.c index 548bbb6fb2..34a3aaf872 100644 --- a/debug/fgets_chk.c +++ b/debug/fgets_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . + . As a special exception, if you link the code in this file with files compiled with a GNU compiler to produce an executable, diff --git a/debug/fgets_u_chk.c b/debug/fgets_u_chk.c index a0425fc5c9..bae1aaa238 100644 --- a/debug/fgets_u_chk.c +++ b/debug/fgets_u_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . + . As a special exception, if you link the code in this file with files compiled with a GNU compiler to produce an executable, diff --git a/debug/fgetws_chk.c b/debug/fgetws_chk.c index fe934556ee..d0bbddbce7 100644 --- a/debug/fgetws_chk.c +++ b/debug/fgetws_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "libioP.h" #include diff --git a/debug/fgetws_u_chk.c b/debug/fgetws_u_chk.c index e3d6e1a9e1..4360aa9672 100644 --- a/debug/fgetws_u_chk.c +++ b/debug/fgetws_u_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . + . As a special exception, if you link the code in this file with files compiled with a GNU compiler to produce an executable, diff --git a/debug/fortify_fail.c b/debug/fortify_fail.c index 16549d6dbc..1f2fdc5c1a 100644 --- a/debug/fortify_fail.c +++ b/debug/fortify_fail.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2019 Free Software Foundation, Inc. +/* Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,36 +13,16 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include -#include -#include - - -extern char **__libc_argv attribute_hidden; - -void -__attribute__ ((noreturn)) -__fortify_fail_abort (_Bool need_backtrace, const char *msg) -{ - /* The loop is added only to keep gcc happy. Don't pass down - __libc_argv[0] if we aren't doing backtrace since __libc_argv[0] - may point to the corrupted stack. */ - while (1) - __libc_message (need_backtrace ? (do_abort | do_backtrace) : do_abort, - "*** %s ***: %s terminated\n", - msg, - (need_backtrace && __libc_argv[0] != NULL - ? __libc_argv[0] : "")); -} void __attribute__ ((noreturn)) __fortify_fail (const char *msg) { - __fortify_fail_abort (true, msg); + /* The loop is added only to keep gcc happy. */ + while (1) + __libc_message (do_abort, "*** %s ***: terminated\n", msg); } - libc_hidden_def (__fortify_fail) -libc_hidden_def (__fortify_fail_abort) diff --git a/debug/fprintf_chk.c b/debug/fprintf_chk.c index 105ed93846..29b8ad4783 100644 --- a/debug/fprintf_chk.c +++ b/debug/fprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/fread_chk.c b/debug/fread_chk.c index 33cd4b3dda..944b68420c 100644 --- a/debug/fread_chk.c +++ b/debug/fread_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . + . As a special exception, if you link the code in this file with files compiled with a GNU compiler to produce an executable, diff --git a/debug/fread_u_chk.c b/debug/fread_u_chk.c index b2a0017b6d..49504ac26e 100644 --- a/debug/fread_u_chk.c +++ b/debug/fread_u_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . + . As a special exception, if you link the code in this file with files compiled with a GNU compiler to produce an executable, diff --git a/debug/fwprintf_chk.c b/debug/fwprintf_chk.c index 170208c63b..e21efdf5a6 100644 --- a/debug/fwprintf_chk.c +++ b/debug/fwprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/getcwd_chk.c b/debug/getcwd_chk.c index 2fa8226a85..7f571fd916 100644 --- a/debug/getcwd_chk.c +++ b/debug/getcwd_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/getdomainname_chk.c b/debug/getdomainname_chk.c index 169d318baa..7d5dc9ab65 100644 --- a/debug/getdomainname_chk.c +++ b/debug/getdomainname_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/getgroups_chk.c b/debug/getgroups_chk.c index 8729516e20..227b3b9f05 100644 --- a/debug/getgroups_chk.c +++ b/debug/getgroups_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/gethostname_chk.c b/debug/gethostname_chk.c index 1dfe05d4af..8c3e68970f 100644 --- a/debug/gethostname_chk.c +++ b/debug/gethostname_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/gets_chk.c b/debug/gets_chk.c index fc6557a7f7..bf19b61f80 100644 --- a/debug/gets_chk.c +++ b/debug/gets_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . + . As a special exception, if you link the code in this file with files compiled with a GNU compiler to produce an executable, diff --git a/debug/getwd_chk.c b/debug/getwd_chk.c index e2bd4c8bf4..d14a1acea3 100644 --- a/debug/getwd_chk.c +++ b/debug/getwd_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/longjmp_chk.c b/debug/longjmp_chk.c index 294ee66980..e1ce4545d2 100644 --- a/debug/longjmp_chk.c +++ b/debug/longjmp_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/mbsnrtowcs_chk.c b/debug/mbsnrtowcs_chk.c index ffc36a2536..e06a4d1f88 100644 --- a/debug/mbsnrtowcs_chk.c +++ b/debug/mbsnrtowcs_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/mbsrtowcs_chk.c b/debug/mbsrtowcs_chk.c index 352fbc6a92..293f187257 100644 --- a/debug/mbsrtowcs_chk.c +++ b/debug/mbsrtowcs_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/mbstowcs_chk.c b/debug/mbstowcs_chk.c index 791764a045..925790f9be 100644 --- a/debug/mbstowcs_chk.c +++ b/debug/mbstowcs_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/memcpy_chk.c b/debug/memcpy_chk.c index 24f3ff17d2..88f633b132 100644 --- a/debug/memcpy_chk.c +++ b/debug/memcpy_chk.c @@ -1,6 +1,6 @@ /* Copy memory to memory until the specified number of bytes has been copied with error checking. Overlap is NOT handled correctly. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Torbjorn Granlund (tege@sics.se). @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/memmove_chk.c b/debug/memmove_chk.c index fb9c40e5b4..4d0e72f745 100644 --- a/debug/memmove_chk.c +++ b/debug/memmove_chk.c @@ -1,6 +1,6 @@ /* Copy memory to memory until the specified number of bytes has been copied with error checking. Overlap is handled correctly. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Torbjorn Granlund (tege@sics.se). @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/mempcpy_chk.c b/debug/mempcpy_chk.c index 759d2a14ad..16fa68e62a 100644 --- a/debug/mempcpy_chk.c +++ b/debug/mempcpy_chk.c @@ -1,7 +1,7 @@ /* Copy memory to memory until the specified number of bytes has been copied, return pointer to following byte, with error checking. Overlap is NOT handled correctly. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Torbjorn Granlund (tege@sics.se). @@ -17,7 +17,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/memset_chk.c b/debug/memset_chk.c index ac895f9434..4f7978bbb5 100644 --- a/debug/memset_chk.c +++ b/debug/memset_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/noophooks.c b/debug/noophooks.c index 9b36eb2149..31e3144d8b 100644 --- a/debug/noophooks.c +++ b/debug/noophooks.c @@ -1,5 +1,5 @@ /* Noop hooks for the instrumenting functions. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/obprintf_chk.c b/debug/obprintf_chk.c index bb996ce2fe..c186c10a32 100644 --- a/debug/obprintf_chk.c +++ b/debug/obprintf_chk.c @@ -1,5 +1,5 @@ /* Print output of stream to given obstack. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/pcprofile.c b/debug/pcprofile.c index 04a66e7b46..4a34d0c7e8 100644 --- a/debug/pcprofile.c +++ b/debug/pcprofile.c @@ -1,5 +1,5 @@ /* Profile PC and write result to FIFO. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/pcprofiledump.c b/debug/pcprofiledump.c index 2270c53b9a..0c9c6c1331 100644 --- a/debug/pcprofiledump.c +++ b/debug/pcprofiledump.c @@ -1,5 +1,5 @@ /* Dump information generated by PC profiling. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This is mainly an example. It shows how programs which want to use the information should read the file. */ @@ -226,6 +226,6 @@ print_version (FILE *stream, struct argp_state *state) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2019"); +"), "2020"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } diff --git a/debug/poll_chk.c b/debug/poll_chk.c index 34596de977..8f7ca5e3bd 100644 --- a/debug/poll_chk.c +++ b/debug/poll_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2019 Free Software Foundation, Inc. +/* Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/ppoll_chk.c b/debug/ppoll_chk.c index 68d0f1b079..4b634125ef 100644 --- a/debug/ppoll_chk.c +++ b/debug/ppoll_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2019 Free Software Foundation, Inc. +/* Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/pread64_chk.c b/debug/pread64_chk.c index 2fa35d64d2..0a1adc6da1 100644 --- a/debug/pread64_chk.c +++ b/debug/pread64_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/pread_chk.c b/debug/pread_chk.c index 79aa213786..0b5c88f2a8 100644 --- a/debug/pread_chk.c +++ b/debug/pread_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/printf_chk.c b/debug/printf_chk.c index 184f4d9f21..e8155e632e 100644 --- a/debug/printf_chk.c +++ b/debug/printf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/read_chk.c b/debug/read_chk.c index 4869a4bacf..abecb0ef23 100644 --- a/debug/read_chk.c +++ b/debug/read_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/readlink_chk.c b/debug/readlink_chk.c index ac2e10650c..853b142b2a 100644 --- a/debug/readlink_chk.c +++ b/debug/readlink_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/readlinkat_chk.c b/debug/readlinkat_chk.c index 97a4534611..41240bea9a 100644 --- a/debug/readlinkat_chk.c +++ b/debug/readlinkat_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2019 Free Software Foundation, Inc. +/* Copyright (C) 2006-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/readonly-area.c b/debug/readonly-area.c index 58f25d7715..09e635d5ca 100644 --- a/debug/readonly-area.c +++ b/debug/readonly-area.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/realpath_chk.c b/debug/realpath_chk.c index 2f2e5844c3..5571f4de17 100644 --- a/debug/realpath_chk.c +++ b/debug/realpath_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/recv_chk.c b/debug/recv_chk.c index b6b5b4524d..fe0c28b860 100644 --- a/debug/recv_chk.c +++ b/debug/recv_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/recvfrom_chk.c b/debug/recvfrom_chk.c index 8aecf31097..5bfb502d1d 100644 --- a/debug/recvfrom_chk.c +++ b/debug/recvfrom_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/segfault.c b/debug/segfault.c index bd1008d9af..8b59783c9e 100644 --- a/debug/segfault.c +++ b/debug/segfault.c @@ -1,5 +1,5 @@ /* Catch segmentation faults and print backtrace. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -35,6 +35,10 @@ passed up by the signal handler. */ #include +#ifdef SA_SIGINFO +# define SIGCONTEXT siginfo_t *info, void * +#endif + /* Get code to possibly dump the content of all registers. */ #include @@ -45,20 +49,16 @@ static const char *fname; -/* We better should not use `strerror' since it can call far too many - other functions which might fail. Do it here ourselves. */ +/* Print the signal number SIGNAL. Either strerror or strsignal might + call local internal functions and these in turn call far too many + other functions and might even allocate memory which might fail. */ static void write_strsignal (int fd, int signal) { - if (signal < 0 || signal >= _NSIG || _sys_siglist[signal] == NULL) - { - char buf[30]; - char *ptr = _itoa_word (signal, &buf[sizeof (buf)], 10, 0); - WRITE_STRING ("signal "); - write (fd, buf, &buf[sizeof (buf)] - ptr); - } - else - WRITE_STRING (_sys_siglist[signal]); + char buf[30]; + char *ptr = _itoa_word (signal, &buf[sizeof (buf)], 10, 0); + WRITE_STRING ("signal "); + write (fd, buf, &buf[sizeof (buf)] - ptr); } @@ -101,7 +101,7 @@ catch_segfault (int signal, SIGCONTEXT ctx) Normally it will be found at arr[2], but it might appear later if there were some signal handler wrappers. Allow a few bytes difference to cope with as many arches as possible. */ - pc = (uintptr_t) GET_PC (ctx); + pc = sigcontext_get_pc (ctx); for (i = 0; i < cnt; ++i) if ((uintptr_t) arr[i] >= pc - 16 && (uintptr_t) arr[i] <= pc + 16) break; @@ -148,9 +148,15 @@ install_handler (void) const char *sigs = getenv ("SEGFAULT_SIGNALS"); const char *name; - sa.sa_handler = (void *) catch_segfault; +#ifdef SA_SIGINFO + sa.sa_sigaction = catch_segfault; + sa.sa_flags = SA_SIGINFO; +#else + sa.sa_handler = (void*) catch_segfault; + sa.sa_flags = 0; +#endif sigemptyset (&sa.sa_mask); - sa.sa_flags = SA_RESTART; + sa.sa_flags |= SA_RESTART; /* Maybe we are expected to use an alternative stack. */ if (getenv ("SEGFAULT_USE_ALTSTACK") != 0) diff --git a/debug/snprintf_chk.c b/debug/snprintf_chk.c index dd581fbd9b..c17ba1d9ce 100644 --- a/debug/snprintf_chk.c +++ b/debug/snprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/sprintf_chk.c b/debug/sprintf_chk.c index 7ef01653ee..64351f14eb 100644 --- a/debug/sprintf_chk.c +++ b/debug/sprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/stack_chk_fail.c b/debug/stack_chk_fail.c index 4485655599..fed03ee666 100644 --- a/debug/stack_chk_fail.c +++ b/debug/stack_chk_fail.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,20 +13,15 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include -#include -#include - - -extern char **__libc_argv attribute_hidden; void __attribute__ ((noreturn)) __stack_chk_fail (void) { - __fortify_fail_abort (false, "stack smashing detected"); + __fortify_fail ("stack smashing detected"); } strong_alias (__stack_chk_fail, __stack_chk_fail_local) diff --git a/debug/stack_chk_fail_local.c b/debug/stack_chk_fail_local.c index ae5aa181a3..5d6dc84e6b 100644 --- a/debug/stack_chk_fail_local.c +++ b/debug/stack_chk_fail_local.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -30,7 +30,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/stpcpy_chk.c b/debug/stpcpy_chk.c index a57b540e04..fed438072a 100644 --- a/debug/stpcpy_chk.c +++ b/debug/stpcpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifdef HAVE_CONFIG_H # include diff --git a/debug/stpncpy_chk.c b/debug/stpncpy_chk.c index 3d61fdb29f..e23b0bd79b 100644 --- a/debug/stpncpy_chk.c +++ b/debug/stpncpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This is almost copied from strncpy.c, written by Torbjorn Granlund. */ diff --git a/debug/strcat_chk.c b/debug/strcat_chk.c index 0b3d120e06..7247ba6923 100644 --- a/debug/strcat_chk.c +++ b/debug/strcat_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/strcpy_chk.c b/debug/strcpy_chk.c index 94e05d4f1d..a5594bf66d 100644 --- a/debug/strcpy_chk.c +++ b/debug/strcpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/strncat_chk.c b/debug/strncat_chk.c index 04cf9a2949..658a0e7ff0 100644 --- a/debug/strncat_chk.c +++ b/debug/strncat_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/strncpy_chk.c b/debug/strncpy_chk.c index 72607f4850..e03d6a74f0 100644 --- a/debug/strncpy_chk.c +++ b/debug/strncpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/swprintf_chk.c b/debug/swprintf_chk.c index 8edbfb10eb..f338b866d7 100644 --- a/debug/swprintf_chk.c +++ b/debug/swprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/test-stpcpy_chk.c b/debug/test-stpcpy_chk.c index 443994517e..041c4886ec 100644 --- a/debug/test-stpcpy_chk.c +++ b/debug/test-stpcpy_chk.c @@ -1,5 +1,5 @@ /* Test and measure stpcpy checking functions. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Jakub Jelinek , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define STRCPY_RESULT(dst, len) ((dst) + (len)) #define TEST_MAIN diff --git a/debug/test-strcpy_chk.c b/debug/test-strcpy_chk.c index 49cf8e3b57..93504c431d 100644 --- a/debug/test-strcpy_chk.c +++ b/debug/test-strcpy_chk.c @@ -1,5 +1,5 @@ /* Test and measure __strcpy_chk functions. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Jakub Jelinek , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef STRCPY_RESULT # define STRCPY_RESULT(dst, len) dst diff --git a/debug/tst-backtrace.h b/debug/tst-backtrace.h index 54af7bbc31..04159119e6 100644 --- a/debug/tst-backtrace.h +++ b/debug/tst-backtrace.h @@ -1,6 +1,6 @@ /* Test backtrace and backtrace_symbols: common code for examining backtraces. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/tst-backtrace2.c b/debug/tst-backtrace2.c index 32ae8507db..9f712dedbe 100644 --- a/debug/tst-backtrace2.c +++ b/debug/tst-backtrace2.c @@ -1,5 +1,5 @@ /* Test backtrace and backtrace_symbols. - Copyright (C) 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/tst-backtrace3.c b/debug/tst-backtrace3.c index a86700e1f1..a9b2427eaa 100644 --- a/debug/tst-backtrace3.c +++ b/debug/tst-backtrace3.c @@ -1,5 +1,5 @@ /* Test backtrace and backtrace_symbols for recursive calls. - Copyright (C) 2010-2019 Free Software Foundation, Inc. + Copyright (C) 2010-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/tst-backtrace4.c b/debug/tst-backtrace4.c index b840eb6699..ad004da239 100644 --- a/debug/tst-backtrace4.c +++ b/debug/tst-backtrace4.c @@ -1,5 +1,5 @@ /* Test backtrace and backtrace_symbols for signal frames. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/tst-backtrace5.c b/debug/tst-backtrace5.c index 5a5ce8bc79..b2f46160e7 100644 --- a/debug/tst-backtrace5.c +++ b/debug/tst-backtrace5.c @@ -1,6 +1,6 @@ /* Test backtrace and backtrace_symbols for signal frames, where a system call was interrupted by a signal. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -89,6 +89,18 @@ handle_signal (int signum) } /* Symbol names are not available for static functions, so we do not check do_test. */ + + /* Check that backtrace does not return more than what fits in the array + (bug 25423). */ + for (int j = 0; j < NUM_FUNCTIONS; j++) + { + n = backtrace (addresses, j); + if (n > j) + { + FAIL (); + return; + } + } } NO_INLINE int diff --git a/debug/tst-backtrace6.c b/debug/tst-backtrace6.c index 04290caf94..2abb576eec 100644 --- a/debug/tst-backtrace6.c +++ b/debug/tst-backtrace6.c @@ -1,6 +1,6 @@ /* Test backtrace and backtrace_symbols for signal frames, where a system call was interrupted by a signal. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/tst-chk1.c b/debug/tst-chk1.c index c6f11af1ff..5d02592978 100644 --- a/debug/tst-chk1.c +++ b/debug/tst-chk1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2004. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file tests gets. Force it to be declared. */ #include diff --git a/debug/tst-longjmp_chk3.c b/debug/tst-longjmp_chk3.c index ffcc773788..a4e210996d 100644 --- a/debug/tst-longjmp_chk3.c +++ b/debug/tst-longjmp_chk3.c @@ -1,5 +1,5 @@ /* Make sure longjmp fortification catches bad signal stacks. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/tst-ssp-1.c b/debug/tst-ssp-1.c index c012a6e2b0..8fc45460b0 100644 --- a/debug/tst-ssp-1.c +++ b/debug/tst-ssp-1.c @@ -1,5 +1,5 @@ /* Verify that __stack_chk_fail won't segfault. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Based on gcc.dg/ssp-1.c from GCC testsuite. */ diff --git a/debug/ttyname_r_chk.c b/debug/ttyname_r_chk.c index 60d508dc45..e2866262b5 100644 --- a/debug/ttyname_r_chk.c +++ b/debug/ttyname_r_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/vasprintf_chk.c b/debug/vasprintf_chk.c index 300b7ce10e..118804c739 100644 --- a/debug/vasprintf_chk.c +++ b/debug/vasprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . + . As a special exception, if you link the code in this file with files compiled with a GNU compiler to produce an executable, diff --git a/debug/vdprintf_chk.c b/debug/vdprintf_chk.c index 175b74b4a3..560f24a79b 100644 --- a/debug/vdprintf_chk.c +++ b/debug/vdprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . + . As a special exception, if you link the code in this file with files compiled with a GNU compiler to produce an executable, diff --git a/debug/vfprintf_chk.c b/debug/vfprintf_chk.c index d7dd73390d..6669ddae9f 100644 --- a/debug/vfprintf_chk.c +++ b/debug/vfprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/vfwprintf_chk.c b/debug/vfwprintf_chk.c index c79f50ee78..8ea7889d37 100644 --- a/debug/vfwprintf_chk.c +++ b/debug/vfwprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/vobprintf_chk.c b/debug/vobprintf_chk.c index 86d1ee1148..c343b6b798 100644 --- a/debug/vobprintf_chk.c +++ b/debug/vobprintf_chk.c @@ -1,5 +1,5 @@ /* Print output of stream to given obstack. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/vprintf_chk.c b/debug/vprintf_chk.c index 2070febfc6..1cf45b669b 100644 --- a/debug/vprintf_chk.c +++ b/debug/vprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/vsnprintf_chk.c b/debug/vsnprintf_chk.c index 23d3167212..386158c7db 100644 --- a/debug/vsnprintf_chk.c +++ b/debug/vsnprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/vsprintf_chk.c b/debug/vsprintf_chk.c index c93ca4efb1..1863bc706f 100644 --- a/debug/vsprintf_chk.c +++ b/debug/vsprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/vswprintf_chk.c b/debug/vswprintf_chk.c index 742ac8299e..4f93cbf385 100644 --- a/debug/vswprintf_chk.c +++ b/debug/vswprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/vwprintf_chk.c b/debug/vwprintf_chk.c index f3beea3d71..16b3ea3878 100644 --- a/debug/vwprintf_chk.c +++ b/debug/vwprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/warning-nop.c b/debug/warning-nop.c index 8eeea396c3..4ab7e182b7 100644 --- a/debug/warning-nop.c +++ b/debug/warning-nop.c @@ -1,5 +1,5 @@ /* Dummy nop functions to elicit link-time warnings. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,7 +31,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/wcpcpy_chk.c b/debug/wcpcpy_chk.c index 0dd62560f2..ff489b4e46 100644 --- a/debug/wcpcpy_chk.c +++ b/debug/wcpcpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/wcpncpy_chk.c b/debug/wcpncpy_chk.c index 63544eb58a..0a0ef5932b 100644 --- a/debug/wcpncpy_chk.c +++ b/debug/wcpncpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/wcrtomb_chk.c b/debug/wcrtomb_chk.c index aff1dfb5a5..b69dd62e55 100644 --- a/debug/wcrtomb_chk.c +++ b/debug/wcrtomb_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wcscat_chk.c b/debug/wcscat_chk.c index 7e7a5ed873..ddd9857d54 100644 --- a/debug/wcscat_chk.c +++ b/debug/wcscat_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/wcscpy_chk.c b/debug/wcscpy_chk.c index 0435372b14..b09db7e067 100644 --- a/debug/wcscpy_chk.c +++ b/debug/wcscpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wcsncat_chk.c b/debug/wcsncat_chk.c index 6070467072..ec0a36488f 100644 --- a/debug/wcsncat_chk.c +++ b/debug/wcsncat_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/wcsncpy_chk.c b/debug/wcsncpy_chk.c index 4e88a7948c..0a2cf31b83 100644 --- a/debug/wcsncpy_chk.c +++ b/debug/wcsncpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/wcsnrtombs_chk.c b/debug/wcsnrtombs_chk.c index 71e590e9d6..4d4dae0aa5 100644 --- a/debug/wcsnrtombs_chk.c +++ b/debug/wcsnrtombs_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wcsrtombs_chk.c b/debug/wcsrtombs_chk.c index 365ab8df74..920503dd96 100644 --- a/debug/wcsrtombs_chk.c +++ b/debug/wcsrtombs_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wcstombs_chk.c b/debug/wcstombs_chk.c index ba4dd3ad76..3d6684c71f 100644 --- a/debug/wcstombs_chk.c +++ b/debug/wcstombs_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wctomb_chk.c b/debug/wctomb_chk.c index 987d3637ff..d16c91bebd 100644 --- a/debug/wctomb_chk.c +++ b/debug/wctomb_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wmemcpy_chk.c b/debug/wmemcpy_chk.c index 3e6b9095fb..13e980c1df 100644 --- a/debug/wmemcpy_chk.c +++ b/debug/wmemcpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wmemmove_chk.c b/debug/wmemmove_chk.c index 863d0c20e7..4a35c09199 100644 --- a/debug/wmemmove_chk.c +++ b/debug/wmemmove_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wmempcpy_chk.c b/debug/wmempcpy_chk.c index ef3afff34e..a9e28ec64a 100644 --- a/debug/wmempcpy_chk.c +++ b/debug/wmempcpy_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/wmemset_chk.c b/debug/wmemset_chk.c index 4e1b34be72..76e2f6db5f 100644 --- a/debug/wmemset_chk.c +++ b/debug/wmemset_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/debug/wprintf_chk.c b/debug/wprintf_chk.c index d53b486af8..cff5cd5284 100644 --- a/debug/wprintf_chk.c +++ b/debug/wprintf_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/debug/xtrace.sh b/debug/xtrace.sh index dad1611375..e52bf35815 100755 --- a/debug/xtrace.sh +++ b/debug/xtrace.sh @@ -1,5 +1,5 @@ #! @BASH@ -# Copyright (C) 1999-2019 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . pcprofileso='@SLIBDIR@/libpcprofile.so' pcprofiledump='@BINDIR@/pcprofiledump' @@ -64,7 +64,7 @@ do_version() { printf $"Copyright (C) %s Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -" "2019" +" "2020" printf $"Written by %s. " "Ulrich Drepper" exit 0 diff --git a/dirent/Makefile b/dirent/Makefile index 144e448b3d..e917d5ceab 100644 --- a/dirent/Makefile +++ b/dirent/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Sub-makefile for dirent portion of the library. diff --git a/dirent/alphasort.c b/dirent/alphasort.c index 818a8ec62f..2c6011173a 100644 --- a/dirent/alphasort.c +++ b/dirent/alphasort.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dirent/alphasort64.c b/dirent/alphasort64.c index 567d647e07..702752f57c 100644 --- a/dirent/alphasort64.c +++ b/dirent/alphasort64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define alphasort __no_alphasort_decl #include diff --git a/dirent/closedir.c b/dirent/closedir.c index e37c566aa6..450f4fd374 100644 --- a/dirent/closedir.c +++ b/dirent/closedir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/dirent.h b/dirent/dirent.h index d4650db17e..92d0925047 100644 --- a/dirent/dirent.h +++ b/dirent/dirent.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * POSIX Standard: 5.1.2 Directory Operations diff --git a/dirent/dirfd.c b/dirent/dirfd.c index bd8c1dc6b8..afdbf90a61 100644 --- a/dirent/dirfd.c +++ b/dirent/dirfd.c @@ -1,5 +1,5 @@ /* Return the file descriptor used by a DIR stream. Stub version. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/fdopendir.c b/dirent/fdopendir.c index 2c1a37a18e..4ed100f6c0 100644 --- a/dirent/fdopendir.c +++ b/dirent/fdopendir.c @@ -1,5 +1,5 @@ /* Open a directory stream from a file descriptor. Stub version. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/getdents.c b/dirent/getdents.c index e7e95e2445..197846ff12 100644 --- a/dirent/getdents.c +++ b/dirent/getdents.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/getdents64.c b/dirent/getdents64.c index 02af6ac216..ecb16a9cb6 100644 --- a/dirent/getdents64.c +++ b/dirent/getdents64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/list.c b/dirent/list.c index f1ecee5eee..6606037b80 100644 --- a/dirent/list.c +++ b/dirent/list.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/opendir-tst1.c b/dirent/opendir-tst1.c index 044be66bea..726d3856b0 100644 --- a/dirent/opendir-tst1.c +++ b/dirent/opendir-tst1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2019 Free Software Foundation, Inc. +/* Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/opendir.c b/dirent/opendir.c index 3533310a4a..1c18b29cad 100644 --- a/dirent/opendir.c +++ b/dirent/opendir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/readdir.c b/dirent/readdir.c index d06138e229..4c0c8c3439 100644 --- a/dirent/readdir.c +++ b/dirent/readdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/readdir64.c b/dirent/readdir64.c index 2d9c3ef15d..55282cc1f4 100644 --- a/dirent/readdir64.c +++ b/dirent/readdir64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/readdir64_r.c b/dirent/readdir64_r.c index e8a0f9ac2e..09ba100c63 100644 --- a/dirent/readdir64_r.c +++ b/dirent/readdir64_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/readdir_r.c b/dirent/readdir_r.c index a0bd8df641..ec2f60b77e 100644 --- a/dirent/readdir_r.c +++ b/dirent/readdir_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/rewinddir.c b/dirent/rewinddir.c index cffa7fae88..f5f5e4591c 100644 --- a/dirent/rewinddir.c +++ b/dirent/rewinddir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/scandir-cancel.c b/dirent/scandir-cancel.c index 3c137d9af9..0a98991e83 100644 --- a/dirent/scandir-cancel.c +++ b/dirent/scandir-cancel.c @@ -1,5 +1,5 @@ /* Cancellation handler used in scandir* implementations. - Copyright (C) 1992-2019 Free Software Foundation, Inc. + Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dirent/scandir-tail-common.c b/dirent/scandir-tail-common.c index f00e3473fe..65853842c1 100644 --- a/dirent/scandir-tail-common.c +++ b/dirent/scandir-tail-common.c @@ -1,5 +1,5 @@ /* Common implementation for scandir{at}. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/scandir-tail.c b/dirent/scandir-tail.c index f0505dd9f9..7ae20e673b 100644 --- a/dirent/scandir-tail.c +++ b/dirent/scandir-tail.c @@ -1,5 +1,5 @@ /* Logic guts of scandir*. - Copyright (C) 1992-2019 Free Software Foundation, Inc. + Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dirent/scandir.c b/dirent/scandir.c index 5a13550fff..046c340b67 100644 --- a/dirent/scandir.c +++ b/dirent/scandir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dirent/scandir64-tail.c b/dirent/scandir64-tail.c index 5bdfe2c3e4..4897b5dd05 100644 --- a/dirent/scandir64-tail.c +++ b/dirent/scandir64-tail.c @@ -1,5 +1,5 @@ /* Logic guts of scandir*64. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dirent/scandir64.c b/dirent/scandir64.c index f19dc5ed10..0d8a91dd5a 100644 --- a/dirent/scandir64.c +++ b/dirent/scandir64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define scandir __no_scandir_decl #include diff --git a/dirent/scandirat.c b/dirent/scandirat.c index 056bf1612c..8bf1da9bec 100644 --- a/dirent/scandirat.c +++ b/dirent/scandirat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dirent/scandirat64.c b/dirent/scandirat64.c index eb81840402..2d0b281ee3 100644 --- a/dirent/scandirat64.c +++ b/dirent/scandirat64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define scandirat __no_scandirat_decl #include diff --git a/dirent/seekdir.c b/dirent/seekdir.c index f3530993b8..4282bd8d1b 100644 --- a/dirent/seekdir.c +++ b/dirent/seekdir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/telldir.c b/dirent/telldir.c index 85a373252f..49a6fdf7ef 100644 --- a/dirent/telldir.c +++ b/dirent/telldir.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/tst-scandir.c b/dirent/tst-scandir.c index b8d85d8ae0..4fcb71fc79 100644 --- a/dirent/tst-scandir.c +++ b/dirent/tst-scandir.c @@ -1,5 +1,5 @@ /* Basic test for scandir function. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dirent/versionsort.c b/dirent/versionsort.c index 9c91f69380..24b81d40a0 100644 --- a/dirent/versionsort.c +++ b/dirent/versionsort.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dirent/versionsort64.c b/dirent/versionsort64.c index 8e394b2a25..84312d62e0 100644 --- a/dirent/versionsort64.c +++ b/dirent/versionsort64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define versionsort __no_versionsort_decl #include diff --git a/dlfcn/Makefile b/dlfcn/Makefile index c49fd6d4c5..4b7e0387b3 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1995-2019 Free Software Foundation, Inc. +# Copyright (C) 1995-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . subdir := dlfcn diff --git a/dlfcn/bug-dl-leaf-lib-cb.c b/dlfcn/bug-dl-leaf-lib-cb.c index 75d8cf3ae2..0ec373bf7d 100644 --- a/dlfcn/bug-dl-leaf-lib-cb.c +++ b/dlfcn/bug-dl-leaf-lib-cb.c @@ -1,7 +1,7 @@ /* Make sure dlopen/dlclose are not marked as leaf functions. See bug-dl-leaf-lib.c for details. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Mike Frysinger @@ -17,7 +17,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern void check_val_init (void); extern void check_val_fini (void); diff --git a/dlfcn/bug-dl-leaf-lib.c b/dlfcn/bug-dl-leaf-lib.c index 228ac4f9ce..ce3dc9aa78 100644 --- a/dlfcn/bug-dl-leaf-lib.c +++ b/dlfcn/bug-dl-leaf-lib.c @@ -1,6 +1,6 @@ /* Make sure dlopen/dlclose are not marked as leaf functions. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Mike Frysinger @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* The bug-dl-leaf.c file will call our lib_main directly. We do this to keep things simple -- no need to use --export-dynamic with the linker diff --git a/dlfcn/bug-dl-leaf.c b/dlfcn/bug-dl-leaf.c index 4ed8e9646b..a0918131e0 100644 --- a/dlfcn/bug-dl-leaf.c +++ b/dlfcn/bug-dl-leaf.c @@ -1,7 +1,7 @@ /* Make sure dlopen/dlclose are not marked as leaf functions. See bug-dl-leaf-lib.c for details. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Mike Frysinger @@ -17,7 +17,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define TEST_FUNCTION lib_main () extern int lib_main (void); diff --git a/dlfcn/dladdr.c b/dlfcn/dladdr.c index 35f782349a..e8406616ad 100644 --- a/dlfcn/dladdr.c +++ b/dlfcn/dladdr.c @@ -1,5 +1,5 @@ /* Locate the shared object symbol nearest a given address. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dladdr1.c b/dlfcn/dladdr1.c index f3252d8cc3..078ba70f71 100644 --- a/dlfcn/dladdr1.c +++ b/dlfcn/dladdr1.c @@ -1,5 +1,5 @@ /* Locate the shared object symbol nearest a given address. - Copyright (C) 2003-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dlclose.c b/dlfcn/dlclose.c index 98e1375c43..9623b3786b 100644 --- a/dlfcn/dlclose.c +++ b/dlfcn/dlclose.c @@ -1,5 +1,5 @@ /* Close a handle opened by `dlopen'. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dlerror.c b/dlfcn/dlerror.c index ca42c126c1..0d38a37bf7 100644 --- a/dlfcn/dlerror.c +++ b/dlfcn/dlerror.c @@ -1,5 +1,5 @@ /* Return error detail for failing functions. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dlfcn.c b/dlfcn/dlfcn.c index b30f42d50d..b609c4463a 100644 --- a/dlfcn/dlfcn.c +++ b/dlfcn/dlfcn.c @@ -1,5 +1,5 @@ /* Load a shared object at run time. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dlfcn/dlfcn.h b/dlfcn/dlfcn.h index c550371999..c629fc7f42 100644 --- a/dlfcn/dlfcn.h +++ b/dlfcn/dlfcn.h @@ -1,5 +1,5 @@ /* User functions for run-time dynamic loading. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _DLFCN_H #define _DLFCN_H 1 diff --git a/dlfcn/dlfreeres.c b/dlfcn/dlfreeres.c index ac0a86cad2..3820f33f0f 100644 --- a/dlfcn/dlfreeres.c +++ b/dlfcn/dlfreeres.c @@ -1,5 +1,5 @@ /* Clean up allocated libdl memory on demand. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dlinfo.c b/dlfcn/dlinfo.c index a42b170468..ef2b1f77cc 100644 --- a/dlfcn/dlinfo.c +++ b/dlfcn/dlinfo.c @@ -1,5 +1,5 @@ /* dlinfo -- Get information from the dynamic linker. - Copyright (C) 2003-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -26,7 +26,7 @@ int dlinfo (void *handle, int request, void *arg) { - return __dlinfo (handle, request, arg, RETURN_ADDRESS (0)); + return __dlinfo (handle, request, arg); } #else @@ -35,7 +35,6 @@ dlinfo (void *handle, int request, void *arg) struct dlinfo_args { - ElfW(Addr) caller; void *handle; int request; void *arg; @@ -47,24 +46,6 @@ dlinfo_doit (void *argsblock) struct dlinfo_args *const args = argsblock; struct link_map *l = args->handle; -# if 0 - if (args->handle == RTLD_SELF) - { - Lmid_t nsid; - - /* Find the highest-addressed object that CALLER is not below. */ - for (nsid = 0; nsid < DL_NNS; ++nsid) - for (l = GL(dl_ns)[nsid]._ns_loaded; l != NULL; l = l->l_next) - if (caller >= l->l_map_start && caller < l->l_map_end - && (l->l_contiguous || _dl_addr_inside_object (l, caller))) - break; - - if (l == NULL) - _dl_signal_error (0, NULL, NULL, N_("\ -RTLD_SELF used in code not dynamically loaded")); - } -# endif - switch (args->request) { case RTLD_DI_CONFIGADDR: @@ -108,16 +89,14 @@ RTLD_SELF used in code not dynamically loaded")); } int -__dlinfo (void *handle, int request, void *arg DL_CALLER_DECL) +__dlinfo (void *handle, int request, void *arg) { # ifdef SHARED if (!rtld_active ()) - return _dlfcn_hook->dlinfo (handle, request, arg, - DL_CALLER); + return _dlfcn_hook->dlinfo (handle, request, arg); # endif - struct dlinfo_args args = { (ElfW(Addr)) DL_CALLER, - handle, request, arg }; + struct dlinfo_args args = { handle, request, arg }; return _dlerror_run (&dlinfo_doit, &args) ? -1 : 0; } # ifdef SHARED diff --git a/dlfcn/dlmopen.c b/dlfcn/dlmopen.c index db1d0922d5..1396c818ac 100644 --- a/dlfcn/dlmopen.c +++ b/dlfcn/dlmopen.c @@ -1,5 +1,5 @@ /* Load a shared object at run time. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dlopen.c b/dlfcn/dlopen.c index 7fd33480d3..5b4ed6798a 100644 --- a/dlfcn/dlopen.c +++ b/dlfcn/dlopen.c @@ -1,5 +1,5 @@ /* Load a shared object at run time. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dlopenold.c b/dlfcn/dlopenold.c index 51ec24810c..f06deec639 100644 --- a/dlfcn/dlopenold.c +++ b/dlfcn/dlopenold.c @@ -1,5 +1,5 @@ /* Load a shared object at run time. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dlsym.c b/dlfcn/dlsym.c index f1972429a5..e9ee596021 100644 --- a/dlfcn/dlsym.c +++ b/dlfcn/dlsym.c @@ -1,5 +1,5 @@ /* Look up a symbol in a shared object loaded by `dlopen'. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/dlvsym.c b/dlfcn/dlvsym.c index b3ed31e8b8..021697fb75 100644 --- a/dlfcn/dlvsym.c +++ b/dlfcn/dlvsym.c @@ -1,5 +1,5 @@ /* Look up a versioned symbol in a shared object loaded by `dlopen'. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/errmsg1.c b/dlfcn/errmsg1.c index bed4abe52c..2c6b3be40c 100644 --- a/dlfcn/errmsg1.c +++ b/dlfcn/errmsg1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/errmsg1mod.c b/dlfcn/errmsg1mod.c index 80f46525d1..8927b5ed33 100644 --- a/dlfcn/errmsg1mod.c +++ b/dlfcn/errmsg1mod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern int bar (void); extern int foo (void); diff --git a/dlfcn/glreflib1.c b/dlfcn/glreflib1.c index 50bd9e0522..437c28a61e 100644 --- a/dlfcn/glreflib1.c +++ b/dlfcn/glreflib1.c @@ -1,5 +1,5 @@ /* Test for dependency tracking added by relocations. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern int ref1 (void); int diff --git a/dlfcn/glreflib2.c b/dlfcn/glreflib2.c index 0ad115524a..6a34591190 100644 --- a/dlfcn/glreflib2.c +++ b/dlfcn/glreflib2.c @@ -1,5 +1,5 @@ /* Test for dependency tracking added by relocations. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern int ref1 (void); diff --git a/dlfcn/glrefmain.c b/dlfcn/glrefmain.c index 8f118d27c9..28f1fb704a 100644 --- a/dlfcn/glrefmain.c +++ b/dlfcn/glrefmain.c @@ -1,5 +1,5 @@ /* Test for dependency tracking added by relocations. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/modatexit.c b/dlfcn/modatexit.c index 118ccf5459..0be08f7f82 100644 --- a/dlfcn/modatexit.c +++ b/dlfcn/modatexit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/modcxaatexit.c b/dlfcn/modcxaatexit.c index ba00cd53df..a4b57b3d64 100644 --- a/dlfcn/modcxaatexit.c +++ b/dlfcn/modcxaatexit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/modstatic3.c b/dlfcn/modstatic3.c index 1105983851..e9470a529f 100644 --- a/dlfcn/modstatic3.c +++ b/dlfcn/modstatic3.c @@ -1,5 +1,5 @@ /* DSO used for dlopen testing with a static executable. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ unsigned int foo; diff --git a/dlfcn/modstatic5.c b/dlfcn/modstatic5.c index f11669a2d8..2eace6fb8f 100644 --- a/dlfcn/modstatic5.c +++ b/dlfcn/modstatic5.c @@ -1,6 +1,6 @@ /* DSO used for GLRO(dl_pagesize) initialization testing with a static executable. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/dlfcn/tst-dladdr.c b/dlfcn/tst-dladdr.c index ebd4aa0459..626eead655 100644 --- a/dlfcn/tst-dladdr.c +++ b/dlfcn/tst-dladdr.c @@ -1,5 +1,5 @@ /* Test for dladdr. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Volkmar Sieh and Andreas Jaeger . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/tst-dlinfo.c b/dlfcn/tst-dlinfo.c index 30a5927843..1e77dd919e 100644 --- a/dlfcn/tst-dlinfo.c +++ b/dlfcn/tst-dlinfo.c @@ -1,5 +1,5 @@ /* Test for dlinfo. - Copyright (C) 2003-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/tst-rec-dlopen.c b/dlfcn/tst-rec-dlopen.c index 3c95db3254..f5dc7ef3a8 100644 --- a/dlfcn/tst-rec-dlopen.c +++ b/dlfcn/tst-rec-dlopen.c @@ -1,5 +1,5 @@ /* Test recursive dlopen using malloc hooks. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/tstatexit.c b/dlfcn/tstatexit.c index c8cb272ce0..f3c1d328ed 100644 --- a/dlfcn/tstatexit.c +++ b/dlfcn/tstatexit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/tstcxaatexit.c b/dlfcn/tstcxaatexit.c index ece14e1dd4..fbc89bb8c8 100644 --- a/dlfcn/tstcxaatexit.c +++ b/dlfcn/tstcxaatexit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/tststatic3.c b/dlfcn/tststatic3.c index 7317686f25..f97d8b51e4 100644 --- a/dlfcn/tststatic3.c +++ b/dlfcn/tststatic3.c @@ -1,5 +1,5 @@ /* Global-scope DSO mapping test with a static executable (BZ #15022). - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/tststatic4.c b/dlfcn/tststatic4.c index 51f31d954f..f4af7b7f3d 100644 --- a/dlfcn/tststatic4.c +++ b/dlfcn/tststatic4.c @@ -1,5 +1,5 @@ /* Global object symbol access tests with a static executable (BZ #15022). - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/dlfcn/tststatic5.c b/dlfcn/tststatic5.c index 5d4eac6d5b..91ef2aacc1 100644 --- a/dlfcn/tststatic5.c +++ b/dlfcn/tststatic5.c @@ -1,5 +1,5 @@ /* GLRO(dl_pagesize) initialization DSO test with a static executable. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/Makefile b/elf/Makefile index a3eefd1b1f..0b78721848 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1995-2019 Free Software Foundation, Inc. +# Copyright (C) 1995-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # Makefile for elf subdirectory of GNU C Library. @@ -25,7 +25,7 @@ headers = elf.h bits/elfclass.h link.h bits/link.h routines = $(all-dl-routines) dl-support dl-iteratephdr \ dl-addr dl-addr-obj enbl-secure dl-profstub \ dl-origin dl-libc dl-sym dl-sysdep dl-error \ - dl-reloc-static-pie + dl-reloc-static-pie libc_early_init # The core dynamic linking functions are in libc for the static and # profiled libraries. @@ -33,7 +33,8 @@ dl-routines = $(addprefix dl-,load lookup object reloc deps hwcaps \ runtime init fini debug misc \ version profile tls origin scope \ execstack open close trampoline \ - exception sort-maps) + exception sort-maps lookup-direct \ + call-libc-early-init) ifeq (yes,$(use-ldconfig)) dl-routines += dl-cache endif @@ -65,6 +66,12 @@ CFLAGS-dl-runtime.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-dl-lookup.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-dl-iterate-phdr.c += $(uses-callbacks) +# On targets without __builtin_memset, rtld.c uses a hand-coded loop +# in _dl_start. Make sure this isn't turned into a call to regular memset. +ifeq (yes,$(have-loop-to-function)) +CFLAGS-rtld.c += -fno-tree-loop-distribute-patterns +endif + # Compile rtld itself without stack protection. # Also compile all routines in the static library that are elided from # the shared libc because they are in libc.a in the same way. @@ -91,7 +98,7 @@ ld-map = $(common-objpfx)ld.map endif ifeq (yes,$(build-shared)) -extra-objs = $(all-rtld-routines:%=%.os) soinit.os sofini.os interp.os +extra-objs = $(all-rtld-routines:%=%.os) sofini.os interp.os generated += librtld.os dl-allobjs.os ld.so ldd install-others = $(inst_rtlddir)/$(rtld-installed-name) install-bin-script = ldd @@ -148,7 +155,9 @@ endif tests-static-normal := tst-leaks1-static tst-array1-static tst-array5-static \ tst-dl-iter-static \ tst-tlsalign-static tst-tlsalign-extern-static \ - tst-linkall-static tst-env-setuid tst-env-setuid-tunables + tst-linkall-static tst-env-setuid tst-env-setuid-tunables \ + tst-single_threaded-static tst-single_threaded-pthread-static + tests-static-internal := tst-tls1-static tst-tls2-static \ tst-ptrguard1-static tst-stackguard1-static \ tst-tls1-static-non-pie tst-libc_dlvsym-static @@ -156,8 +165,9 @@ tests-static-internal := tst-tls1-static tst-tls2-static \ CRT-tst-tls1-static-non-pie := $(csu-objpfx)crt1.o tst-tls1-static-non-pie-no-pie = yes -tests-container = \ - tst-ldconfig-bad-aux-cache +tests-container := \ + tst-ldconfig-bad-aux-cache \ + tst-ldconfig-ld_so_conf-update tests := tst-tls9 tst-leaks1 \ tst-array1 tst-array2 tst-array3 tst-array4 tst-array5 \ @@ -166,9 +176,11 @@ tests-internal := tst-tls1 tst-tls2 $(tests-static-internal) tests-static := $(tests-static-normal) $(tests-static-internal) ifeq (yes,$(build-shared)) -tests-static += tst-tls9-static -tst-tls9-static-ENV = \ - LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)dlfcn +tests-static += tst-tls9-static tst-single_threaded-static-dlopen +static-dlopen-environment = \ + LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)dlfcn +tst-tls9-static-ENV = $(static-dlopen-environment) +tst-single_threaded-static-dlopen-ENV = $(static-dlopen-environment) tests += restest1 preloadtest loadfail multiload origtest resolvfail \ constload1 order noload filter \ @@ -185,25 +197,28 @@ tests += restest1 preloadtest loadfail multiload origtest resolvfail \ tst-audit1 tst-audit2 tst-audit8 tst-audit9 \ tst-addr1 tst-thrlock \ tst-unique1 tst-unique2 $(if $(CXX),tst-unique3 tst-unique4 \ - tst-nodelete) \ + tst-nodelete tst-dlopen-nodelete-reloc) \ tst-initorder tst-initorder2 tst-relsort1 tst-null-argv \ tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \ tst-nodelete2 tst-audit11 tst-audit12 tst-dlsym-error tst-noload \ tst-latepthread tst-tls-manydynamic tst-nodelete-dlclose \ tst-debug1 tst-main1 tst-absolute-sym tst-absolute-zero tst-big-note \ tst-unwind-ctor tst-unwind-main tst-audit13 \ - tst-sonamemove-link tst-sonamemove-dlopen + tst-sonamemove-link tst-sonamemove-dlopen tst-dlopen-tlsmodid \ + tst-dlopen-self tst-auditmany tst-initfinilazyfail tst-dlopenfail \ + tst-dlopenfail-2 \ + tst-filterobj tst-filterobj-dlopen tst-auxobj tst-auxobj-dlopen \ + tst-audit14 tst-audit15 tst-audit16 \ + tst-single_threaded tst-single_threaded-pthread \ + tst-tls-ie tst-tls-ie-dlmopen # reldep9 tests-internal += loadtest unload unload2 circleload1 \ neededtest neededtest2 neededtest3 neededtest4 \ tst-tls3 tst-tls6 tst-tls7 tst-tls8 tst-dlmopen2 \ tst-ptrguard1 tst-stackguard1 tst-libc_dlvsym \ - tst-create_format1 -tests-container += tst-pldd -ifeq ($(build-hardcoded-path-in-tests),yes) -tests += tst-dlopen-aout -tst-dlopen-aout-no-pie = yes -endif + tst-create_format1 tst-tls-surplus +tests-container += tst-pldd tst-dlopen-tlsmodid-container \ + tst-dlopen-self-container test-srcs = tst-pathopt selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null) ifneq ($(selinux-enabled),1) @@ -267,7 +282,24 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ tst-auditmod9a tst-auditmod9b \ $(if $(CXX),tst-unique3lib tst-unique3lib2 tst-unique4lib \ tst-nodelete-uniquemod tst-nodelete-rtldmod \ - tst-nodelete-zmod) \ + tst-nodelete-zmod \ + tst-dlopen-nodelete-reloc-mod1 \ + tst-dlopen-nodelete-reloc-mod2 \ + tst-dlopen-nodelete-reloc-mod3 \ + tst-dlopen-nodelete-reloc-mod4 \ + tst-dlopen-nodelete-reloc-mod5 \ + tst-dlopen-nodelete-reloc-mod6 \ + tst-dlopen-nodelete-reloc-mod7 \ + tst-dlopen-nodelete-reloc-mod8 \ + tst-dlopen-nodelete-reloc-mod9 \ + tst-dlopen-nodelete-reloc-mod10 \ + tst-dlopen-nodelete-reloc-mod11 \ + tst-dlopen-nodelete-reloc-mod12 \ + tst-dlopen-nodelete-reloc-mod13 \ + tst-dlopen-nodelete-reloc-mod14 \ + tst-dlopen-nodelete-reloc-mod15 \ + tst-dlopen-nodelete-reloc-mod16 \ + tst-dlopen-nodelete-reloc-mod17) \ tst-initordera1 tst-initorderb1 \ tst-initordera2 tst-initorderb2 \ tst-initordera3 tst-initordera4 \ @@ -283,7 +315,21 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ tst-main1mod tst-libc_dlvsym-dso tst-absolute-sym-lib \ tst-absolute-zero-lib tst-big-note-lib tst-unwind-ctor-lib \ tst-audit13mod1 tst-sonamemove-linkmod1 \ - tst-sonamemove-runmod1 tst-sonamemove-runmod2 + tst-sonamemove-runmod1 tst-sonamemove-runmod2 \ + tst-auditmanymod1 tst-auditmanymod2 tst-auditmanymod3 \ + tst-auditmanymod4 tst-auditmanymod5 tst-auditmanymod6 \ + tst-auditmanymod7 tst-auditmanymod8 tst-auditmanymod9 \ + tst-initlazyfailmod tst-finilazyfailmod \ + tst-dlopenfailmod1 tst-dlopenfaillinkmod tst-dlopenfailmod2 \ + tst-dlopenfailmod3 tst-ldconfig-ld-mod \ + tst-filterobj-flt tst-filterobj-aux tst-filterobj-filtee \ + tst-auditlogmod-1 tst-auditlogmod-2 tst-auditlogmod-3 \ + tst-single_threaded-mod1 tst-single_threaded-mod2 \ + tst-single_threaded-mod3 tst-single_threaded-mod4 \ + tst-tls-ie-mod0 tst-tls-ie-mod1 tst-tls-ie-mod2 \ + tst-tls-ie-mod3 tst-tls-ie-mod4 tst-tls-ie-mod5 \ + tst-tls-ie-mod6 + # Most modules build with _ISOMAC defined, but those filtered out # depend on internal headers. modules-names-tests = $(filter-out ifuncmod% tst-libc_dlvsym-dso tst-tlsmod%,\ @@ -312,8 +358,9 @@ test-xfail-tst-protected1b = yes endif ifeq (yesyes,$(have-fpie)$(build-shared)) modules-names += tst-piemod1 -tests += tst-pie1 tst-pie2 tst-dlopen-pie -tests-pie += tst-pie1 tst-pie2 +tests += tst-pie1 tst-pie2 tst-dlopen-pie tst-dlopen-tlsmodid-pie \ + tst-dlopen-self-pie +tests-pie += tst-pie1 tst-pie2 tst-dlopen-tlsmodid-pie tst-dlopen-self-pie ifeq (yes,$(have-protected-data)) tests += vismain tests-pie += vismain @@ -338,6 +385,7 @@ tests-ifuncstatic := ifuncmain1static ifuncmain1picstatic \ tests-static += $(tests-ifuncstatic) tests-internal += $(tests-ifuncstatic) ifeq (yes,$(build-shared)) +tests += tst-ifunc-fault-lazy tst-ifunc-fault-bindnow # Note: sysdeps/x86_64/ifuncmain8.c uses ifuncmain8. tests-internal += \ ifuncmain1 ifuncmain1pic ifuncmain1vis ifuncmain1vispic \ @@ -369,6 +417,7 @@ tests-special += $(objpfx)tst-pathopt.out $(objpfx)tst-rtld-load-self.out \ $(objpfx)tst-rtld-preload.out endif tests-special += $(objpfx)check-textrel.out $(objpfx)check-execstack.out \ + $(objpfx)check-wx-segment.out \ $(objpfx)check-localplt.out $(objpfx)check-initfini.out endif @@ -451,28 +500,37 @@ $(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os) # are compiled with special flags, and puts these modules into rtld-libc.a # for us. Then we do the real link using rtld-libc.a instead of libc_pic.a. -# If the compiler can do SSP, build the mapfile with dummy __stack_chk_fail -# and __stack_chk_fail_local symbols defined, to prevent the real things -# being dragged into rtld even though rtld is never built with stack- -# protection. +# These symbols need to be stubbed out during symbol discovery because +# their implementation is provided differently in rtld, and the symbol +# discovery mechanism is not compatible with the libc implementation +# when compiled for libc. +rtld-stubbed-symbols = \ + calloc \ + free \ + malloc \ + realloc \ + +# The GCC arguments that implement $(rtld-stubbed-symbols). +rtld-stubbed-symbols-args = \ + $(patsubst %,-Wl$(comma)--defsym=%=0, $(rtld-stubbed-symbols)) ifeq ($(have-ssp),yes) -dummy-stack-chk-fail := -Wl,--defsym='__stack_chk_fail=0' \ - -Wl,--defsym='__stack_chk_fail_local=0' -else -dummy-stack-chk-fail := +# rtld is not built with the stack protector, so these references will +# go away in the rebuilds. +rtld-stubbed-symbols += __stack_chk_fail __stack_chk_fail_local endif $(objpfx)librtld.map: $(objpfx)dl-allobjs.os $(common-objpfx)libc_pic.a @-rm -f $@T - $(reloc-link) -o $@.o $(dummy-stack-chk-fail) \ + $(reloc-link) -o $@.o $(rtld-stubbed-symbols-args) \ '-Wl,-(' $^ -lgcc '-Wl,-)' -Wl,-Map,$@T rm -f $@.o mv -f $@T $@ +# For lld, skip preceding addresses and values before matching the archive and the member. $(objpfx)librtld.mk: $(objpfx)librtld.map Makefile LC_ALL=C \ - sed -n 's@^$(common-objpfx)\([^(]*\)(\([^)]*\.os\)) *.*$$@\1 \2@p' \ + sed -n 's@^[0-9a-f ]*$(common-objpfx)\([^(]*\)(\([^)]*\.os\)) *.*$$@\1 \2@p' \ $< | \ while read lib file; do \ case $$lib in \ @@ -679,20 +737,20 @@ $(objpfx)tst-tlsalign-extern: $(objpfx)tst-tlsalign-vars.o $(objpfx)tst-tlsalign-extern-static: $(objpfx)tst-tlsalign-vars.o tst-null-argv-ENV = LD_DEBUG=all LD_DEBUG_OUTPUT=$(objpfx)tst-null-argv.debug.out -LDFLAGS-nodel2mod3.so = $(no-as-needed) -LDFLAGS-reldepmod5.so = $(no-as-needed) -LDFLAGS-reldep6mod1.so = $(no-as-needed) -LDFLAGS-reldep6mod4.so = $(no-as-needed) -LDFLAGS-reldep8mod3.so = $(no-as-needed) -LDFLAGS-unload4mod1.so = $(no-as-needed) -LDFLAGS-unload4mod2.so = $(no-as-needed) -LDFLAGS-tst-initorder = $(no-as-needed) -LDFLAGS-tst-initordera2.so = $(no-as-needed) -LDFLAGS-tst-initordera3.so = $(no-as-needed) -LDFLAGS-tst-initordera4.so = $(no-as-needed) -LDFLAGS-tst-initorderb2.so = $(no-as-needed) -LDFLAGS-tst-tlsmod5.so = -nostdlib $(no-as-needed) -LDFLAGS-tst-tlsmod6.so = -nostdlib $(no-as-needed) +LDFLAGS-nodel2mod3.so = -Wl,--no-as-needed +LDFLAGS-reldepmod5.so = -Wl,--no-as-needed +LDFLAGS-reldep6mod1.so = -Wl,--no-as-needed +LDFLAGS-reldep6mod4.so = -Wl,--no-as-needed +LDFLAGS-reldep8mod3.so = -Wl,--no-as-needed +LDFLAGS-unload4mod1.so = -Wl,--no-as-needed +LDFLAGS-unload4mod2.so = -Wl,--no-as-needed +LDFLAGS-tst-initorder = -Wl,--no-as-needed +LDFLAGS-tst-initordera2.so = -Wl,--no-as-needed +LDFLAGS-tst-initordera3.so = -Wl,--no-as-needed +LDFLAGS-tst-initordera4.so = -Wl,--no-as-needed +LDFLAGS-tst-initorderb2.so = -Wl,--no-as-needed +LDFLAGS-tst-tlsmod5.so = -nostdlib -Wl,--no-as-needed +LDFLAGS-tst-tlsmod6.so = -nostdlib -Wl,--no-as-needed testobj1.so-no-z-defs = yes testobj3.so-no-z-defs = yes @@ -827,7 +885,7 @@ $(objpfx)vismain.out: $(addprefix $(objpfx),vismod3.so) vismain-ENV = LD_PRELOAD=$(addprefix $(objpfx),vismod3.so) $(objpfx)noload: $(objpfx)testobj1.so $(libdl) -LDFLAGS-noload = -rdynamic $(no-as-needed) +LDFLAGS-noload = -rdynamic -Wl,--no-as-needed $(objpfx)noload.out: $(objpfx)testobj5.so $(objpfx)noload-mem.out: $(objpfx)noload.out @@ -876,7 +934,7 @@ $(objpfx)reldep4: $(libdl) $(objpfx)reldep4.out: $(objpfx)reldep4mod1.so $(objpfx)reldep4mod2.so $(objpfx)next: $(objpfx)nextmod1.so $(objpfx)nextmod2.so $(libdl) -LDFLAGS-next = $(no-as-needed) +LDFLAGS-next = -Wl,--no-as-needed $(objpfx)unload2: $(libdl) $(objpfx)unload2.out: $(objpfx)unload2mod.so $(objpfx)unload2dep.so @@ -900,7 +958,7 @@ $(objpfx)tst-rtld-preload.out: tst-rtld-preload.sh $(objpfx)ld.so \ $(objpfx)preloadtest \ $(preloadtest-preloads:%=$(objpfx)%.so) $(SHELL) $< $(objpfx)ld.so $(objpfx)preloadtest \ - '$(test-wrapper)' '$(test-wrapper-env)' '$(run_program_env)' \ + '$(test-wrapper-env)' '$(run_program_env)' \ '$(rpath-link)' '$(tst-rtld-preload-OBJS)' > $@; \ $(evaluate-test) @@ -1044,8 +1102,8 @@ CFLAGS-tst-execstack-prog.c += -Wno-trampolines CFLAGS-tst-execstack-mod.c += -Wno-trampolines endif -LDFLAGS-tst-array2 = $(no-as-needed) -LDFLAGS-tst-array5 = $(no-as-needed) +LDFLAGS-tst-array2 = -Wl,--no-as-needed +LDFLAGS-tst-array5 = -Wl,--no-as-needed $(objpfx)tst-array1-cmp.out: tst-array1.exp $(objpfx)tst-array1.out cmp $^ > $@; \ @@ -1139,6 +1197,12 @@ $(objpfx)check-execstack.out: $(..)scripts/check-execstack.awk \ $(evaluate-test) generated += check-execstack.out +$(objpfx)check-wx-segment.out: $(..)scripts/check-wx-segment.py \ + $(all-built-dso:=.phdr) + $(PYTHON) $^ --xfail="$(check-wx-segment-xfail)" > $@; \ + $(evaluate-test) +generated += check-wx-segment.out + $(objpfx)tst-dlmodcount: $(libdl) $(objpfx)tst-dlmodcount.out: $(test-modules) @@ -1243,8 +1307,8 @@ $(objpfx)order2mod1.so: $(objpfx)order2mod4.so $(objpfx)order2mod4.so: $(objpfx)order2mod3.so $(objpfx)order2mod2.so: $(objpfx)order2mod3.so order2mod2.so-no-z-defs = yes -LDFLAGS-order2mod1.so = $(no-as-needed) -LDFLAGS-order2mod2.so = $(no-as-needed) +LDFLAGS-order2mod1.so = -Wl,--no-as-needed +LDFLAGS-order2mod2.so = -Wl,--no-as-needed tst-stackguard1-ARGS = --command "$(host-test-program-cmd) --child" tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child" @@ -1271,7 +1335,22 @@ tst-leaks1-static-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1-static.mtrace $(objpfx)tst-addr1: $(libdl) $(objpfx)tst-thrlock: $(libdl) $(shared-thread-library) -$(objpfx)tst-dlopen-aout: $(libdl) $(shared-thread-library) + +tst-tst-dlopen-tlsmodid-no-pie = yes +$(objpfx)tst-dlopen-tlsmodid: $(libdl) $(shared-thread-library) +$(objpfx)tst-dlopen-tlsmodid.out: $(objpfx)tst-dlopen-self +CFLAGS-tst-dlopen-tlsmodid-pie.c += $(pie-ccflag) +$(objpfx)tst-dlopen-tlsmodid-pie: $(libdl) $(shared-thread-library) +$(objpfx)tst-dlopen-tlsmodid-pie.out: $(objpfx)tst-dlopen-self-pie +$(objpfx)tst-dlopen-tlsmodid-container: $(libdl) $(shared-thread-library) +LDFLAGS-tst-dlopen-tlsmodid-container += -Wl,-rpath,\$$ORIGIN + +tst-tst-dlopen-self-no-pie = yes +$(objpfx)tst-dlopen-self: $(libdl) +CFLAGS-tst-dlopen-self-pie.c += $(pie-ccflag) +$(objpfx)tst-dlopen-self-pie: $(libdl) +$(objpfx)tst-dlopen-self-container: $(libdl) +LDFLAGS-tst-dlopen-self-container += -Wl,-rpath,\$$ORIGIN CFLAGS-ifuncmain1pic.c += $(pic-ccflag) CFLAGS-ifuncmain1picstatic.c += $(pic-ccflag) @@ -1329,6 +1408,21 @@ $(objpfx)ifuncmain5static: $(addprefix $(objpfx),ifuncdep5.o) $(objpfx)ifuncmain5staticpic: $(addprefix $(objpfx),ifuncdep5pic.o) $(objpfx)ifuncmain5picstatic: $(addprefix $(objpfx),ifuncdep5pic.o) +LDFLAGS-tst-ifunc-fault-lazy = -Wl,-z,lazy +LDFLAGS-tst-ifunc-fault-bindnow = -Wl,-z,now +define tst-ifunc-fault-script +( $(test-wrapper) $(rtld-prefix) --verify $^ \ + && $(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1 $(rtld-prefix) $^ \ + && $(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1 LD_DEBUG=unused \ + $(rtld-prefix) $^ \ +) > $@; $(evaluate-test) +endef +$(objpfx)tst-ifunc-fault-lazy.out: $(objpfx)tst-ifunc-fault-lazy $(objpfx)ld.so + $(tst-ifunc-fault-script) +$(objpfx)tst-ifunc-fault-bindnow.out: $(objpfx)tst-ifunc-fault-bindnow \ + $(objpfx)ld.so + $(tst-ifunc-fault-script) + $(objpfx)tst-unique1: $(libdl) $(objpfx)tst-unique1.out: $(objpfx)tst-unique1mod1.so \ $(objpfx)tst-unique1mod2.so @@ -1362,10 +1456,10 @@ $(objpfx)tst-initorder2: $(objpfx)tst-initorder2a.so $(objpfx)tst-initorder2d.so $(objpfx)tst-initorder2a.so: $(objpfx)tst-initorder2b.so $(objpfx)tst-initorder2b.so: $(objpfx)tst-initorder2c.so $(objpfx)tst-initorder2c.so: $(objpfx)tst-initorder2d.so -LDFLAGS-tst-initorder2 = $(no-as-needed) -LDFLAGS-tst-initorder2a.so = $(no-as-needed) -LDFLAGS-tst-initorder2b.so = $(no-as-needed) -LDFLAGS-tst-initorder2c.so = $(no-as-needed) +LDFLAGS-tst-initorder2 = -Wl,--no-as-needed +LDFLAGS-tst-initorder2a.so = -Wl,--no-as-needed +LDFLAGS-tst-initorder2b.so = -Wl,--no-as-needed +LDFLAGS-tst-initorder2c.so = -Wl,--no-as-needed define o-iterator-doit $(objpfx)tst-initorder2$o.os: tst-initorder2.c; \ $$(compile-command.c) -DNAME=\"$o\" @@ -1412,6 +1506,30 @@ $(objpfx)tst-audit13.out: $(objpfx)tst-audit13mod1.so LDFLAGS-tst-audit13mod1.so = -Wl,-z,lazy tst-audit13-ENV = LD_AUDIT=$(objpfx)tst-audit13mod1.so +$(objpfx)tst-auditmany.out: $(objpfx)tst-auditmanymod1.so \ + $(objpfx)tst-auditmanymod2.so $(objpfx)tst-auditmanymod3.so \ + $(objpfx)tst-auditmanymod4.so $(objpfx)tst-auditmanymod5.so \ + $(objpfx)tst-auditmanymod6.so $(objpfx)tst-auditmanymod7.so \ + $(objpfx)tst-auditmanymod8.so $(objpfx)tst-auditmanymod9.so +tst-auditmany-ENV = \ + LD_AUDIT=tst-auditmanymod1.so:tst-auditmanymod2.so:tst-auditmanymod3.so:tst-auditmanymod4.so:tst-auditmanymod5.so:tst-auditmanymod6.so:tst-auditmanymod7.so:tst-auditmanymod8.so:tst-auditmanymod9.so + +LDFLAGS-tst-audit14 = -Wl,--audit=tst-auditlogmod-1.so +$(objpfx)tst-auditlogmod-1.so: $(libsupport) +$(objpfx)tst-audit14.out: $(objpfx)tst-auditlogmod-1.so +LDFLAGS-tst-audit15 = \ + -Wl,--audit=tst-auditlogmod-1.so,--depaudit=tst-auditlogmod-2.so +$(objpfx)tst-auditlogmod-2.so: $(libsupport) +$(objpfx)tst-audit15.out: \ + $(objpfx)tst-auditlogmod-1.so $(objpfx)tst-auditlogmod-2.so +LDFLAGS-tst-audit16 = \ + -Wl,--audit=tst-auditlogmod-1.so:tst-auditlogmod-2.so \ + -Wl,--depaudit=tst-auditlogmod-3.so +$(objpfx)tst-auditlogmod-3.so: $(libsupport) +$(objpfx)tst-audit16.out: \ + $(objpfx)tst-auditlogmod-1.so $(objpfx)tst-auditlogmod-2.so \ + $(objpfx)tst-auditlogmod-3.so + # tst-sonamemove links against an older implementation of the library. LDFLAGS-tst-sonamemove-linkmod1.so = \ -Wl,--version-script=tst-sonamemove-linkmod1.map \ @@ -1555,3 +1673,126 @@ $(objpfx)tst-big-note-lib.so: $(objpfx)tst-big-note-lib.o $(objpfx)tst-unwind-ctor: $(objpfx)tst-unwind-ctor-lib.so CFLAGS-tst-unwind-main.c += -funwind-tables -DUSE_PTHREADS=0 + +$(objpfx)tst-initfinilazyfail: $(libdl) +$(objpfx)tst-initfinilazyfail.out: \ + $(objpfx)tst-initlazyfailmod.so $(objpfx)tst-finilazyfailmod.so +# Override -z defs, so that we can reference an undefined symbol. +# Force lazy binding for the same reason. +LDFLAGS-tst-initlazyfailmod.so = \ + -Wl,-z,lazy -Wl,--unresolved-symbols=ignore-all +LDFLAGS-tst-finilazyfailmod.so = \ + -Wl,-z,lazy -Wl,--unresolved-symbols=ignore-all + +$(objpfx)tst-dlopenfail: $(libdl) +$(objpfx)tst-dlopenfail.out: \ + $(objpfx)tst-dlopenfailmod1.so $(objpfx)tst-dlopenfailmod2.so +# Order matters here. tst-dlopenfaillinkmod.so's soname ensures a +# run-time loader failure. --as-needed breaks this test because +# nothing actually references tst-dlopenfailmod2.so (with its soname +# tst-dlopenfail-missingmod.so). +LDFLAGS-tst-dlopenfailmod1.so = -Wl,--no-as-needed +$(objpfx)tst-dlopenfailmod1.so: \ + $(shared-thread-library) $(objpfx)tst-dlopenfaillinkmod.so +LDFLAGS-tst-dlopenfaillinkmod.so = -Wl,-soname,tst-dlopenfail-missingmod.so +$(objpfx)tst-dlopenfailmod2.so: $(shared-thread-library) +$(objpfx)tst-dlopenfail-2: $(libdl) +$(objpfx)tst-dlopenfail.out: \ + $(objpfx)tst-dlopenfailmod1.so $(objpfx)tst-dlopenfailmod2.so \ + $(objpfx)tst-dlopenfailmod3.so + +$(objpfx)tst-dlopen-nodelete-reloc: $(libdl) +$(objpfx)tst-dlopen-nodelete-reloc.out: \ + $(objpfx)tst-dlopen-nodelete-reloc-mod1.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod2.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod3.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod4.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod5.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod6.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod7.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod8.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod9.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod10.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod11.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod12.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod13.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod14.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod15.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod16.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod17.so +tst-dlopen-nodelete-reloc-mod2.so-no-z-defs = yes +LDFLAGS-tst-dlopen-nodelete-reloc-mod2.so = -Wl,-z,nodelete +$(objpfx)tst-dlopen-nodelete-reloc-mod4.so: \ + $(objpfx)tst-dlopen-nodelete-reloc-mod3.so +LDFLAGS-tst-dlopen-nodelete-reloc-mod4.so = -Wl,--no-as-needed +$(objpfx)tst-dlopen-nodelete-reloc-mod5.so: \ + $(objpfx)tst-dlopen-nodelete-reloc-mod4.so +LDFLAGS-tst-dlopen-nodelete-reloc-mod5.so = -Wl,-z,nodelete,--no-as-needed +tst-dlopen-nodelete-reloc-mod5.so-no-z-defs = yes +tst-dlopen-nodelete-reloc-mod7.so-no-z-defs = yes +$(objpfx)tst-dlopen-nodelete-reloc-mod8.so: $(libdl) +$(objpfx)tst-dlopen-nodelete-reloc-mod10.so: $(libdl) +tst-dlopen-nodelete-reloc-mod11.so-no-z-defs = yes +$(objpfx)tst-dlopen-nodelete-reloc-mod13.so: \ + $(objpfx)tst-dlopen-nodelete-reloc-mod12.so +$(objpfx)tst-dlopen-nodelete-reloc-mod15.so: \ + $(objpfx)tst-dlopen-nodelete-reloc-mod14.so +tst-dlopen-nodelete-reloc-mod16.so-no-z-defs = yes +$(objpfx)tst-dlopen-nodelete-reloc-mod16.so: \ + $(objpfx)tst-dlopen-nodelete-reloc-mod15.so +LDFLAGS-tst-dlopen-nodelete-reloc-mod16.so = -Wl,--no-as-needed +$(objpfx)tst-dlopen-nodelete-reloc-mod17.so: \ + $(objpfx)tst-dlopen-nodelete-reloc-mod15.so \ + $(objpfx)tst-dlopen-nodelete-reloc-mod16.so +LDFLAGS-tst-dlopen-nodelete-reloc-mod17.so = -Wl,--no-as-needed + +$(objpfx)tst-ldconfig-ld_so_conf-update.out: $(objpfx)tst-ldconfig-ld-mod.so +$(objpfx)tst-ldconfig-ld_so_conf-update: $(libdl) + +LDFLAGS-tst-filterobj-flt.so = -Wl,--filter=$(objpfx)tst-filterobj-filtee.so +$(objpfx)tst-filterobj: $(objpfx)tst-filterobj-flt.so +$(objpfx)tst-filterobj-dlopen: $(libdl) +$(objpfx)tst-filterobj.out: $(objpfx)tst-filterobj-filtee.so +$(objpfx)tst-filterobj-dlopen.out: $(objpfx)tst-filterobj-filtee.so + +LDFLAGS-tst-filterobj-aux.so = -Wl,--auxiliary=$(objpfx)tst-filterobj-filtee.so +$(objpfx)tst-auxobj: $(objpfx)tst-filterobj-aux.so +$(objpfx)tst-auxobj-dlopen: $(libdl) +$(objpfx)tst-auxobj.out: $(objpfx)tst-filterobj-filtee.so +$(objpfx)tst-auxobj-dlopen.out: $(objpfx)tst-filterobj-filtee.so + +$(objpfx)tst-single_threaded: $(objpfx)tst-single_threaded-mod1.so $(libdl) +$(objpfx)tst-single_threaded.out: \ + $(objpfx)tst-single_threaded-mod2.so $(objpfx)tst-single_threaded-mod3.so +$(objpfx)tst-single_threaded-static-dlopen: \ + $(objpfx)tst-single_threaded-mod1.o $(common-objpfx)dlfcn/libdl.a +$(objpfx)tst-single_threaded-static-dlopen.out: \ + $(objpfx)tst-single_threaded-mod2.so +$(objpfx)tst-single_threaded-pthread: \ + $(objpfx)tst-single_threaded-mod1.so $(libdl) $(shared-thread-library) +$(objpfx)tst-single_threaded-pthread.out: \ + $(objpfx)tst-single_threaded-mod2.so $(objpfx)tst-single_threaded-mod3.so \ + $(objpfx)tst-single_threaded-mod4.so +$(objpfx)tst-single_threaded-pthread-static: $(static-thread-library) + +$(objpfx)tst-tls-ie: $(libdl) $(shared-thread-library) +$(objpfx)tst-tls-ie.out: \ + $(objpfx)tst-tls-ie-mod0.so \ + $(objpfx)tst-tls-ie-mod1.so \ + $(objpfx)tst-tls-ie-mod2.so \ + $(objpfx)tst-tls-ie-mod3.so \ + $(objpfx)tst-tls-ie-mod4.so \ + $(objpfx)tst-tls-ie-mod5.so \ + $(objpfx)tst-tls-ie-mod6.so + +$(objpfx)tst-tls-ie-dlmopen: $(libdl) $(shared-thread-library) +$(objpfx)tst-tls-ie-dlmopen.out: \ + $(objpfx)tst-tls-ie-mod0.so \ + $(objpfx)tst-tls-ie-mod1.so \ + $(objpfx)tst-tls-ie-mod2.so \ + $(objpfx)tst-tls-ie-mod3.so \ + $(objpfx)tst-tls-ie-mod4.so \ + $(objpfx)tst-tls-ie-mod5.so \ + $(objpfx)tst-tls-ie-mod6.so + +$(objpfx)tst-tls-surplus: $(libdl) diff --git a/elf/Versions b/elf/Versions index 3b09901f6c..be88c48e6d 100644 --- a/elf/Versions +++ b/elf/Versions @@ -26,6 +26,7 @@ libc { _dl_open_hook; _dl_open_hook2; _dl_sym; _dl_vsym; __libc_dlclose; __libc_dlopen_mode; __libc_dlsym; __libc_dlvsym; + __libc_early_init; # Internal error handling support. Interposes the functions in ld.so. _dl_signal_exception; _dl_catch_exception; @@ -35,9 +36,6 @@ libc { ld { GLIBC_2.0 { - # Functions which are interposed from libc.so. - calloc; free; malloc; realloc; - _r_debug; } GLIBC_2.1 { @@ -60,7 +58,7 @@ ld { _dl_allocate_tls; _dl_allocate_tls_init; _dl_argv; _dl_find_dso_for_object; _dl_get_tls_static_info; _dl_deallocate_tls; _dl_make_stack_executable; - _dl_rtld_di_serinfo; _dl_starting_up; + _dl_rtld_di_serinfo; _dl_starting_up; _dl_fatal_printf; _rtld_global; _rtld_global_ro; # Only here for gdb while a better method is developed. diff --git a/elf/cache.c b/elf/cache.c index d0d5858448..d92b4e59c1 100644 --- a/elf/cache.c +++ b/elf/cache.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 1999. @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include #include diff --git a/elf/chroot_canon.c b/elf/chroot_canon.c index dd09393ce3..746a8a3105 100644 --- a/elf/chroot_canon.c +++ b/elf/chroot_canon.c @@ -1,5 +1,5 @@ /* Return the canonical absolute name of a given file inside chroot. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include #include diff --git a/elf/dl-addr-obj.c b/elf/dl-addr-obj.c index ad7304ce51..9645e35a98 100644 --- a/elf/dl-addr-obj.c +++ b/elf/dl-addr-obj.c @@ -1,5 +1,5 @@ /* Determine if address is inside object load segments. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-addr.c b/elf/dl-addr.c index 9d285d76a7..693cfd2a62 100644 --- a/elf/dl-addr.c +++ b/elf/dl-addr.c @@ -1,5 +1,5 @@ /* Locate the shared object symbol nearest a given address. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -42,7 +42,7 @@ determine_info (const ElfW(Addr) addr, struct link_map *match, Dl_info *info, ElfW(Word) strtabsize = match->l_info[DT_STRSZ]->d_un.d_val; const ElfW(Sym) *matchsym = NULL; - if (match->l_info[ADDRIDX (DT_GNU_HASH)] != NULL) + if (match->l_info[ELF_MACHINE_GNU_HASH_ADDRIDX] != NULL) { /* We look at all symbol table entries referenced by the hash table. */ @@ -57,6 +57,7 @@ determine_info (const ElfW(Addr) addr, struct link_map *match, Dl_info *info, { /* The hash table never references local symbols so we can omit that test here. */ + symndx = ELF_MACHINE_HASH_SYMIDX (match, hasharr); if ((symtab[symndx].st_shndx != SHN_UNDEF || symtab[symndx].st_value != 0) && symtab[symndx].st_shndx != SHN_ABS @@ -65,8 +66,6 @@ determine_info (const ElfW(Addr) addr, struct link_map *match, Dl_info *info, matchsym, addr) && symtab[symndx].st_name < strtabsize) matchsym = (ElfW(Sym) *) &symtab[symndx]; - - ++symndx; } while ((*hasharr++ & 1u) == 0); } diff --git a/elf/dl-cache.c b/elf/dl-cache.c index d8d1e2344e..93d185e788 100644 --- a/elf/dl-cache.c +++ b/elf/dl-cache.c @@ -1,5 +1,5 @@ /* Support for reading /etc/ld.so.cache files written by Linux ldconfig. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -199,15 +199,25 @@ _dl_load_cache_lookup (const char *name) PROT_READ); /* We can handle three different cache file formats here: + - only the new format - the old libc5/glibc2.0/2.1 format - the old format with the new format in it - - only the new format The following checks if the cache contains any of these formats. */ - if (file != MAP_FAILED && cachesize > sizeof *cache - && memcmp (file, CACHEMAGIC, sizeof CACHEMAGIC - 1) == 0 + if (file != MAP_FAILED && cachesize > sizeof *cache_new + && memcmp (file, CACHEMAGIC_VERSION_NEW, + sizeof CACHEMAGIC_VERSION_NEW - 1) == 0 /* Check for corruption, avoiding overflow. */ - && ((cachesize - sizeof *cache) / sizeof (struct file_entry) - >= ((struct cache_file *) file)->nlibs)) + && ((cachesize - sizeof *cache_new) / sizeof (struct file_entry_new) + >= ((struct cache_file_new *) file)->nlibs)) + { + cache_new = file; + cache = file; + } + else if (file != MAP_FAILED && cachesize > sizeof *cache + && memcmp (file, CACHEMAGIC, sizeof CACHEMAGIC - 1) == 0 + /* Check for corruption, avoiding overflow. */ + && ((cachesize - sizeof *cache) / sizeof (struct file_entry) + >= ((struct cache_file *) file)->nlibs)) { size_t offset; /* Looks ok. */ @@ -223,13 +233,6 @@ _dl_load_cache_lookup (const char *name) sizeof CACHEMAGIC_VERSION_NEW - 1) != 0) cache_new = (void *) -1; } - else if (file != MAP_FAILED && cachesize > sizeof *cache_new - && memcmp (file, CACHEMAGIC_VERSION_NEW, - sizeof CACHEMAGIC_VERSION_NEW - 1) == 0) - { - cache_new = file; - cache = file; - } else { if (file != MAP_FAILED) diff --git a/elf/dl-call-libc-early-init.c b/elf/dl-call-libc-early-init.c new file mode 100644 index 0000000000..9a84680a1c --- /dev/null +++ b/elf/dl-call-libc-early-init.c @@ -0,0 +1,41 @@ +/* Invoke the early initialization function in libc.so. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include + +void +_dl_call_libc_early_init (struct link_map *libc_map, _Bool initial) +{ + /* There is nothing to do if we did not actually load libc.so. */ + if (libc_map == NULL) + return; + + const ElfW(Sym) *sym + = _dl_lookup_direct (libc_map, "__libc_early_init", + 0x069682ac, /* dl_new_hash output. */ + "GLIBC_PRIVATE", + 0x0963cf85); /* _dl_elf_hash output. */ + assert (sym != NULL); + __typeof (__libc_early_init) *early_init + = DL_SYMBOL_ADDRESS (libc_map, sym); + early_init (initial); +} diff --git a/elf/dl-close.c b/elf/dl-close.c index 4aef95a1a0..8e146ecee1 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -1,5 +1,5 @@ /* Close a shared object opened by `_dl_open'. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -106,6 +106,30 @@ remove_slotinfo (size_t idx, struct dtv_slotinfo_list *listp, size_t disp, return false; } +/* Invoke dstructors for CLOSURE (a struct link_map *). Called with + exception handling temporarily disabled, to make errors fatal. */ +static void +call_destructors (void *closure) +{ + struct link_map *map = closure; + + if (map->l_info[DT_FINI_ARRAY] != NULL) + { + ElfW(Addr) *array = + (ElfW(Addr) *) (map->l_addr + + map->l_info[DT_FINI_ARRAY]->d_un.d_ptr); + unsigned int sz = (map->l_info[DT_FINI_ARRAYSZ]->d_un.d_val + / sizeof (ElfW(Addr))); + + while (sz-- > 0) + ((fini_t) array[sz]) (); + } + + /* Next try the old-style destructor. */ + if (map->l_info[DT_FINI] != NULL) + DL_CALL_DT_FINI (map, ((void *) map->l_addr + + map->l_info[DT_FINI]->d_un.d_ptr)); +} void _dl_close_worker (struct link_map *map, bool force) @@ -144,14 +168,6 @@ _dl_close_worker (struct link_map *map, bool force) char done[nloaded]; struct link_map *maps[nloaded]; - /* Clear DF_1_NODELETE to force object deletion. We don't need to touch - l_tls_dtor_count because forced object deletion only happens when an - error occurs during object load. Destructor registration for TLS - non-POD objects should not have happened till then for this - object. */ - if (force) - map->l_flags_1 &= ~DF_1_NODELETE; - /* Run over the list and assign indexes to the link maps and enter them into the MAPS array. */ int idx = 0; @@ -181,7 +197,7 @@ _dl_close_worker (struct link_map *map, bool force) /* Check whether this object is still used. */ if (l->l_type == lt_loaded && l->l_direct_opencount == 0 - && (l->l_flags_1 & DF_1_NODELETE) == 0 + && !l->l_nodelete_active /* See CONCURRENCY NOTES in cxa_thread_atexit_impl.c to know why acquire is sufficient and correct. */ && atomic_load_acquire (&l->l_tls_dtor_count) == 0 @@ -263,11 +279,11 @@ _dl_close_worker (struct link_map *map, bool force) if (!used[i]) { - assert (imap->l_type == lt_loaded - && (imap->l_flags_1 & DF_1_NODELETE) == 0); + assert (imap->l_type == lt_loaded && !imap->l_nodelete_active); /* Call its termination function. Do not do it for - half-cooked objects. */ + half-cooked objects. Temporarily disable exception + handling, so that errors are fatal. */ if (imap->l_init_called) { /* When debugging print a message first. */ @@ -276,22 +292,9 @@ _dl_close_worker (struct link_map *map, bool force) _dl_debug_printf ("\ncalling fini: %s [%lu]\n\n", imap->l_name, nsid); - if (imap->l_info[DT_FINI_ARRAY] != NULL) - { - ElfW(Addr) *array = - (ElfW(Addr) *) (imap->l_addr - + imap->l_info[DT_FINI_ARRAY]->d_un.d_ptr); - unsigned int sz = (imap->l_info[DT_FINI_ARRAYSZ]->d_un.d_val - / sizeof (ElfW(Addr))); - - while (sz-- > 0) - ((fini_t) array[sz]) (); - } - - /* Next try the old-style destructor. */ - if (imap->l_info[DT_FINI] != NULL) - DL_CALL_DT_FINI (imap, ((void *) imap->l_addr - + imap->l_info[DT_FINI]->d_un.d_ptr)); + if (imap->l_info[DT_FINI_ARRAY] != NULL + || imap->l_info[DT_FINI] != NULL) + _dl_catch_exception (NULL, call_destructors, imap); } #ifdef SHARED @@ -302,8 +305,12 @@ _dl_close_worker (struct link_map *map, bool force) for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->objclose != NULL) - /* Return value is ignored. */ - (void) afct->objclose (&imap->l_audit[cnt].cookie); + { + struct auditstate *state + = link_map_audit_state (imap, cnt); + /* Return value is ignored. */ + (void) afct->objclose (&state->cookie); + } afct = afct->next; } @@ -478,7 +485,10 @@ _dl_close_worker (struct link_map *map, bool force) for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->activity != NULL) - afct->activity (&head->l_audit[cnt].cookie, LA_ACT_DELETE); + { + struct auditstate *state = link_map_audit_state (head, cnt); + afct->activity (&state->cookie, LA_ACT_DELETE); + } afct = afct->next; } @@ -746,6 +756,10 @@ _dl_close_worker (struct link_map *map, bool force) if (imap->l_runpath_dirs.dirs != (void *) -1) free (imap->l_runpath_dirs.dirs); + /* Clear GL(dl_initfirst) when freeing its link_map memory. */ + if (imap == GL(dl_initfirst)) + GL(dl_initfirst) = NULL; + free (imap); } } @@ -767,14 +781,23 @@ _dl_close_worker (struct link_map *map, bool force) if (__glibc_unlikely (do_audit)) { struct link_map *head = ns->_ns_loaded; - /* Do not call the functions for any auditing object. */ - if (head->l_auditing == 0) + /* If head is NULL, the namespace has become empty, and the + audit interface does not give us a way to signal + LA_ACT_CONSISTENT for it because the first loaded module is + used to identify the namespace. + + Furthermore, do not notify auditors of the cleanup of a + failed audit module loading attempt. */ + if (head != NULL && head->l_auditing == 0) { struct audit_ifaces *afct = GLRO(dl_audit); for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->activity != NULL) - afct->activity (&head->l_audit[cnt].cookie, LA_ACT_CONSISTENT); + { + struct auditstate *state = link_map_audit_state (head, cnt); + afct->activity (&state->cookie, LA_ACT_CONSISTENT); + } afct = afct->next; } @@ -816,7 +839,7 @@ _dl_close (void *_map) before we took the lock. There is no way to detect this (see below) so we proceed assuming this isn't the case. First see whether we can remove the object at all. */ - if (__glibc_unlikely (map->l_flags_1 & DF_1_NODELETE)) + if (__glibc_unlikely (map->l_nodelete_active)) { /* Nope. Do nothing. */ __rtld_lock_unlock_recursive (GL(dl_load_lock)); diff --git a/elf/dl-conflict.c b/elf/dl-conflict.c index bb8c228418..dc2c69d088 100644 --- a/elf/dl-conflict.c +++ b/elf/dl-conflict.c @@ -1,5 +1,5 @@ /* Resolve conflicts against already prelinked libraries. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ + not, see . */ #include #include diff --git a/elf/dl-debug.c b/elf/dl-debug.c index 1b2c778038..4b3d3ad6ba 100644 --- a/elf/dl-debug.c +++ b/elf/dl-debug.c @@ -1,5 +1,5 @@ /* Communicate dynamic linker state to the debugger at runtime. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/dl-deps.c b/elf/dl-deps.c index e12c353158..b5a43232a7 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -1,5 +1,5 @@ /* Load the dependencies of a mapped object. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -485,6 +485,7 @@ _dl_map_object_deps (struct link_map *map, map->l_searchlist.r_list = &l_initfini[nlist + 1]; map->l_searchlist.r_nlist = nlist; + unsigned int map_index = UINT_MAX; for (nlist = 0, runp = known; runp; runp = runp->next) { @@ -492,7 +493,11 @@ _dl_map_object_deps (struct link_map *map, /* This can happen when we trace the loading. */ --map->l_searchlist.r_nlist; else - map->l_searchlist.r_list[nlist++] = runp->map; + { + if (runp->map == map) + map_index = nlist; + map->l_searchlist.r_list[nlist++] = runp->map; + } /* Now clear all the mark bits we set in the objects on the search list to avoid duplicates, so the next call starts fresh. */ @@ -550,13 +555,14 @@ Filters not supported with LD_TRACE_PRELINKING")); } /* Maybe we can remove some relocation dependencies now. */ - assert (map->l_searchlist.r_list[0] == map); struct link_map_reldeps *l_reldeps = NULL; if (map->l_reldeps != NULL) { - for (i = 1; i < nlist; ++i) + for (i = 0; i < nlist; ++i) map->l_searchlist.r_list[i]->l_reserved = 1; + /* Avoid removing relocation dependencies of the main binary. */ + map->l_reserved = 0; struct link_map **list = &map->l_reldeps->list[0]; for (i = 0; i < map->l_reldeps->act; ++i) if (list[i]->l_reserved) @@ -581,16 +587,30 @@ Filters not supported with LD_TRACE_PRELINKING")); } } - for (i = 1; i < nlist; ++i) + for (i = 0; i < nlist; ++i) map->l_searchlist.r_list[i]->l_reserved = 0; } - /* Sort the initializer list to take dependencies into account. The binary - itself will always be initialize last. */ - memcpy (l_initfini, map->l_searchlist.r_list, - nlist * sizeof (struct link_map *)); - /* We can skip looking for the binary itself which is at the front of - the search list. */ + /* Sort the initializer list to take dependencies into account. Always + initialize the binary itself last. */ + assert (map_index < nlist); + if (map_index > 0) + { + /* Copy the binary into position 0. */ + l_initfini[0] = map->l_searchlist.r_list[map_index]; + + /* Copy the filtees. */ + for (i = 0; i < map_index; ++i) + l_initfini[i+1] = map->l_searchlist.r_list[i]; + + /* Copy the remainder. */ + for (i = map_index + 1; i < nlist; ++i) + l_initfini[i] = map->l_searchlist.r_list[i]; + } + else + memcpy (l_initfini, map->l_searchlist.r_list, + nlist * sizeof (struct link_map *)); + _dl_sort_maps (&l_initfini[1], nlist - 1, NULL, false); /* Terminate the list of dependencies. */ diff --git a/elf/dl-dst.h b/elf/dl-dst.h index dc095f3018..0b2925a64a 100644 --- a/elf/dl-dst.h +++ b/elf/dl-dst.h @@ -1,5 +1,5 @@ /* Handling of dynamic sring tokens. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "trusted-dirs.h" diff --git a/elf/dl-environ.c b/elf/dl-environ.c index ed2e5a8738..32f7c39c1c 100644 --- a/elf/dl-environ.c +++ b/elf/dl-environ.c @@ -1,5 +1,5 @@ /* Environment handling for dynamic loader. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-error-minimal.c b/elf/dl-error-minimal.c index b5e0edee57..d5e83198ce 100644 --- a/elf/dl-error-minimal.c +++ b/elf/dl-error-minimal.c @@ -1,5 +1,5 @@ /* Error handling for runtime dynamic linker, minimal version. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This version does lives in ld.so, does not use thread-local data and supports _dl_signal_cerror and _dl_receive_error. */ diff --git a/elf/dl-error-skeleton.c b/elf/dl-error-skeleton.c index 248c185a74..c505c02adf 100644 --- a/elf/dl-error-skeleton.c +++ b/elf/dl-error-skeleton.c @@ -1,5 +1,5 @@ /* Template for error handling for runtime dynamic linker. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* The following macro needs to be defined before including this skeleton file: @@ -173,6 +173,18 @@ int _dl_catch_exception (struct dl_exception *exception, void (*operate) (void *), void *args) { + /* If exception is NULL, temporarily disable exception handling. + Exceptions during operate (args) are fatal. */ + if (exception == NULL) + { + struct catch *const old = catch_hook; + catch_hook = NULL; + operate (args); + /* If we get here, the operation was successful. */ + catch_hook = old; + return 0; + } + /* We need not handle `receiver' since setting a `catch' is handled before it. */ diff --git a/elf/dl-error.c b/elf/dl-error.c index f047618a07..e91561b785 100644 --- a/elf/dl-error.c +++ b/elf/dl-error.c @@ -1,5 +1,5 @@ /* Error handling for runtime dynamic linker, full version. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This implementation lives in libc.so because it uses thread-local data, which is not available in ld.so. It interposes the version diff --git a/elf/dl-exception.c b/elf/dl-exception.c index 7ee19a7fc8..d18110976c 100644 --- a/elf/dl-exception.c +++ b/elf/dl-exception.c @@ -1,5 +1,5 @@ /* ld.so error exception allocation and deallocation. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-execstack.c b/elf/dl-execstack.c index bfd84d8e99..7e45c82f25 100644 --- a/elf/dl-execstack.c +++ b/elf/dl-execstack.c @@ -1,5 +1,5 @@ /* Stack executability handling for GNU dynamic linker. Stub version. - Copyright (C) 2003-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-fini.c b/elf/dl-fini.c index 1e55d39814..231db3d66d 100644 --- a/elf/dl-fini.c +++ b/elf/dl-fini.c @@ -1,5 +1,5 @@ /* Call the termination functions of loaded shared objects. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,11 +14,12 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include #include +#include /* Type of the constructor functions. */ @@ -117,7 +118,7 @@ _dl_fini (void) /* Is there a destructor function? */ if (l->l_info[DT_FINI_ARRAY] != NULL - || l->l_info[DT_FINI] != NULL) + || (ELF_INITFINI && l->l_info[DT_FINI] != NULL)) { /* When debugging print a message first. */ if (__builtin_expect (GLRO(dl_debug_mask) @@ -139,7 +140,7 @@ _dl_fini (void) } /* Next try the old-style destructor. */ - if (l->l_info[DT_FINI] != NULL) + if (ELF_INITFINI && l->l_info[DT_FINI] != NULL) DL_CALL_DT_FINI (l, l->l_addr + l->l_info[DT_FINI]->d_un.d_ptr); } @@ -152,9 +153,12 @@ _dl_fini (void) for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->objclose != NULL) - /* Return value is ignored. */ - (void) afct->objclose (&l->l_audit[cnt].cookie); - + { + struct auditstate *state + = link_map_audit_state (l, cnt); + /* Return value is ignored. */ + (void) afct->objclose (&state->cookie); + } afct = afct->next; } } diff --git a/elf/dl-fptr.c b/elf/dl-fptr.c index da0b734669..9fe2ef7a34 100644 --- a/elf/dl-fptr.c +++ b/elf/dl-fptr.c @@ -1,5 +1,5 @@ /* Manage function descriptors. Generic version. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-hwcaps.c b/elf/dl-hwcaps.c index b1f7dc776f..6df9efb255 100644 --- a/elf/dl-hwcaps.c +++ b/elf/dl-hwcaps.c @@ -1,5 +1,5 @@ /* Hardware capability support for run-time dynamic loader. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -26,12 +26,6 @@ #include #include -#ifdef _DL_FIRST_PLATFORM -# define _DL_FIRST_EXTRA (_DL_FIRST_PLATFORM + _DL_PLATFORMS_COUNT) -#else -# define _DL_FIRST_EXTRA _DL_HWCAP_COUNT -#endif - /* Return an array of useful/necessary hardware capability names. */ const struct r_strlenpair * _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz, @@ -52,116 +46,12 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz, if ((masked & (1ULL << n)) != 0) ++cnt; -#ifdef NEED_DL_SYSINFO_DSO - /* The system-supplied DSO can contain a note of type 2, vendor "GNU". - This gives us a list of names to treat as fake hwcap bits. */ - - const char *dsocaps = NULL; - size_t dsocapslen = 0; - if (GLRO(dl_sysinfo_map) != NULL) - { - const ElfW(Phdr) *const phdr = GLRO(dl_sysinfo_map)->l_phdr; - const ElfW(Word) phnum = GLRO(dl_sysinfo_map)->l_phnum; - for (uint_fast16_t i = 0; i < phnum; ++i) - if (phdr[i].p_type == PT_NOTE) - { - const ElfW(Addr) start = (phdr[i].p_vaddr - + GLRO(dl_sysinfo_map)->l_addr); - /* NB: Some PT_NOTE segment may have alignment value of 0 - or 1. gABI specifies that PT_NOTE segments should be - aligned to 4 bytes in 32-bit objects and to 8 bytes in - 64-bit objects. As a Linux extension, we also support - 4 byte alignment in 64-bit objects. If p_align is less - than 4, we treate alignment as 4 bytes since some note - segments have 0 or 1 byte alignment. */ - ElfW(Addr) align = phdr[i].p_align; - if (align < 4) - align = 4; - else if (align != 4 && align != 8) - continue; - /* The standard ELF note layout is exactly as the anonymous struct. - The next element is a variable length vendor name of length - VENDORLEN (with a real length rounded to ElfW(Word)), followed - by the data of length DATALEN (with a real length rounded to - ElfW(Word)). */ - const struct - { - ElfW(Word) vendorlen; - ElfW(Word) datalen; - ElfW(Word) type; - } *note = (const void *) start; - while ((ElfW(Addr)) (note + 1) - start < phdr[i].p_memsz) - { - /* The layout of the type 2, vendor "GNU" note is as follows: - .long - .long (as mask >> _DL_FIRST_EXTRA). - .byte - .asciz . */ - if (note->type == NT_GNU_HWCAP - && note->vendorlen == sizeof "GNU" - && !memcmp ((note + 1), "GNU", sizeof "GNU") - && note->datalen > 2 * sizeof (ElfW(Word)) + 2) - { - const ElfW(Word) *p - = ((const void *) note - + ELF_NOTE_DESC_OFFSET (sizeof "GNU", align)); - cnt += *p++; - ++p; /* Skip mask word. */ - dsocaps = (const char *) p; /* Pseudo-string "name" */ - dsocapslen = note->datalen - sizeof *p * 2; - break; - } - note = ((const void *) note - + ELF_NOTE_NEXT_OFFSET (note->vendorlen, - note->datalen, align)); - } - if (dsocaps != NULL) - break; - } - } -#endif - /* For TLS enabled builds always add 'tls'. */ ++cnt; /* Create temporary data structure to generate result table. */ struct r_strlenpair temp[cnt]; m = 0; -#ifdef NEED_DL_SYSINFO_DSO - if (dsocaps != NULL) - { - /* dsocaps points to the .asciz string, and -1 points to the mask - .long just before the string. */ - const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1]; - GLRO(dl_hwcap) |= (uint64_t) mask << _DL_FIRST_EXTRA; - /* Note that we add the dsocaps to the set already chosen by the - LD_HWCAP_MASK environment variable (or default HWCAP_IMPORTANT). - So there is no way to request ignoring an OS-supplied dsocap - string and bit like you can ignore an OS-supplied HWCAP bit. */ - hwcap_mask |= (uint64_t) mask << _DL_FIRST_EXTRA; -#if HAVE_TUNABLES - TUNABLE_SET (glibc, cpu, hwcap_mask, uint64_t, hwcap_mask); -#else - GLRO(dl_hwcap_mask) = hwcap_mask; -#endif - size_t len; - for (const char *p = dsocaps; p < dsocaps + dsocapslen; p += len + 1) - { - uint_fast8_t bit = *p++; - len = strlen (p); - - /* Skip entries that are not enabled in the mask word. */ - if (__glibc_likely (mask & ((ElfW(Word)) 1 << bit))) - { - temp[m].str = p; - temp[m].len = len; - ++m; - } - else - --cnt; - } - } -#endif for (n = 0; masked != 0; ++n) if ((masked & (1ULL << n)) != 0) { diff --git a/elf/dl-hwcaps.h b/elf/dl-hwcaps.h index fba5d4e20e..b66da59b89 100644 --- a/elf/dl-hwcaps.h +++ b/elf/dl-hwcaps.h @@ -1,5 +1,5 @@ /* Hardware capability support for run-time dynamic loader. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/dl-init.c b/elf/dl-init.c index b437438b43..518824e8a5 100644 --- a/elf/dl-init.c +++ b/elf/dl-init.c @@ -1,5 +1,5 @@ /* Run initializers for newly loaded objects. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,10 +14,12 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ +#include #include #include +#include /* Type of the initializer. */ @@ -27,6 +29,11 @@ typedef void (*init_t) (int, char **, char **); static void call_init (struct link_map *l, int argc, char **argv, char **env) { + /* If the object has not been relocated, this is a bug. The + function pointers are invalid in this case. (Executables do not + need relocation, and neither do proxy objects.) */ + assert (l->l_real->l_relocated || l->l_real->l_type == lt_executable); + if (l->l_init_called) /* This object is all done. */ return; @@ -40,11 +47,6 @@ call_init (struct link_map *l, int argc, char **argv, char **env) && l->l_type == lt_executable) return; - /* Are there any constructors? */ - if (l->l_info[DT_INIT] == NULL - && __builtin_expect (l->l_info[DT_INIT_ARRAY] == NULL, 1)) - return; - /* Print a debug message if wanted. */ if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_IMPCALLS)) _dl_debug_printf ("\ncalling init: %s\n\n", @@ -54,7 +56,7 @@ call_init (struct link_map *l, int argc, char **argv, char **env) - the one named by DT_INIT - the others in the DT_INIT_ARRAY. */ - if (l->l_info[DT_INIT] != NULL) + if (ELF_INITFINI && l->l_info[DT_INIT] != NULL) DL_CALL_DT_INIT(l, l->l_addr + l->l_info[DT_INIT]->d_un.d_ptr, argc, argv, env); /* Next see whether there is an array with initialization functions. */ diff --git a/elf/dl-iteratephdr.c b/elf/dl-iteratephdr.c index 6a0b7b57b3..7c783f5813 100644 --- a/elf/dl-iteratephdr.c +++ b/elf/dl-iteratephdr.c @@ -1,5 +1,5 @@ /* Get loaded objects program headers. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ + not, see . */ #include #include diff --git a/elf/dl-libc.c b/elf/dl-libc.c index 0fedee7ef5..24a715511a 100644 --- a/elf/dl-libc.c +++ b/elf/dl-libc.c @@ -1,5 +1,5 @@ /* Handle loading and unloading shared objects for internal libc purposes. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Zack Weinberg , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-load.c b/elf/dl-load.c index 5abeb867f1..e39980fb19 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1,5 +1,5 @@ /* Map in a shared object's segments from the file. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -30,6 +30,7 @@ #include #include #include +#include /* Type for the buffer we put the ELF header and hopefully the program header. This buffer does not really have to be too large. In most @@ -852,6 +853,77 @@ lose (int code, int fd, const char *name, char *realname, struct link_map *l, } +/* Process PT_GNU_PROPERTY program header PH in module L after + PT_LOAD segments are mapped. Only one NT_GNU_PROPERTY_TYPE_0 + note is handled which contains processor specific properties. */ + +void +_dl_process_pt_gnu_property (struct link_map *l, const ElfW(Phdr) *ph) +{ + const ElfW(Nhdr) *note = (const void *) (ph->p_vaddr + l->l_addr); + const ElfW(Addr) size = ph->p_memsz; + const ElfW(Addr) align = ph->p_align; + + /* The NT_GNU_PROPERTY_TYPE_0 note must be aligned to 4 bytes in + 32-bit objects and to 8 bytes in 64-bit objects. Skip notes + with incorrect alignment. */ + if (align != (__ELF_NATIVE_CLASS / 8)) + return; + + const ElfW(Addr) start = (ElfW(Addr)) note; + unsigned int last_type = 0; + + while ((ElfW(Addr)) (note + 1) - start < size) + { + /* Find the NT_GNU_PROPERTY_TYPE_0 note. */ + if (note->n_namesz == 4 + && note->n_type == NT_GNU_PROPERTY_TYPE_0 + && memcmp (note + 1, "GNU", 4) == 0) + { + /* Check for invalid property. */ + if (note->n_descsz < 8 + || (note->n_descsz % sizeof (ElfW(Addr))) != 0) + return; + + /* Start and end of property array. */ + unsigned char *ptr = (unsigned char *) (note + 1) + 4; + unsigned char *ptr_end = ptr + note->n_descsz; + + do + { + unsigned int type = *(unsigned int *) ptr; + unsigned int datasz = *(unsigned int *) (ptr + 4); + + /* Property type must be in ascending order. */ + if (type < last_type) + return; + + ptr += 8; + if ((ptr + datasz) > ptr_end) + return; + + last_type = type; + + /* Target specific property processing. */ + if (_dl_process_gnu_property (l, type, datasz, ptr) == 0) + return; + + /* Check the next property item. */ + ptr += ALIGN_UP (datasz, sizeof (ElfW(Addr))); + } + while ((ptr_end - ptr) >= 8); + + /* Only handle one NT_GNU_PROPERTY_TYPE_0. */ + return; + } + + note = ((const void *) note + + ELF_NOTE_NEXT_OFFSET (note->n_namesz, note->n_descsz, + align)); + } +} + + /* Map in the shared object NAME, actually located in REALNAME, and already opened on FD. */ @@ -876,33 +948,43 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, struct r_debug *r = _dl_debug_initialize (0, nsid); bool make_consistent = false; - /* Get file information. */ + /* Get file information. To match the kernel behavior, do not fill + in this information for the executable in case of an explicit + loader invocation. */ struct r_file_id id; - if (__glibc_unlikely (!_dl_get_file_id (fd, &id))) + if (mode & __RTLD_OPENEXEC) { - errstring = N_("cannot stat shared object"); - call_lose_errno: - errval = errno; - call_lose: - lose (errval, fd, name, realname, l, errstring, - make_consistent ? r : NULL, nsid); + assert (nsid == LM_ID_BASE); + memset (&id, 0, sizeof (id)); } + else + { + if (__glibc_unlikely (!_dl_get_file_id (fd, &id))) + { + errstring = N_("cannot stat shared object"); + call_lose_errno: + errval = errno; + call_lose: + lose (errval, fd, name, realname, l, errstring, + make_consistent ? r : NULL, nsid); + } - /* Look again to see if the real name matched another already loaded. */ - for (l = GL(dl_ns)[nsid]._ns_loaded; l != NULL; l = l->l_next) - if (!l->l_removed && _dl_file_id_match_p (&l->l_file_id, &id)) - { - /* The object is already loaded. - Just bump its reference count and return it. */ - __close_nocancel (fd); + /* Look again to see if the real name matched another already loaded. */ + for (l = GL(dl_ns)[nsid]._ns_loaded; l != NULL; l = l->l_next) + if (!l->l_removed && _dl_file_id_match_p (&l->l_file_id, &id)) + { + /* The object is already loaded. + Just bump its reference count and return it. */ + __close_nocancel (fd); - /* If the name is not in the list of names for this object add - it. */ - free (realname); - add_name_to_object (l, name); + /* If the name is not in the list of names for this object add + it. */ + free (realname); + add_name_to_object (l, name); - return l; - } + return l; + } + } #ifdef SHARED /* When loading into a namespace other than the base one we must @@ -963,7 +1045,8 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->activity != NULL) - afct->activity (&head->l_audit[cnt].cookie, LA_ACT_ADD); + afct->activity (&link_map_audit_state (head, cnt)->cookie, + LA_ACT_ADD); afct = afct->next; } @@ -1005,8 +1088,8 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, else { phdr = alloca (maplength); - __lseek (fd, header->e_phoff, SEEK_SET); - if ((size_t) __read_nocancel (fd, (void *) phdr, maplength) != maplength) + if ((size_t) __pread64_nocancel (fd, (void *) phdr, maplength, + header->e_phoff) != maplength) { errstring = N_("cannot read file data"); goto call_lose_errno; @@ -1108,27 +1191,21 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, offset. We will adjust it later. */ l->l_tls_initimage = (void *) ph->p_vaddr; - /* If not loading the initial set of shared libraries, - check whether we should permit loading a TLS segment. */ - if (__glibc_likely (l->l_type == lt_library) - /* If GL(dl_tls_dtv_slotinfo_list) == NULL, then rtld.c did - not set up TLS data structures, so don't use them now. */ - || __glibc_likely (GL(dl_tls_dtv_slotinfo_list) != NULL)) - { - /* Assign the next available module ID. */ - l->l_tls_modid = _dl_next_tls_modid (); - break; - } + /* l->l_tls_modid is assigned below, once there is no + possibility for failure. */ + if (l->l_type != lt_library + && GL(dl_tls_dtv_slotinfo_list) == NULL) + { #ifdef SHARED - /* We are loading the executable itself when the dynamic - linker was executed directly. The setup will happen - later. Otherwise, the TLS data structures are already - initialized, and we assigned a TLS modid above. */ - assert (l->l_prev == NULL || (mode & __RTLD_AUDIT) != 0); + /* We are loading the executable itself when the dynamic + linker was executed directly. The setup will happen + later. */ + assert (l->l_prev == NULL || (mode & __RTLD_AUDIT) != 0); #else - assert (false && "TLS not initialized in static application"); + assert (false && "TLS not initialized in static application"); #endif + } break; case PT_GNU_STACK: @@ -1139,14 +1216,6 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, l->l_relro_addr = ph->p_vaddr; l->l_relro_size = ph->p_memsz; break; - - case PT_NOTE: - if (_dl_process_pt_note (l, ph, fd, fbp)) - { - errstring = N_("cannot process note segment"); - goto call_lose; - } - break; } if (__glibc_unlikely (nloadcmds == 0)) @@ -1182,6 +1251,21 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, maplength, has_holes, loader); if (__glibc_unlikely (errstring != NULL)) goto call_lose; + + /* Process program headers again after load segments are mapped in + case processing requires accessing those segments. Scan program + headers backward so that PT_NOTE can be skipped if PT_GNU_PROPERTY + exits. */ + for (ph = &phdr[l->l_phnum]; ph != phdr; --ph) + switch (ph[-1].p_type) + { + case PT_NOTE: + _dl_process_pt_note (l, &ph[-1]); + break; + case PT_GNU_PROPERTY: + _dl_process_pt_gnu_property (l, &ph[-1]); + break; + } } if (l->l_ld == 0) @@ -1369,6 +1453,26 @@ cannot enable executable stack as shared object requires"); add_name_to_object (l, ((const char *) D_PTR (l, l_info[DT_STRTAB]) + l->l_info[DT_SONAME]->d_un.d_val)); + /* If we have newly loaded libc.so, update the namespace + description. */ + if (GL(dl_ns)[nsid].libc_map == NULL + && l->l_info[DT_SONAME] != NULL + && strcmp (((const char *) D_PTR (l, l_info[DT_STRTAB]) + + l->l_info[DT_SONAME]->d_un.d_val), LIBC_SO) == 0) + GL(dl_ns)[nsid].libc_map = l; + + /* _dl_close can only eventually undo the module ID assignment (via + remove_slotinfo) if this function returns a pointer to a link + map. Therefore, delay this step until all possibilities for + failure have been excluded. */ + if (l->l_tls_blocksize > 0 + && (__glibc_likely (l->l_type == lt_library) + /* If GL(dl_tls_dtv_slotinfo_list) == NULL, then rtld.c did + not set up TLS data structures, so don't use them now. */ + || __glibc_likely (GL(dl_tls_dtv_slotinfo_list) != NULL))) + /* Assign the next available module ID. */ + l->l_tls_modid = _dl_next_tls_modid (); + #ifdef DL_AFTER_LOAD DL_AFTER_LOAD (l); #endif @@ -1386,10 +1490,9 @@ cannot enable executable stack as shared object requires"); { if (afct->objopen != NULL) { - l->l_audit[cnt].bindflags - = afct->objopen (l, nsid, &l->l_audit[cnt].cookie); - - l->l_audit_any_plt |= l->l_audit[cnt].bindflags != 0; + struct auditstate *state = link_map_audit_state (l, cnt); + state->bindflags = afct->objopen (l, nsid, &state->cookie); + l->l_audit_any_plt |= state->bindflags != 0; } afct = afct->next; @@ -1495,8 +1598,8 @@ open_verify (const char *name, int fd, { if (afct->objsearch != NULL) { - name = afct->objsearch (name, &loader->l_audit[cnt].cookie, - whatcode); + struct auditstate *state = link_map_audit_state (loader, cnt); + name = afct->objsearch (name, &state->cookie, whatcode); if (name == NULL) /* Ignore the path. */ return -1; @@ -1636,17 +1739,6 @@ open_verify (const char *name, int fd, errstring = N_("only ET_DYN and ET_EXEC can be loaded"); goto call_lose; } - else if (__glibc_unlikely (ehdr->e_type == ET_EXEC - && (mode & __RTLD_OPENEXEC) == 0)) - { - /* BZ #16634. It is an error to dlopen ET_EXEC (unless - __RTLD_OPENEXEC is explicitly set). We return error here - so that code in _dl_map_object_from_fd does not try to set - l_tls_modid for this module. */ - - errstring = N_("cannot dynamically load executable"); - goto call_lose; - } else if (__glibc_unlikely (ehdr->e_phentsize != sizeof (ElfW(Phdr)))) { errstring = N_("ELF file's phentsize not the expected size"); @@ -1659,9 +1751,8 @@ open_verify (const char *name, int fd, else { phdr = alloca (maplength); - __lseek (fd, ehdr->e_phoff, SEEK_SET); - if ((size_t) __read_nocancel (fd, (void *) phdr, maplength) - != maplength) + if ((size_t) __pread64_nocancel (fd, (void *) phdr, maplength, + ehdr->e_phoff) != maplength) { read_error: errval = errno; @@ -1677,21 +1768,10 @@ open_verify (const char *name, int fd, /* Check .note.ABI-tag if present. */ for (ph = phdr; ph < &phdr[ehdr->e_phnum]; ++ph) - if (ph->p_type == PT_NOTE && ph->p_filesz >= 32 && ph->p_align >= 4) + if (ph->p_type == PT_NOTE && ph->p_filesz >= 32 + && (ph->p_align == 4 || ph->p_align == 8)) { ElfW(Addr) size = ph->p_filesz; - /* NB: Some PT_NOTE segment may have alignment value of 0 - or 1. gABI specifies that PT_NOTE segments should be - aligned to 4 bytes in 32-bit objects and to 8 bytes in - 64-bit objects. As a Linux extension, we also support - 4 byte alignment in 64-bit objects. If p_align is less - than 4, we treate alignment as 4 bytes since some note - segments have 0 or 1 byte alignment. */ - ElfW(Addr) align = ph->p_align; - if (align < 4) - align = 4; - else if (align != 4 && align != 8) - continue; if (ph->p_offset + size <= (size_t) fbp->len) abi_note = (void *) (fbp->buf + ph->p_offset); @@ -1710,8 +1790,8 @@ open_verify (const char *name, int fd, abi_note = abi_note_malloced; } - __lseek (fd, ph->p_offset, SEEK_SET); - if (__read_nocancel (fd, (void *) abi_note, size) != size) + if (__pread64_nocancel (fd, (void *) abi_note, size, + ph->p_offset) != size) { free (abi_note_malloced); goto read_error; @@ -1722,7 +1802,7 @@ open_verify (const char *name, int fd, { ElfW(Addr) note_size = ELF_NOTE_NEXT_OFFSET (abi_note[0], abi_note[1], - align); + ph->p_align); if (size - 32 < note_size) { @@ -1977,8 +2057,8 @@ _dl_map_object (struct link_map *loader, const char *name, if (afct->objsearch != NULL) { const char *before = name; - name = afct->objsearch (name, &loader->l_audit[cnt].cookie, - LA_SER_ORIG); + struct auditstate *state = link_map_audit_state (loader, cnt); + name = afct->objsearch (name, &state->cookie, LA_SER_ORIG); if (name == NULL) { /* Do not try anything further. */ diff --git a/elf/dl-load.h b/elf/dl-load.h index dddbcb8575..5786e17a2e 100644 --- a/elf/dl-load.h +++ b/elf/dl-load.h @@ -1,5 +1,5 @@ /* Map in a shared object's segments from the file. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _DL_LOAD_H #define _DL_LOAD_H 1 diff --git a/elf/dl-lookup-direct.c b/elf/dl-lookup-direct.c new file mode 100644 index 0000000000..5637ae89de --- /dev/null +++ b/elf/dl-lookup-direct.c @@ -0,0 +1,116 @@ +/* Look up a symbol in a single specified object. + Copyright (C) 1995-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include + +/* This function corresponds to do_lookup_x in elf/dl-lookup.c. The + variant here is simplified because it requires symbol + versioning. */ +static const ElfW(Sym) * +check_match (const struct link_map *const map, const char *const undef_name, + const char *version, uint32_t version_hash, + const Elf_Symndx symidx) +{ + const ElfW(Sym) *symtab = (const void *) D_PTR (map, l_info[DT_SYMTAB]); + const ElfW(Sym) *sym = &symtab[symidx]; + + unsigned int stt = ELFW(ST_TYPE) (sym->st_info); + if (__glibc_unlikely ((sym->st_value == 0 /* No value. */ + && sym->st_shndx != SHN_ABS + && stt != STT_TLS) + || elf_machine_sym_no_match (sym))) + return NULL; + + /* Ignore all but STT_NOTYPE, STT_OBJECT, STT_FUNC, + STT_COMMON, STT_TLS, and STT_GNU_IFUNC since these are no + code/data definitions. */ +#define ALLOWED_STT \ + ((1 << STT_NOTYPE) | (1 << STT_OBJECT) | (1 << STT_FUNC) \ + | (1 << STT_COMMON) | (1 << STT_TLS) | (1 << STT_GNU_IFUNC)) + if (__glibc_unlikely (((1 << stt) & ALLOWED_STT) == 0)) + return NULL; + + const char *strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]); + + if (strcmp (strtab + sym->st_name, undef_name) != 0) + /* Not the symbol we are looking for. */ + return NULL; + + ElfW(Half) ndx = map->l_versyms[symidx] & 0x7fff; + if (map->l_versions[ndx].hash != version_hash + || strcmp (map->l_versions[ndx].name, version) != 0) + /* It's not the version we want. */ + return NULL; + + return sym; +} + + +/* This function corresponds to do_lookup_x in elf/dl-lookup.c. The + variant here is simplified because it does not search object + dependencies. It is optimized for a successful lookup. */ +const ElfW(Sym) * +_dl_lookup_direct (struct link_map *map, + const char *undef_name, uint32_t new_hash, + const char *version, uint32_t version_hash) +{ + const ElfW(Addr) *bitmask = map->l_gnu_bitmask; + if (__glibc_likely (bitmask != NULL)) + { + Elf32_Word bucket = map->l_gnu_buckets[new_hash % map->l_nbuckets]; + if (bucket != 0) + { + const Elf32_Word *hasharr = &map->l_gnu_chain_zero[bucket]; + + do + if (((*hasharr ^ new_hash) >> 1) == 0) + { + Elf_Symndx symidx = ELF_MACHINE_HASH_SYMIDX (map, hasharr); + const ElfW(Sym) *sym = check_match (map, undef_name, + version, version_hash, + symidx); + if (sym != NULL) + return sym; + } + while ((*hasharr++ & 1u) == 0); + } + } + else + { + /* Fallback code for lack of GNU_HASH support. */ + uint32_t old_hash = _dl_elf_hash (undef_name); + + /* Use the old SysV-style hash table. Search the appropriate + hash bucket in this object's symbol table for a definition + for the same symbol name. */ + for (Elf_Symndx symidx = map->l_buckets[old_hash % map->l_nbuckets]; + symidx != STN_UNDEF; + symidx = map->l_chain[symidx]) + { + const ElfW(Sym) *sym = check_match (map, undef_name, + version, version_hash, symidx); + if (sym != NULL) + return sym; + } + } + + return NULL; +} diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index eb23cca4e3..807f3ea9b6 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -1,5 +1,5 @@ /* Look up a symbol in the loaded objects. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -28,18 +28,12 @@ #include #include #include +#include #include -/* Return nonzero if check_match should consider SYM to fail to match a - symbol reference for some machine-specific reason. */ -#ifndef ELF_MACHINE_SYM_NO_MATCH -# define ELF_MACHINE_SYM_NO_MATCH(sym) 0 -#endif - #define VERSTAG(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (tag)) - struct sym_val { const ElfW(Sym) *s; @@ -78,7 +72,7 @@ check_match (const char *const undef_name, if (__glibc_unlikely ((sym->st_value == 0 /* No value. */ && sym->st_shndx != SHN_ABS && stt != STT_TLS) - || ELF_MACHINE_SYM_NO_MATCH (sym) + || elf_machine_sym_no_match (sym) || (type_class & (sym->st_shndx == SHN_UNDEF)))) return NULL; @@ -187,14 +181,37 @@ enter_unique_sym (struct unique_sym *table, size_t size, table[idx].map = map; } +/* Mark MAP as NODELETE according to the lookup mode in FLAGS. During + initial relocation, NODELETE state is pending only. */ +static void +mark_nodelete (struct link_map *map, int flags) +{ + if (flags & DL_LOOKUP_FOR_RELOCATE) + map->l_nodelete_pending = true; + else + map->l_nodelete_active = true; +} + +/* Return true if MAP is marked as NODELETE according to the lookup + mode in FLAGS> */ +static bool +is_nodelete (struct link_map *map, int flags) +{ + /* Non-pending NODELETE always counts. Pending NODELETE only counts + during initial relocation processing. */ + return map->l_nodelete_active + || ((flags & DL_LOOKUP_FOR_RELOCATE) && map->l_nodelete_pending); +} + /* Utility function for do_lookup_x. Lookup an STB_GNU_UNIQUE symbol in the unique symbol table, creating a new entry if necessary. Return the matching symbol in RESULT. */ static void do_lookup_unique (const char *undef_name, uint_fast32_t new_hash, - const struct link_map *map, struct sym_val *result, + struct link_map *map, struct sym_val *result, int type_class, const ElfW(Sym) *sym, const char *strtab, - const ElfW(Sym) *ref, const struct link_map *undef_map) + const ElfW(Sym) *ref, const struct link_map *undef_map, + int flags) { /* We have to determine whether we already found a symbol with this name before. If not then we have to add it to the search table. @@ -222,7 +239,7 @@ do_lookup_unique (const char *undef_name, uint_fast32_t new_hash, copy from the copy addressed through the relocation. */ result->s = sym; - result->m = (struct link_map *) map; + result->m = map; } else { @@ -268,7 +285,7 @@ do_lookup_unique (const char *undef_name, uint_fast32_t new_hash, tab->size = newsize; size = newsize; entries = tab->entries = newentries; - tab->free = free; + tab->free = __rtld_free; } } else @@ -299,7 +316,7 @@ do_lookup_unique (const char *undef_name, uint_fast32_t new_hash, tab->entries = entries; tab->size = size; - tab->free = free; + tab->free = __rtld_free; } if ((type_class & ELF_RTYPE_CLASS_COPY) != 0) @@ -310,10 +327,16 @@ do_lookup_unique (const char *undef_name, uint_fast32_t new_hash, enter_unique_sym (entries, size, new_hash, strtab + sym->st_name, sym, map); - if (map->l_type == lt_loaded) - /* Make sure we don't unload this object by - setting the appropriate flag. */ - ((struct link_map *) map)->l_flags_1 |= DF_1_NODELETE; + if (map->l_type == lt_loaded && !is_nodelete (map, flags)) + { + /* Make sure we don't unload this object by + setting the appropriate flag. */ + if (__glibc_unlikely (GLRO (dl_debug_mask) & DL_DEBUG_BINDINGS)) + _dl_debug_printf ("\ +marking %s [%lu] as NODELETE due to unique symbol\n", + map->l_name, map->l_ns); + mark_nodelete (map, flags); + } } ++tab->n_elements; @@ -403,7 +426,7 @@ do_lookup_x (const char *undef_name, uint_fast32_t new_hash, do if (((*hasharr ^ new_hash) >> 1) == 0) { - symidx = hasharr - map->l_gnu_chain_zero; + symidx = ELF_MACHINE_HASH_SYMIDX (map, hasharr); sym = check_match (undef_name, ref, version, flags, type_class, &symtab[symidx], symidx, strtab, map, &versioned_sym, @@ -525,8 +548,9 @@ do_lookup_x (const char *undef_name, uint_fast32_t new_hash, return 1; case STB_GNU_UNIQUE:; - do_lookup_unique (undef_name, new_hash, map, result, type_class, - sym, strtab, ref, undef_map); + do_lookup_unique (undef_name, new_hash, (struct link_map *) map, + result, type_class, sym, strtab, ref, + undef_map, flags); return 1; default: @@ -568,9 +592,13 @@ add_dependency (struct link_map *undef_map, struct link_map *map, int flags) if (undef_map == map) return 0; - /* Avoid references to objects which cannot be unloaded anyway. */ + /* Avoid references to objects which cannot be unloaded anyway. We + do not need to record dependencies if this object goes away + during dlopen failure, either. IFUNC resolvers with relocation + dependencies may pick an dependency which can be dlclose'd, but + such IFUNC resolvers are undefined anyway. */ assert (map->l_type == lt_loaded); - if ((map->l_flags_1 & DF_1_NODELETE) != 0) + if (is_nodelete (map, flags)) return 0; struct link_map_reldeps *l_reldeps @@ -678,16 +706,28 @@ add_dependency (struct link_map *undef_map, struct link_map *map, int flags) /* Redo the NODELETE check, as when dl_load_lock wasn't held yet this could have changed. */ - if ((map->l_flags_1 & DF_1_NODELETE) != 0) + if (is_nodelete (map, flags)) goto out; /* If the object with the undefined reference cannot be removed ever just make sure the same is true for the object which contains the definition. */ - if (undef_map->l_type != lt_loaded - || (undef_map->l_flags_1 & DF_1_NODELETE) != 0) + if (undef_map->l_type != lt_loaded || is_nodelete (map, flags)) { - map->l_flags_1 |= DF_1_NODELETE; + if (__glibc_unlikely (GLRO (dl_debug_mask) & DL_DEBUG_BINDINGS) + && !is_nodelete (map, flags)) + { + if (undef_map->l_name[0] == '\0') + _dl_debug_printf ("\ +marking %s [%lu] as NODELETE due to reference to main program\n", + map->l_name, map->l_ns); + else + _dl_debug_printf ("\ +marking %s [%lu] as NODELETE due to reference to %s [%lu]\n", + map->l_name, map->l_ns, + undef_map->l_name, undef_map->l_ns); + } + mark_nodelete (map, flags); goto out; } @@ -712,7 +752,15 @@ add_dependency (struct link_map *undef_map, struct link_map *map, int flags) no fatal problem. We simply make sure the referenced object cannot be unloaded. This is semantically the correct behavior. */ - map->l_flags_1 |= DF_1_NODELETE; + if (__glibc_unlikely (GLRO (dl_debug_mask) & DL_DEBUG_BINDINGS) + && !is_nodelete (map, flags)) + _dl_debug_printf ("\ +marking %s [%lu] as NODELETE due to memory allocation failure\n", + map->l_name, map->l_ns); + /* In case of non-lazy binding, we could actually report + the memory allocation error, but for now, we use the + conservative approximation as well. */ + mark_nodelete (map, flags); goto out; } else @@ -792,11 +840,9 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map, bump_num_relocations (); - /* No other flag than DL_LOOKUP_ADD_DEPENDENCY or DL_LOOKUP_GSCOPE_LOCK - is allowed if we look up a versioned symbol. */ - assert (version == NULL - || (flags & ~(DL_LOOKUP_ADD_DEPENDENCY | DL_LOOKUP_GSCOPE_LOCK)) - == 0); + /* DL_LOOKUP_RETURN_NEWEST does not make sense for versioned + lookups. */ + assert (version == NULL || !(flags & DL_LOOKUP_RETURN_NEWEST)); size_t i = 0; if (__glibc_unlikely (skip_map != NULL)) @@ -909,10 +955,10 @@ _dl_setup_hash (struct link_map *map) { Elf_Symndx *hash; - if (__glibc_likely (map->l_info[ADDRIDX (DT_GNU_HASH)] != NULL)) + if (__glibc_likely (map->l_info[ELF_MACHINE_GNU_HASH_ADDRIDX] != NULL)) { Elf32_Word *hash32 - = (void *) D_PTR (map, l_info[ADDRIDX (DT_GNU_HASH)]); + = (void *) D_PTR (map, l_info[ELF_MACHINE_GNU_HASH_ADDRIDX]); map->l_nbuckets = *hash32++; Elf32_Word symbias = *hash32++; Elf32_Word bitmask_nwords = *hash32++; @@ -927,6 +973,10 @@ _dl_setup_hash (struct link_map *map) map->l_gnu_buckets = hash32; hash32 += map->l_nbuckets; map->l_gnu_chain_zero = hash32 - symbias; + + /* Initialize MIPS xhash translation table. */ + ELF_MACHINE_XHASH_SETUP (hash32, symbias, map); + return; } diff --git a/elf/dl-machine-reject-phdr.h b/elf/dl-machine-reject-phdr.h index 105c71a6a4..3f8f9fb89e 100644 --- a/elf/dl-machine-reject-phdr.h +++ b/elf/dl-machine-reject-phdr.h @@ -1,5 +1,5 @@ /* Machine-dependent program header inspection for the ELF loader. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _DL_MACHINE_REJECT_PHDR_H #define _DL_MACHINE_REJECT_PHDR_H 1 diff --git a/elf/dl-map-segments.h b/elf/dl-map-segments.h index a41f0667f0..ac9f09ab4c 100644 --- a/elf/dl-map-segments.h +++ b/elf/dl-map-segments.h @@ -1,5 +1,5 @@ /* Map in a shared object's segments. Generic version. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/dl-minimal.c b/elf/dl-minimal.c index fdb1341832..7c64e24c87 100644 --- a/elf/dl-minimal.c +++ b/elf/dl-minimal.c @@ -1,5 +1,5 @@ /* Minimal replacements for basic facilities used in the dynamic linker. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -26,11 +26,87 @@ #include #include #include +#include +#include +#include #include <_itoa.h> #include #include +/* The rtld startup code calls __rtld_malloc_init_stubs after the + first self-relocation to adjust the pointers to the minimal + implementation below. Before the final relocation, + __rtld_malloc_init_real is called to replace the pointers with the + real implementation. */ +__typeof (calloc) *__rtld_calloc attribute_relro; +__typeof (free) *__rtld_free attribute_relro; +__typeof (malloc) *__rtld_malloc attribute_relro; +__typeof (realloc) *__rtld_realloc attribute_relro; + +/* Defined below. */ +static __typeof (calloc) rtld_calloc; +static __typeof (free) rtld_free; +static __typeof (malloc) rtld_malloc; +static __typeof (realloc) rtld_realloc; + +void +__rtld_malloc_init_stubs (void) +{ + __rtld_calloc = &rtld_calloc; + __rtld_free = &rtld_free; + __rtld_malloc = &rtld_malloc; + __rtld_realloc = &rtld_realloc; +} + +/* Lookup NAME at VERSION in the scope of MATCH. */ +static void * +lookup_malloc_symbol (struct link_map *main_map, const char *name, + struct r_found_version *version) +{ + + const ElfW(Sym) *ref = NULL; + lookup_t result = _dl_lookup_symbol_x (name, main_map, &ref, + main_map->l_scope, + version, 0, 0, NULL); + + assert (ELFW(ST_TYPE) (ref->st_info) != STT_TLS); + void *value = DL_SYMBOL_ADDRESS (result, ref); + + return _dl_sym_post (result, ref, value, 0, main_map); +} + +void +__rtld_malloc_init_real (struct link_map *main_map) +{ + /* We cannot use relocations and initializers for this because the + changes made by __rtld_malloc_init_stubs break REL-style + (non-RELA) relocations that depend on the previous pointer + contents. Also avoid direct relocation depedencies for the + malloc symbols so this function can be called before the final + rtld relocation (which enables RELRO, after which the pointer + variables cannot be written to). */ + + struct r_found_version version; + version.name = symbol_version_string (libc, GLIBC_2_0); + version.hidden = 0; + version.hash = _dl_elf_hash (version.name); + version.filename = NULL; + + void *new_calloc = lookup_malloc_symbol (main_map, "calloc", &version); + void *new_free = lookup_malloc_symbol (main_map, "free", &version); + void *new_malloc = lookup_malloc_symbol (main_map, "malloc", &version); + void *new_realloc = lookup_malloc_symbol (main_map, "realloc", &version); + + /* Update the pointers in one go, so that any internal allocations + performed by lookup_malloc_symbol see a consistent + implementation. */ + __rtld_calloc = new_calloc; + __rtld_free = new_free; + __rtld_malloc = new_malloc; + __rtld_realloc = new_realloc; +} + /* Minimal malloc allocator for used during initial link. After the initial link, a full malloc implementation is interposed, either the one in libc, or a different one supplied by the user through @@ -38,14 +114,9 @@ static void *alloc_ptr, *alloc_end, *alloc_last_block; -/* Declarations of global functions. */ -extern void weak_function free (void *ptr); -extern void * weak_function realloc (void *ptr, size_t n); - - /* Allocate an aligned memory block. */ -void * weak_function -malloc (size_t n) +static void * +rtld_malloc (size_t n) { if (alloc_end == 0) { @@ -87,8 +158,8 @@ malloc (size_t n) /* We use this function occasionally since the real implementation may be optimized when it can assume the memory it returns already is set to NUL. */ -void * weak_function -calloc (size_t nmemb, size_t size) +static void * +rtld_calloc (size_t nmemb, size_t size) { /* New memory from the trivial malloc above is always already cleared. (We make sure that's true in the rare occasion it might not be, @@ -104,8 +175,8 @@ calloc (size_t nmemb, size_t size) } /* This will rarely be called. */ -void weak_function -free (void *ptr) +void +rtld_free (void *ptr) { /* We can free only the last block allocated. */ if (ptr == alloc_last_block) @@ -118,8 +189,8 @@ free (void *ptr) } /* This is only called with the most recent block returned by malloc. */ -void * weak_function -realloc (void *ptr, size_t n) +void * +rtld_realloc (void *ptr, size_t n) { if (ptr == NULL) return malloc (n); diff --git a/elf/dl-misc.c b/elf/dl-misc.c index 2f08308bb6..f9d1fd7993 100644 --- a/elf/dl-misc.c +++ b/elf/dl-misc.c @@ -1,5 +1,5 @@ /* Miscellaneous support functions for dynamic linker - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -167,6 +167,7 @@ _dl_debug_vdprintf (int fd, int tag_p, const char *fmt, va_list arg) switch (*fmt) { /* Integer formatting. */ + case 'd': case 'u': case 'x': { @@ -179,11 +180,34 @@ _dl_debug_vdprintf (int fd, int tag_p, const char *fmt, va_list arg) #else unsigned long int num = va_arg (arg, unsigned int); #endif + bool negative = false; + if (*fmt == 'd') + { +#if LONG_MAX != INT_MAX + if (long_mod) + { + if ((long int) num < 0) + negative = true; + } + else + { + if ((int) num < 0) + { + num = (unsigned int) num; + negative = true; + } + } +#else + if ((int) num < 0) + negative = true; +#endif + } + /* We use alloca() to allocate the buffer with the most pessimistic guess for the size. Using alloca() allows having more than one integer formatting in a call. */ - char *buf = (char *) alloca (3 * sizeof (unsigned long int)); - char *endp = &buf[3 * sizeof (unsigned long int)]; + char *buf = (char *) alloca (1 + 3 * sizeof (unsigned long int)); + char *endp = &buf[1 + 3 * sizeof (unsigned long int)]; char *cp = _itoa (num, endp, *fmt == 'x' ? 16 : 10, 0); /* Pad to the width the user specified. */ @@ -191,6 +215,9 @@ _dl_debug_vdprintf (int fd, int tag_p, const char *fmt, va_list arg) while (endp - cp < width) *--cp = fill; + if (negative) + *--cp = '-'; + iov[niov].iov_base = cp; iov[niov].iov_len = endp - cp; ++niov; @@ -275,6 +302,37 @@ _dl_dprintf (int fd, const char *fmt, ...) va_end (arg); } +void +_dl_printf (const char *fmt, ...) +{ + va_list arg; + + va_start (arg, fmt); + _dl_debug_vdprintf (STDOUT_FILENO, 0, fmt, arg); + va_end (arg); +} + +void +_dl_error_printf (const char *fmt, ...) +{ + va_list arg; + + va_start (arg, fmt); + _dl_debug_vdprintf (STDERR_FILENO, 0, fmt, arg); + va_end (arg); +} + +void +_dl_fatal_printf (const char *fmt, ...) +{ + va_list arg; + + va_start (arg, fmt); + _dl_debug_vdprintf (STDERR_FILENO, 0, fmt, arg); + va_end (arg); + _exit (127); +} +rtld_hidden_def (_dl_fatal_printf) /* Test whether given NAME matches any of the names of the given object. */ int diff --git a/elf/dl-object.c b/elf/dl-object.c index c3f5455ab4..d2cdf135cc 100644 --- a/elf/dl-object.c +++ b/elf/dl-object.c @@ -1,5 +1,5 @@ /* Storage management for the chain of loaded shared objects. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -57,15 +57,31 @@ struct link_map * _dl_new_object (char *realname, const char *libname, int type, struct link_map *loader, int mode, Lmid_t nsid) { +#ifdef SHARED + unsigned int naudit; + if (__glibc_unlikely ((mode & __RTLD_OPENEXEC) != 0)) + { + assert (type == lt_executable); + assert (nsid == LM_ID_BASE); + + /* Ignore the specified libname for the main executable. It is + only known with an explicit loader invocation. */ + libname = ""; + + /* We create the map for the executable before we know whether + we have auditing libraries and if yes, how many. Assume the + worst. */ + naudit = DL_NNS; + } + else + naudit = GLRO (dl_naudit); +#endif + size_t libname_len = strlen (libname) + 1; struct link_map *new; struct libname_list *newname; #ifdef SHARED - /* We create the map for the executable before we know whether we have - auditing libraries and if yes, how many. Assume the worst. */ - unsigned int naudit = GLRO(dl_naudit) ?: ((mode & __RTLD_OPENEXEC) - ? DL_NNS : 0); - size_t audit_space = naudit * sizeof (new->l_audit[0]); + size_t audit_space = naudit * sizeof (struct auditstate); #else # define audit_space 0 #endif @@ -91,8 +107,20 @@ _dl_new_object (char *realname, const char *libname, int type, and won't get dumped during core file generation. Therefore to assist gdb and to create more self-contained core files we adjust l_name to point at the newly allocated copy (which will get dumped) instead of - the ld.so rodata copy. */ - new->l_name = *realname ? realname : (char *) newname->name + libname_len - 1; + the ld.so rodata copy. + + Furthermore, in case of explicit loader invocation, discard the + name of the main executable, to match the regular behavior, where + name of the executable is not known. */ +#ifdef SHARED + if (*realname != '\0' && (mode & __RTLD_OPENEXEC) == 0) +#else + if (*realname != '\0') +#endif + new->l_name = realname; + else + new->l_name = (char *) newname->name + libname_len - 1; + new->l_type = type; /* If we set the bit now since we know it is never used we avoid dirtying the cache line later. */ @@ -106,10 +134,8 @@ _dl_new_object (char *realname, const char *libname, int type, #ifdef SHARED for (unsigned int cnt = 0; cnt < naudit; ++cnt) - { - new->l_audit[cnt].cookie = (uintptr_t) new; - /* new->l_audit[cnt].bindflags = 0; */ - } + /* No need to initialize bindflags due to calloc. */ + link_map_audit_state (new, cnt)->cookie = (uintptr_t) new; #endif /* new->l_global = 0; We use calloc therefore not necessary. */ @@ -149,7 +175,14 @@ _dl_new_object (char *realname, const char *libname, int type, new->l_local_scope[0] = &new->l_searchlist; - /* Don't try to find the origin for the main map which has the name "". */ + /* Determine the origin. If allocating the link map for the main + executable, the realname is not known and "". In this case, the + origin needs to be determined by other means. However, in case + of an explicit loader invocation, the pathname of the main + executable is known and needs to be processed here: From the + point of view of the kernel, the main executable is the + dynamic loader, and this would lead to a computation of the wrong + origin. */ if (realname[0] != '\0') { size_t realname_len = strlen (realname) + 1; diff --git a/elf/dl-open.c b/elf/dl-open.c index e18ee398cb..8769e47051 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -1,5 +1,5 @@ /* Load a shared object at runtime, relocate it, and run its initializer. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #include @@ -50,22 +52,45 @@ struct dl_open_args struct link_map *map; /* Namespace ID. */ Lmid_t nsid; + + /* Original value of _ns_global_scope_pending_adds. Set by + dl_open_worker. Only valid if nsid is a real namespace + (non-negative). */ + unsigned int original_global_scope_pending_adds; + + /* Set to true by dl_open_worker if libc.so was already loaded into + the namespace at the time dl_open_worker was called. This is + used to determine whether libc.so early initialization has + already been done before, and whether to roll back the cached + libc_map value in the namespace in case of a dlopen failure. */ + bool libc_already_loaded; + /* Original parameters to the program and the current environment. */ int argc; char **argv; char **env; }; +/* Called in case the global scope cannot be extended. */ +static void __attribute__ ((noreturn)) +add_to_global_resize_failure (struct link_map *new) +{ + _dl_signal_error (ENOMEM, new->l_libname->name, NULL, + N_ ("cannot extend global scope")); +} -static int -add_to_global (struct link_map *new) +/* Grow the global scope array for the namespace, so that all the new + global objects can be added later in add_to_global_update, without + risk of memory allocation failure. add_to_global_resize raises + exceptions for memory allocation errors. */ +static void +add_to_global_resize (struct link_map *new) { - struct link_map **new_global; - unsigned int to_add = 0; - unsigned int cnt; + struct link_namespaces *ns = &GL (dl_ns)[new->l_ns]; /* Count the objects we have to put in the global scope. */ - for (cnt = 0; cnt < new->l_searchlist.r_nlist; ++cnt) + unsigned int to_add = 0; + for (unsigned int cnt = 0; cnt < new->l_searchlist.r_nlist; ++cnt) if (new->l_searchlist.r_list[cnt]->l_global == 0) ++to_add; @@ -83,47 +108,51 @@ add_to_global (struct link_map *new) in an realloc() call. Therefore we allocate a completely new array the first time we have to add something to the locale scope. */ - struct link_namespaces *ns = &GL(dl_ns)[new->l_ns]; + if (__builtin_add_overflow (ns->_ns_global_scope_pending_adds, to_add, + &ns->_ns_global_scope_pending_adds)) + add_to_global_resize_failure (new); + + unsigned int new_size = 0; /* 0 means no new allocation. */ + void *old_global = NULL; /* Old allocation if free-able. */ + + /* Minimum required element count for resizing. Adjusted below for + an exponential resizing policy. */ + size_t required_new_size; + if (__builtin_add_overflow (ns->_ns_main_searchlist->r_nlist, + ns->_ns_global_scope_pending_adds, + &required_new_size)) + add_to_global_resize_failure (new); + if (ns->_ns_global_scope_alloc == 0) { - /* This is the first dynamic object given global scope. */ - ns->_ns_global_scope_alloc - = ns->_ns_main_searchlist->r_nlist + to_add + 8; - new_global = (struct link_map **) - malloc (ns->_ns_global_scope_alloc * sizeof (struct link_map *)); - if (new_global == NULL) - { - ns->_ns_global_scope_alloc = 0; - nomem: - _dl_signal_error (ENOMEM, new->l_libname->name, NULL, - N_("cannot extend global scope")); - return 1; - } + if (__builtin_add_overflow (required_new_size, 8, &new_size)) + add_to_global_resize_failure (new); + } + else if (required_new_size > ns->_ns_global_scope_alloc) + { + if (__builtin_mul_overflow (required_new_size, 2, &new_size)) + add_to_global_resize_failure (new); - /* Copy over the old entries. */ - ns->_ns_main_searchlist->r_list - = memcpy (new_global, ns->_ns_main_searchlist->r_list, - (ns->_ns_main_searchlist->r_nlist - * sizeof (struct link_map *))); + /* The old array was allocated with our malloc, not the minimal + malloc. */ + old_global = ns->_ns_main_searchlist->r_list; } - else if (ns->_ns_main_searchlist->r_nlist + to_add - > ns->_ns_global_scope_alloc) + + if (new_size > 0) { - /* We have to extend the existing array of link maps in the - main map. */ - struct link_map **old_global - = GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_list; - size_t new_nalloc = ((ns->_ns_global_scope_alloc + to_add) * 2); - - new_global = (struct link_map **) - malloc (new_nalloc * sizeof (struct link_map *)); + size_t allocation_size; + if (__builtin_mul_overflow (new_size, sizeof (struct link_map *), + &allocation_size)) + add_to_global_resize_failure (new); + struct link_map **new_global = malloc (allocation_size); if (new_global == NULL) - goto nomem; + add_to_global_resize_failure (new); - memcpy (new_global, old_global, - ns->_ns_global_scope_alloc * sizeof (struct link_map *)); + /* Copy over the old entries. */ + memcpy (new_global, ns->_ns_main_searchlist->r_list, + ns->_ns_main_searchlist->r_nlist * sizeof (struct link_map *)); - ns->_ns_global_scope_alloc = new_nalloc; + ns->_ns_global_scope_alloc = new_size; ns->_ns_main_searchlist->r_list = new_global; if (!RTLD_SINGLE_THREAD_P) @@ -131,16 +160,28 @@ add_to_global (struct link_map *new) free (old_global); } +} + +/* Actually add the new global objects to the global scope. Must be + called after add_to_global_resize. This function cannot fail. */ +static void +add_to_global_update (struct link_map *new) +{ + struct link_namespaces *ns = &GL (dl_ns)[new->l_ns]; /* Now add the new entries. */ unsigned int new_nlist = ns->_ns_main_searchlist->r_nlist; - for (cnt = 0; cnt < new->l_searchlist.r_nlist; ++cnt) + for (unsigned int cnt = 0; cnt < new->l_searchlist.r_nlist; ++cnt) { struct link_map *map = new->l_searchlist.r_list[cnt]; if (map->l_global == 0) { map->l_global = 1; + + /* The array has been resized by add_to_global_resize. */ + assert (new_nlist < ns->_ns_global_scope_alloc); + ns->_ns_main_searchlist->r_list[new_nlist++] = map; /* We modify the global scope. Report this. */ @@ -149,10 +190,15 @@ add_to_global (struct link_map *new) map->l_name, map->l_ns); } } + + /* Some of the pending adds have been performed by the loop above. + Adjust the counter accordingly. */ + unsigned int added = new_nlist - ns->_ns_main_searchlist->r_nlist; + assert (added <= ns->_ns_global_scope_pending_adds); + ns->_ns_global_scope_pending_adds -= added; + atomic_write_barrier (); ns->_ns_main_searchlist->r_nlist = new_nlist; - - return 0; } /* Search link maps in all namespaces for the DSO that contains the object at @@ -177,6 +223,260 @@ _dl_find_dso_for_object (const ElfW(Addr) addr) } rtld_hidden_def (_dl_find_dso_for_object); +/* Return true if NEW is found in the scope for MAP. */ +static size_t +scope_has_map (struct link_map *map, struct link_map *new) +{ + size_t cnt; + for (cnt = 0; map->l_scope[cnt] != NULL; ++cnt) + if (map->l_scope[cnt] == &new->l_searchlist) + return true; + return false; +} + +/* Return the length of the scope for MAP. */ +static size_t +scope_size (struct link_map *map) +{ + size_t cnt; + for (cnt = 0; map->l_scope[cnt] != NULL; ) + ++cnt; + return cnt; +} + +/* Resize the scopes of depended-upon objects, so that the new object + can be added later without further allocation of memory. This + function can raise an exceptions due to malloc failure. */ +static void +resize_scopes (struct link_map *new) +{ + /* If the file is not loaded now as a dependency, add the search + list of the newly loaded object to the scope. */ + for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) + { + struct link_map *imap = new->l_searchlist.r_list[i]; + + /* If the initializer has been called already, the object has + not been loaded here and now. */ + if (imap->l_init_called && imap->l_type == lt_loaded) + { + if (scope_has_map (imap, new)) + /* Avoid duplicates. */ + continue; + + size_t cnt = scope_size (imap); + if (__glibc_unlikely (cnt + 1 >= imap->l_scope_max)) + { + /* The l_scope array is too small. Allocate a new one + dynamically. */ + size_t new_size; + struct r_scope_elem **newp; + + if (imap->l_scope != imap->l_scope_mem + && imap->l_scope_max < array_length (imap->l_scope_mem)) + { + /* If the current l_scope memory is not pointing to + the static memory in the structure, but the + static memory in the structure is large enough to + use for cnt + 1 scope entries, then switch to + using the static memory. */ + new_size = array_length (imap->l_scope_mem); + newp = imap->l_scope_mem; + } + else + { + new_size = imap->l_scope_max * 2; + newp = (struct r_scope_elem **) + malloc (new_size * sizeof (struct r_scope_elem *)); + if (newp == NULL) + _dl_signal_error (ENOMEM, "dlopen", NULL, + N_("cannot create scope list")); + } + + /* Copy the array and the terminating NULL. */ + memcpy (newp, imap->l_scope, + (cnt + 1) * sizeof (imap->l_scope[0])); + struct r_scope_elem **old = imap->l_scope; + + imap->l_scope = newp; + + if (old != imap->l_scope_mem) + _dl_scope_free (old); + + imap->l_scope_max = new_size; + } + } + } +} + +/* Second stage of resize_scopes: Add NEW to the scopes. Also print + debugging information about scopes if requested. + + This function cannot raise an exception because all required memory + has been allocated by a previous call to resize_scopes. */ +static void +update_scopes (struct link_map *new) +{ + for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) + { + struct link_map *imap = new->l_searchlist.r_list[i]; + int from_scope = 0; + + if (imap->l_init_called && imap->l_type == lt_loaded) + { + if (scope_has_map (imap, new)) + /* Avoid duplicates. */ + continue; + + size_t cnt = scope_size (imap); + /* Assert that resize_scopes has sufficiently enlarged the + array. */ + assert (cnt + 1 < imap->l_scope_max); + + /* First terminate the extended list. Otherwise a thread + might use the new last element and then use the garbage + at offset IDX+1. */ + imap->l_scope[cnt + 1] = NULL; + atomic_write_barrier (); + imap->l_scope[cnt] = &new->l_searchlist; + + from_scope = cnt; + } + + /* Print scope information. */ + if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES)) + _dl_show_scope (imap, from_scope); + } +} + +/* Call _dl_add_to_slotinfo with DO_ADD set to false, to allocate + space in GL (dl_tls_dtv_slotinfo_list). This can raise an + exception. The return value is true if any of the new objects use + TLS. */ +static bool +resize_tls_slotinfo (struct link_map *new) +{ + bool any_tls = false; + for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) + { + struct link_map *imap = new->l_searchlist.r_list[i]; + + /* Only add TLS memory if this object is loaded now and + therefore is not yet initialized. */ + if (! imap->l_init_called && imap->l_tls_blocksize > 0) + { + _dl_add_to_slotinfo (imap, false); + any_tls = true; + } + } + return any_tls; +} + +/* Second stage of TLS update, after resize_tls_slotinfo. This + function does not raise any exception. It should only be called if + resize_tls_slotinfo returned true. */ +static void +update_tls_slotinfo (struct link_map *new) +{ + unsigned int first_static_tls = new->l_searchlist.r_nlist; + for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) + { + struct link_map *imap = new->l_searchlist.r_list[i]; + + /* Only add TLS memory if this object is loaded now and + therefore is not yet initialized. */ + if (! imap->l_init_called && imap->l_tls_blocksize > 0) + { + _dl_add_to_slotinfo (imap, true); + + if (imap->l_need_tls_init + && first_static_tls == new->l_searchlist.r_nlist) + first_static_tls = i; + } + } + + if (__builtin_expect (++GL(dl_tls_generation) == 0, 0)) + _dl_fatal_printf (N_("\ +TLS generation counter wrapped! Please report this.")); + + /* We need a second pass for static tls data, because + _dl_update_slotinfo must not be run while calls to + _dl_add_to_slotinfo are still pending. */ + for (unsigned int i = first_static_tls; i < new->l_searchlist.r_nlist; ++i) + { + struct link_map *imap = new->l_searchlist.r_list[i]; + + if (imap->l_need_tls_init + && ! imap->l_init_called + && imap->l_tls_blocksize > 0) + { + /* For static TLS we have to allocate the memory here and + now, but we can delay updating the DTV. */ + imap->l_need_tls_init = 0; +#ifdef SHARED + /* Update the slot information data for at least the + generation of the DSO we are allocating data for. */ + + /* FIXME: This can terminate the process on memory + allocation failure. It is not possible to raise + exceptions from this context; to fix this bug, + _dl_update_slotinfo would have to be split into two + operations, similar to resize_scopes and update_scopes + above. This is related to bug 16134. */ + _dl_update_slotinfo (imap->l_tls_modid); +#endif + + GL(dl_init_static_tls) (imap); + assert (imap->l_need_tls_init == 0); + } + } +} + +/* Mark the objects as NODELETE if required. This is delayed until + after dlopen failure is not possible, so that _dl_close can clean + up objects if necessary. */ +static void +activate_nodelete (struct link_map *new) +{ + /* It is necessary to traverse the entire namespace. References to + objects in the global scope and unique symbol bindings can force + NODELETE status for objects outside the local scope. */ + for (struct link_map *l = GL (dl_ns)[new->l_ns]._ns_loaded; l != NULL; + l = l->l_next) + if (l->l_nodelete_pending) + { + if (__glibc_unlikely (GLRO (dl_debug_mask) & DL_DEBUG_FILES)) + _dl_debug_printf ("activating NODELETE for %s [%lu]\n", + l->l_name, l->l_ns); + + /* The flag can already be true at this point, e.g. a signal + handler may have triggered lazy binding and set NODELETE + status immediately. */ + l->l_nodelete_active = true; + + /* This is just a debugging aid, to indicate that + activate_nodelete has run for this map. */ + l->l_nodelete_pending = false; + } +} + +/* struct dl_init_args and call_dl_init are used to call _dl_init with + exception handling disabled. */ +struct dl_init_args +{ + struct link_map *new; + int argc; + char **argv; + char **env; +}; + +static void +call_dl_init (void *closure) +{ + struct dl_init_args *args = closure; + _dl_init (args->new, args->argc, args->argv, args->env); +} + static void dl_open_worker (void *a) { @@ -208,6 +508,15 @@ dl_open_worker (void *a) args->nsid = call_map->l_ns; } + /* The namespace ID is now known. Keep track of whether libc.so was + already loaded, to determine whether it is necessary to call the + early initialization routine (or clear libc_map on error). */ + args->libc_already_loaded = GL(dl_ns)[args->nsid].libc_map != NULL; + + /* Retain the old value, so that it can be restored. */ + args->original_global_scope_pending_adds + = GL (dl_ns)[args->nsid]._ns_global_scope_pending_adds; + /* One might be tempted to assert that we are RT_CONSISTENT at this point, but that may not be true if this is a recursive call to dlopen. */ _dl_debug_initialize (0, args->nsid); @@ -225,12 +534,6 @@ dl_open_worker (void *a) return; } - /* Mark the object as not deletable if the RTLD_NODELETE flags was passed. - Do this early so that we don't skip marking the object if it was - already loaded. */ - if (__glibc_unlikely (mode & RTLD_NODELETE)) - new->l_flags_1 |= DF_1_NODELETE; - if (__glibc_unlikely (mode & __RTLD_SPROF)) /* This happens only if we load a DSO for 'sprof'. */ return; @@ -246,16 +549,37 @@ dl_open_worker (void *a) _dl_debug_printf ("opening file=%s [%lu]; direct_opencount=%u\n\n", new->l_name, new->l_ns, new->l_direct_opencount); - /* If the user requested the object to be in the global namespace - but it is not so far, add it now. */ + /* If the user requested the object to be in the global + namespace but it is not so far, prepare to add it now. This + can raise an exception to do a malloc failure. */ + if ((mode & RTLD_GLOBAL) && new->l_global == 0) + add_to_global_resize (new); + + /* Mark the object as not deletable if the RTLD_NODELETE flags + was passed. */ + if (__glibc_unlikely (mode & RTLD_NODELETE)) + { + if (__glibc_unlikely (GLRO (dl_debug_mask) & DL_DEBUG_FILES) + && !new->l_nodelete_active) + _dl_debug_printf ("marking %s [%lu] as NODELETE\n", + new->l_name, new->l_ns); + new->l_nodelete_active = true; + } + + /* Finalize the addition to the global scope. */ if ((mode & RTLD_GLOBAL) && new->l_global == 0) - (void) add_to_global (new); + add_to_global_update (new); assert (_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT); return; } + /* Schedule NODELETE marking for the directly loaded object if + requested. */ + if (__glibc_unlikely (mode & RTLD_NODELETE)) + new->l_nodelete_pending = true; + /* Load that object's dependencies. */ _dl_map_object_deps (new, NULL, 0, 0, mode & (__RTLD_DLOPEN | RTLD_DEEPBIND | __RTLD_AUDIT)); @@ -278,7 +602,10 @@ dl_open_worker (void *a) for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->activity != NULL) - afct->activity (&head->l_audit[cnt].cookie, LA_ACT_CONSISTENT); + { + struct auditstate *state = link_map_audit_state (head, cnt); + afct->activity (&state->cookie, LA_ACT_CONSISTENT); + } afct = afct->next; } @@ -292,6 +619,8 @@ dl_open_worker (void *a) _dl_debug_state (); LIBC_PROBE (map_complete, 3, args->nsid, r, new); + _dl_open_check (new); + /* Print scope information. */ if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES)) _dl_show_scope (new, 0); @@ -301,35 +630,42 @@ dl_open_worker (void *a) if (GLRO(dl_lazy)) reloc_mode |= mode & RTLD_LAZY; - /* Sort the objects by dependency for the relocation process. This - allows IFUNC relocations to work and it also means copy - relocation of dependencies are if necessary overwritten. */ - unsigned int nmaps = 0; - struct link_map *l = new; - do - { - if (! l->l_real->l_relocated) - ++nmaps; - l = l->l_next; - } - while (l != NULL); - struct link_map *maps[nmaps]; - nmaps = 0; - l = new; + /* Objects must be sorted by dependency for the relocation process. + This allows IFUNC relocations to work and it also means copy + relocation of dependencies are if necessary overwritten. + __dl_map_object_deps has already sorted l_initfini for us. */ + unsigned int first = UINT_MAX; + unsigned int last = 0; + unsigned int j = 0; + struct link_map *l = new->l_initfini[0]; do { if (! l->l_real->l_relocated) - maps[nmaps++] = l; - l = l->l_next; + { + if (first == UINT_MAX) + first = j; + last = j + 1; + } + l = new->l_initfini[++j]; } while (l != NULL); - _dl_sort_maps (maps, nmaps, NULL, false); int relocation_in_progress = 0; - for (unsigned int i = nmaps; i-- > 0; ) + /* Perform relocation. This can trigger lazy binding in IFUNC + resolvers. For NODELETE mappings, these dependencies are not + recorded because the flag has not been applied to the newly + loaded objects. This means that upon dlopen failure, these + NODELETE objects can be unloaded despite existing references to + them. However, such relocation dependencies in IFUNC resolvers + are undefined anyway, so this is not a problem. */ + + for (unsigned int i = last; i-- > first; ) { - l = maps[i]; + l = new->l_initfini[i]; + + if (l->l_real->l_relocated) + continue; if (! relocation_in_progress) { @@ -356,7 +692,7 @@ dl_open_worker (void *a) _dl_start_profile (); /* Prevent unloading the object. */ - GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE; + GL(dl_profile_map)->l_nodelete_active = true; } } else @@ -364,157 +700,92 @@ dl_open_worker (void *a) _dl_relocate_object (l, l->l_scope, reloc_mode, 0); } - /* NB: Workaround for [BZ #20839] which doesn't remove the NODELETE - object when _dl_open_check throws an exception. Move it after - relocation to avoid leaving the NODELETE object mapped without - relocation. */ - _dl_open_check (new); - - /* If the file is not loaded now as a dependency, add the search - list of the newly loaded object to the scope. */ - bool any_tls = false; - unsigned int first_static_tls = new->l_searchlist.r_nlist; - for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) - { - struct link_map *imap = new->l_searchlist.r_list[i]; - int from_scope = 0; - - /* If the initializer has been called already, the object has - not been loaded here and now. */ - if (imap->l_init_called && imap->l_type == lt_loaded) - { - struct r_scope_elem **runp = imap->l_scope; - size_t cnt = 0; - - while (*runp != NULL) - { - if (*runp == &new->l_searchlist) - break; - ++cnt; - ++runp; - } - - if (*runp != NULL) - /* Avoid duplicates. */ - continue; - - if (__glibc_unlikely (cnt + 1 >= imap->l_scope_max)) - { - /* The 'r_scope' array is too small. Allocate a new one - dynamically. */ - size_t new_size; - struct r_scope_elem **newp; + /* This only performs the memory allocations. The actual update of + the scopes happens below, after failure is impossible. */ + resize_scopes (new); -#define SCOPE_ELEMS(imap) \ - (sizeof (imap->l_scope_mem) / sizeof (imap->l_scope_mem[0])) + /* Increase the size of the GL (dl_tls_dtv_slotinfo_list) data + structure. */ + bool any_tls = resize_tls_slotinfo (new); - if (imap->l_scope != imap->l_scope_mem - && imap->l_scope_max < SCOPE_ELEMS (imap)) - { - new_size = SCOPE_ELEMS (imap); - newp = imap->l_scope_mem; - } - else - { - new_size = imap->l_scope_max * 2; - newp = (struct r_scope_elem **) - malloc (new_size * sizeof (struct r_scope_elem *)); - if (newp == NULL) - _dl_signal_error (ENOMEM, "dlopen", NULL, - N_("cannot create scope list")); - } - - memcpy (newp, imap->l_scope, cnt * sizeof (imap->l_scope[0])); - struct r_scope_elem **old = imap->l_scope; - - imap->l_scope = newp; - - if (old != imap->l_scope_mem) - _dl_scope_free (old); - - imap->l_scope_max = new_size; - } - - /* First terminate the extended list. Otherwise a thread - might use the new last element and then use the garbage - at offset IDX+1. */ - imap->l_scope[cnt + 1] = NULL; - atomic_write_barrier (); - imap->l_scope[cnt] = &new->l_searchlist; - - /* Print only new scope information. */ - from_scope = cnt; - } - /* Only add TLS memory if this object is loaded now and - therefore is not yet initialized. */ - else if (! imap->l_init_called - /* Only if the module defines thread local data. */ - && __builtin_expect (imap->l_tls_blocksize > 0, 0)) - { - /* Now that we know the object is loaded successfully add - modules containing TLS data to the slot info table. We - might have to increase its size. */ - _dl_add_to_slotinfo (imap); - - if (imap->l_need_tls_init - && first_static_tls == new->l_searchlist.r_nlist) - first_static_tls = i; - - /* We have to bump the generation counter. */ - any_tls = true; - } - - /* Print scope information. */ - if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES)) - _dl_show_scope (imap, from_scope); - } + /* Perform the necessary allocations for adding new global objects + to the global scope below. */ + if (mode & RTLD_GLOBAL) + add_to_global_resize (new); + + /* Demarcation point: After this, no recoverable errors are allowed. + All memory allocations for new objects must have happened + before. */ + + /* Finalize the NODELETE status first. This comes before + update_scopes, so that lazy binding will not see pending NODELETE + state for newly loaded objects. There is a compiler barrier in + update_scopes which ensures that the changes from + activate_nodelete are visible before new objects show up in the + local scope. */ + activate_nodelete (new); + + /* Second stage after resize_scopes: Actually perform the scope + update. After this, dlsym and lazy binding can bind to new + objects. */ + update_scopes (new); + + /* FIXME: It is unclear whether the order here is correct. + Shouldn't new objects be made available for binding (and thus + execution) only after there TLS data has been set up fully? + Fixing bug 16134 will likely make this distinction less + important. */ + + /* Second stage after resize_tls_slotinfo: Update the slotinfo data + structures. */ + if (any_tls) + /* FIXME: This calls _dl_update_slotinfo, which aborts the process + on memory allocation failure. See bug 16134. */ + update_tls_slotinfo (new); - /* Bump the generation number if necessary. */ - if (any_tls && __builtin_expect (++GL(dl_tls_generation) == 0, 0)) - _dl_fatal_printf (N_("\ -TLS generation counter wrapped! Please report this.")); + /* Notify the debugger all new objects have been relocated. */ + if (relocation_in_progress) + LIBC_PROBE (reloc_complete, 3, args->nsid, r, new); - /* We need a second pass for static tls data, because _dl_update_slotinfo - must not be run while calls to _dl_add_to_slotinfo are still pending. */ - for (unsigned int i = first_static_tls; i < new->l_searchlist.r_nlist; ++i) + /* If libc.so was not there before, attempt to call its early + initialization routine. Indicate to the initialization routine + whether the libc being initialized is the one in the base + namespace. */ + if (!args->libc_already_loaded) { - struct link_map *imap = new->l_searchlist.r_list[i]; - - if (imap->l_need_tls_init - && ! imap->l_init_called - && imap->l_tls_blocksize > 0) - { - /* For static TLS we have to allocate the memory here and - now, but we can delay updating the DTV. */ - imap->l_need_tls_init = 0; + struct link_map *libc_map = GL(dl_ns)[args->nsid].libc_map; #ifdef SHARED - /* Update the slot information data for at least the - generation of the DSO we are allocating data for. */ - _dl_update_slotinfo (imap->l_tls_modid); + bool initial = libc_map->l_ns == LM_ID_BASE; +#else + /* In the static case, there is only one namespace, but it + contains a secondary libc (the primary libc is statically + linked). */ + bool initial = false; #endif - - GL(dl_init_static_tls) (imap); - assert (imap->l_need_tls_init == 0); - } + _dl_call_libc_early_init (libc_map, initial); } - /* Notify the debugger all new objects have been relocated. */ - if (relocation_in_progress) - LIBC_PROBE (reloc_complete, 3, args->nsid, r, new); - #ifndef SHARED DL_STATIC_INIT (new); #endif - /* Run the initializer functions of new objects. */ - _dl_init (new, args->argc, args->argv, args->env); + /* Run the initializer functions of new objects. Temporarily + disable the exception handler, so that lazy binding failures are + fatal. */ + { + struct dl_init_args init_args = + { + .new = new, + .argc = args->argc, + .argv = args->argv, + .env = args->env + }; + _dl_catch_exception (NULL, call_dl_init, &init_args); + } /* Now we can make the new map available in the global scope. */ if (mode & RTLD_GLOBAL) - /* Move the object in the global namespace. */ - if (add_to_global (new) != 0) - /* It failed. */ - return; + add_to_global_update (new); #ifndef SHARED /* We must be the static _dl_open in libc.a. A static program that @@ -528,7 +799,6 @@ TLS generation counter wrapped! Please report this.")); new->l_name, new->l_ns, new->l_direct_opencount); } - void * _dl_open (const char *file, int mode, const void *caller_dlopen, Lmid_t nsid, int argc, char *argv[], char *env[]) @@ -584,6 +854,8 @@ no more namespaces available for dlmopen()")); args.caller_dlopen = caller_dlopen; args.map = NULL; args.nsid = nsid; + /* args.libc_already_loaded is always assigned by dl_open_worker + (before any explicit/non-local returns). */ args.argc = argc; args.argv = argv; args.env = env; @@ -596,9 +868,27 @@ no more namespaces available for dlmopen()")); _dl_unload_cache (); #endif + /* Do this for both the error and success cases. The old value has + only been determined if the namespace ID was assigned (i.e., it + is not __LM_ID_CALLER). In the success case, we actually may + have consumed more pending adds than planned (because the local + scopes overlap in case of a recursive dlopen, the inner dlopen + doing some of the globalization work of the outer dlopen), so the + old pending adds value is larger than absolutely necessary. + Since it is just a conservative upper bound, this is harmless. + The top-level dlopen call will restore the field to zero. */ + if (args.nsid >= 0) + GL (dl_ns)[args.nsid]._ns_global_scope_pending_adds + = args.original_global_scope_pending_adds; + /* See if an error occurred during loading. */ if (__glibc_unlikely (exception.errstring != NULL)) { + /* Avoid keeping around a dangling reference to the libc.so link + map in case it has been cached in libc_map. */ + if (!args.libc_already_loaded) + GL(dl_ns)[nsid].libc_map = NULL; + /* Remove the object from memory. It may be in an inconsistent state if relocation failed, for example. */ if (args.map) @@ -614,6 +904,10 @@ no more namespaces available for dlmopen()")); GL(dl_tls_dtv_gaps) = true; _dl_close_worker (args.map, true); + + /* All l_nodelete_pending objects should have been deleted + at this point, which is why it is not necessary to reset + the flag here. */ } assert (_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT); diff --git a/elf/dl-origin.c b/elf/dl-origin.c index 243b3d0fdf..0831c46983 100644 --- a/elf/dl-origin.c +++ b/elf/dl-origin.c @@ -1,5 +1,5 @@ /* Find path of executable. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-profile.c b/elf/dl-profile.c index 42995305af..c681f5415c 100644 --- a/elf/dl-profile.c +++ b/elf/dl-profile.c @@ -1,5 +1,5 @@ /* Profiling of shared libraries. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. Based on the BSD mcount implementation. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-profstub.c b/elf/dl-profstub.c index dc413365a1..9f27da254e 100644 --- a/elf/dl-profstub.c +++ b/elf/dl-profstub.c @@ -1,5 +1,5 @@ /* Helper definitions for profiling of shared libraries. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-reloc-static-pie.c b/elf/dl-reloc-static-pie.c index 95aee984e8..382482fa73 100644 --- a/elf/dl-reloc-static-pie.c +++ b/elf/dl-reloc-static-pie.c @@ -1,5 +1,5 @@ /* Support for relocating static PIE. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #if ENABLE_STATIC_PIE #include diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c index e7fb8da276..6d32e49467 100644 --- a/elf/dl-reloc.c +++ b/elf/dl-reloc.c @@ -1,5 +1,5 @@ /* Relocate a shared object and resolve its references to other loaded objects. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -39,13 +39,16 @@ /* We are trying to perform a static TLS relocation in MAP, but it was dynamically loaded. This can only work if there is enough surplus in the static TLS area already allocated for each running thread. If this - object's TLS segment is too big to fit, we fail. If it fits, - we set MAP->l_tls_offset and return. - This function intentionally does not return any value but signals error - directly, as static TLS should be rare and code handling it should - not be inlined as much as possible. */ + object's TLS segment is too big to fit, we fail with -1. If it fits, + we set MAP->l_tls_offset and return 0. + A portion of the surplus static TLS can be optionally used to optimize + dynamic TLS access (with TLSDESC or powerpc TLS optimizations). + If OPTIONAL is true then TLS is allocated for such optimization and + the caller must have a fallback in case the optional portion of surplus + TLS runs out. If OPTIONAL is false then the entire surplus TLS area is + considered and the allocation only fails if that runs out. */ int -_dl_try_allocate_static_tls (struct link_map *map) +_dl_try_allocate_static_tls (struct link_map *map, bool optional) { /* If we've already used the variable with dynamic access, or if the alignment requirements are too high, fail. */ @@ -68,8 +71,14 @@ _dl_try_allocate_static_tls (struct link_map *map) size_t n = (freebytes - blsize) / map->l_tls_align; - size_t offset = GL(dl_tls_static_used) + (freebytes - n * map->l_tls_align - - map->l_tls_firstbyte_offset); + /* Account optional static TLS surplus usage. */ + size_t use = freebytes - n * map->l_tls_align - map->l_tls_firstbyte_offset; + if (optional && use > GL(dl_tls_static_optional)) + goto fail; + else if (optional) + GL(dl_tls_static_optional) -= use; + + size_t offset = GL(dl_tls_static_used) + use; map->l_tls_offset = GL(dl_tls_static_used) = offset; #elif TLS_DTV_AT_TP @@ -83,6 +92,13 @@ _dl_try_allocate_static_tls (struct link_map *map) if (used > GL(dl_tls_static_size)) goto fail; + /* Account optional static TLS surplus usage. */ + size_t use = used - GL(dl_tls_static_used); + if (optional && use > GL(dl_tls_static_optional)) + goto fail; + else if (optional) + GL(dl_tls_static_optional) -= use; + map->l_tls_offset = offset; map->l_tls_firstbyte_offset = GL(dl_tls_static_used); GL(dl_tls_static_used) = used; @@ -110,12 +126,15 @@ _dl_try_allocate_static_tls (struct link_map *map) return 0; } +/* This function intentionally does not return any value but signals error + directly, as static TLS should be rare and code handling it should + not be inlined as much as possible. */ void __attribute_noinline__ _dl_allocate_static_tls (struct link_map *map) { if (map->l_tls_offset == FORCED_DYNAMIC_TLS_OFFSET - || _dl_try_allocate_static_tls (map)) + || _dl_try_allocate_static_tls (map, false)) { _dl_signal_error (0, map->l_name, NULL, N_("\ cannot allocate memory in static TLS block")); @@ -244,7 +263,8 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], v = (version); \ _lr = _dl_lookup_symbol_x (strtab + (*ref)->st_name, l, (ref), \ scope, v, _tc, \ - DL_LOOKUP_ADD_DEPENDENCY, NULL); \ + DL_LOOKUP_ADD_DEPENDENCY \ + | DL_LOOKUP_FOR_RELOCATE, NULL); \ l->l_lookup_cache.ret = (*ref); \ l->l_lookup_cache.value = _lr; })) \ : l) diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index 42a2539e64..85a229f6f0 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -1,5 +1,5 @@ /* On-demand PLT fixup for shared objects. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define IN_DL_RUNTIME 1 /* This can be tested in dl-machine.h. */ @@ -27,6 +27,7 @@ #include "dynamic-link.h" #include #include +#include #if (!ELF_MACHINE_NO_RELA && !defined ELF_MACHINE_PLT_REL) \ @@ -42,13 +43,6 @@ # define ARCH_FIXUP_ATTRIBUTE #endif -#ifndef reloc_offset -# define reloc_offset reloc_arg -# define reloc_index reloc_arg / sizeof (PLTREL) -#endif - - - /* This function is called through a special trampoline from the PLT the first time each PLT entry is called. We must perform the relocation specified in the PLT of the given shared object, and return the resolved @@ -68,8 +62,11 @@ _dl_fixup ( = (const void *) D_PTR (l, l_info[DT_SYMTAB]); const char *strtab = (const void *) D_PTR (l, l_info[DT_STRTAB]); + const uintptr_t pltgot = (uintptr_t) D_PTR (l, l_info[DT_PLTGOT]); + const PLTREL *const reloc - = (const void *) (D_PTR (l, l_info[DT_JMPREL]) + reloc_offset); + = (const void *) (D_PTR (l, l_info[DT_JMPREL]) + + reloc_offset (pltgot, reloc_arg)); const ElfW(Sym) *sym = &symtab[ELFW(R_SYM) (reloc->r_info)]; const ElfW(Sym) *refsym = sym; void *const rel_addr = (void *)(l->l_addr + reloc->r_offset); @@ -180,9 +177,12 @@ _dl_profile_fixup ( l, reloc_arg); } + const uintptr_t pltgot = (uintptr_t) D_PTR (l, l_info[DT_PLTGOT]); + /* This is the address in the array where we store the result of previous relocations. */ - struct reloc_result *reloc_result = &l->l_reloc_result[reloc_index]; + struct reloc_result *reloc_result + = &l->l_reloc_result[reloc_index (pltgot, reloc_arg, sizeof (PLTREL))]; /* CONCURRENCY NOTES: @@ -219,8 +219,11 @@ _dl_profile_fixup ( = (const void *) D_PTR (l, l_info[DT_SYMTAB]); const char *strtab = (const char *) D_PTR (l, l_info[DT_STRTAB]); + const uintptr_t pltgot = (uintptr_t) D_PTR (l, l_info[DT_PLTGOT]); + const PLTREL *const reloc - = (const void *) (D_PTR (l, l_info[DT_JMPREL]) + reloc_offset); + = (const void *) (D_PTR (l, l_info[DT_JMPREL]) + + reloc_offset (pltgot, reloc_arg)); const ElfW(Sym) *refsym = &symtab[ELFW(R_SYM) (reloc->r_info)]; const ElfW(Sym) *defsym = refsym; lookup_t result; @@ -325,15 +328,18 @@ _dl_profile_fixup ( { /* XXX Check whether both DSOs must request action or only one */ - if ((l->l_audit[cnt].bindflags & LA_FLG_BINDFROM) != 0 - && (result->l_audit[cnt].bindflags & LA_FLG_BINDTO) != 0) + struct auditstate *l_state = link_map_audit_state (l, cnt); + struct auditstate *result_state + = link_map_audit_state (result, cnt); + if ((l_state->bindflags & LA_FLG_BINDFROM) != 0 + && (result_state->bindflags & LA_FLG_BINDTO) != 0) { if (afct->symbind != NULL) { uintptr_t new_value = afct->symbind (&sym, reloc_result->boundndx, - &l->l_audit[cnt].cookie, - &result->l_audit[cnt].cookie, + &l_state->cookie, + &result_state->cookie, &flags, strtab2 + defsym->st_name); if (new_value != (uintptr_t) sym.st_value) @@ -421,10 +427,13 @@ _dl_profile_fixup ( & (LA_SYMB_NOPLTENTER << (2 * (cnt + 1)))) == 0) { long int new_framesize = -1; + struct auditstate *l_state = link_map_audit_state (l, cnt); + struct auditstate *bound_state + = link_map_audit_state (reloc_result->bound, cnt); uintptr_t new_value = afct->ARCH_LA_PLTENTER (&sym, reloc_result->boundndx, - &l->l_audit[cnt].cookie, - &reloc_result->bound->l_audit[cnt].cookie, + &l_state->cookie, + &bound_state->cookie, regs, &flags, symname, &new_framesize); if (new_value != (uintptr_t) sym.st_value) @@ -479,11 +488,14 @@ _dl_call_pltexit (struct link_map *l, ElfW(Word) reloc_arg, const void *inregs, void *outregs) { #ifdef SHARED + const uintptr_t pltgot = (uintptr_t) D_PTR (l, l_info[DT_PLTGOT]); + /* This is the address in the array where we store the result of previous relocations. */ // XXX Maybe the bound information must be stored on the stack since // XXX with bind_not a new value could have been stored in the meantime. - struct reloc_result *reloc_result = &l->l_reloc_result[reloc_index]; + struct reloc_result *reloc_result = + &l->l_reloc_result[reloc_index (pltgot, reloc_arg, sizeof (PLTREL))]; ElfW(Sym) *defsym = ((ElfW(Sym) *) D_PTR (reloc_result->bound, l_info[DT_SYMTAB]) + reloc_result->boundndx); @@ -504,9 +516,11 @@ _dl_call_pltexit (struct link_map *l, ElfW(Word) reloc_arg, && (reloc_result->enterexit & (LA_SYMB_NOPLTEXIT >> (2 * cnt))) == 0) { + struct auditstate *l_state = link_map_audit_state (l, cnt); + struct auditstate *bound_state + = link_map_audit_state (reloc_result->bound, cnt); afct->ARCH_LA_PLTEXIT (&sym, reloc_result->boundndx, - &l->l_audit[cnt].cookie, - &reloc_result->bound->l_audit[cnt].cookie, + &l_state->cookie, &bound_state->cookie, inregs, outregs, symname); } diff --git a/elf/dl-runtime.h b/elf/dl-runtime.h new file mode 100644 index 0000000000..78f1da77fb --- /dev/null +++ b/elf/dl-runtime.h @@ -0,0 +1,30 @@ +/* Helpers for On-demand PLT fixup for shared objects. Generic version. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +static inline uintptr_t +reloc_offset (uintptr_t plt0, uintptr_t pltn) +{ + return pltn; +} + +static inline uintptr_t +reloc_index (uintptr_t plt0, uintptr_t pltn, size_t size) +{ + return pltn / size; +} diff --git a/elf/dl-scope.c b/elf/dl-scope.c index 2b9143fea0..b20a882799 100644 --- a/elf/dl-scope.c +++ b/elf/dl-scope.c @@ -1,5 +1,5 @@ /* Memory handling for the scope data structures. - Copyright (C) 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-sort-maps.c b/elf/dl-sort-maps.c index 26b3fd93a3..86f1e23c85 100644 --- a/elf/dl-sort-maps.c +++ b/elf/dl-sort-maps.c @@ -1,5 +1,5 @@ /* Sort array of link maps according to dependencies. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/dl-support.c b/elf/dl-support.c index 0a8b636d02..7704c101c5 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -1,5 +1,5 @@ /* Support for dynamic linking code in static libc. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file defines some things that for the dynamic linker are defined in rtld.c and dl-sysdep.c in ways appropriate to bootstrap dynamic linking. */ @@ -34,6 +34,9 @@ #include #include #include +#include +#include +#include extern char *__progname; char **_dl_argv = &__progname; /* This is checked for some error messages. */ @@ -201,6 +204,8 @@ struct link_map *_dl_sysinfo_map; # include "get-dynamic-info.h" #endif #include "setup-vdso.h" +/* Define the vDSO function pointers. */ +#include /* During the program run we must not modify the global data of loaded shared object simultanously in two threads. Therefore we @@ -289,9 +294,7 @@ _dl_aux_init (ElfW(auxv_t) *av) case AT_RANDOM: _dl_random = (void *) av->a_un.a_val; break; -# ifdef DL_PLATFORM_AUXV DL_PLATFORM_AUXV -# endif } if (seen == 0xf) { @@ -315,6 +318,9 @@ _dl_non_dynamic_init (void) so they can influence _dl_init_paths. */ setup_vdso (NULL, NULL); + /* With vDSO setup we can initialize the function pointers. */ + setup_vdso_pointers (); + /* Initialize the data structures for the search paths for shared objects. */ _dl_init_paths (getenv ("LD_LIBRARY_PATH")); @@ -367,14 +373,24 @@ _dl_non_dynamic_init (void) if (_dl_platform != NULL) _dl_platformlen = strlen (_dl_platform); - /* Scan for a program header telling us the stack is nonexecutable. */ if (_dl_phdr != NULL) - for (uint_fast16_t i = 0; i < _dl_phnum; ++i) - if (_dl_phdr[i].p_type == PT_GNU_STACK) + for (const ElfW(Phdr) *ph = _dl_phdr; ph < &_dl_phdr[_dl_phnum]; ++ph) + switch (ph->p_type) { - _dl_stack_flags = _dl_phdr[i].p_flags; + /* Check if the stack is nonexecutable. */ + case PT_GNU_STACK: + _dl_stack_flags = ph->p_flags; + break; + + case PT_GNU_RELRO: + _dl_main_map.l_relro_addr = ph->p_vaddr; + _dl_main_map.l_relro_size = ph->p_memsz; break; } + + /* Setup relro on the binary itself. */ + if (_dl_main_map.l_relro_size != 0) + _dl_protect_relro (&_dl_main_map); } #ifdef DL_SYSINFO_IMPLEMENTATION diff --git a/elf/dl-sym-post.h b/elf/dl-sym-post.h new file mode 100644 index 0000000000..4c4f574633 --- /dev/null +++ b/elf/dl-sym-post.h @@ -0,0 +1,106 @@ +/* Post-processing of a symbol produced by dlsym, dlvsym. + Copyright (C) 1999-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + + +/* Return the link map containing the caller address. */ +static struct link_map * +_dl_sym_find_caller_link_map (ElfW(Addr) caller) +{ + struct link_map *l = _dl_find_dso_for_object (caller); + if (l != NULL) + return l; + else + /* If the address is not recognized the call comes from the main + program (we hope). */ + return GL(dl_ns)[LM_ID_BASE]._ns_loaded; +} + +/* Translates RESULT, *REF, VALUE into a symbol address from the point + of view of MATCH. Performs IFUNC resolution and auditing if + necessary. If MATCH is NULL, CALLER is used to determine it. */ +static void * +_dl_sym_post (lookup_t result, const ElfW(Sym) *ref, void *value, + ElfW(Addr) caller, struct link_map *match) +{ + /* Resolve indirect function address. */ + if (__glibc_unlikely (ELFW(ST_TYPE) (ref->st_info) == STT_GNU_IFUNC)) + { + DL_FIXUP_VALUE_TYPE fixup + = DL_FIXUP_MAKE_VALUE (result, (ElfW(Addr)) value); + fixup = elf_ifunc_invoke (DL_FIXUP_VALUE_ADDR (fixup)); + value = (void *) DL_FIXUP_VALUE_CODE_ADDR (fixup); + } + +#ifdef SHARED + /* Auditing checkpoint: we have a new binding. Provide the + auditing libraries the possibility to change the value and + tell us whether further auditing is wanted. */ + if (__glibc_unlikely (GLRO(dl_naudit) > 0)) + { + const char *strtab = (const char *) D_PTR (result, + l_info[DT_STRTAB]); + /* Compute index of the symbol entry in the symbol table of + the DSO with the definition. */ + unsigned int ndx = (ref - (ElfW(Sym) *) D_PTR (result, + l_info[DT_SYMTAB])); + + if (match == NULL) + match = _dl_sym_find_caller_link_map (caller); + + if ((match->l_audit_any_plt | result->l_audit_any_plt) != 0) + { + unsigned int altvalue = 0; + struct audit_ifaces *afct = GLRO(dl_audit); + /* Synthesize a symbol record where the st_value field is + the result. */ + ElfW(Sym) sym = *ref; + sym.st_value = (ElfW(Addr)) value; + + for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) + { + struct auditstate *match_audit + = link_map_audit_state (match, cnt); + struct auditstate *result_audit + = link_map_audit_state (result, cnt); + if (afct->symbind != NULL + && ((match_audit->bindflags & LA_FLG_BINDFROM) != 0 + || ((result_audit->bindflags & LA_FLG_BINDTO) + != 0))) + { + unsigned int flags = altvalue | LA_SYMB_DLSYM; + uintptr_t new_value + = afct->symbind (&sym, ndx, + &match_audit->cookie, + &result_audit->cookie, + &flags, strtab + ref->st_name); + if (new_value != (uintptr_t) sym.st_value) + { + altvalue = LA_SYMB_ALTVALUE; + sym.st_value = new_value; + } + } + + afct = afct->next; + } + + value = (void *) sym.st_value; + } + } +#endif + return value; +} diff --git a/elf/dl-sym.c b/elf/dl-sym.c index 19a9b95b47..361b926ea9 100644 --- a/elf/dl-sym.c +++ b/elf/dl-sym.c @@ -1,5 +1,5 @@ /* Look up a symbol in a shared object loaded by `dlopen'. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -28,6 +28,7 @@ #include #include #include +#include #ifdef SHARED @@ -80,7 +81,6 @@ call_dl_lookup (void *ptr) args->flags, NULL); } - static void * do_sym (void *handle, const char *name, void *who, struct r_found_version *vers, int flags) @@ -89,13 +89,13 @@ do_sym (void *handle, const char *name, void *who, lookup_t result; ElfW(Addr) caller = (ElfW(Addr)) who; - struct link_map *l = _dl_find_dso_for_object (caller); - /* If the address is not recognized the call comes from the main - program (we hope). */ - struct link_map *match = l ? l : GL(dl_ns)[LM_ID_BASE]._ns_loaded; + /* Link map of the caller if needed. */ + struct link_map *match = NULL; if (handle == RTLD_DEFAULT) { + match = _dl_sym_find_caller_link_map (caller); + /* Search the global scope. We have the simple case where we look up in the scope of an object which was part of the initial binary. And then the more complex part @@ -128,6 +128,8 @@ do_sym (void *handle, const char *name, void *who, } else if (handle == RTLD_NEXT) { + match = _dl_sym_find_caller_link_map (caller); + if (__glibc_unlikely (match == GL(dl_ns)[LM_ID_BASE]._ns_loaded)) { if (match == NULL @@ -165,67 +167,7 @@ RTLD_NEXT used in code not dynamically loaded")); #endif value = DL_SYMBOL_ADDRESS (result, ref); - /* Resolve indirect function address. */ - if (__glibc_unlikely (ELFW(ST_TYPE) (ref->st_info) == STT_GNU_IFUNC)) - { - DL_FIXUP_VALUE_TYPE fixup - = DL_FIXUP_MAKE_VALUE (result, (ElfW(Addr)) value); - fixup = elf_ifunc_invoke (DL_FIXUP_VALUE_ADDR (fixup)); - value = (void *) DL_FIXUP_VALUE_CODE_ADDR (fixup); - } - -#ifdef SHARED - /* Auditing checkpoint: we have a new binding. Provide the - auditing libraries the possibility to change the value and - tell us whether further auditing is wanted. */ - if (__glibc_unlikely (GLRO(dl_naudit) > 0)) - { - const char *strtab = (const char *) D_PTR (result, - l_info[DT_STRTAB]); - /* Compute index of the symbol entry in the symbol table of - the DSO with the definition. */ - unsigned int ndx = (ref - (ElfW(Sym) *) D_PTR (result, - l_info[DT_SYMTAB])); - - if ((match->l_audit_any_plt | result->l_audit_any_plt) != 0) - { - unsigned int altvalue = 0; - struct audit_ifaces *afct = GLRO(dl_audit); - /* Synthesize a symbol record where the st_value field is - the result. */ - ElfW(Sym) sym = *ref; - sym.st_value = (ElfW(Addr)) value; - - for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) - { - if (afct->symbind != NULL - && ((match->l_audit[cnt].bindflags & LA_FLG_BINDFROM) - != 0 - || ((result->l_audit[cnt].bindflags & LA_FLG_BINDTO) - != 0))) - { - unsigned int flags = altvalue | LA_SYMB_DLSYM; - uintptr_t new_value - = afct->symbind (&sym, ndx, - &match->l_audit[cnt].cookie, - &result->l_audit[cnt].cookie, - &flags, strtab + ref->st_name); - if (new_value != (uintptr_t) sym.st_value) - { - altvalue = LA_SYMB_ALTVALUE; - sym.st_value = new_value; - } - } - - afct = afct->next; - } - - value = (void *) sym.st_value; - } - } -#endif - - return value; + return _dl_sym_post (result, ref, value, caller, match); } return NULL; diff --git a/elf/dl-symaddr.c b/elf/dl-symaddr.c index 4850da2dd5..973f9b850a 100644 --- a/elf/dl-symaddr.c +++ b/elf/dl-symaddr.c @@ -1,5 +1,5 @@ /* Get the symbol address. Generic version. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-sysdep-open.h b/elf/dl-sysdep-open.h index acbe3cfc6e..b1778db7c9 100644 --- a/elf/dl-sysdep-open.h +++ b/elf/dl-sysdep-open.h @@ -1,5 +1,5 @@ /* System-specific call to open a shared object by name. Stub version. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _DL_SYSDEP_OPEN_H #define _DL_SYSDEP_OPEN_H 1 diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c index 5d19b100b2..854570821c 100644 --- a/elf/dl-sysdep.c +++ b/elf/dl-sysdep.c @@ -1,5 +1,5 @@ /* Operating system support for run-time dynamic linker. Generic Unix version. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* We conditionalize the whole of this file rather than simply eliding it from the static build, because other sysdeps/ versions of this file @@ -45,6 +45,7 @@ #include #include +#include extern char **_environ attribute_hidden; extern char _end[] attribute_hidden; @@ -180,9 +181,7 @@ _dl_sysdep_start (void **start_argptr, case AT_RANDOM: _dl_random = (void *) av->a_un.a_val; break; -#ifdef DL_PLATFORM_AUXV DL_PLATFORM_AUXV -#endif } #ifndef HAVE_AUX_SECURE diff --git a/elf/dl-tls.c b/elf/dl-tls.c index b425d661be..9fa62f5d22 100644 --- a/elf/dl-tls.c +++ b/elf/dl-tls.c @@ -1,5 +1,5 @@ /* Thread-local storage handling in the ELF dynamic linker. Generic version. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -29,10 +29,89 @@ #include #include -/* Amount of excess space to allocate in the static TLS area - to allow dynamic loading of modules defining IE-model TLS data. */ -#define TLS_STATIC_SURPLUS 64 + DL_NNS * 100 +#define TUNABLE_NAMESPACE rtld +#include +/* Surplus static TLS, GLRO(dl_tls_static_surplus), is used for + + - IE TLS in libc.so for all dlmopen namespaces except in the initial + one where libc.so is not loaded dynamically but at startup time, + - IE TLS in other libraries which may be dynamically loaded even in the + initial namespace, + - and optionally for optimizing dynamic TLS access. + + The maximum number of namespaces is DL_NNS, but to support that many + namespaces correctly the static TLS allocation should be significantly + increased, which may cause problems with small thread stacks due to the + way static TLS is accounted (bug 11787). + + So there is a rtld.nns tunable limit on the number of supported namespaces + that affects the size of the static TLS and by default it's small enough + not to cause problems with existing applications. The limit is not + enforced or checked: it is the user's responsibility to increase rtld.nns + if more dlmopen namespaces are used. + + Audit modules use their own namespaces, they are not included in rtld.nns, + but come on top when computing the number of namespaces. */ + +/* Size of initial-exec TLS in libc.so. This should be the maximum of + observed PT_GNU_TLS sizes across all architectures. Some + architectures have lower values due to differences in type sizes + and link editor capabilities. */ +#define LIBC_IE_TLS 144 + +/* Size of initial-exec TLS in libraries other than libc.so. + This should be large enough to cover runtime libraries of the + compiler such as libgomp and libraries in libc other than libc.so. */ +#define OTHER_IE_TLS 144 + +/* Default number of namespaces. */ +#define DEFAULT_NNS 4 + +/* Default for dl_tls_static_optional. */ +#define OPTIONAL_TLS 512 + +/* Compute the static TLS surplus based on the namespace count and the + TLS space that can be used for optimizations. */ +static inline int +tls_static_surplus (int nns, int opt_tls) +{ + return (nns - 1) * LIBC_IE_TLS + nns * OTHER_IE_TLS + opt_tls; +} + +/* This value is chosen so that with default values for the tunables, + the computation of dl_tls_static_surplus in + _dl_tls_static_surplus_init yields the historic value 1664, for + backwards compatibility. */ +#define LEGACY_TLS (1664 - tls_static_surplus (DEFAULT_NNS, OPTIONAL_TLS)) + +/* Calculate the size of the static TLS surplus, when the given + number of audit modules are loaded. Must be called after the + number of audit modules is known and before static TLS allocation. */ +void +_dl_tls_static_surplus_init (size_t naudit) +{ + size_t nns, opt_tls; + +#if HAVE_TUNABLES + nns = TUNABLE_GET (nns, size_t, NULL); + opt_tls = TUNABLE_GET (optional_static_tls, size_t, NULL); +#else + /* Default values of the tunables. */ + nns = DEFAULT_NNS; + opt_tls = OPTIONAL_TLS; +#endif + if (nns > DL_NNS) + nns = DL_NNS; + if (DL_NNS - nns < naudit) + _dl_fatal_printf ("Failed loading %lu audit modules, %lu are supported.\n", + (unsigned long) naudit, (unsigned long) (DL_NNS - nns)); + nns += naudit; + + GL(dl_tls_static_optional) = opt_tls; + assert (LEGACY_TLS >= 0); + GLRO(dl_tls_static_surplus) = tls_static_surplus (nns, opt_tls) + LEGACY_TLS; +} /* Out-of-memory handler. */ static void @@ -218,7 +297,8 @@ _dl_determine_tlsoffset (void) } GL(dl_tls_static_used) = offset; - GL(dl_tls_static_size) = (roundup (offset + TLS_STATIC_SURPLUS, max_align) + GL(dl_tls_static_size) = (roundup (offset + GLRO(dl_tls_static_surplus), + max_align) + TLS_TCB_SIZE); #elif TLS_DTV_AT_TP /* The TLS blocks start right after the TCB. */ @@ -262,7 +342,7 @@ _dl_determine_tlsoffset (void) } GL(dl_tls_static_used) = offset; - GL(dl_tls_static_size) = roundup (offset + TLS_STATIC_SURPLUS, + GL(dl_tls_static_size) = roundup (offset + GLRO(dl_tls_static_surplus), TLS_TCB_ALIGN); #else # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined" @@ -883,7 +963,7 @@ _dl_tls_get_addr_soft (struct link_map *l) void -_dl_add_to_slotinfo (struct link_map *l) +_dl_add_to_slotinfo (struct link_map *l, bool do_add) { /* Now that we know the object is loaded successfully add modules containing TLS data to the dtv info table. We @@ -939,6 +1019,9 @@ cannot create TLS data structures")); } /* Add the information into the slotinfo data structure. */ - listp->slotinfo[idx].map = l; - listp->slotinfo[idx].gen = GL(dl_tls_generation) + 1; + if (do_add) + { + listp->slotinfo[idx].map = l; + listp->slotinfo[idx].gen = GL(dl_tls_generation) + 1; + } } diff --git a/elf/dl-tunable-types.h b/elf/dl-tunable-types.h index 07c982d7fb..4bfa1625cd 100644 --- a/elf/dl-tunable-types.h +++ b/elf/dl-tunable-types.h @@ -1,6 +1,6 @@ /* Tunable type information. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _TUNABLE_TYPES_H_ # define _TUNABLE_TYPES_H_ diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c index b0980c5ad9..26e6e26612 100644 --- a/elf/dl-tunables.c +++ b/elf/dl-tunables.c @@ -1,7 +1,7 @@ /* The tunable framework. See the README.tunables to know how to use the tunable in a glibc module. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -45,12 +45,11 @@ tunables_strdup (const char *in) while (in[i++] != '\0'); char *out = __sbrk (i); - /* FIXME: In reality if the allocation fails, __sbrk will crash attempting to - set the thread-local errno since the TCB has not yet been set up. This - needs to be fixed with an __sbrk implementation that does not set - errno. */ + /* For most of the tunables code, we ignore user errors. However, + this is a system error - and running out of memory at program + startup should be reported, so we do. */ if (out == (void *)-1) - return NULL; + _dl_fatal_printf ("sbrk() failure while processing tunables\n"); i--; @@ -94,9 +93,9 @@ get_next_env (char **envp, char **name, size_t *namelen, char **val, __type min = (__cur)->type.min; \ __type max = (__cur)->type.max; \ \ - if ((__type) (__val) >= min && (__type) (val) <= max) \ + if ((__type) (__val) >= min && (__type) (__val) <= max) \ { \ - (__cur)->val.numval = val; \ + (__cur)->val.numval = (__val); \ (__cur)->initialized = true; \ } \ }) @@ -219,7 +218,7 @@ parse_tunables (char *tunestr, char *valstring) { /* If we are in a secure context (AT_SECURE) then ignore the tunable unless it is explicitly marked as secure. Tunable values take - precendence over their envvar aliases. */ + precedence over their envvar aliases. */ if (__libc_enable_secure) { if (cur->security_level == TUNABLE_SECLEVEL_SXID_ERASE) diff --git a/elf/dl-tunables.h b/elf/dl-tunables.h index 58b3b76843..f05eb50c2f 100644 --- a/elf/dl-tunables.h +++ b/elf/dl-tunables.h @@ -1,7 +1,7 @@ /* The tunable framework. See the README to know how to use the tunable in a glibc module. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,11 +16,13 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _TUNABLES_H_ #define _TUNABLES_H_ +#include + #if !HAVE_TUNABLES static inline void __always_inline diff --git a/elf/dl-tunables.list b/elf/dl-tunables.list index 1fc2d8886b..35634ef24d 100644 --- a/elf/dl-tunables.list +++ b/elf/dl-tunables.list @@ -1,4 +1,4 @@ -# Copyright (C) 2016-2019 Free Software Foundation, Inc. +# Copyright (C) 2016-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # Allowed attributes for tunables: # @@ -85,6 +85,11 @@ glibc { tcache_unsorted_limit { type: SIZE_T } + mxfast { + type: SIZE_T + minval: 0 + security_level: SXID_IGNORE + } } cpu { hwcap_mask { @@ -121,4 +126,18 @@ glibc { default: 3 } } + + rtld { + nns { + type: SIZE_T + minval: 1 + maxval: 16 + default: 4 + } + optional_static_tls { + type: SIZE_T + minval: 0 + default: 512 + } + } } diff --git a/elf/dl-unmap-segments.h b/elf/dl-unmap-segments.h index 90ffb0852f..9f5f794366 100644 --- a/elf/dl-unmap-segments.h +++ b/elf/dl-unmap-segments.h @@ -1,5 +1,5 @@ /* Unmap a shared object's segments. Generic version. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _DL_UNMAP_SEGMENTS_H #define _DL_UNMAP_SEGMENTS_H 1 diff --git a/elf/dl-version.c b/elf/dl-version.c index 53c0af3d15..0f8bdcdb53 100644 --- a/elf/dl-version.c +++ b/elf/dl-version.c @@ -1,5 +1,5 @@ /* Handle symbol and library versioning. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/dl-writev.h b/elf/dl-writev.h index 3990361493..81c3e94c13 100644 --- a/elf/dl-writev.h +++ b/elf/dl-writev.h @@ -1,5 +1,5 @@ /* Message-writing for the dynamic linker. Generic version. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/do-rel.h b/elf/do-rel.h index 242ef95be2..1d0a1f2c5d 100644 --- a/elf/do-rel.h +++ b/elf/do-rel.h @@ -1,5 +1,5 @@ /* Do relocations for ELF dynamic linking. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file may be included twice, to define both `elf_dynamic_do_rel' and `elf_dynamic_do_rela'. */ diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h index 454b0e388c..6727233e1a 100644 --- a/elf/dynamic-link.h +++ b/elf/dynamic-link.h @@ -1,5 +1,5 @@ /* Inline functions for dynamic linking. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This macro is used as a callback from elf_machine_rel{a,} when a static TLS reloc is about to be performed. Since (in dl-load.c) we @@ -40,9 +40,10 @@ (__builtin_expect ((sym_map)->l_tls_offset \ != FORCED_DYNAMIC_TLS_OFFSET, 1) \ && (__builtin_expect ((sym_map)->l_tls_offset != NO_TLS_OFFSET, 1) \ - || _dl_try_allocate_static_tls (sym_map) == 0)) + || _dl_try_allocate_static_tls (sym_map, true) == 0)) -int _dl_try_allocate_static_tls (struct link_map *map) attribute_hidden; +int _dl_try_allocate_static_tls (struct link_map *map, bool optional) + attribute_hidden; #include diff --git a/elf/elf.h b/elf/elf.h index 7c6d6094ed..197b557d15 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -1,5 +1,5 @@ /* This file defines standard ELF types, structures, and macros. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ELF_H #define _ELF_H 1 @@ -330,7 +330,7 @@ typedef struct #define EM_CLOUDSHIELD 192 /* CloudShield */ #define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */ #define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */ -#define EM_ARC_COMPACT2 195 /* Synopsys ARCompact V2 */ +#define EM_ARCV2 195 /* Synopsys ARCv2 ISA. */ #define EM_OPEN8 196 /* Open8 RISC */ #define EM_RL78 197 /* Renesas RL78 */ #define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */ @@ -721,6 +721,7 @@ typedef struct #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ +#define PT_GNU_PROPERTY 0x6474e553 /* GNU property */ #define PT_LOSUNW 0x6ffffffa #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ @@ -1318,6 +1319,12 @@ typedef struct /* Application-specific semantics, hi */ #define GNU_PROPERTY_HIUSER 0xffffffff +/* AArch64 specific GNU properties. */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000 + +#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) +#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC (1U << 1) + /* The x86 instruction sets indicated by the corresponding bits are used in program. Their support in the hardware is optional. */ #define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000 @@ -1715,6 +1722,7 @@ typedef struct #define SHT_MIPS_EH_REGION 0x70000027 #define SHT_MIPS_XLATE_OLD 0x70000028 #define SHT_MIPS_PDR_EXCEPTION 0x70000029 +#define SHT_MIPS_XHASH 0x7000002b /* Legal values for sh_flags field of Elf32_Shdr. */ @@ -1962,7 +1970,9 @@ typedef struct in a PIE as it stores a relative offset from the address of the tag rather than an absolute address. */ #define DT_MIPS_RLD_MAP_REL 0x70000035 -#define DT_MIPS_NUM 0x36 +/* GNU-style hash table with xlat. */ +#define DT_MIPS_XHASH 0x70000036 +#define DT_MIPS_NUM 0x37 /* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */ @@ -3943,8 +3953,9 @@ enum #define R_RISCV_SET16 55 #define R_RISCV_SET32 56 #define R_RISCV_32_PCREL 57 +#define R_RISCV_IRELATIVE 58 -#define R_RISCV_NUM 58 +#define R_RISCV_NUM 59 /* BPF specific declarations. */ @@ -4024,6 +4035,74 @@ enum #define R_NDS32_TLS_TPOFF 102 #define R_NDS32_TLS_DESC 119 +/* ARCompact/ARCv2 specific relocs. */ +#define R_ARC_NONE 0x0 +#define R_ARC_8 0x1 +#define R_ARC_16 0x2 +#define R_ARC_24 0x3 +#define R_ARC_32 0x4 +#define R_ARC_B26 0x5 +#define R_ARC_B22_PCREL 0x6 +#define R_ARC_H30 0x7 +#define R_ARC_N8 0x8 +#define R_ARC_N16 0x9 +#define R_ARC_N24 0xA +#define R_ARC_N32 0xB +#define R_ARC_SDA 0xC +#define R_ARC_SECTOFF 0xD +#define R_ARC_S21H_PCREL 0xE +#define R_ARC_S21W_PCREL 0xF +#define R_ARC_S25H_PCREL 0x10 +#define R_ARC_S25W_PCREL 0x11 +#define R_ARC_SDA32 0x12 +#define R_ARC_SDA_LDST 0x13 +#define R_ARC_SDA_LDST1 0x14 +#define R_ARC_SDA_LDST2 0x15 +#define R_ARC_SDA16_LD 0x16 +#define R_ARC_SDA16_LD1 0x17 +#define R_ARC_SDA16_LD2 0x18 +#define R_ARC_S13_PCREL 0x19 +#define R_ARC_W 0x1A +#define R_ARC_32_ME 0x1B +#define R_ARC_N32_ME 0x1C +#define R_ARC_SECTOFF_ME 0x1D +#define R_ARC_SDA32_ME 0x1E +#define R_ARC_W_ME 0x1F +#define R_ARC_H30_ME 0x20 +#define R_ARC_SECTOFF_U8 0x21 +#define R_ARC_SECTOFF_S9 0x22 +#define R_AC_SECTOFF_U8 0x23 +#define R_AC_SECTOFF_U8_1 0x24 +#define R_AC_SECTOFF_U8_2 0x25 +#define R_AC_SECTOFF_S9 0x26 +#define R_AC_SECTOFF_S9_1 0x27 +#define R_AC_SECTOFF_S9_2 0x28 +#define R_ARC_SECTOFF_ME_1 0x29 +#define R_ARC_SECTOFF_ME_2 0x2A +#define R_ARC_SECTOFF_1 0x2B +#define R_ARC_SECTOFF_2 0x2C +#define R_ARC_PC32 0x32 +#define R_ARC_GOTPC32 0x33 +#define R_ARC_PLT32 0x34 +#define R_ARC_COPY 0x35 +#define R_ARC_GLOB_DAT 0x36 +#define R_ARC_JUMP_SLOT 0x37 +#define R_ARC_RELATIVE 0x38 +#define R_ARC_GOTOFF 0x39 +#define R_ARC_GOTPC 0x3A +#define R_ARC_GOT32 0x3B + +#define R_ARC_TLS_DTPMOD 0x42 +#define R_ARC_TLS_DTPOFF 0x43 +#define R_ARC_TLS_TPOFF 0x44 +#define R_ARC_TLS_GD_GOT 0x45 +#define R_ARC_TLS_GD_LD 0x46 +#define R_ARC_TLS_GD_CALL 0x47 +#define R_ARC_TLS_IE_GOT 0x48 +#define R_ARC_TLS_DTPOFF_S9 0x4a +#define R_ARC_TLS_LE_S9 0x4a +#define R_ARC_TLS_LE_32 0x4b + __END_DECLS #endif /* elf.h */ diff --git a/elf/enbl-secure.c b/elf/enbl-secure.c index 61c0b27ad8..f668ee9a2a 100644 --- a/elf/enbl-secure.c +++ b/elf/enbl-secure.c @@ -1,5 +1,5 @@ /* Define and initialize the `__libc_enable_secure' flag. Generic version. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file is used in the static libc. For the shared library, dl-sysdep.c defines and initializes __libc_enable_secure. */ diff --git a/elf/get-dynamic-info.h b/elf/get-dynamic-info.h index 75fbb88f78..4f6a86ef37 100644 --- a/elf/get-dynamic-info.h +++ b/elf/get-dynamic-info.h @@ -1,5 +1,5 @@ /* Read the dynamic section at DYN and fill in INFO with indices DT_*. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file is included multiple times and therefore lacks a header file inclusion guard. */ @@ -163,6 +163,8 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp) if (info[VERSYMIDX (DT_FLAGS_1)] != NULL) { l->l_flags_1 = info[VERSYMIDX (DT_FLAGS_1)]->d_un.d_val; + if (l->l_flags_1 & DF_1_NODELETE) + l->l_nodelete_pending = true; /* Only DT_1_SUPPORTED_MASK bits are supported, and we would like to assert this, but we can't. Users have been setting diff --git a/elf/ifuncmain9.c b/elf/ifuncmain9.c index a8a9c49dd1..0d3429341c 100644 --- a/elf/ifuncmain9.c +++ b/elf/ifuncmain9.c @@ -1,5 +1,5 @@ /* Test for IFUNC handling with local definitions. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This test is based on gcc.dg/attr-ifunc-4.c. */ diff --git a/elf/interp.c b/elf/interp.c index 243829f5f7..331cc1df48 100644 --- a/elf/interp.c +++ b/elf/interp.c @@ -1,5 +1,5 @@ /* interp - add information about dynamic loader to shared library objects. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/ldconfig.c b/elf/ldconfig.c index 3bc9e61891..0c090dca15 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 1999. @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #define PROCINFO_CLASS static #include @@ -44,11 +44,15 @@ #include -#ifdef _DL_FIRST_PLATFORM -# define _DL_FIRST_EXTRA (_DL_FIRST_PLATFORM + _DL_PLATFORMS_COUNT) -#else -# define _DL_FIRST_EXTRA _DL_HWCAP_COUNT -#endif +/* This subpath in search path entries is always supported and + included in the cache for backwards compatibility. */ +#define TLS_SUBPATH "tls" + +/* The MSB of the hwcap field is set for objects in TLS_SUBPATH + directories. There is always TLS support in glibc, so the dynamic + loader does not check the bit directly. But more hwcap bits make a + an object more preferred, so the bit still has meaning. */ +#define TLS_HWCAP_BIT 63 #ifndef LD_SO_CONF # define LD_SO_CONF SYSCONFDIR "/ld.so.conf" @@ -79,6 +83,8 @@ struct dir_entry int flag; ino64_t ino; dev_t dev; + const char *from_file; + int from_line; struct dir_entry *next; }; @@ -95,7 +101,7 @@ int opt_verbose; /* Format to support. */ /* 0: only libc5/glibc2; 1: both; 2: only glibc 2.2. */ -int opt_format = 1; +int opt_format = 2; /* Build cache. */ static int opt_build_cache = 1; @@ -125,9 +131,6 @@ static const char *config_file; /* Mask to use for important hardware capabilities. */ static unsigned long int hwcap_mask = HWCAP_IMPORTANT; -/* Configuration-defined capabilities defined in kernel vDSOs. */ -static const char *hwcap_extra[64 - _DL_FIRST_EXTRA]; - /* Name and version of program. */ static void print_version (FILE *stream, struct argp_state *state); void (*argp_program_version_hook) (FILE *, struct argp_state *) @@ -148,7 +151,7 @@ static const struct argp_option options[] = { NULL, 'f', N_("CONF"), 0, N_("Use CONF as configuration file"), 0}, { NULL, 'n', NULL, 0, N_("Only process directories specified on the command line. Don't build cache."), 0}, { NULL, 'l', NULL, 0, N_("Manually link individual libraries."), 0}, - { "format", 'c', N_("FORMAT"), 0, N_("Format to use: new, old or compat (default)"), 0}, + { "format", 'c', N_("FORMAT"), 0, N_("Format to use: new (default), old, or compat"), 0}, { "ignore-aux-cache", 'i', NULL, 0, N_("Ignore auxiliary cache file"), 0}, { NULL, 0, NULL, 0, NULL, 0 } }; @@ -184,12 +187,9 @@ is_hwcap_platform (const char *name) if (hwcap_idx != -1) return 1; - /* Is this one of the extra pseudo-hwcaps that we map beyond - _DL_FIRST_EXTRA like "tls", or "nosegneg?" */ - for (hwcap_idx = _DL_FIRST_EXTRA; hwcap_idx < 64; ++hwcap_idx) - if (hwcap_extra[hwcap_idx - _DL_FIRST_EXTRA] != NULL - && !strcmp (name, hwcap_extra[hwcap_idx - _DL_FIRST_EXTRA])) - return 1; + /* Backwards-compatibility for the "tls" subdirectory. */ + if (strcmp (name, TLS_SUBPATH) == 0) + return 1; return 0; } @@ -224,11 +224,9 @@ path_hwcap (const char *path) h = _dl_string_platform (ptr + 1); if (h == (uint64_t) -1) { - for (h = _DL_FIRST_EXTRA; h < 64; ++h) - if (hwcap_extra[h - _DL_FIRST_EXTRA] != NULL - && !strcmp (ptr + 1, hwcap_extra[h - _DL_FIRST_EXTRA])) - break; - if (h == 64) + if (strcmp (ptr + 1, TLS_SUBPATH) == 0) + h = TLS_HWCAP_BIT; + else break; } } @@ -325,7 +323,7 @@ print_version (FILE *stream, struct argp_state *state) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2019"); +"), "2020"); fprintf (stream, gettext ("Written by %s.\n"), "Andreas Jaeger"); } @@ -344,7 +342,12 @@ add_single_dir (struct dir_entry *entry, int verbose) if (ptr->ino == entry->ino && ptr->dev == entry->dev) { if (opt_verbose && verbose) - error (0, 0, _("Path `%s' given more than once"), entry->path); + { + error (0, 0, _("Path `%s' given more than once"), entry->path); + fprintf (stderr, _("(from %s:%d and %s:%d)\n"), + entry->from_file, entry->from_line, + ptr->from_file, ptr->from_line); + } /* Use the newer information. */ ptr->flag = entry->flag; free (entry->path); @@ -363,12 +366,15 @@ add_single_dir (struct dir_entry *entry, int verbose) /* Add one directory to the list of directories to process. */ static void -add_dir (const char *line) +add_dir_1 (const char *line, const char *from_file, int from_line) { unsigned int i; struct dir_entry *entry = xmalloc (sizeof (struct dir_entry)); entry->next = NULL; + entry->from_file = strdup (from_file); + entry->from_line = from_line; + /* Search for an '=' sign. */ entry->path = xstrdup (line); char *equal_sign = strchr (entry->path, '='); @@ -428,6 +434,11 @@ add_dir (const char *line) free (path); } +static void +add_dir (const char *line) +{ + add_dir_1 (line, "", 0); +} static int chroot_stat (const char *real_path, const char *path, struct stat64 *st) @@ -672,9 +683,10 @@ search_dir (const struct dir_entry *entry) if (opt_verbose) { if (hwcap != 0) - printf ("%s: (hwcap: %#.16" PRIx64 ")\n", entry->path, hwcap); + printf ("%s: (hwcap: %#.16" PRIx64 ")", entry->path, hwcap); else - printf ("%s:\n", entry->path); + printf ("%s:", entry->path); + printf (_(" (from %s:%d)\n"), entry->from_file, entry->from_line); } char *dir_name; @@ -815,6 +827,8 @@ search_dir (const struct dir_entry *entry) struct dir_entry *new_entry; new_entry = xmalloc (sizeof (struct dir_entry)); + new_entry->from_file = entry->from_file; + new_entry->from_line = entry->from_line; new_entry->path = xstrdup (file_name); new_entry->flag = entry->flag; new_entry->next = NULL; @@ -1079,9 +1093,10 @@ parse_conf (const char *filename, bool do_chroot) if (file == NULL) { - error (0, errno, _("\ + if (errno != ENOENT) + error (0, errno, _("\ Warning: ignoring configuration file that cannot be opened: %s"), - canon); + canon); if (canon != filename) free ((char *) canon); return; @@ -1127,54 +1142,9 @@ Warning: ignoring configuration file that cannot be opened: %s"), parse_conf_include (filename, lineno, do_chroot, dir); } else if (!strncasecmp (cp, "hwcap", 5) && isblank (cp[5])) - { - cp += 6; - char *p, *name = NULL; - unsigned long int n = strtoul (cp, &cp, 0); - if (cp != NULL && isblank (*cp)) - while ((p = strsep (&cp, " \t")) != NULL) - if (p[0] != '\0') - { - if (name == NULL) - name = p; - else - { - name = NULL; - break; - } - } - if (name == NULL) - { - error (EXIT_FAILURE, 0, _("%s:%u: bad syntax in hwcap line"), - filename, lineno); - break; - } - if (n >= (64 - _DL_FIRST_EXTRA)) - error (EXIT_FAILURE, 0, - _("%s:%u: hwcap index %lu above maximum %u"), - filename, lineno, n, 64 - _DL_FIRST_EXTRA - 1); - if (hwcap_extra[n] == NULL) - { - for (unsigned long int h = 0; h < (64 - _DL_FIRST_EXTRA); ++h) - if (hwcap_extra[h] != NULL && !strcmp (name, hwcap_extra[h])) - error (EXIT_FAILURE, 0, - _("%s:%u: hwcap index %lu already defined as %s"), - filename, lineno, h, name); - hwcap_extra[n] = xstrdup (name); - } - else - { - if (strcmp (name, hwcap_extra[n])) - error (EXIT_FAILURE, 0, - _("%s:%u: hwcap index %lu already defined as %s"), - filename, lineno, n, hwcap_extra[n]); - if (opt_verbose) - error (0, 0, _("%s:%u: duplicate hwcap %lu %s"), - filename, lineno, n, name); - } - } + error (0, 0, _("%s:%u: hwcap directive ignored"), filename, lineno); else - add_dir (cp); + add_dir_1 (cp, filename, lineno); } while (!feof_unlocked (file)); @@ -1282,15 +1252,9 @@ main (int argc, char **argv) _("relative path `%s' used to build cache"), argv[i]); else - add_dir (argv[i]); + add_dir_1 (argv[i], "", 0); } - /* The last entry in hwcap_extra is reserved for the "tls" pseudo-hwcap which - indicates support for TLS. This pseudo-hwcap is only used by old versions - under which TLS support was optional. The entry is no longer needed, but - must remain for compatibility. */ - hwcap_extra[63 - _DL_FIRST_EXTRA] = "tls"; - set_hwcap (); if (opt_chroot) diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in index 32ec62eda6..467cbf44e9 100644 --- a/elf/ldd.bash.in +++ b/elf/ldd.bash.in @@ -1,5 +1,5 @@ #! @BASH@ -# Copyright (C) 1996-2019 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # This is the `ldd' command, which lists what shared libraries are @@ -38,7 +38,7 @@ while test $# -gt 0; do printf $"Copyright (C) %s Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -" "2019" +" "2020" printf $"Written by %s and %s. " "Roland McGrath" "Ulrich Drepper" exit 0 @@ -167,7 +167,7 @@ warning: you do not have execution permission for" "\`$file'" >&2 1) # This can be a non-ELF binary or no binary at all. nonelf "$file" || { - echo $" not a dynamic executable" + echo $" not a dynamic executable" >&2 result=1 } ;; diff --git a/elf/libc-early-init.h b/elf/libc-early-init.h new file mode 100644 index 0000000000..8f7836dcea --- /dev/null +++ b/elf/libc-early-init.h @@ -0,0 +1,38 @@ +/* Early initialization of libc.so. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC_EARLY_INIT_H +#define _LIBC_EARLY_INIT_H + +struct link_map; + +/* If LIBC_MAP is not NULL, look up the __libc_early_init symbol in it + and call this function, with INITIAL as the argument. */ +void _dl_call_libc_early_init (struct link_map *libc_map, _Bool initial) + attribute_hidden; + +/* In the shared case, this function is defined in libc.so and invoked + from ld.so (or on the fist static dlopen) after complete relocation + of a new loaded libc.so, but before user-defined ELF constructors + run. In the static case, this function is called directly from the + startup code. If INITIAL is true, the libc being initialized is + the libc for the main program. INITIAL is false for libcs loaded + for audit modules, dlmopen, and static dlopen. */ +void __libc_early_init (_Bool initial); + +#endif /* _LIBC_EARLY_INIT_H */ diff --git a/elf/libc_early_init.c b/elf/libc_early_init.c new file mode 100644 index 0000000000..725ab2f811 --- /dev/null +++ b/elf/libc_early_init.c @@ -0,0 +1,31 @@ +/* Early initialization of libc.so, libc.so side. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +void +__libc_early_init (_Bool initial) +{ + /* Initialize ctype data. */ + __ctype_init (); + + /* Only the outer namespace is marked as single-threaded. */ + __libc_single_threaded = initial; +} diff --git a/elf/link.h b/elf/link.h index 7a463bc2bf..0048ad5d4d 100644 --- a/elf/link.h +++ b/elf/link.h @@ -1,6 +1,6 @@ /* Data structure for communication from the run-time dynamic linker for loaded ELF shared objects. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LINK_H #define _LINK_H 1 diff --git a/elf/pldd-xx.c b/elf/pldd-xx.c index 756f6d7a1c..657b393f20 100644 --- a/elf/pldd-xx.c +++ b/elf/pldd-xx.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2019 Free Software Foundation, Inc. +/* Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define E(name) E_(name, CLASS) #define E_(name, cl) E__(name, cl) diff --git a/elf/pldd.c b/elf/pldd.c index 69629bd5d2..dcf621d35d 100644 --- a/elf/pldd.c +++ b/elf/pldd.c @@ -1,5 +1,5 @@ /* List dynamic shared objects linked into given process. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _FILE_OFFSET_BITS 64 @@ -264,7 +264,7 @@ print_version (FILE *stream, struct argp_state *state) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2019"); +"), "2020"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } diff --git a/elf/readelflib.c b/elf/readelflib.c index ca4dc6f11e..5905f6d344 100644 --- a/elf/readelflib.c +++ b/elf/readelflib.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 1999 and Jakub Jelinek , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This code is a heavily simplified version of the readelf program that's part of the current binutils development version. For architectures @@ -45,7 +45,6 @@ process_elf_file (const char *file_name, const char *lib, int *flag, { int i; unsigned int j; - ElfW(Addr) loadaddr; unsigned int dynamic_addr; size_t dynamic_size; char *program_interpreter; @@ -87,7 +86,6 @@ process_elf_file (const char *file_name, const char *lib, int *flag, libc5/libc6. */ *flag = FLAG_ELF; - loadaddr = -1; dynamic_addr = 0; dynamic_size = 0; program_interpreter = NULL; @@ -98,11 +96,6 @@ process_elf_file (const char *file_name, const char *lib, int *flag, switch (segment->p_type) { - case PT_LOAD: - if (loadaddr == (ElfW(Addr)) -1) - loadaddr = segment->p_vaddr - segment->p_offset; - break; - case PT_DYNAMIC: if (dynamic_addr) error (0, 0, _("more than one dynamic segment\n")); @@ -176,11 +169,6 @@ process_elf_file (const char *file_name, const char *lib, int *flag, } } - if (loadaddr == (ElfW(Addr)) -1) - { - /* Very strange. */ - loadaddr = 0; - } /* Now we can read the dynamic sections. */ if (dynamic_size == 0) @@ -197,7 +185,29 @@ process_elf_file (const char *file_name, const char *lib, int *flag, check_ptr (dyn_entry); if (dyn_entry->d_tag == DT_STRTAB) { - dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val - loadaddr); + /* Find the file offset of the segment containing the dynamic + string table. */ + ElfW(Off) loadoff = -1; + for (i = 0, segment = elf_pheader; + i < elf_header->e_phnum; i++, segment++) + { + if (segment->p_type == PT_LOAD + && dyn_entry->d_un.d_val >= segment->p_vaddr + && (dyn_entry->d_un.d_val - segment->p_vaddr + < segment->p_filesz)) + { + loadoff = segment->p_vaddr - segment->p_offset; + break; + } + } + if (loadoff == (ElfW(Off)) -1) + { + /* Very strange. */ + loadoff = 0; + } + + dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val + - loadoff); check_ptr (dynamic_strings); break; } diff --git a/elf/readlib.c b/elf/readlib.c index c9743e6692..994a4426a1 100644 --- a/elf/readlib.c +++ b/elf/readlib.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 1999 and Jakub Jelinek , 1999. @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* The code in this file and in readelflib is a heavily simplified version of the readelf program that's part of the current binutils diff --git a/elf/rtld-Rules b/elf/rtld-Rules index 2dfee6827a..7e0254cc41 100644 --- a/elf/rtld-Rules +++ b/elf/rtld-Rules @@ -1,6 +1,6 @@ # Subroutine makefile for compiling libc modules linked into dynamic linker. -# Copyright (C) 2002-2019 Free Software Foundation, Inc. +# Copyright (C) 2002-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # This makefile is never used by itself, but only from the rtld-libc.a # rule in Makefile, which does make -f librtld.mk -f rtld-Rules. diff --git a/elf/rtld.c b/elf/rtld.c index c9490ff694..5b882163fa 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1,5 +1,5 @@ /* Run time dynamic linker. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -39,10 +39,14 @@ #include #include #include +#include +#include #include #include #include #include +#include +#include #include @@ -107,8 +111,61 @@ static void print_missing_version (int errcode, const char *objname, /* Print the various times we collected. */ static void print_statistics (const hp_timing_t *total_timep); -/* Add audit objects. */ -static void process_dl_audit (char *str); +/* Length limits for names and paths, to protect the dynamic linker, + particularly when __libc_enable_secure is active. */ +#ifdef NAME_MAX +# define SECURE_NAME_LIMIT NAME_MAX +#else +# define SECURE_NAME_LIMIT 255 +#endif +#ifdef PATH_MAX +# define SECURE_PATH_LIMIT PATH_MAX +#else +# define SECURE_PATH_LIMIT 1024 +#endif + +/* Strings containing colon-separated lists of audit modules. */ +struct audit_list +{ + /* Array of strings containing colon-separated path lists. Each + audit module needs its own namespace, so pre-allocate the largest + possible list. */ + const char *audit_strings[DL_NNS]; + + /* Number of entries added to audit_strings. */ + size_t length; + + /* Index into the audit_strings array (for the iteration phase). */ + size_t current_index; + + /* Tail of audit_strings[current_index] which still needs + processing. */ + const char *current_tail; + + /* Scratch buffer for returning a name which is part of the strings + in audit_strings. */ + char fname[SECURE_NAME_LIMIT]; +}; + +/* Creates an empty audit list. */ +static void audit_list_init (struct audit_list *); + +/* Add a string to the end of the audit list, for later parsing. Must + not be called after audit_list_next. */ +static void audit_list_add_string (struct audit_list *, const char *); + +/* Add the audit strings from the link map, found in the dynamic + segment at TG (either DT_AUDIT and DT_DEPAUDIT). Must be called + before audit_list_next. */ +static void audit_list_add_dynamic_tag (struct audit_list *, + struct link_map *, + unsigned int tag); + +/* Extract the next audit module from the audit list. Only modules + for which dso_name_valid_for_suid is true are returned. Must be + called after all the audit_list_add_string, + audit_list_add_dynamic_tags calls. */ +static const char *audit_list_next (struct audit_list *); /* This is a list of all the modes the dynamic loader can be in. */ enum mode { normal, list, verify, trace }; @@ -116,7 +173,7 @@ enum mode { normal, list, verify, trace }; /* Process all environments variables the dynamic linker must recognize. Since all of them start with `LD_' we are a bit smarter while finding all the entries. */ -static void process_envvars (enum mode *modep); +static void process_envvars (enum mode *modep, struct audit_list *); #ifdef DL_ARGV_NOT_RELRO int _dl_argc attribute_hidden; @@ -144,19 +201,6 @@ uintptr_t __pointer_chk_guard_local strong_alias (__pointer_chk_guard_local, __pointer_chk_guard) #endif -/* Length limits for names and paths, to protect the dynamic linker, - particularly when __libc_enable_secure is active. */ -#ifdef NAME_MAX -# define SECURE_NAME_LIMIT NAME_MAX -#else -# define SECURE_NAME_LIMIT 255 -#endif -#ifdef PATH_MAX -# define SECURE_PATH_LIMIT PATH_MAX -#else -# define SECURE_PATH_LIMIT 1024 -#endif - /* Check that AT_SECURE=0, or that the passed name does not contain directories and is not overly long. Reject empty names unconditionally. */ @@ -174,89 +218,102 @@ dso_name_valid_for_suid (const char *p) return *p != '\0'; } -/* LD_AUDIT variable contents. Must be processed before the - audit_list below. */ -const char *audit_list_string; - -/* Cyclic list of auditing DSOs. audit_list->next is the first - element. */ -static struct audit_list +static void +audit_list_init (struct audit_list *list) { - const char *name; - struct audit_list *next; -} *audit_list; + list->length = 0; + list->current_index = 0; + list->current_tail = NULL; +} -/* Iterator for audit_list_string followed by audit_list. */ -struct audit_list_iter +static void +audit_list_add_string (struct audit_list *list, const char *string) { - /* Tail of audit_list_string still needing processing, or NULL. */ - const char *audit_list_tail; + /* Empty strings do not load anything. */ + if (*string == '\0') + return; - /* The list element returned in the previous iteration. NULL before - the first element. */ - struct audit_list *previous; + if (list->length == array_length (list->audit_strings)) + _dl_fatal_printf ("Fatal glibc error: Too many audit modules requested\n"); - /* Scratch buffer for returning a name which is part of - audit_list_string. */ - char fname[SECURE_NAME_LIMIT]; -}; + list->audit_strings[list->length++] = string; + + /* Initialize processing of the first string for + audit_list_next. */ + if (list->length == 1) + list->current_tail = string; +} -/* Initialize an audit list iterator. */ static void -audit_list_iter_init (struct audit_list_iter *iter) +audit_list_add_dynamic_tag (struct audit_list *list, struct link_map *main_map, + unsigned int tag) { - iter->audit_list_tail = audit_list_string; - iter->previous = NULL; + ElfW(Dyn) *info = main_map->l_info[ADDRIDX (tag)]; + const char *strtab = (const char *) D_PTR (main_map, l_info[DT_STRTAB]); + if (info != NULL) + audit_list_add_string (list, strtab + info->d_un.d_val); } -/* Iterate through both audit_list_string and audit_list. */ static const char * -audit_list_iter_next (struct audit_list_iter *iter) +audit_list_next (struct audit_list *list) { - if (iter->audit_list_tail != NULL) + if (list->current_tail == NULL) + return NULL; + + while (true) { - /* First iterate over audit_list_string. */ - while (*iter->audit_list_tail != '\0') + /* Advance to the next string in audit_strings if the current + string has been exhausted. */ + while (*list->current_tail == '\0') { - /* Split audit list at colon. */ - size_t len = strcspn (iter->audit_list_tail, ":"); - if (len > 0 && len < sizeof (iter->fname)) + ++list->current_index; + if (list->current_index == list->length) { - memcpy (iter->fname, iter->audit_list_tail, len); - iter->fname[len] = '\0'; + list->current_tail = NULL; + return NULL; } - else - /* Do not return this name to the caller. */ - iter->fname[0] = '\0'; - - /* Skip over the substring and the following delimiter. */ - iter->audit_list_tail += len; - if (*iter->audit_list_tail == ':') - ++iter->audit_list_tail; - - /* If the name is valid, return it. */ - if (dso_name_valid_for_suid (iter->fname)) - return iter->fname; - /* Otherwise, wrap around and try the next name. */ + list->current_tail = list->audit_strings[list->current_index]; } - /* Fall through to the procesing of audit_list. */ - } - if (iter->previous == NULL) - { - if (audit_list == NULL) - /* No pre-parsed audit list. */ - return NULL; - /* Start of audit list. The first list element is at - audit_list->next (cyclic list). */ - iter->previous = audit_list->next; - return iter->previous->name; + /* Split the in-string audit list at the next colon colon. */ + size_t len = strcspn (list->current_tail, ":"); + if (len > 0 && len < sizeof (list->fname)) + { + memcpy (list->fname, list->current_tail, len); + list->fname[len] = '\0'; + } + else + /* Mark the name as unusable for dso_name_valid_for_suid. */ + list->fname[0] = '\0'; + + /* Skip over the substring and the following delimiter. */ + list->current_tail += len; + if (*list->current_tail == ':') + ++list->current_tail; + + /* If the name is valid, return it. */ + if (dso_name_valid_for_suid (list->fname)) + return list->fname; + + /* Otherwise wrap around to find the next list element. . */ } - if (iter->previous == audit_list) - /* Cyclic list wrap-around. */ - return NULL; - iter->previous = iter->previous->next; - return iter->previous->name; +} + +/* Count audit modules before they are loaded so GLRO(dl_naudit) + is not yet usable. */ +static size_t +audit_list_count (struct audit_list *list) +{ + /* Restore the audit_list iterator state at the end. */ + const char *saved_tail = list->current_tail; + size_t naudit = 0; + + assert (list->current_index == 0); + while (audit_list_next (list) != NULL) + naudit++; + list->current_tail = saved_tail; + list->current_index = 0; + return naudit; } #ifndef HAVE_INLINED_SYSCALLS @@ -275,6 +332,8 @@ rtld_hidden_def (_dl_starting_up) (except those which cannot be added for some reason). */ struct rtld_global _rtld_global = { + /* Get architecture specific initializer. */ +#include /* Generally the default presumption without further information is an * executable stack but this is not true for all platforms. */ ._dl_stack_flags = DEFAULT_STACK_PERMS, @@ -532,6 +591,9 @@ _dl_start (void *arg) header table in core. Put the rest of _dl_start into a separate function, that way the compiler cannot put accesses to the GOT before ELF_DYNAMIC_RELOCATE. */ + + __rtld_malloc_init_stubs (); + { #ifdef DONT_USE_BOOTSTRAP_MAP ElfW(Addr) entry = _dl_start_final (arg); @@ -693,7 +755,7 @@ match_version (const char *string, struct link_map *map) static bool tls_init_tp_called; static void * -init_tls (void) +init_tls (size_t naudit) { /* Number of elements in the static TLS block. */ GL(dl_tls_static_nelem) = GL(dl_tls_max_dtv_idx); @@ -735,6 +797,9 @@ init_tls (void) } assert (i == GL(dl_tls_max_dtv_idx)); + /* Calculate the size of the static TLS surplus. */ + _dl_tls_static_surplus_init (naudit); + /* Compute the TLS offsets for the various blocks. */ _dl_determine_tlsoffset (); @@ -833,7 +898,7 @@ security_init (void) _dl_random = NULL; } -#include "setup-vdso.h" +#include /* The library search path. */ static const char *library_path attribute_relro; @@ -1008,13 +1073,7 @@ ERROR: audit interface '%s' requires version %d (maximum supported version %d); /* Store the pointer. */ if (err_str == NULL && largs.result != NULL) - { - newp->fptr[cnt] = largs.result; - - /* The dynamic linker link map is statically allocated, - initialize the data now. */ - GL(dl_rtld_map).l_audit[cnt].cookie = (intptr_t) &GL(dl_rtld_map); - } + newp->fptr[cnt] = largs.result; else newp->fptr[cnt] = NULL; ++cnt; @@ -1030,6 +1089,12 @@ ERROR: audit interface '%s' requires version %d (maximum supported version %d); *last_audit = GLRO(dl_audit) = &newp->ifaces; else *last_audit = (*last_audit)->next = &newp->ifaces; + + /* The dynamic linker link map is statically allocated, so the + cookie in _dl_new_object has not happened. */ + link_map_audit_state (&GL (dl_rtld_map), GLRO (dl_naudit))->cookie + = (intptr_t) &GL (dl_rtld_map); + ++GLRO(dl_naudit); /* Mark the DSO as being used for auditing. */ @@ -1046,9 +1111,9 @@ notify_audit_modules_of_loaded_object (struct link_map *map) { if (afct->objopen != NULL) { - map->l_audit[cnt].bindflags - = afct->objopen (map, LM_ID_BASE, &map->l_audit[cnt].cookie); - map->l_audit_any_plt |= map->l_audit[cnt].bindflags != 0; + struct auditstate *state = link_map_audit_state (map, cnt); + state->bindflags = afct->objopen (map, LM_ID_BASE, &state->cookie); + map->l_audit_any_plt |= state->bindflags != 0; } afct = afct->next; @@ -1057,15 +1122,13 @@ notify_audit_modules_of_loaded_object (struct link_map *map) /* Load all audit modules. */ static void -load_audit_modules (struct link_map *main_map) +load_audit_modules (struct link_map *main_map, struct audit_list *audit_list) { struct audit_ifaces *last_audit = NULL; - struct audit_list_iter al_iter; - audit_list_iter_init (&al_iter); while (true) { - const char *name = audit_list_iter_next (&al_iter); + const char *name = audit_list_next (audit_list); if (name == NULL) break; load_audit_module (name, &last_audit); @@ -1097,6 +1160,9 @@ dl_main (const ElfW(Phdr) *phdr, bool rtld_is_main = false; void *tcbp = NULL; + struct audit_list audit_list; + audit_list_init (&audit_list); + GL(dl_init_static_tls) = &_dl_nothread_init_static_tls; #if defined SHARED && defined _LIBC_REENTRANT \ @@ -1110,7 +1176,7 @@ dl_main (const ElfW(Phdr) *phdr, GL(dl_make_stack_executable_hook) = &_dl_make_stack_executable; /* Process the environment variable which control the behaviour. */ - process_envvars (&mode); + process_envvars (&mode, &audit_list); #ifndef HAVE_INLINED_SYSCALLS /* Set up a flag which tells we are just starting. */ @@ -1184,7 +1250,7 @@ dl_main (const ElfW(Phdr) *phdr, } else if (! strcmp (_dl_argv[1], "--audit") && _dl_argc > 2) { - process_dl_audit (_dl_argv[2]); + audit_list_add_string (&audit_list, _dl_argv[2]); _dl_skip_args += 2; _dl_argc -= 2; @@ -1461,11 +1527,17 @@ of this helper program; chances are you did not intend to run this program.\n\ main_map->l_relro_addr = ph->p_vaddr; main_map->l_relro_size = ph->p_memsz; break; - + } + /* Process program headers again, but scan them backwards so + that PT_NOTE can be skipped if PT_GNU_PROPERTY exits. */ + for (ph = &phdr[phnum]; ph != phdr; --ph) + switch (ph[-1].p_type) + { case PT_NOTE: - if (_rtld_process_pt_note (main_map, ph)) - _dl_error_printf ("\ -ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); + _dl_process_pt_note (main_map, &ph[-1]); + break; + case PT_GNU_PROPERTY: + _dl_process_pt_gnu_property (main_map, &ph[-1]); break; } @@ -1538,6 +1610,9 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); so they can influence _dl_init_paths. */ setup_vdso (main_map, &first_preload); + /* With vDSO setup we can initialize the function pointers. */ + setup_vdso_pointers (); + #ifdef DL_SYSDEP_OSCHECK DL_SYSDEP_OSCHECK (_dl_fatal_printf); #endif @@ -1609,14 +1684,18 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); /* Assign a module ID. Do this before loading any audit modules. */ GL(dl_rtld_map).l_tls_modid = _dl_next_tls_modid (); + audit_list_add_dynamic_tag (&audit_list, main_map, DT_AUDIT); + audit_list_add_dynamic_tag (&audit_list, main_map, DT_DEPAUDIT); + /* If we have auditing DSOs to load, do it now. */ bool need_security_init = true; - if (__glibc_unlikely (audit_list != NULL) - || __glibc_unlikely (audit_list_string != NULL)) + if (audit_list.length > 0) { + size_t naudit = audit_list_count (&audit_list); + /* Since we start using the auditing DSOs right away we need to initialize the data structures now. */ - tcbp = init_tls (); + tcbp = init_tls (naudit); /* Initialize security features. We need to do it this early since otherwise the constructors of the audit libraries will @@ -1625,7 +1704,11 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); security_init (); need_security_init = false; - load_audit_modules (main_map); + load_audit_modules (main_map, &audit_list); + + /* The count based on audit strings may overestimate the number + of audit modules that got loaded, but not underestimate. */ + assert (GLRO(dl_naudit) <= naudit); } /* Keep track of the currently loaded modules to count how many @@ -1662,7 +1745,8 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->activity != NULL) - afct->activity (&main_map->l_audit[cnt].cookie, LA_ACT_ADD); + afct->activity (&link_map_audit_state (main_map, cnt)->cookie, + LA_ACT_ADD); afct = afct->next; } @@ -1868,7 +1952,7 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); multiple threads (from a non-TLS-using libpthread). */ bool was_tls_init_tp_called = tls_init_tp_called; if (tcbp == NULL) - tcbp = init_tls (); + tcbp = init_tls (0); if (__glibc_likely (need_security_init)) /* Initialize security features. But only if we have not done it @@ -2204,6 +2288,10 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); rtld_timer_stop (&relocate_time, start); } + /* The library defining malloc has already been relocated due to + prelinking. Resolve the malloc symbols for the dynamic + loader. */ + __rtld_malloc_init_real (main_map); /* Mark all the objects so we know they have been already relocated. */ for (struct link_map *l = main_map; l != NULL; l = l->l_next) @@ -2214,7 +2302,7 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); /* Add object to slot information data if necessasy. */ if (l->l_tls_blocksize != 0 && tls_init_tp_called) - _dl_add_to_slotinfo (l); + _dl_add_to_slotinfo (l, true); } } else @@ -2259,7 +2347,7 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); /* Add object to slot information data if necessasy. */ if (l->l_tls_blocksize != 0 && tls_init_tp_called) - _dl_add_to_slotinfo (l); + _dl_add_to_slotinfo (l, true); } rtld_timer_stop (&relocate_time, start); @@ -2304,6 +2392,11 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); re-relocation, we might call a user-supplied function (e.g. calloc from _dl_relocate_object) that uses TLS data. */ + /* The malloc implementation has been relocated, so resolving + its symbols (and potentially calling IFUNC resolvers) is safe + at this point. */ + __rtld_malloc_init_real (main_map); + RTLD_TIMING_VAR (start); rtld_timer_start (&start); @@ -2314,6 +2407,11 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); rtld_timer_accum (&relocate_time, start); } + /* Relocation is complete. Perform early libc initialization. This + is the initial libc, even if audit modules have been loaded with + other libcs. */ + _dl_call_libc_early_init (GL(dl_ns)[LM_ID_BASE].libc_map, true); + /* Do any necessary cleanups for the startup OS interface code. We do these now so that no calls are made after rtld re-relocation which might be resolved to different functions than we expect. @@ -2333,7 +2431,8 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]); for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt) { if (afct->activity != NULL) - afct->activity (&head->l_audit[cnt].cookie, LA_ACT_CONSISTENT); + afct->activity (&link_map_audit_state (head, cnt)->cookie, + LA_ACT_CONSISTENT); afct = afct->next; } @@ -2488,30 +2587,6 @@ a filename can be specified using the LD_DEBUG_OUTPUT environment variable.\n"); } } -static void -process_dl_audit (char *str) -{ - /* The parameter is a colon separated list of DSO names. */ - char *p; - - while ((p = (strsep) (&str, ":")) != NULL) - if (dso_name_valid_for_suid (p)) - { - /* This is using the local malloc, not the system malloc. The - memory can never be freed. */ - struct audit_list *newp = malloc (sizeof (*newp)); - newp->name = p; - - if (audit_list == NULL) - audit_list = newp->next = newp; - else - { - newp->next = audit_list->next; - audit_list = audit_list->next = newp; - } - } -} - /* Process all environments variables the dynamic linker must recognize. Since all of them start with `LD_' we are a bit smarter while finding all the entries. */ @@ -2519,7 +2594,7 @@ extern char **_environ attribute_hidden; static void -process_envvars (enum mode *modep) +process_envvars (enum mode *modep, struct audit_list *audit_list) { char **runp = _environ; char *envline; @@ -2559,7 +2634,7 @@ process_envvars (enum mode *modep) break; } if (memcmp (envline, "AUDIT", 5) == 0) - audit_list_string = &envline[6]; + audit_list_add_string (audit_list, &envline[6]); break; case 7: diff --git a/elf/setup-vdso.h b/elf/setup-vdso.h index 53be502024..d0c3dd0916 100644 --- a/elf/setup-vdso.h +++ b/elf/setup-vdso.h @@ -1,5 +1,5 @@ /* Set up the data structures for the system-supplied DSO. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ static inline void __attribute__ ((always_inline)) setup_vdso (struct link_map *main_map __attribute__ ((unused)), diff --git a/elf/sln.c b/elf/sln.c index 57d29e94e2..f6fbda764e 100644 --- a/elf/sln.c +++ b/elf/sln.c @@ -1,5 +1,5 @@ /* `sln' program to create symbolic links between files. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/sofini.c b/elf/sofini.c index 13e74b7903..1c526fd603 100644 --- a/elf/sofini.c +++ b/elf/sofini.c @@ -1,15 +1,3 @@ -/* Finalizer module for ELF shared C library. This provides terminating - null pointer words in the `.ctors' and `.dtors' sections. */ - -#ifndef NO_CTORS_DTORS_SECTIONS -static void (*const __CTOR_END__[1]) (void) - __attribute__ ((used, section (".ctors"))) - = { 0 }; -static void (*const __DTOR_END__[1]) (void) - __attribute__ ((used, section (".dtors"))) - = { 0 }; -#endif - /* Terminate the frame unwind info section with a 4byte 0 as a sentinel; this would be the 'length' field in a real FDE. */ diff --git a/elf/soinit.c b/elf/soinit.c deleted file mode 100644 index fe9935732b..0000000000 --- a/elf/soinit.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Initializer module for building the ELF shared C library. This file and - sofini.c do the work normally done by crtbeginS.o and crtendS.o, to wrap - the `.ctors' and `.dtors' sections so the lists are terminated, and - calling those lists of functions. */ - -#ifndef NO_CTORS_DTORS_SECTIONS -# include - -static void (*const __CTOR_LIST__[1]) (void) - __attribute__ ((used, section (".ctors"))) - = { (void (*) (void)) -1 }; -static void (*const __DTOR_LIST__[1]) (void) - __attribute__ ((used, section (".dtors"))) - = { (void (*) (void)) -1 }; - -static inline void -run_hooks (void (*const list[]) (void)) -{ - while (*++list) - (**list) (); -} - -/* This function will be called from _init in init-first.c. */ -void -__libc_global_ctors (void) -{ - /* Call constructor functions. */ - run_hooks (__CTOR_LIST__); -} - - -/* This function becomes the DT_FINI termination function - for the C library. */ -void -__libc_fini (void) -{ - /* Call destructor functions. */ - run_hooks (__DTOR_LIST__); -} - -void (*_fini_ptr) (void) __attribute__ ((section (".fini_array"))) - = &__libc_fini; -#endif diff --git a/elf/sotruss-lib.c b/elf/sotruss-lib.c index d1c9a95baa..eea797752e 100644 --- a/elf/sotruss-lib.c +++ b/elf/sotruss-lib.c @@ -1,5 +1,5 @@ /* Trace calls through PLTs and show caller, callee, and parameters. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/sotruss.sh b/elf/sotruss.sh index 6e06eae00c..bfce293214 100755 --- a/elf/sotruss.sh +++ b/elf/sotruss.sh @@ -1,5 +1,5 @@ #! @BASH@ -# Copyright (C) 2011-2019 Free Software Foundation, Inc. +# Copyright (C) 2011-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # We should be able to find the translation right at the beginning. TEXTDOMAIN=libc @@ -75,7 +75,7 @@ while test $# -gt 0; do printf $"Copyright (C) %s Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -" "2019" +" "2020" printf $"Written by %s.\n" "Ulrich Drepper" exit 0 ;; diff --git a/elf/sprof.c b/elf/sprof.c index 06d5ca2aff..364d7069ec 100644 --- a/elf/sprof.c +++ b/elf/sprof.c @@ -1,5 +1,5 @@ /* Read and display shared object profiling data. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -88,7 +88,7 @@ static const struct argp_option options[] = /* Short description of program. */ static const char doc[] = N_("Read and display shared object profiling data."); //For bug reporting instructions, please see:\n -//.\n"); +//.\n"); /* Strings for arguments in help texts. */ static const char args_doc[] = N_("SHOBJ [PROFDATA]"); @@ -391,7 +391,7 @@ Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ "), - "2019"); + "2020"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } diff --git a/elf/static-stubs.c b/elf/static-stubs.c index c100cb1455..336479bec3 100644 --- a/elf/static-stubs.c +++ b/elf/static-stubs.c @@ -1,6 +1,6 @@ /* Stub implementations of functions to link into statically linked programs without needing libgcc_eh. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Avoid backtrace (and so _Unwind_Backtrace) dependencies from sysdeps/unix/sysv/linux/libc_fatal.c. */ diff --git a/elf/tlsdeschtab.h b/elf/tlsdeschtab.h index 1154fd3c07..6238aea713 100644 --- a/elf/tlsdeschtab.h +++ b/elf/tlsdeschtab.h @@ -1,5 +1,5 @@ /* Hash table for TLS descriptors. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Alexandre Oliva @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef TLSDESCHTAB_H # define TLSDESCHTAB_H 1 diff --git a/elf/tst-_dl_addr_inside_object.c b/elf/tst-_dl_addr_inside_object.c index a603fe01ff..a2166cc212 100644 --- a/elf/tst-_dl_addr_inside_object.c +++ b/elf/tst-_dl_addr_inside_object.c @@ -1,5 +1,5 @@ /* Unit test for _dl_addr_inside_object. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-absolute-sym-lib.c b/elf/tst-absolute-sym-lib.c index e0becab58e..65daf73080 100644 --- a/elf/tst-absolute-sym-lib.c +++ b/elf/tst-absolute-sym-lib.c @@ -1,5 +1,5 @@ /* BZ #19818 absolute symbol calculation shared module. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern char absolute; diff --git a/elf/tst-absolute-sym-lib.lds b/elf/tst-absolute-sym-lib.lds index fcb990116a..7f5f2e4757 100644 --- a/elf/tst-absolute-sym-lib.lds +++ b/elf/tst-absolute-sym-lib.lds @@ -1,5 +1,5 @@ /* BZ #19818 absolute symbol calculation linker script. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,6 +14,6 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ "absolute" = 0x55aa; diff --git a/elf/tst-absolute-sym.c b/elf/tst-absolute-sym.c index c641f7ecdf..bbabf9cafb 100644 --- a/elf/tst-absolute-sym.c +++ b/elf/tst-absolute-sym.c @@ -1,5 +1,5 @@ /* BZ #19818 absolute symbol calculation main executable. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-absolute-zero-lib.c b/elf/tst-absolute-zero-lib.c index b04a05de79..55e9017f7f 100644 --- a/elf/tst-absolute-zero-lib.c +++ b/elf/tst-absolute-zero-lib.c @@ -1,5 +1,5 @@ /* BZ #23307 absolute zero symbol calculation shared module. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern char absolute; diff --git a/elf/tst-absolute-zero.c b/elf/tst-absolute-zero.c index 59ab099d01..63a3487e12 100644 --- a/elf/tst-absolute-zero.c +++ b/elf/tst-absolute-zero.c @@ -1,5 +1,5 @@ /* BZ #23307 absolute zero symbol calculation main executable. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-addr1.c b/elf/tst-addr1.c index 68ff74aabd..93ce669cbd 100644 --- a/elf/tst-addr1.c +++ b/elf/tst-addr1.c @@ -12,6 +12,16 @@ do_test (void) return 1; } printf ("found symbol %s in %s\n", i.dli_sname, i.dli_fname); + if (i.dli_sname == NULL) + return 1; + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 + /* On architectures which redirect long double to + _Float128 (e.g powerpc64le), printf will resolve + to __printfieee128 due to header redirects. There + is no _IO_printfieee128 alias. */ + return strcmp (i.dli_sname, "__printfieee128") != 0; +#else return i.dli_sname == NULL || (strcmp (i.dli_sname, "printf") != 0 /* On architectures which create PIC code by default @@ -20,6 +30,7 @@ do_test (void) are aliased and which one comes first in the hash table is up to the linker. */ && strcmp (i.dli_sname, "_IO_printf") != 0); +#endif } #include diff --git a/elf/tst-align.c b/elf/tst-align.c index 0bf8087e90..2d2952cacd 100644 --- a/elf/tst-align.c +++ b/elf/tst-align.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003-2019 Free Software Foundation, Inc. +/* Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2003. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-align2.c b/elf/tst-align2.c index 6bfb577124..1f37628622 100644 --- a/elf/tst-align2.c +++ b/elf/tst-align2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2005. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-alignmod.c b/elf/tst-alignmod.c index 3f5f3ae9b6..e8de483a4a 100644 --- a/elf/tst-alignmod.c +++ b/elf/tst-alignmod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003-2019 Free Software Foundation, Inc. +/* Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2003. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-alignmod2.c b/elf/tst-alignmod2.c index 7428c5f8ca..fef803096c 100644 --- a/elf/tst-alignmod2.c +++ b/elf/tst-alignmod2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003-2019 Free Software Foundation, Inc. +/* Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2003. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-audit11.c b/elf/tst-audit11.c index f17d9c66e9..0564dacd52 100644 --- a/elf/tst-audit11.c +++ b/elf/tst-audit11.c @@ -1,5 +1,5 @@ /* Test version symbol binding can find a DSO replaced by la_objsearch. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-audit11mod1.c b/elf/tst-audit11mod1.c index 370be9d5d4..f384d23b06 100644 --- a/elf/tst-audit11mod1.c +++ b/elf/tst-audit11mod1.c @@ -1,5 +1,5 @@ /* DSO directly opened by tst-audit11. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern int f2 (void); int diff --git a/elf/tst-audit11mod2.c b/elf/tst-audit11mod2.c index dc23feed58..6c88fe3427 100644 --- a/elf/tst-audit11mod2.c +++ b/elf/tst-audit11mod2.c @@ -1,5 +1,5 @@ /* DSO indirectly opened by tst-audit11, with symbol versioning. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ int f2 (void) diff --git a/elf/tst-audit11mod2.map b/elf/tst-audit11mod2.map index 9d471fbcdf..7386b6177a 100644 --- a/elf/tst-audit11mod2.map +++ b/elf/tst-audit11mod2.map @@ -1,5 +1,5 @@ /* Symbol versioning for the DSO indirectly opened by tst-audit11. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ V1 { global: f2; diff --git a/elf/tst-audit12.c b/elf/tst-audit12.c index cd10b914b5..3c0f7cd37a 100644 --- a/elf/tst-audit12.c +++ b/elf/tst-audit12.c @@ -1,5 +1,5 @@ /* Test that symbol is bound to a DSO replaced by la_objsearch. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-audit12mod1.c b/elf/tst-audit12mod1.c index 095d2d649f..e898af8a74 100644 --- a/elf/tst-audit12mod1.c +++ b/elf/tst-audit12mod1.c @@ -1,5 +1,5 @@ /* DSO directly opened by tst-audit12. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern int f2 (void); int diff --git a/elf/tst-audit12mod2.c b/elf/tst-audit12mod2.c index 21b40a8718..93d4761762 100644 --- a/elf/tst-audit12mod2.c +++ b/elf/tst-audit12mod2.c @@ -1,5 +1,5 @@ /* Replaced DSO referenced by tst-audit12mod1.so, for tst-audit12. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ int f2 (void) diff --git a/elf/tst-audit12mod2.map b/elf/tst-audit12mod2.map index f7bf90df31..79d8e8b774 100644 --- a/elf/tst-audit12mod2.map +++ b/elf/tst-audit12mod2.map @@ -1,5 +1,5 @@ /* Symbol versioning for tst-audit12mod2.so used by tst-audit12. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ V1 { global: f2; diff --git a/elf/tst-audit12mod3.c b/elf/tst-audit12mod3.c index df3c9909c1..94dc6a1884 100644 --- a/elf/tst-audit12mod3.c +++ b/elf/tst-audit12mod3.c @@ -1,5 +1,5 @@ /* Replacement DSO loaded by the audit module, for tst-audit12. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ int f2 (void) diff --git a/elf/tst-audit13.c b/elf/tst-audit13.c index 6f587baf58..db66f0694c 100644 --- a/elf/tst-audit13.c +++ b/elf/tst-audit13.c @@ -1,5 +1,5 @@ /* Check for invalid audit version (BZ#24122). - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/tst-audit13mod1.c b/elf/tst-audit13mod1.c index cf017e235c..1fe8f16ea8 100644 --- a/elf/tst-audit13mod1.c +++ b/elf/tst-audit13mod1.c @@ -1,5 +1,5 @@ /* Check for invalid audit version (BZ#24122). - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-audit14.c b/elf/tst-audit14.c new file mode 100644 index 0000000000..27ff8db948 --- /dev/null +++ b/elf/tst-audit14.c @@ -0,0 +1,46 @@ +/* Main program with DT_AUDIT. One audit module. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include + +static int +do_test (void) +{ + /* Verify what the audit module has written. This test assumes that + standard output has been redirected to a regular file. */ + FILE *fp = xfopen ("/dev/stdout", "r"); + + char *buffer = NULL; + size_t buffer_length = 0; + size_t line_length = xgetline (&buffer, &buffer_length, fp); + const char *message = "info: tst-auditlogmod-1.so loaded\n"; + TEST_COMPARE_BLOB (message, strlen (message), buffer, line_length); + + /* No more audit module output. */ + line_length = xgetline (&buffer, &buffer_length, fp); + TEST_COMPARE_BLOB ("", 0, buffer, line_length); + + free (buffer); + xfclose (fp); + return 0; +} + +#include diff --git a/elf/tst-audit15.c b/elf/tst-audit15.c new file mode 100644 index 0000000000..cbd1589ec4 --- /dev/null +++ b/elf/tst-audit15.c @@ -0,0 +1,50 @@ +/* Main program with DT_AUDIT and DT_DEPAUDIT. Two audit modules. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include + +static int +do_test (void) +{ + /* Verify what the audit modules have written. This test assumes + that standard output has been redirected to a regular file. */ + FILE *fp = xfopen ("/dev/stdout", "r"); + + char *buffer = NULL; + size_t buffer_length = 0; + size_t line_length = xgetline (&buffer, &buffer_length, fp); + const char *message = "info: tst-auditlogmod-1.so loaded\n"; + TEST_COMPARE_BLOB (message, strlen (message), buffer, line_length); + + line_length = xgetline (&buffer, &buffer_length, fp); + message = "info: tst-auditlogmod-2.so loaded\n"; + TEST_COMPARE_BLOB (message, strlen (message), buffer, line_length); + + /* No more audit module output. */ + line_length = xgetline (&buffer, &buffer_length, fp); + TEST_COMPARE_BLOB ("", 0, buffer, line_length); + + free (buffer); + xfclose (fp); + return 0; +} + +#include diff --git a/elf/tst-audit16.c b/elf/tst-audit16.c new file mode 100644 index 0000000000..dd6ce189ea --- /dev/null +++ b/elf/tst-audit16.c @@ -0,0 +1,54 @@ +/* Main program with DT_AUDIT and DT_DEPAUDIT. Three audit modules. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include + +static int +do_test (void) +{ + /* Verify what the audit modules have written. This test assumes + that standard output has been redirected to a regular file. */ + FILE *fp = xfopen ("/dev/stdout", "r"); + + char *buffer = NULL; + size_t buffer_length = 0; + size_t line_length = xgetline (&buffer, &buffer_length, fp); + const char *message = "info: tst-auditlogmod-1.so loaded\n"; + TEST_COMPARE_BLOB (message, strlen (message), buffer, line_length); + + line_length = xgetline (&buffer, &buffer_length, fp); + message = "info: tst-auditlogmod-2.so loaded\n"; + TEST_COMPARE_BLOB (message, strlen (message), buffer, line_length); + + line_length = xgetline (&buffer, &buffer_length, fp); + message = "info: tst-auditlogmod-3.so loaded\n"; + TEST_COMPARE_BLOB (message, strlen (message), buffer, line_length); + + /* No more audit module output. */ + line_length = xgetline (&buffer, &buffer_length, fp); + TEST_COMPARE_BLOB ("", 0, buffer, line_length); + + free (buffer); + xfclose (fp); + return 0; +} + +#include diff --git a/elf/tst-auditlogmod-1.c b/elf/tst-auditlogmod-1.c new file mode 100644 index 0000000000..db9dac4c01 --- /dev/null +++ b/elf/tst-auditlogmod-1.c @@ -0,0 +1,27 @@ +/* Audit module which logs that it was loaded. Variant 1. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +unsigned int +la_version (unsigned int v) +{ + write_message ("info: tst-auditlogmod-1.so loaded\n"); + return LAV_CURRENT; +} diff --git a/elf/tst-auditlogmod-2.c b/elf/tst-auditlogmod-2.c new file mode 100644 index 0000000000..871c22641c --- /dev/null +++ b/elf/tst-auditlogmod-2.c @@ -0,0 +1,27 @@ +/* Audit module which logs that it was loaded. Variant 2. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +unsigned int +la_version (unsigned int v) +{ + write_message ("info: tst-auditlogmod-2.so loaded\n"); + return LAV_CURRENT; +} diff --git a/elf/tst-auditlogmod-3.c b/elf/tst-auditlogmod-3.c new file mode 100644 index 0000000000..da2ee19d4a --- /dev/null +++ b/elf/tst-auditlogmod-3.c @@ -0,0 +1,27 @@ +/* Audit module which logs that it was loaded. Variant 3. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +unsigned int +la_version (unsigned int v) +{ + write_message ("info: tst-auditlogmod-3.so loaded\n"); + return LAV_CURRENT; +} diff --git a/elf/tst-auditmany.c b/elf/tst-auditmany.c new file mode 100644 index 0000000000..0eb3770e81 --- /dev/null +++ b/elf/tst-auditmany.c @@ -0,0 +1,26 @@ +/* Check cookie initialization for many auditors. Main program. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* It does not make sense to use the test harness for this test + because the testing happens in auditors. */ + +int +main (void) +{ + return 0; +} diff --git a/elf/tst-auditmanymod.h b/elf/tst-auditmanymod.h new file mode 100644 index 0000000000..3a0c80a229 --- /dev/null +++ b/elf/tst-auditmanymod.h @@ -0,0 +1,64 @@ +/* Check cookie initialization for many auditors. Auditor template. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* The macro MOD must be defined to the number of this auditor (an + integer) before including this file. */ + +#include +#include +#include + +/* Error counter for delayed error reporting. */ +static int errors; + +unsigned int +la_version (unsigned int version) +{ + return version; +} + +unsigned int +la_objopen (struct link_map *map, Lmid_t lmid, + uintptr_t *cookie) +{ + struct link_map *cookie_map = (struct link_map *) *cookie; + printf ("info: %d, la_objopen: map=%p name=%s cookie=%p:%p diff=%td\n", + MOD, map, map->l_name, cookie, cookie_map, + (char *) cookie - (char *) map); + fflush (stdout); + if (map != cookie_map) + { + printf ("error: %d, la_objopen:" + " map address does not match cookie value\n", + MOD); + fflush (stdout); + ++errors; + } + return 0; +} + +extern unsigned int +la_objclose (uintptr_t *__cookie) +{ + if (errors != 0) + { + printf ("error: exiting due to previous errors"); + _exit (1); + } + return 0; +} diff --git a/elf/tst-auditmanymod1.c b/elf/tst-auditmanymod1.c new file mode 100644 index 0000000000..bcad54a5b3 --- /dev/null +++ b/elf/tst-auditmanymod1.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 1. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 1 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmanymod2.c b/elf/tst-auditmanymod2.c new file mode 100644 index 0000000000..e2c4bee0be --- /dev/null +++ b/elf/tst-auditmanymod2.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 2. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 2 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmanymod3.c b/elf/tst-auditmanymod3.c new file mode 100644 index 0000000000..5aca66c81e --- /dev/null +++ b/elf/tst-auditmanymod3.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 3. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 3 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmanymod4.c b/elf/tst-auditmanymod4.c new file mode 100644 index 0000000000..ef7c06c6de --- /dev/null +++ b/elf/tst-auditmanymod4.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 4. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 4 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmanymod5.c b/elf/tst-auditmanymod5.c new file mode 100644 index 0000000000..7e7f901476 --- /dev/null +++ b/elf/tst-auditmanymod5.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 5. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 5 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmanymod6.c b/elf/tst-auditmanymod6.c new file mode 100644 index 0000000000..09a42c2e9e --- /dev/null +++ b/elf/tst-auditmanymod6.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 6. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 6 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmanymod7.c b/elf/tst-auditmanymod7.c new file mode 100644 index 0000000000..6d4b68780a --- /dev/null +++ b/elf/tst-auditmanymod7.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 7. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 7 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmanymod8.c b/elf/tst-auditmanymod8.c new file mode 100644 index 0000000000..e97510fcb1 --- /dev/null +++ b/elf/tst-auditmanymod8.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 8. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 8 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmanymod9.c b/elf/tst-auditmanymod9.c new file mode 100644 index 0000000000..8ec296b8f4 --- /dev/null +++ b/elf/tst-auditmanymod9.c @@ -0,0 +1,20 @@ +/* Check cookie initialization for many auditors. Auditor 9. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define MOD 9 +#include "tst-auditmanymod.h" diff --git a/elf/tst-auditmod11.c b/elf/tst-auditmod11.c index 3d9867e4a8..7c54afa040 100644 --- a/elf/tst-auditmod11.c +++ b/elf/tst-auditmod11.c @@ -1,5 +1,5 @@ /* Audit module for tst-audit11. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-auditmod12.c b/elf/tst-auditmod12.c index 886f20af5a..cfc9f6bd0b 100644 --- a/elf/tst-auditmod12.c +++ b/elf/tst-auditmod12.c @@ -1,5 +1,5 @@ /* Audit module for tst-audit12. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-auxobj-dlopen.c b/elf/tst-auxobj-dlopen.c new file mode 100644 index 0000000000..cb54aba194 --- /dev/null +++ b/elf/tst-auxobj-dlopen.c @@ -0,0 +1,47 @@ +/* Test for BZ#16272, dlopen'ing an auxiliary filter object. + Ensure that symbols from the resolve correctly. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +static int do_test (void) +{ + void *lib = xdlopen ("tst-filterobj-aux.so", RTLD_LAZY); + char *(*fn)(void) = xdlsym (lib, "get_text"); + const char* text = fn (); + + printf ("%s\n", text); + + /* Verify the text matches what we expect from the filtee */ + TEST_COMPARE_STRING (text, "Hello from filtee (PASS)"); + + fn = xdlsym (lib, "get_text2"); + text = fn (); + + printf ("%s\n", text); + + /* Verify the text matches what we expect from the auxiliary object */ + TEST_COMPARE_STRING (text, "Hello from auxiliary filter object (PASS)"); + + return 0; +} + +#include diff --git a/elf/tst-auxobj.c b/elf/tst-auxobj.c new file mode 100644 index 0000000000..bdc7713b04 --- /dev/null +++ b/elf/tst-auxobj.c @@ -0,0 +1,42 @@ +/* Test that symbols from auxiliary filter objects are resolved to the + filtee. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include "tst-filterobj-filtee.h" + +static int do_test (void) +{ + const char* text = get_text (); + printf ("%s\n", text); + + /* Verify the text matches what we expect from the filtee */ + TEST_COMPARE_STRING (text, "Hello from filtee (PASS)"); + + text = get_text2 (); + printf ("%s\n", text); + + /* Verify the text matches what we expect from the auxiliary object */ + TEST_COMPARE_STRING (text, "Hello from auxiliary filter object (PASS)"); + + return 0; +} + +#include diff --git a/elf/tst-auxv.c b/elf/tst-auxv.c index 1003998e2e..f73d9568cb 100644 --- a/elf/tst-auxv.c +++ b/elf/tst-auxv.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2013-2019 Free Software Foundation, Inc. +/* Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-big-note-lib.S b/elf/tst-big-note-lib.S index 721686fa0e..e1de05a715 100644 --- a/elf/tst-big-note-lib.S +++ b/elf/tst-big-note-lib.S @@ -1,5 +1,5 @@ /* Bug 20419: test for stack overflow in elf/dl-load.c open_verify() - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This creates a .so with 8MiB PT_NOTE segment. On a typical Linux system with 8MiB "ulimit -s", that was enough diff --git a/elf/tst-big-note.c b/elf/tst-big-note.c index 7ecc94edcd..53ab49e1f3 100644 --- a/elf/tst-big-note.c +++ b/elf/tst-big-note.c @@ -1,5 +1,5 @@ /* Bug 20419: test for stack overflow in elf/dl-load.c open_verify() - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file must be run from within a directory called "elf". */ diff --git a/elf/tst-create_format1.c b/elf/tst-create_format1.c index e61ea94a11..295799b02a 100644 --- a/elf/tst-create_format1.c +++ b/elf/tst-create_format1.c @@ -1,5 +1,5 @@ /* Check _dl_exception_create_format. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-debug1.c b/elf/tst-debug1.c index f76cb20320..7fb4335783 100644 --- a/elf/tst-debug1.c +++ b/elf/tst-debug1.c @@ -1,5 +1,5 @@ /* Unit test for dlopen on ELF object from "objcopy --only-keep-debug". - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-dl-iter-static.c b/elf/tst-dl-iter-static.c index d5241307ba..16514741f1 100644 --- a/elf/tst-dl-iter-static.c +++ b/elf/tst-dl-iter-static.c @@ -1,5 +1,5 @@ /* BZ #16046 dl_iterate_phdr static executable test. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/tst-dlmodcount.c b/elf/tst-dlmodcount.c index 18c3625aa1..0beca23b1d 100644 --- a/elf/tst-dlmodcount.c +++ b/elf/tst-dlmodcount.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger , 2004. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-dlopen-aout.c b/elf/tst-dlopen-aout.c deleted file mode 100644 index deedd11ad0..0000000000 --- a/elf/tst-dlopen-aout.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Test case for BZ #16634. - - Verify that incorrectly dlopen()ing an executable without - __RTLD_OPENEXEC does not cause assertion in ld.so. - - Copyright (C) 2014-2019 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . - - Note: this test currently only fails when glibc is configured with - --enable-hardcoded-path-in-tests. */ - -#include -#include -#include -#include -#include - -__thread int x; - -void * -fn (void *p) -{ - return p; -} - -static int -do_test (int argc, char *argv[]) -{ - int j; - - for (j = 0; j < 100; ++j) - { - pthread_t thr; - void *p; - - p = dlopen (argv[0], RTLD_LAZY); - if (p != NULL) - { - fprintf (stderr, "dlopen unexpectedly succeeded\n"); - return 1; - } - /* We create threads to force TLS allocation, which triggers - the original bug i.e. running out of surplus slotinfo entries - for TLS. */ - thr = xpthread_create (NULL, fn, NULL); - xpthread_join (thr); - } - - return 0; -} - -#define TEST_FUNCTION_ARGV do_test -#include diff --git a/elf/tst-dlopen-nodelete-reloc-mod1.c b/elf/tst-dlopen-nodelete-reloc-mod1.c new file mode 100644 index 0000000000..c422f45f1a --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod1.c @@ -0,0 +1,39 @@ +/* Test propagation of NODELETE to an already-loaded object via relocation. + Non-NODELETE helper module. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +/* Globally exported. Set by the main program to true before + termination, and used by tst-dlopen-nodelete-reloc-mod2.so to + trigger marking this module as NODELETE (and also for its destructor + check). */ +bool may_finalize_mod1 = false; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod1) + { + puts ("error: tst-dlopen-nodelete-reloc-mod1.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod10.c b/elf/tst-dlopen-nodelete-reloc-mod10.c new file mode 100644 index 0000000000..e82405e2d2 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod10.c @@ -0,0 +1,41 @@ +/* Helper module to load tst-dlopen-nodelete-reloc-mod11.so. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include + +static void *handle; + +static void __attribute__ ((constructor)) +init (void) +{ + handle = dlopen ("tst-dlopen-nodelete-reloc-mod11.so", RTLD_NOW); + if (handle == NULL) + { + printf ("error: dlopen in module 10: %s\n", dlerror ()); + _exit (1); + } +} + +static void __attribute__ ((destructor)) +fini (void) +{ + dlclose (handle); +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod11.cc b/elf/tst-dlopen-nodelete-reloc-mod11.cc new file mode 100644 index 0000000000..8ec3eaf264 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod11.cc @@ -0,0 +1,49 @@ +/* Second module defining a unique symbol (loaded indirectly). + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-nodelete-reloc.h" + +#include +#include +#include + +/* Just a flag here, not used for NODELETE processing. */ +bool may_finalize_mod11 = false; + +/* Trigger the creation of a unique symbol reference. This should + cause tst-dlopen-nodelete-reloc-mod9.so to be marked as + NODELETE. */ + +extern template struct unique_symbol<9>; + +int +global_function_mod11 (void) +{ + return unique_symbol<9>::value; +} + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod11) + { + puts ("error: tst-dlopen-nodelete-reloc-mod11.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod12.cc b/elf/tst-dlopen-nodelete-reloc-mod12.cc new file mode 100644 index 0000000000..85e767823e --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod12.cc @@ -0,0 +1,42 @@ +/* First module for NODELETE test defining a unique symbol (with DT_NEEDED). + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-nodelete-reloc.h" + +#include +#include +#include + +/* Just a flag here, not used for NODELETE processing. */ +bool may_finalize_mod12 = false; + +/* Explicit instantiation. This produces a unique symbol definition + which is not referenced by the library itself, so the library is + not marked NODELETE. */ +template struct unique_symbol<12>; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod12) + { + puts ("error: tst-dlopen-nodelete-reloc-mod12.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod13.cc b/elf/tst-dlopen-nodelete-reloc-mod13.cc new file mode 100644 index 0000000000..4bd37e09e4 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod13.cc @@ -0,0 +1,48 @@ +/* Second module for NODELETE test defining a unique symbol (with DT_NEEDED). + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-nodelete-reloc.h" + +#include +#include +#include + +/* Just a flag here, not used for NODELETE processing. */ +bool may_finalize_mod13 = false; + +extern template struct unique_symbol<12>; + +/* Trigger the creation of a unique symbol reference. This should + cause tst-dlopen-nodelete-reloc-mod12.so to be marked as + NODELETE. */ +int +global_function_mod13 (void) +{ + return unique_symbol<12>::value; +} + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod13) + { + puts ("error: tst-dlopen-nodelete-reloc-mod13.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod13.h b/elf/tst-dlopen-nodelete-reloc-mod13.h new file mode 100644 index 0000000000..47421e2d83 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod13.h @@ -0,0 +1,24 @@ +/* Inline function which produces a unique symbol. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +inline char * +third_function_with_local_static (void) +{ + static char local; + return &local; +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod14.cc b/elf/tst-dlopen-nodelete-reloc-mod14.cc new file mode 100644 index 0000000000..63d3cce25c --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod14.cc @@ -0,0 +1,42 @@ +/* This object must retain NODELETE status after a dlopen failure. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-nodelete-reloc.h" + +#include +#include +#include + +/* Just a flag here, not used for NODELETE processing. */ +bool may_finalize_mod14 = false; + +/* Explicit instantiation. This produces a unique symbol definition + which is not referenced by the library itself, so the library is + not marked NODELETE. */ +template struct unique_symbol<14>; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod14) + { + puts ("error: tst-dlopen-nodelete-reloc-mod14.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod15.cc b/elf/tst-dlopen-nodelete-reloc-mod15.cc new file mode 100644 index 0000000000..95ddc6a1ae --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod15.cc @@ -0,0 +1,42 @@ +/* Helper object to mark tst-dlopen-nodelete-reloc-mod14.so as NODELETE. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-nodelete-reloc.h" + +#include +#include +#include + +extern template struct unique_symbol<14>; + +/* Trigger the creation of a unique symbol reference. This should + cause tst-dlopen-nodelete-reloc-mod14.so to be marked as + NODELETE. */ +int +global_function_mod15 (void) +{ + return unique_symbol<14>::value; +} + +static void __attribute__ ((destructor)) +fini (void) +{ + /* This object is never loaded completely. */ + puts ("error: tst-dlopen-nodelete-reloc-mod15.so destructor invoked"); + _exit (1); +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod16.c b/elf/tst-dlopen-nodelete-reloc-mod16.c new file mode 100644 index 0000000000..282625d1b1 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod16.c @@ -0,0 +1,27 @@ +/* Object with an undefined symbol to trigger a relocation failure. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* The reference to undefined_mod16 triggers a relocation failure. */ + +extern int undefined_mod16; + +int +global_function_mod16 (void) +{ + return undefined_mod16; +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod17.c b/elf/tst-dlopen-nodelete-reloc-mod17.c new file mode 100644 index 0000000000..1b2e050768 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod17.c @@ -0,0 +1,19 @@ +/* Top-level object with dependency on an object that fails relocation. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* The dependencies do all the work. */ diff --git a/elf/tst-dlopen-nodelete-reloc-mod2.c b/elf/tst-dlopen-nodelete-reloc-mod2.c new file mode 100644 index 0000000000..7e1350560d --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod2.c @@ -0,0 +1,38 @@ +/* Test propagation of NODELETE to an already-loaded object via relocation. + NODELETE helper module. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +/* Defined in tst-dlopen-nodelete-reloc-mod1.so. This dependency is + not expressed via DT_NEEDED, so this reference marks the other + object as NODELETE dynamically, during initially relocation. */ +extern bool may_finalize_mod1; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod1) + { + puts ("error: tst-dlopen-nodelete-reloc-mod2.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod3.c b/elf/tst-dlopen-nodelete-reloc-mod3.c new file mode 100644 index 0000000000..3fe3f3e4aa --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod3.c @@ -0,0 +1,38 @@ +/* Test propagation of NODELETE to an already-loaded object via relocation. + Non-NODELETE helper module. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +/* Globally exported. Set by the main program to true before + termination, and used by tst-dlopen-nodelete-reloc-mod4.so, + tst-dlopen-nodelete-reloc-mod5.so. */ +bool may_finalize_mod3 = false; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod3) + { + puts ("error: tst-dlopen-nodelete-reloc-mod3.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod4.c b/elf/tst-dlopen-nodelete-reloc-mod4.c new file mode 100644 index 0000000000..2a5f87dfe0 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod4.c @@ -0,0 +1,37 @@ +/* Test propagation of NODELETE to an already-loaded object via relocation. + Intermediate helper module. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +/* Defined in tst-dlopen-nodelete-reloc-mod3.so. The dependency is + expressed via DT_NEEDED. */ +extern bool may_finalize_mod3; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod3) + { + puts ("error: tst-dlopen-nodelete-reloc-mod4.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod5.c b/elf/tst-dlopen-nodelete-reloc-mod5.c new file mode 100644 index 0000000000..9987e4292e --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod5.c @@ -0,0 +1,38 @@ +/* Test propagation of NODELETE to an already-loaded object via relocation. + NODELETE helper module. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +/* Defined in tst-dlopen-nodelete-reloc-mod3.so. The dependency is + expressed via DT_NEEDED on the intermediate DSO + tst-dlopen-nodelete-reloc-mod3.so. */ +extern bool may_finalize_mod3; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod3) + { + puts ("error: tst-dlopen-nodelete-reloc-mod5.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod6.cc b/elf/tst-dlopen-nodelete-reloc-mod6.cc new file mode 100644 index 0000000000..a0f460bbba --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod6.cc @@ -0,0 +1,42 @@ +/* First module for NODELETE test defining a unique symbol. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-nodelete-reloc.h" + +#include +#include +#include + +/* Just a flag here, not used for NODELETE processing. */ +bool may_finalize_mod6 = false; + +/* Explicit instantiation. This produces a unique symbol definition + which is not referenced by the library itself, so the library is + not marked NODELETE. */ +template struct unique_symbol<6>; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod6) + { + puts ("error: tst-dlopen-nodelete-reloc-mod6.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod7.cc b/elf/tst-dlopen-nodelete-reloc-mod7.cc new file mode 100644 index 0000000000..124e0eac6d --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod7.cc @@ -0,0 +1,48 @@ +/* Second module for NODELETE test defining a unique symbol. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-nodelete-reloc.h" + +#include +#include +#include + +/* Just a flag here, not used for NODELETE processing. */ +bool may_finalize_mod7 = false; + +extern template struct unique_symbol<6>; + +/* Trigger the creation of a unique symbol reference. This should + cause tst-dlopen-nodelete-reloc-mod6.so to be marked as + NODELETE. */ +int +global_function_mod7 (void) +{ + return unique_symbol<6>::value; +} + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod7) + { + puts ("error: tst-dlopen-nodelete-reloc-mod7.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod8.c b/elf/tst-dlopen-nodelete-reloc-mod8.c new file mode 100644 index 0000000000..94354d6990 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod8.c @@ -0,0 +1,41 @@ +/* Helper module to load tst-dlopen-nodelete-reloc-mod9.so. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include + +static void *handle; + +static void __attribute__ ((constructor)) +init (void) +{ + handle = dlopen ("tst-dlopen-nodelete-reloc-mod9.so", RTLD_NOW); + if (handle == NULL) + { + printf ("error: dlopen in module 8: %s\n", dlerror ()); + _exit (1); + } +} + +static void __attribute__ ((destructor)) +fini (void) +{ + dlclose (handle); +} diff --git a/elf/tst-dlopen-nodelete-reloc-mod9.cc b/elf/tst-dlopen-nodelete-reloc-mod9.cc new file mode 100644 index 0000000000..c59ecff38a --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc-mod9.cc @@ -0,0 +1,42 @@ +/* First module defining a unique symbol (loaded indirectly). + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-nodelete-reloc.h" + +#include +#include +#include + +/* Just a flag here, not used for NODELETE processing. */ +bool may_finalize_mod9 = false; + +/* Explicit instantiation. This produces a unique symbol definition + which is not referenced by the library itself, so the library is + not marked NODELETE. */ +template struct unique_symbol<9>; + +static void __attribute__ ((destructor)) +fini (void) +{ + if (!may_finalize_mod9) + { + puts ("error: tst-dlopen-nodelete-reloc-mod9.so destructor" + " called too early"); + _exit (1); + } +} diff --git a/elf/tst-dlopen-nodelete-reloc.c b/elf/tst-dlopen-nodelete-reloc.c new file mode 100644 index 0000000000..5a59d6921e --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc.c @@ -0,0 +1,179 @@ +/* Test interactions of dlopen, NODELETE, and relocations. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This test exercises NODELETE propagation due to data relocations + and unique symbols, and the interaction with already-loaded + objects. Some test objects are written in C++, to produce unique + symbol definitions. + + First test: Global scope variant, data relocation as the NODELETE + trigger. mod1 is loaded first with a separate dlopen call. + + mod2 ---(may_finalize_mod1 relocation dependency)---> mod1 + (NODELETE) (marked as NODELETE) + + Second test: Local scope variant, data relocation. mod3 is loaded + first, then mod5. + + mod5 ---(DT_NEEDED)---> mod4 ---(DT_NEEDED)---> mod3 + (NODELETE) (not NODELETE) ^ + \ / (marked as + `--(may_finalize_mod3 relocation dependency)--/ NODELETE) + + Third test: Shared local scope with unique symbol. mod6 is loaded + first, then mod7. No explicit dependencies between the two + objects, so first object has to be opened with RTLD_GLOBAL. + + mod7 ---(unique symbol)---> mod6 + (marked as NODELETE) + + Forth test: Non-shared scopes with unique symbol. mod8 and mod10 + are loaded from the main program. mod8 loads mod9 from an ELF + constructor, mod10 loads mod11. There are no DT_NEEDED + dependencies. mod9 is promoted to the global scope form the main + program. The unique symbol dependency is: + + mod9 ---(unique symbol)---> mod11 + (marked as NODELETE) + + Fifth test: Shared local scope with unique symbol, like test 3, but + this time, there is also a DT_NEEDED dependency (so no RTLD_GLOBAL + needed): + + DT_NEEDED + mod13 ---(unique symbol)---> mod12 + (marked as NODELETE) + + Sixth test: NODELETE status is retained after relocation failure + with unique symbol dependency. The object graph ensures that the + unique symbol binding is processed before the dlopen failure. + + DT_NEEDED + mod17 --(DT_NEEDED)--> mod15 --(unique symbol)--> mod14 + \ ^ (RTLD_NODELETE) + \ (DT_NEEDED) + \ | + `---(DT_NEEDED)--> mod16 + (fails to relocate) + + mod14 is loaded first, and the loading mod17 is attempted. + mod14 must remain NODELETE after opening mod17 failed. */ + +#include +#include +#include +#include +#include + +static int +do_test (void) +{ + /* First case: global scope, regular data symbol. Open the object + which is not NODELETE initially. */ + void *mod1 = xdlopen ("tst-dlopen-nodelete-reloc-mod1.so", + RTLD_NOW | RTLD_GLOBAL); + /* This is used to indicate that the ELF destructor may be + called. */ + bool *may_finalize_mod1 = xdlsym (mod1, "may_finalize_mod1"); + /* Open the NODELETE object. */ + void *mod2 = xdlopen ("tst-dlopen-nodelete-reloc-mod2.so", RTLD_NOW); + /* This has no effect because the DSO is directly marked as + NODELETE. */ + xdlclose (mod2); + /* This has no effect because the DSO has been indirectly marked as + NODELETE due to a relocation dependency. */ + xdlclose (mod1); + + /* Second case: local scope, regular data symbol. Open the object + which is not NODELETE initially. */ + void *mod3 = xdlopen ("tst-dlopen-nodelete-reloc-mod3.so", RTLD_NOW); + bool *may_finalize_mod3 = xdlsym (mod3, "may_finalize_mod3"); + /* Open the NODELETE object. */ + void *mod5 = xdlopen ("tst-dlopen-nodelete-reloc-mod5.so", RTLD_NOW); + /* Again those have no effect because of NODELETE. */ + xdlclose (mod5); + xdlclose (mod3); + + /* Third case: Unique symbol. */ + void *mod6 = xdlopen ("tst-dlopen-nodelete-reloc-mod6.so", + RTLD_NOW | RTLD_GLOBAL); + bool *may_finalize_mod6 = xdlsym (mod6, "may_finalize_mod6"); + void *mod7 = xdlopen ("tst-dlopen-nodelete-reloc-mod7.so", RTLD_NOW); + bool *may_finalize_mod7 = xdlsym (mod7, "may_finalize_mod7"); + /* This should not have any effect because of the unique symbol and + the resulting NODELETE status. */ + xdlclose (mod6); + /* mod7 is not NODELETE and can be closed. */ + *may_finalize_mod7 = true; + xdlclose (mod7); + + /* Fourth case: Unique symbol, indirect loading. */ + void *mod8 = xdlopen ("tst-dlopen-nodelete-reloc-mod8.so", RTLD_NOW); + /* Also promote to global scope. */ + void *mod9 = xdlopen ("tst-dlopen-nodelete-reloc-mod9.so", + RTLD_NOW | RTLD_NOLOAD | RTLD_GLOBAL); + bool *may_finalize_mod9 = xdlsym (mod9, "may_finalize_mod9"); + xdlclose (mod9); /* Drop mod9 reference. */ + void *mod10 = xdlopen ("tst-dlopen-nodelete-reloc-mod10.so", RTLD_NOW); + void *mod11 = xdlopen ("tst-dlopen-nodelete-reloc-mod11.so", + RTLD_NOW | RTLD_NOLOAD); + bool *may_finalize_mod11 = xdlsym (mod11, "may_finalize_mod11"); + xdlclose (mod11); /* Drop mod11 reference. */ + /* mod11 is not NODELETE and can be closed. */ + *may_finalize_mod11 = true; + /* Trigger closing of mod11, too. */ + xdlclose (mod10); + /* Does not trigger closing of mod9. */ + xdlclose (mod8); + + /* Fifth case: Unique symbol, with DT_NEEDED dependency. */ + void *mod12 = xdlopen ("tst-dlopen-nodelete-reloc-mod12.so", RTLD_NOW); + bool *may_finalize_mod12 = xdlsym (mod12, "may_finalize_mod12"); + void *mod13 = xdlopen ("tst-dlopen-nodelete-reloc-mod13.so", RTLD_NOW); + bool *may_finalize_mod13 = xdlsym (mod13, "may_finalize_mod13"); + /* This should not have any effect because of the unique symbol. */ + xdlclose (mod12); + /* mod13 is not NODELETE and can be closed. */ + *may_finalize_mod13 = true; + xdlclose (mod13); + + /* Sixth case: Unique symbol binding must not cause loss of NODELETE + status. */ + void *mod14 = xdlopen ("tst-dlopen-nodelete-reloc-mod14.so", + RTLD_NOW | RTLD_NODELETE); + bool *may_finalize_mod14 = xdlsym (mod14, "may_finalize_mod14"); + TEST_VERIFY (dlopen ("tst-dlopen-nodelete-reloc-mod17.so", RTLD_NOW) + == NULL); + const char *message = dlerror (); + printf ("info: test 6 message: %s\n", message); + /* This must not close the object, it must still be NODELETE. */ + xdlclose (mod14); + xdlopen ("tst-dlopen-nodelete-reloc-mod14.so", RTLD_NOW | RTLD_NOLOAD); + + /* Prepare for process exit. Destructors for NODELETE objects will + be invoked. */ + *may_finalize_mod1 = true; + *may_finalize_mod3 = true; + *may_finalize_mod6 = true; + *may_finalize_mod9 = true; + *may_finalize_mod12 = true; + *may_finalize_mod14 = true; + return 0; +} + +#include diff --git a/elf/tst-dlopen-nodelete-reloc.h b/elf/tst-dlopen-nodelete-reloc.h new file mode 100644 index 0000000000..96317218a5 --- /dev/null +++ b/elf/tst-dlopen-nodelete-reloc.h @@ -0,0 +1,35 @@ +/* Template to produce unique symbols. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This template produces a unique symbol definition for an explicit + template instantiation (without also incorporating a reference), + and an extern template declaration can be used to reference that + symbol from another object. The modid parameter is just a + placeholder to create different symbols (because it affects the + name mangling of the static value member). By convention, it + should match the number of the module that contains the + definition. */ + +template +struct unique_symbol +{ + static int value; +}; + +template +int unique_symbol::value; diff --git a/elf/tst-dlopen-pie.c b/elf/tst-dlopen-pie.c index 6a41c731cb..53500da025 100644 --- a/elf/tst-dlopen-pie.c +++ b/elf/tst-dlopen-pie.c @@ -1,5 +1,5 @@ /* dlopen test for PIE objects. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This test attempts to open the (otherwise unrelated) PIE test program elf/tst-pie1 and expects the attempt to fail. */ diff --git a/elf/tst-dlopen-self-container.c b/elf/tst-dlopen-self-container.c new file mode 100644 index 0000000000..5ec3a67b89 --- /dev/null +++ b/elf/tst-dlopen-self-container.c @@ -0,0 +1,19 @@ +/* Check dlopen'ing the executable itself fails (bug 24900); container version. + Copyright (C) 2014-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-self.c" diff --git a/elf/tst-dlopen-self-pie.c b/elf/tst-dlopen-self-pie.c new file mode 100644 index 0000000000..3590a9c62d --- /dev/null +++ b/elf/tst-dlopen-self-pie.c @@ -0,0 +1,19 @@ +/* Check that dlopen'ing the executable itself fails (bug 24900); PIE version. + Copyright (C) 2014-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-dlopen-self.c" diff --git a/elf/tst-dlopen-self.c b/elf/tst-dlopen-self.c new file mode 100644 index 0000000000..4ee6fc7e35 --- /dev/null +++ b/elf/tst-dlopen-self.c @@ -0,0 +1,55 @@ +/* Check that dlopen'ing the executable itself fails (bug 24900). + Copyright (C) 2014-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include + +/* Call dlopen and check that fails with an error message indicating + an attempt to open an ET_EXEC or PIE object. */ +static void +check_dlopen_failure (const char *path) +{ + void *handle = dlopen (path, RTLD_LAZY); + if (handle != NULL) + FAIL_EXIT1 ("dlopen succeeded unexpectedly: %s", path); + + const char *message = dlerror (); + TEST_VERIFY_EXIT (message != NULL); + if ((strstr (message, + "cannot dynamically load position-independent executable") + == NULL) + && strstr (message, "cannot dynamically load executable") == NULL) + FAIL_EXIT1 ("invalid dlopen error message: \"%s\"", message); +} + +static int +do_test (int argc, char *argv[]) +{ + check_dlopen_failure (argv[0]); + + char *full_path = realpath (argv[0], NULL); + check_dlopen_failure (full_path); + free (full_path); + + return 0; +} + +#define TEST_FUNCTION_ARGV do_test +#include diff --git a/elf/tst-dlopen-tlsmodid-container.c b/elf/tst-dlopen-tlsmodid-container.c new file mode 100644 index 0000000000..451fe7e992 --- /dev/null +++ b/elf/tst-dlopen-tlsmodid-container.c @@ -0,0 +1,39 @@ +/* Test case for BZ #16634. Container version. + Copyright (C) 2014-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This test uses the iconv program as the test binary. */ + +#include +#include + +static char *iconv_path; + +static __attribute__ ((constructor)) void +iconv_path_init (void) +{ + iconv_path = xasprintf ("%s/iconv", support_bindir_prefix); +} + +static __attribute__ ((destructor)) void +iconv_path_fini (void) +{ + free (iconv_path); +} + +#define TST_DLOPEN_TLSMODID_PATH iconv_path +#include "tst-dlopen-tlsmodid.h" diff --git a/elf/tst-dlopen-tlsmodid-pie.c b/elf/tst-dlopen-tlsmodid-pie.c new file mode 100644 index 0000000000..3030dbe17c --- /dev/null +++ b/elf/tst-dlopen-tlsmodid-pie.c @@ -0,0 +1,20 @@ +/* Test case for BZ #16634. PIE version. + Copyright (C) 2014-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define TST_DLOPEN_TLSMODID_PATH "tst-dlopen-self-pie" +#include "tst-dlopen-tlsmodid.h" diff --git a/elf/tst-dlopen-tlsmodid.c b/elf/tst-dlopen-tlsmodid.c new file mode 100644 index 0000000000..55fbbbda6e --- /dev/null +++ b/elf/tst-dlopen-tlsmodid.c @@ -0,0 +1,25 @@ +/* Test case for BZ #16634. Non-PIE version. + + Verify that incorrectly dlopen()ing an executable without + __RTLD_OPENEXEC does not cause assertion in ld.so, and that it + actually results in an error. + + Copyright (C) 2014-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define TST_DLOPEN_TLSMODID_PATH "tst-dlopen-self" +#include "tst-dlopen-tlsmodid.h" diff --git a/elf/tst-dlopen-tlsmodid.h b/elf/tst-dlopen-tlsmodid.h new file mode 100644 index 0000000000..f5cf9e7ddd --- /dev/null +++ b/elf/tst-dlopen-tlsmodid.h @@ -0,0 +1,87 @@ +/* Common code for tst-dlopen-tlsmodid, tst-dlopen-tlsmodid-pie, + tst-dlopen-tlsmodid-container. + + Verify that incorrectly dlopen()ing an executable without + __RTLD_OPENEXEC does not cause assertion in ld.so, and that it + actually results in an error. + + Copyright (C) 2014-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Before including this file, the macro TST_DLOPEN_TLSMODID_PATH must + be defined, to specify the path used for the open operation. */ + +#include +#include +#include +#include +#include +#include +#include +#include + +__thread int x; + +void * +fn (void *p) +{ + return p; +} + +/* Call dlopen and check that fails with an error message indicating + an attempt to open an ET_EXEC or PIE object. */ +static void +check_dlopen_failure (void) +{ + void *handle = dlopen (TST_DLOPEN_TLSMODID_PATH, RTLD_LAZY); + if (handle != NULL) + FAIL_EXIT1 ("dlopen succeeded unexpectedly: %s", TST_DLOPEN_TLSMODID_PATH); + + const char *message = dlerror (); + TEST_VERIFY_EXIT (message != NULL); + if ((strstr (message, + "cannot dynamically load position-independent executable") + == NULL) + && strstr (message, "cannot dynamically load executable") == NULL) + FAIL_EXIT1 ("invalid dlopen error message: \"%s\"", message); +} + +static int +do_test (int argc, char *argv[]) +{ + int j; + + for (j = 0; j < 100; ++j) + { + pthread_t thr; + + check_dlopen_failure (); + + /* We create threads to force TLS allocation, which triggers + the original bug i.e. running out of surplus slotinfo entries + for TLS. */ + thr = xpthread_create (NULL, fn, NULL); + xpthread_join (thr); + } + + check_dlopen_failure (); + + return 0; +} + +#define TEST_FUNCTION_ARGV do_test +#include diff --git a/elf/tst-dlopenfail-2.c b/elf/tst-dlopenfail-2.c new file mode 100644 index 0000000000..35bbde64ab --- /dev/null +++ b/elf/tst-dlopenfail-2.c @@ -0,0 +1,59 @@ +/* Test unrelated dlopen after dlopen failure involving NODELETE. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include +#include +#include +#include + +static int +do_test (void) +{ + /* This test uses libpthread as the canonical NODELETE module. If + libpthread is no longer NODELETE because it has been merged into + libc, the test needs to be updated. */ + TEST_VERIFY (dlsym (NULL, "pthread_create") == NULL); + + /* This is expected to fail because of the missing dependency. */ + puts ("info: attempting to load tst-dlopenfailmod1.so"); + TEST_VERIFY (dlopen ("tst-dlopenfailmod1.so", RTLD_LAZY) == NULL); + const char *message = dlerror (); + TEST_COMPARE_STRING (message, + "tst-dlopenfail-missingmod.so:" + " cannot open shared object file:" + " No such file or directory"); + + /* Open a small shared object. With a dangling GL (dl_initfirst) + pointer, this is likely to crash because there is no longer any + mapped text segment there (bug 25396). */ + + puts ("info: attempting to load tst-dlopenfailmod3.so"); + xdlclose (xdlopen ("tst-dlopenfailmod3.so", RTLD_NOW)); + + return 0; +} + +/* Do not perturb the dangling link map. With M_PERTURB, the link map + appears to have l_init_called set, so there are no constructor + calls and no crashes. */ +#define TEST_NO_MALLOPT +#include diff --git a/elf/tst-dlopenfail.c b/elf/tst-dlopenfail.c new file mode 100644 index 0000000000..e8275ed7fb --- /dev/null +++ b/elf/tst-dlopenfail.c @@ -0,0 +1,79 @@ +/* Test dlopen rollback after failures involving NODELETE objects (bug 20839). + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include +#include +#include +#include + +static int +do_test (void) +{ + /* This test uses libpthread as the canonical NODELETE module. If + libpthread is no longer NODELETE because it has been merged into + libc, the test needs to be updated. */ + TEST_VERIFY (dlsym (NULL, "pthread_create") == NULL); + + /* This is expected to fail because of the missing dependency. */ + puts ("info: attempting to load tst-dlopenfailmod1.so"); + TEST_VERIFY (dlopen ("tst-dlopenfailmod1.so", RTLD_LAZY) == NULL); + const char *message = dlerror (); + TEST_COMPARE_STRING (message, + "tst-dlopenfail-missingmod.so:" + " cannot open shared object file:" + " No such file or directory"); + + /* Do not probe for the presence of libpthread at this point because + that might trigger relocation if bug 20839 is present, obscuring + a subsequent crash. */ + + /* This is expected to succeed. */ + puts ("info: loading tst-dlopenfailmod2.so"); + void *handle = xdlopen ("tst-dlopenfailmod2.so", RTLD_NOW); + xdlclose (handle); + + /* libpthread should remain loaded. */ + TEST_VERIFY (dlopen (LIBPTHREAD_SO, RTLD_LAZY | RTLD_NOLOAD) != NULL); + TEST_VERIFY (dlsym (NULL, "pthread_create") == NULL); + + /* We can make libpthread global, and then the symbol should become + available. */ + TEST_VERIFY (dlopen (LIBPTHREAD_SO, RTLD_LAZY | RTLD_GLOBAL) != NULL); + TEST_VERIFY (dlsym (NULL, "pthread_create") != NULL); + + /* sem_open is sufficiently complex to depend on relocations. */ + void *(*sem_open_ptr) (const char *, int flag, ...) + = dlsym (NULL, "sem_open"); + if (sem_open_ptr == NULL) + /* Hurd does not implement sem_open. */ + puts ("warning: sem_open not found, further testing not possible"); + else + { + errno = 0; + TEST_VERIFY (sem_open_ptr ("/", 0) == NULL); + TEST_COMPARE (errno, EINVAL); + } + + return 0; +} + +#include diff --git a/elf/tst-dlopenfaillinkmod.c b/elf/tst-dlopenfaillinkmod.c new file mode 100644 index 0000000000..5b345be921 --- /dev/null +++ b/elf/tst-dlopenfaillinkmod.c @@ -0,0 +1,17 @@ +/* Empty module with a soname which is not available at run time. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ diff --git a/elf/tst-dlopenfailmod1.c b/elf/tst-dlopenfailmod1.c new file mode 100644 index 0000000000..9da4c967bf --- /dev/null +++ b/elf/tst-dlopenfailmod1.c @@ -0,0 +1,36 @@ +/* Module which depends on two modules: one NODELETE, one missing. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Note: Due to the missing second module, this object cannot be + loaded at run time. */ + +#include +#include +#include + +/* Force linking against libpthread. */ +void *pthread_create_reference = pthread_create; + +/* The constructor will never be executed because the module cannot be + loaded. */ +static void __attribute__ ((constructor)) +init (void) +{ + puts ("tst-dlopenfailmod1 constructor executed"); + _exit (1); +} diff --git a/elf/tst-dlopenfailmod2.c b/elf/tst-dlopenfailmod2.c new file mode 100644 index 0000000000..8dc3a9f5af --- /dev/null +++ b/elf/tst-dlopenfailmod2.c @@ -0,0 +1,29 @@ +/* Module which depends on on a NODELETE module, and can be loaded. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +/* Force linking against libpthread. */ +void *pthread_create_reference = pthread_create; + +static void __attribute__ ((constructor)) +init (void) +{ + puts ("info: tst-dlopenfailmod2.so constructor invoked"); +} diff --git a/elf/tst-dlopenfailmod3.c b/elf/tst-dlopenfailmod3.c new file mode 100644 index 0000000000..636e971264 --- /dev/null +++ b/elf/tst-dlopenfailmod3.c @@ -0,0 +1,17 @@ +/* Empty module for the tst-dlopenfail-2 test. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ diff --git a/elf/tst-dlopenrpath.c b/elf/tst-dlopenrpath.c index e65b1d7c54..8e8115fbb0 100644 --- a/elf/tst-dlopenrpath.c +++ b/elf/tst-dlopenrpath.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2004. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-dlopenrpathmod.c b/elf/tst-dlopenrpathmod.c index 416e8ad744..72e9955b82 100644 --- a/elf/tst-dlopenrpathmod.c +++ b/elf/tst-dlopenrpathmod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2004. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-dlsym-error.c b/elf/tst-dlsym-error.c index 78c6719fe5..05ca42f873 100644 --- a/elf/tst-dlsym-error.c +++ b/elf/tst-dlsym-error.c @@ -1,5 +1,5 @@ /* Test error reporting for dlsym, dlvsym failures. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-env-setuid-tunables.c b/elf/tst-env-setuid-tunables.c index e92e9f5fbf..971d5892b1 100644 --- a/elf/tst-env-setuid-tunables.c +++ b/elf/tst-env-setuid-tunables.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2017-2019 Free Software Foundation, Inc. +/* Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Verify that tunables correctly filter out unsafe tunables like glibc.malloc.check and glibc.malloc.mmap_threshold but also retain diff --git a/elf/tst-env-setuid.c b/elf/tst-env-setuid.c index a080d2fa1c..41dc79e83a 100644 --- a/elf/tst-env-setuid.c +++ b/elf/tst-env-setuid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2019 Free Software Foundation, Inc. +/* Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Verify that tunables correctly filter out unsafe environment variables like MALLOC_CHECK_ and MALLOC_MMAP_THRESHOLD_ but also retain diff --git a/elf/tst-filterobj-aux.c b/elf/tst-filterobj-aux.c new file mode 100644 index 0000000000..0b732f2fb3 --- /dev/null +++ b/elf/tst-filterobj-aux.c @@ -0,0 +1,33 @@ +/* Auxiliary filter object. + Contains symbols to be resolved in filtee, and one which doesn't. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-filterobj-filtee.h" + +/* We never want to see the output of the auxiliary object. */ +const char *get_text (void) +{ + return "Hello from auxiliary filter object (FAIL)"; +} + +/* The filtee doesn't implement this symbol, so this should resolve. */ +const char *get_text2 (void) +{ + return "Hello from auxiliary filter object (PASS)"; +} diff --git a/elf/tst-filterobj-dlopen.c b/elf/tst-filterobj-dlopen.c new file mode 100644 index 0000000000..c5b5072979 --- /dev/null +++ b/elf/tst-filterobj-dlopen.c @@ -0,0 +1,39 @@ +/* Test for BZ#16272, dlopen'ing a filter object. + Ensure that symbols from the filter object resolve to the filtee. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +static int do_test (void) +{ + void *lib = xdlopen ("tst-filterobj-flt.so", RTLD_LAZY); + char *(*fn)(void) = xdlsym (lib, "get_text"); + const char* text = fn (); + + printf ("%s\n", text); + + /* Verify the text matches what we expect from the filtee */ + TEST_COMPARE_STRING (text, "Hello from filtee (PASS)"); + + return 0; +} + +#include diff --git a/elf/tst-filterobj-filtee.c b/elf/tst-filterobj-filtee.c new file mode 100644 index 0000000000..8fa557cbd2 --- /dev/null +++ b/elf/tst-filterobj-filtee.c @@ -0,0 +1,27 @@ +/* Filtee for BZ#16272 test. + Contains desired symbol implementations. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-filterobj-filtee.h" + +/* This is the real implementation that wants to be called */ +const char *get_text (void) +{ + return "Hello from filtee (PASS)"; +} diff --git a/elf/tst-filterobj-filtee.h b/elf/tst-filterobj-filtee.h new file mode 100644 index 0000000000..46aee28178 --- /dev/null +++ b/elf/tst-filterobj-filtee.h @@ -0,0 +1,24 @@ +/* Filtee header for BZ#16272 test. + Contains prototypes for symbols implemented in the filtee. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +const char *get_text (void); + +/* For testing auxiliary filter object. */ +const char *get_text2 (void); diff --git a/elf/tst-filterobj-flt.c b/elf/tst-filterobj-flt.c new file mode 100644 index 0000000000..5062654be6 --- /dev/null +++ b/elf/tst-filterobj-flt.c @@ -0,0 +1,27 @@ +/* Filter object for BZ#16272 test. + Contains symbols to be resolved in filtee. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "tst-filterobj-filtee.h" + +/* We never want to see the output of the filter object */ +const char *get_text (void) +{ + return "Hello from filter object (FAIL)"; +} diff --git a/elf/tst-filterobj.c b/elf/tst-filterobj.c new file mode 100644 index 0000000000..96bfae019e --- /dev/null +++ b/elf/tst-filterobj.c @@ -0,0 +1,36 @@ +/* Test that symbols from filter objects are resolved to the filtee. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include "tst-filterobj-filtee.h" + +static int do_test (void) +{ + const char* text = get_text (); + + printf ("%s\n", text); + + /* Verify the text matches what we expect from the filtee */ + TEST_COMPARE_STRING (text, "Hello from filtee (PASS)"); + + return 0; +} + +#include diff --git a/elf/tst-finilazyfailmod.c b/elf/tst-finilazyfailmod.c new file mode 100644 index 0000000000..78c05999a2 --- /dev/null +++ b/elf/tst-finilazyfailmod.c @@ -0,0 +1,27 @@ +/* Helper module for tst-initfinilazyfail: lazy binding failure in destructor. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* An undefined function. Calling it will cause a lazy binding + failure. */ +void undefined_function (void); + +static void __attribute__ ((destructor)) +fini (void) +{ + undefined_function (); +} diff --git a/elf/tst-gnu2-tls1.c b/elf/tst-gnu2-tls1.c index 9ca2cedd4e..e02c8b33b4 100644 --- a/elf/tst-gnu2-tls1.c +++ b/elf/tst-gnu2-tls1.c @@ -1,5 +1,5 @@ /* Test local and global dynamic models for GNU2 TLS. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-gnu2-tls1mod.c b/elf/tst-gnu2-tls1mod.c index 974f532da8..a7d545118a 100644 --- a/elf/tst-gnu2-tls1mod.c +++ b/elf/tst-gnu2-tls1mod.c @@ -1,5 +1,5 @@ /* DSO used by tst-gnu2-tls1. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ static __thread int ld; diff --git a/elf/tst-ifunc-fault-bindnow.c b/elf/tst-ifunc-fault-bindnow.c new file mode 100644 index 0000000000..81d2f4feee --- /dev/null +++ b/elf/tst-ifunc-fault-bindnow.c @@ -0,0 +1,21 @@ +/* Program with local IFUNC resolver which crashes. BIND_NOW variant. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* The code is the same as the lazy variant. It is just linked + differently. */ +#include "tst-ifunc-fault-lazy.c" diff --git a/elf/tst-ifunc-fault-lazy.c b/elf/tst-ifunc-fault-lazy.c new file mode 100644 index 0000000000..432aaaeccd --- /dev/null +++ b/elf/tst-ifunc-fault-lazy.c @@ -0,0 +1,57 @@ +/* Program with local IFUNC resolver which crashes, for testing bug 24214. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* The construct below is expected to produce an IRELATIVE relocation + with an IFUNC resolver that crashes. ldd should not performs such + relocations. */ + +#include + +#ifdef HAVE_GCC_IFUNC + +# include + +static void +implementation (void) +{ + /* Produce a crash, without depending on any relocations. */ + volatile char *volatile p = NULL; + *p = 0; +} + +static __typeof__ (implementation) * +resolver (void) +{ + /* Produce a crash, without depending on any relocations. */ + volatile char *volatile p = NULL; + *p = 0; + return implementation; +} + +static void magic (void) __attribute__ ((ifunc ("resolver"))); + +void (*magic_ptr) (void) = magic; + +#endif /* HAVE_GCC_IFUNC */ + +/* The program is expected not to run. */ +int +main (void) +{ + return 1; +} diff --git a/elf/tst-ifunc-textrel.c b/elf/tst-ifunc-textrel.c index 8c9f5498e7..fbb023a9b5 100644 --- a/elf/tst-ifunc-textrel.c +++ b/elf/tst-ifunc-textrel.c @@ -1,5 +1,5 @@ /* Check DT_TEXTREL/DF_TEXTREL support with ifunc. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/tst-initfinilazyfail.c b/elf/tst-initfinilazyfail.c new file mode 100644 index 0000000000..077f72a617 --- /dev/null +++ b/elf/tst-initfinilazyfail.c @@ -0,0 +1,84 @@ +/* Test that lazy binding failures in constructors and destructors are fatal. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include + +static void +test_constructor (void *closure) +{ + void *handle = dlopen ("tst-initlazyfailmod.so", RTLD_LAZY); + if (handle == NULL) + FAIL_EXIT (2, "dlopen did not terminate the process: %s", dlerror ()); + else + FAIL_EXIT (2, "dlopen did not terminate the process (%p)", handle); +} + +static void +test_destructor (void *closure) +{ + void *handle = xdlopen ("tst-finilazyfailmod.so", RTLD_LAZY); + int ret = dlclose (handle); + const char *message = dlerror (); + if (message != NULL) + FAIL_EXIT (2, "dlclose did not terminate the process: %d, %s", + ret, message); + else + FAIL_EXIT (2, "dlopen did not terminate the process: %d", ret); +} + +static int +do_test (void) +{ + { + struct support_capture_subprocess proc + = support_capture_subprocess (test_constructor, NULL); + support_capture_subprocess_check (&proc, "constructor", 127, + sc_allow_stderr); + printf ("info: constructor failure output: [[%s]]\n", proc.err.buffer); + TEST_VERIFY (strstr (proc.err.buffer, + "tst-initfinilazyfail: symbol lookup error: ") + != NULL); + TEST_VERIFY (strstr (proc.err.buffer, + "tst-initlazyfailmod.so: undefined symbol:" + " undefined_function\n") != NULL); + support_capture_subprocess_free (&proc); + } + + { + struct support_capture_subprocess proc + = support_capture_subprocess (test_destructor, NULL); + support_capture_subprocess_check (&proc, "destructor", 127, + sc_allow_stderr); + printf ("info: destructor failure output: [[%s]]\n", proc.err.buffer); + TEST_VERIFY (strstr (proc.err.buffer, + "tst-initfinilazyfail: symbol lookup error: ") + != NULL); + TEST_VERIFY (strstr (proc.err.buffer, + "tst-finilazyfailmod.so: undefined symbol:" + " undefined_function\n") != NULL); + support_capture_subprocess_free (&proc); + } + + return 0; +} + +#include diff --git a/elf/tst-initlazyfailmod.c b/elf/tst-initlazyfailmod.c new file mode 100644 index 0000000000..5254868bdf --- /dev/null +++ b/elf/tst-initlazyfailmod.c @@ -0,0 +1,27 @@ +/* Helper module for tst-initfinilazyfail: lazy binding failure in constructor. + Copyright (C) 2019-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* An undefined function. Calling it will cause a lazy binding + failure. */ +void undefined_function (void); + +static void __attribute__ ((constructor)) +init (void) +{ + undefined_function (); +} diff --git a/elf/tst-latepthread.c b/elf/tst-latepthread.c index c18aadfe18..16a40ebb31 100644 --- a/elf/tst-latepthread.c +++ b/elf/tst-latepthread.c @@ -1,5 +1,5 @@ /* Test that loading libpthread does not break ld.so exceptions (bug 16628). - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-latepthreadmod.c b/elf/tst-latepthreadmod.c index a0d66c222c..9aba6bd256 100644 --- a/elf/tst-latepthreadmod.c +++ b/elf/tst-latepthreadmod.c @@ -1,5 +1,5 @@ /* DSO which links against libpthread and triggers a lazy binding. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file is compiled into a DSO which loads libpthread, but fails the dynamic linker afterwards. */ diff --git a/elf/tst-ldconfig-X.sh b/elf/tst-ldconfig-X.sh index 7ad41c3baf..bb468e35a9 100644 --- a/elf/tst-ldconfig-X.sh +++ b/elf/tst-ldconfig-X.sh @@ -1,6 +1,6 @@ #!/bin/sh # Test that ldconfig -X does not remove stale symbolic links. -# Copyright (C) 2000-2019 Free Software Foundation, Inc. +# Copyright (C) 2000-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . set -ex diff --git a/elf/tst-ldconfig-bad-aux-cache.c b/elf/tst-ldconfig-bad-aux-cache.c index 68ce90a956..18636a0ed7 100644 --- a/elf/tst-ldconfig-bad-aux-cache.c +++ b/elf/tst-ldconfig-bad-aux-cache.c @@ -1,5 +1,5 @@ /* Test ldconfig does not segfault when aux-cache is corrupted (Bug 18093). - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ + not, see . */ /* This test does the following: Run ldconfig to create the caches. @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -52,6 +53,15 @@ display_info (const char *fpath, const struct stat *sb, return 0; } +static void +execv_wrapper (void *args) +{ + char **argv = args; + + execv (argv[0], argv); + FAIL_EXIT1 ("execv: %m"); +} + /* Run ldconfig with a corrupt aux-cache, in particular we test for size truncation that might happen if a previous ldconfig run failed or if there were storage or power issues while we were writing the file. @@ -61,53 +71,38 @@ static int do_test (void) { char *prog = xasprintf ("%s/ldconfig", support_install_rootsbindir); - char *const args[] = { prog, NULL }; + char *args[] = { prog, NULL }; const char *path = "/var/cache/ldconfig/aux-cache"; struct stat64 fs; long int size, new_size, i; - int status; - pid_t pid; /* Create the needed directories. */ xmkdirp ("/var/cache/ldconfig", 0777); - pid = xfork (); - /* Run ldconfig fist to generate the aux-cache. */ - if (pid == 0) - { - execv (args[0], args); - _exit (1); - } - else + /* Run ldconfig first to generate the aux-cache. */ + struct support_capture_subprocess result; + result = support_capture_subprocess (execv_wrapper, args); + support_capture_subprocess_check (&result, "execv", 0, sc_allow_none); + support_capture_subprocess_free (&result); + + xstat (path, &fs); + + size = fs.st_size; + /* Run 3 tests, each truncating aux-cache shorter and shorter. */ + for (i = 3; i > 0; i--) { - xwaitpid (pid, &status, 0); - TEST_COMPARE(status, 0); - xstat (path, &fs); - - size = fs.st_size; - /* Run 3 tests, each truncating aux-cache shorter and shorter. */ - for (i = 3; i > 0; i--) - { - new_size = size * i / 4; - if (truncate (path, new_size)) - FAIL_EXIT1 ("truncation failed: %m"); - if (nftw (path, display_info, 1000, 0) == -1) - FAIL_EXIT1 ("nftw failed."); - - pid = xfork (); - /* Verify that ldconfig can run with a truncated - aux-cache and doesn't crash. */ - if (pid == 0) - { - execv (args[0], args); - _exit (1); - } - else - { - xwaitpid (pid, &status, 0); - TEST_COMPARE(status, 0); - } - } + new_size = size * i / 4; + if (truncate (path, new_size)) + FAIL_EXIT1 ("truncation failed: %m"); + if (nftw (path, display_info, 1000, 0) == -1) + FAIL_EXIT1 ("nftw failed."); + + /* Verify that ldconfig can run with a truncated + aux-cache and doesn't crash. */ + struct support_capture_subprocess result; + result = support_capture_subprocess (execv_wrapper, args); + support_capture_subprocess_check (&result, "execv", 0, sc_allow_none); + support_capture_subprocess_free (&result); } free (prog); diff --git a/elf/tst-ldconfig-ld-mod.c b/elf/tst-ldconfig-ld-mod.c new file mode 100644 index 0000000000..f8f658d03b --- /dev/null +++ b/elf/tst-ldconfig-ld-mod.c @@ -0,0 +1,8 @@ +#include +#include + +void +bar (void) +{ + printf ("Called DSO.\n"); +} diff --git a/elf/tst-ldconfig-ld_so_conf-update.c b/elf/tst-ldconfig-ld_so_conf-update.c new file mode 100644 index 0000000000..ff2ee217d9 --- /dev/null +++ b/elf/tst-ldconfig-ld_so_conf-update.c @@ -0,0 +1,117 @@ +/* Test ldconfig after /etc/ld.so.conf update and verify that a running process + observes changes to /etc/ld.so.cache. + + Copyright (C) 2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + + +#define DSO "libldconfig-ld-mod.so" +#define DSO_DIR "/tmp/tst-ldconfig" +#define CONF "/etc/ld.so.conf" + + +static void +run_ldconfig (void *x __attribute__((unused))) +{ + char *prog = xasprintf ("%s/ldconfig", support_install_rootsbindir); + char *args[] = { prog, NULL }; + + execv (args[0], args); + FAIL_EXIT1 ("execv: %m"); +} + + +/* Create a new directory. + Copy a test shared object there. + Try to dlopen it by soname. This should fail. + (Directory is not searched.) + Run ldconfig. + Try to dlopen it again. It should still fail. + (Directory is still not searched.) + Add the directory to /etc/ld.so.conf. + Try to dlopen it again. It should still fail. + (The loader does not read /etc/ld.so.conf, only /etc/ld.so.cache.) + Run ldconfig. + Try to dlopen it again. This should finally succeed. */ +static int +do_test (void) +{ + struct support_capture_subprocess result; + + /* Create the needed directories. */ + xmkdirp ("/var/cache/ldconfig", 0777); + xmkdirp (DSO_DIR, 0777); + + /* Rename the DSO to start with "lib" because there's an undocumented + filter in ldconfig where it ignores any file that doesn't start with + "lib" (for regular shared libraries) or "ld-" (for ld-linux-*). */ + char *mod_src_path = xasprintf ("%s/tst-ldconfig-ld-mod.so", + support_libdir_prefix); + if (rename (mod_src_path, "/tmp/tst-ldconfig/libldconfig-ld-mod.so")) + FAIL_EXIT1 ("Renaming/moving the DSO failed: %m"); + free (mod_src_path); + + + /* Open the DSO. We expect this to fail - tst-ldconfig directory + is not searched. */ + TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) == NULL); + + FILE *fp = xfopen (CONF, "a+"); + if (!fp) + FAIL_EXIT1 ("creating /etc/ld.so.conf failed: %m"); + xfclose (fp); + + /* Run ldconfig. */ + result = support_capture_subprocess (run_ldconfig, NULL); + support_capture_subprocess_check (&result, "execv", 0, sc_allow_none); + + /* Try to dlopen the same DSO again, we expect this to fail again. */ + TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) == NULL); + + /* Add tst-ldconfig directory to /etc/ld.so.conf. */ + fp = xfopen (CONF, "w"); + if (!(fwrite (DSO_DIR, 1, sizeof (DSO_DIR), fp))) + FAIL_EXIT1 ("updating /etc/ld.so.conf failed: %m"); + xfclose (fp); + + /* Try to dlopen the same DSO again, we expect this to still fail. */ + TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) == NULL); + + /* Run ldconfig again. */ + result = support_capture_subprocess (run_ldconfig, NULL); + support_capture_subprocess_check (&result, "execv", 0, sc_allow_none); + support_capture_subprocess_free (&result); + + /* Finally, we expect dlopen to pass now. */ + TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) != NULL); + + return 0; +} + +#include diff --git a/elf/tst-ldconfig-ld_so_conf-update.root/postclean.req b/elf/tst-ldconfig-ld_so_conf-update.root/postclean.req new file mode 100644 index 0000000000..e69de29bb2 diff --git a/elf/tst-ldconfig-ld_so_conf-update.root/tst-ldconfig-ld_so_conf-update.script b/elf/tst-ldconfig-ld_so_conf-update.root/tst-ldconfig-ld_so_conf-update.script new file mode 100644 index 0000000000..be562ba554 --- /dev/null +++ b/elf/tst-ldconfig-ld_so_conf-update.root/tst-ldconfig-ld_so_conf-update.script @@ -0,0 +1 @@ +cp $B/elf/tst-ldconfig-ld-mod.so $L/tst-ldconfig-ld-mod.so diff --git a/elf/tst-libc_dlvsym-dso.c b/elf/tst-libc_dlvsym-dso.c index e4fd4f007b..40f85b747e 100644 --- a/elf/tst-libc_dlvsym-dso.c +++ b/elf/tst-libc_dlvsym-dso.c @@ -1,5 +1,5 @@ /* Compare dlvsym and __libc_dlvsym results. Shared object code. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "tst-libc_dlvsym.h" diff --git a/elf/tst-libc_dlvsym-static.c b/elf/tst-libc_dlvsym-static.c index 0f28549eea..73f9f8842b 100644 --- a/elf/tst-libc_dlvsym-static.c +++ b/elf/tst-libc_dlvsym-static.c @@ -1,5 +1,5 @@ /* Compare dlvsym and __libc_dlvsym results. Static version. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/tst-libc_dlvsym.c b/elf/tst-libc_dlvsym.c index 93f307dc6b..fef5ddd922 100644 --- a/elf/tst-libc_dlvsym.c +++ b/elf/tst-libc_dlvsym.c @@ -1,5 +1,5 @@ /* Compare dlvsym and __libc_dlvsym results. Dynamic version. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "tst-libc_dlvsym.h" diff --git a/elf/tst-libc_dlvsym.h b/elf/tst-libc_dlvsym.h index 31275f180b..6b132dd7c3 100644 --- a/elf/tst-libc_dlvsym.h +++ b/elf/tst-libc_dlvsym.h @@ -1,5 +1,5 @@ /* Compare dlvsym and __libc_dlvsym results. Common code. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* compare_vsyms is the main entry point for these tests. diff --git a/elf/tst-linkall-static.c b/elf/tst-linkall-static.c index fbeefe7e43..c9ee9c28f8 100644 --- a/elf/tst-linkall-static.c +++ b/elf/tst-linkall-static.c @@ -1,5 +1,5 @@ /* Test static linking against multiple libraries, to find symbol conflicts. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ + not, see . */ #include #include diff --git a/elf/tst-main1.c b/elf/tst-main1.c index 798cc57c59..e5481ee741 100644 --- a/elf/tst-main1.c +++ b/elf/tst-main1.c @@ -1,5 +1,5 @@ /* Unit test for main () in a shared object. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,6 +14,6 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This is empty. */ diff --git a/elf/tst-main1mod.c b/elf/tst-main1mod.c index 1a204c9f98..65422f57b8 100644 --- a/elf/tst-main1mod.c +++ b/elf/tst-main1mod.c @@ -1,5 +1,5 @@ /* Unit test for main () in a shared object. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ static int do_test (void) diff --git a/elf/tst-nodelete-dlclose-dso.c b/elf/tst-nodelete-dlclose-dso.c index 1d65fc4992..c8eef76b74 100644 --- a/elf/tst-nodelete-dlclose-dso.c +++ b/elf/tst-nodelete-dlclose-dso.c @@ -1,5 +1,5 @@ /* Bug 11941: Improper assert map->l_init_called in dlclose. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This is the primary DSO that is loaded by the appliation. This DSO then loads a plugin with RTLD_NODELETE. This plugin depends on this diff --git a/elf/tst-nodelete-dlclose-plugin.c b/elf/tst-nodelete-dlclose-plugin.c index cd078a31cd..cc8a2fbaf7 100644 --- a/elf/tst-nodelete-dlclose-plugin.c +++ b/elf/tst-nodelete-dlclose-plugin.c @@ -1,5 +1,5 @@ /* Bug 11941: Improper assert map->l_init_called in dlclose. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This DSO simulates a plugin with a dependency on the primary DSO loaded by the appliation. */ diff --git a/elf/tst-nodelete-dlclose.c b/elf/tst-nodelete-dlclose.c index 38f8969f0e..74e2263ff4 100644 --- a/elf/tst-nodelete-dlclose.c +++ b/elf/tst-nodelete-dlclose.c @@ -1,5 +1,5 @@ /* Bug 11941: Improper assert map->l_init_called in dlclose. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This simulates an application using the primary DSO which loads the plugin DSO. */ diff --git a/elf/tst-nodelete-opened-lib.c b/elf/tst-nodelete-opened-lib.c index b4164cc1c7..34c299f360 100644 --- a/elf/tst-nodelete-opened-lib.c +++ b/elf/tst-nodelete-opened-lib.c @@ -1,5 +1,5 @@ /* Verify that objects opened with RTLD_NODELETE are not unloaded - the DSO. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,6 +14,6 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ int foo_var = 42; diff --git a/elf/tst-nodelete-opened.c b/elf/tst-nodelete-opened.c index d720f97f66..ecc58aa233 100644 --- a/elf/tst-nodelete-opened.c +++ b/elf/tst-nodelete-opened.c @@ -1,7 +1,7 @@ /* Verify that an already opened DSO opened agained with RTLD_NODELETE actually sets the NODELETE flag. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-noload.c b/elf/tst-noload.c index b588b97de4..a56299926e 100644 --- a/elf/tst-noload.c +++ b/elf/tst-noload.c @@ -1,6 +1,6 @@ /* Verify that RTLD_NOLOAD works as expected. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-null-argv-lib.c b/elf/tst-null-argv-lib.c index f7bceb3510..70b1aa2a3e 100644 --- a/elf/tst-null-argv-lib.c +++ b/elf/tst-null-argv-lib.c @@ -1,6 +1,6 @@ /* Verify that program does not crash when LD_DEBUG is set and the program name is not available. This is the library. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ void foo (void) diff --git a/elf/tst-null-argv.c b/elf/tst-null-argv.c index 26494401e3..2ea85d455c 100644 --- a/elf/tst-null-argv.c +++ b/elf/tst-null-argv.c @@ -1,6 +1,6 @@ /* Verify that program does not crash when LD_DEBUG is set and the program name is not available. - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern void foo (void); diff --git a/elf/tst-pathopt.sh b/elf/tst-pathopt.sh index b8baddaf40..332bd1e293 100755 --- a/elf/tst-pathopt.sh +++ b/elf/tst-pathopt.sh @@ -1,6 +1,6 @@ #!/bin/sh # Test lookup path optimization. -# Copyright (C) 2000-2019 Free Software Foundation, Inc. +# Copyright (C) 2000-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . set -e diff --git a/elf/tst-pie2.c b/elf/tst-pie2.c index 1cd9103afb..02956fc687 100644 --- a/elf/tst-pie2.c +++ b/elf/tst-pie2.c @@ -1,6 +1,6 @@ /* Test case for BZ #16381 - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/tst-pldd.c b/elf/tst-pldd.c index 6b7c94a1c0..b247e8d604 100644 --- a/elf/tst-pldd.c +++ b/elf/tst-pldd.c @@ -1,5 +1,5 @@ /* Basic tests for pldd program. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -30,6 +30,11 @@ #include #include #include +#include +#include +#include +#include +#include static void target_process (void *arg) @@ -37,6 +42,34 @@ target_process (void *arg) pause (); } +static void +pldd_process (void *arg) +{ + pid_t *target_pid_ptr = (pid_t *) arg; + + /* Create a copy of current test to check with pldd. As the + target_process is a child of this pldd_process, pldd is also able + to attach to target_process if YAMA is configured to 1 = + "restricted ptrace". */ + struct support_subprocess target = support_subprocess (target_process, NULL); + + /* Store the pid of target-process as do_test needs it in order to + e.g. terminate it at end of the test. */ + *target_pid_ptr = target.pid; + + /* Three digits per byte plus null terminator. */ + char pid[3 * sizeof (uint32_t) + 1]; + snprintf (pid, array_length (pid), "%d", target.pid); + + char *prog = xasprintf ("%s/pldd", support_bindir_prefix); + + /* Run pldd and use the pid of target_process as argument. */ + execve (prog, (char *const []) { (char *) prog, pid, NULL }, + (char *const []) { NULL }); + + FAIL_EXIT1 ("Returned from execve: errno=%d=%m\n", errno); +} + /* The test runs in a container because pldd does not support tracing a binary started by the loader iself (as with testrun.sh). */ @@ -52,25 +85,22 @@ in_str_list (const char *libname, const char *const strlist[]) static int do_test (void) { - /* Create a copy of current test to check with pldd. */ - struct support_subprocess target = support_subprocess (target_process, NULL); - - /* Run 'pldd' on test subprocess. */ - struct support_capture_subprocess pldd; + /* Check if our subprocess can be debugged with ptrace. */ { - /* Three digits per byte plus null terminator. */ - char pid[3 * sizeof (uint32_t) + 1]; - snprintf (pid, array_length (pid), "%d", target.pid); - - char *prog = xasprintf ("%s/pldd", support_bindir_prefix); - - pldd = support_capture_subprogram (prog, - (char *const []) { (char *) prog, pid, NULL }); + int ptrace_scope = support_ptrace_scope (); + if (ptrace_scope >= 2) + FAIL_UNSUPPORTED ("/proc/sys/kernel/yama/ptrace_scope >= 2"); + } - support_capture_subprocess_check (&pldd, "pldd", 0, sc_allow_stdout); + pid_t *target_pid_ptr = (pid_t *) xmmap (NULL, sizeof (pid_t), + PROT_READ | PROT_WRITE, + MAP_SHARED | MAP_ANONYMOUS, -1); - free (prog); - } + /* Run 'pldd' on test subprocess which will be created in pldd_process. + The pid of the subprocess will be written to target_pid_ptr. */ + struct support_capture_subprocess pldd; + pldd = support_capture_subprocess (pldd_process, target_pid_ptr); + support_capture_subprocess_check (&pldd, "pldd", 0, sc_allow_stdout); /* Check 'pldd' output. The test is expected to be linked against only loader and libc. */ @@ -85,7 +115,7 @@ do_test (void) /* First line is in the form of : */ TEST_COMPARE (fscanf (out, "%u: " STRINPUT (512), &pid, buffer), 2); - TEST_COMPARE (pid, target.pid); + TEST_COMPARE (pid, *target_pid_ptr); TEST_COMPARE (strcmp (basename (buffer), "tst-pldd"), 0); /* It expects only one loader and libc loaded by the program. */ @@ -93,7 +123,7 @@ do_test (void) while (fgets (buffer, array_length (buffer), out) != NULL) { /* Ignore vDSO. */ - if (buffer[0] != '/') + if (buffer[0] != '/') continue; /* Remove newline so baseline (buffer) can compare against the @@ -128,7 +158,9 @@ do_test (void) } support_capture_subprocess_free (&pldd); - support_process_terminate (&target); + if (kill (*target_pid_ptr, SIGKILL) != 0) + FAIL_EXIT1 ("Unable to kill target_process: errno=%d=%m\n", errno); + xmunmap (target_pid_ptr, sizeof (pid_t)); return 0; } diff --git a/elf/tst-prelink.c b/elf/tst-prelink.c index 918e2baac1..4738f79c27 100644 --- a/elf/tst-prelink.c +++ b/elf/tst-prelink.c @@ -1,6 +1,6 @@ /* Test the output from the environment variable, LD_TRACE_PRELINKING, for prelink. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/elf/tst-protected1a.c b/elf/tst-protected1a.c index 86c0bc1389..01073975b5 100644 --- a/elf/tst-protected1a.c +++ b/elf/tst-protected1a.c @@ -7,7 +7,7 @@ 4. Symbol, protected2, defined in main, is used in main. 5. Symbol, protected3, defined in moda, is also used in main. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file must be compiled as PIE to avoid copy relocation when accessing protected symbols defined in shared libaries since copy diff --git a/elf/tst-protected1b.c b/elf/tst-protected1b.c index 4ea9ca6f00..f063569e94 100644 --- a/elf/tst-protected1b.c +++ b/elf/tst-protected1b.c @@ -7,7 +7,7 @@ 4. Symbol, protected2, defined in main, is used in main. 5. Symbol, protected3, defined in modb, is also used in main. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file must be compiled as PIE to avoid copy relocation when accessing protected symbols defined in shared libaries since copy diff --git a/elf/tst-protected1mod.h b/elf/tst-protected1mod.h index 98c1bf7e03..91d16fb12a 100644 --- a/elf/tst-protected1mod.h +++ b/elf/tst-protected1mod.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2015-2019 Free Software Foundation, Inc. +/* Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Prototypes for the functions in the DSOs. */ extern int protected1; diff --git a/elf/tst-protected1moda.c b/elf/tst-protected1moda.c index 86b346d17e..c3266a1c07 100644 --- a/elf/tst-protected1moda.c +++ b/elf/tst-protected1moda.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2015-2019 Free Software Foundation, Inc. +/* Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "tst-protected1mod.h" diff --git a/elf/tst-protected1modb.c b/elf/tst-protected1modb.c index 61645756e2..ef9ed0cffe 100644 --- a/elf/tst-protected1modb.c +++ b/elf/tst-protected1modb.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2015-2019 Free Software Foundation, Inc. +/* Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include "tst-protected1mod.h" diff --git a/elf/tst-ptrguard1.c b/elf/tst-ptrguard1.c index c2c16d8a98..5b361d769d 100644 --- a/elf/tst-ptrguard1.c +++ b/elf/tst-ptrguard1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2013-2019 Free Software Foundation, Inc. +/* Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-rtld-load-self.sh b/elf/tst-rtld-load-self.sh index 5afcec7216..1fbc39e21c 100755 --- a/elf/tst-rtld-load-self.sh +++ b/elf/tst-rtld-load-self.sh @@ -1,6 +1,6 @@ #!/bin/sh # Test how rtld loads itself. -# Copyright (C) 2012-2019 Free Software Foundation, Inc. +# Copyright (C) 2012-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . set -e diff --git a/elf/tst-rtld-preload.sh b/elf/tst-rtld-preload.sh index f0c0ca11ba..190d35c2ea 100755 --- a/elf/tst-rtld-preload.sh +++ b/elf/tst-rtld-preload.sh @@ -1,6 +1,6 @@ #!/bin/sh # Test --preload argument ld.so. -# Copyright (C) 2019 Free Software Foundation, Inc. +# Copyright (C) 2019-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # # The GNU C Library is free software; you can redistribute it and/or @@ -15,23 +15,22 @@ # # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . set -e rtld=$1 test_program=$2 -test_wrapper=$3 -test_wrapper_env=$4 -run_program_env=$5 -library_path=$6 -preload=$7 +test_wrapper_env=$3 +run_program_env=$4 +library_path=$5 +preload=$6 -echo "# [${test_wrapper}] [$rtld] [--library-path] [$library_path]" \ - "[--preload] [$preload] [$test_program]" +echo "# [${test_wrapper_env}] [${run_program_env}] [$rtld] [--library-path]" \ + "[$library_path] [--preload] [$preload] [$test_program]" ${test_wrapper_env} \ ${run_program_env} \ -${test_wrapper} $rtld --library-path "$library_path" \ +$rtld --library-path "$library_path" \ --preload "$preload" $test_program 2>&1 && rc=0 || rc=$? echo "# exit status $rc" diff --git a/elf/tst-single_threaded-mod1.c b/elf/tst-single_threaded-mod1.c new file mode 100644 index 0000000000..a66de65679 --- /dev/null +++ b/elf/tst-single_threaded-mod1.c @@ -0,0 +1,25 @@ +/* Test support for single-thread optimizations. Shared object 1. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +_Bool +single_threaded_1 (void) +{ + return __libc_single_threaded; +} diff --git a/elf/tst-single_threaded-mod2.c b/elf/tst-single_threaded-mod2.c new file mode 100644 index 0000000000..74d1e2a6f4 --- /dev/null +++ b/elf/tst-single_threaded-mod2.c @@ -0,0 +1,25 @@ +/* Test support for single-thread optimizations. Shared object 2. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +_Bool +single_threaded_2 (void) +{ + return __libc_single_threaded; +} diff --git a/elf/tst-single_threaded-mod3.c b/elf/tst-single_threaded-mod3.c new file mode 100644 index 0000000000..ac5e49cfa5 --- /dev/null +++ b/elf/tst-single_threaded-mod3.c @@ -0,0 +1,25 @@ +/* Test support for single-thread optimizations. Shared object 3. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +_Bool +single_threaded_3 (void) +{ + return __libc_single_threaded; +} diff --git a/elf/tst-single_threaded-mod4.c b/elf/tst-single_threaded-mod4.c new file mode 100644 index 0000000000..9f3a8ecef1 --- /dev/null +++ b/elf/tst-single_threaded-mod4.c @@ -0,0 +1,25 @@ +/* Test support for single-thread optimizations. Shared object 4. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +_Bool +single_threaded_4 (void) +{ + return __libc_single_threaded; +} diff --git a/elf/tst-single_threaded-pthread-static.c b/elf/tst-single_threaded-pthread-static.c new file mode 100644 index 0000000000..9f383a0191 --- /dev/null +++ b/elf/tst-single_threaded-pthread-static.c @@ -0,0 +1,86 @@ +/* Test support for single-thread optimizations. With threads, static version. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This test is a stripped-down version of + tst-single_threaded-pthread.c, without any loading of dynamic + objects. */ + +#include +#include +#include +#include + +/* First barrier synchronizes main thread, thread 1, thread 2. */ +static pthread_barrier_t barrier1; + +/* Second barrier synchronizes main thread, thread 2. */ +static pthread_barrier_t barrier2; + +static void * +threadfunc (void *closure) +{ + TEST_VERIFY (!__libc_single_threaded); + + /* Wait for the main thread and the other thread. */ + xpthread_barrier_wait (&barrier1); + TEST_VERIFY (!__libc_single_threaded); + + /* Second thread waits on second barrier, too. */ + if (closure != NULL) + xpthread_barrier_wait (&barrier2); + TEST_VERIFY (!__libc_single_threaded); + + return NULL; +} + +static int +do_test (void) +{ + TEST_VERIFY (__libc_single_threaded); + + /* Two threads plus main thread. */ + xpthread_barrier_init (&barrier1, NULL, 3); + + /* Main thread and second thread. */ + xpthread_barrier_init (&barrier2, NULL, 2); + + pthread_t thr1 = xpthread_create (NULL, threadfunc, NULL); + TEST_VERIFY (!__libc_single_threaded); + + pthread_t thr2 = xpthread_create (NULL, threadfunc, &thr2); + TEST_VERIFY (!__libc_single_threaded); + + xpthread_barrier_wait (&barrier1); + TEST_VERIFY (!__libc_single_threaded); + + /* Join first thread. This should not bring us back into + single-threaded mode. */ + xpthread_join (thr1); + TEST_VERIFY (!__libc_single_threaded); + + /* We may be back in single-threaded mode after joining both + threads, but this is not guaranteed. */ + xpthread_barrier_wait (&barrier2); + xpthread_join (thr2); + printf ("info: __libc_single_threaded after joining all threads: %d\n", + __libc_single_threaded); + + return 0; +} + +#include diff --git a/elf/tst-single_threaded-pthread.c b/elf/tst-single_threaded-pthread.c new file mode 100644 index 0000000000..b7112b03c1 --- /dev/null +++ b/elf/tst-single_threaded-pthread.c @@ -0,0 +1,174 @@ +/* Test support for single-thread optimizations. With threads. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include +#include +#include + +/* First barrier synchronizes main thread, thread 1, thread 2. */ +static pthread_barrier_t barrier1; + +/* Second barrier synchronizes main thread, thread 2. */ +static pthread_barrier_t barrier2; + +/* Defined in tst-single-threaded-mod1.so. */ +_Bool single_threaded_1 (void); + +/* Initialized via dlsym. */ +static _Bool (*single_threaded_2) (void); +static _Bool (*single_threaded_3) (void); +static _Bool (*single_threaded_4) (void); + +static void * +threadfunc (void *closure) +{ + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + + /* Wait until the main thread loads more functions. */ + xpthread_barrier_wait (&barrier1); + + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + TEST_VERIFY (!single_threaded_3 ()); + TEST_VERIFY (!single_threaded_4 ()); + + /* Second thread waits on second barrier, too. */ + if (closure != NULL) + xpthread_barrier_wait (&barrier2); + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + TEST_VERIFY (!single_threaded_3 ()); + TEST_VERIFY (!single_threaded_4 ()); + + return NULL; +} + +/* Used for closure arguments to the subprocess function. */ +static char expected_false = 0; +static char expected_true = 1; + +/* A subprocess inherits currently inherits the single-threaded state + of the parent process. */ +static void +subprocess (void *closure) +{ + const char *expected = closure; + TEST_COMPARE (__libc_single_threaded, *expected); + TEST_COMPARE (single_threaded_1 (), *expected); + if (single_threaded_2 != NULL) + TEST_COMPARE (single_threaded_2 (), *expected); + if (single_threaded_3 != NULL) + TEST_COMPARE (single_threaded_3 (), *expected); + if (single_threaded_4 != NULL) + TEST_VERIFY (!single_threaded_4 ()); +} + +static int +do_test (void) +{ + printf ("info: main __libc_single_threaded address: %p\n", + &__libc_single_threaded); + TEST_VERIFY (__libc_single_threaded); + TEST_VERIFY (single_threaded_1 ()); + support_isolate_in_subprocess (subprocess, &expected_true); + + void *handle_mod2 = xdlopen ("tst-single_threaded-mod2.so", RTLD_LAZY); + single_threaded_2 = xdlsym (handle_mod2, "single_threaded_2"); + TEST_VERIFY (single_threaded_2 ()); + + /* Two threads plus main thread. */ + xpthread_barrier_init (&barrier1, NULL, 3); + + /* Main thread and second thread. */ + xpthread_barrier_init (&barrier2, NULL, 2); + + pthread_t thr1 = xpthread_create (NULL, threadfunc, NULL); + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + support_isolate_in_subprocess (subprocess, &expected_false); + + pthread_t thr2 = xpthread_create (NULL, threadfunc, &thr2); + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + support_isolate_in_subprocess (subprocess, &expected_false); + + /* Delayed library load, while already multi-threaded. */ + void *handle_mod3 = xdlopen ("tst-single_threaded-mod3.so", RTLD_LAZY); + single_threaded_3 = xdlsym (handle_mod3, "single_threaded_3"); + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + TEST_VERIFY (!single_threaded_3 ()); + support_isolate_in_subprocess (subprocess, &expected_false); + + /* Same with dlmopen. */ + void *handle_mod4 = dlmopen (LM_ID_NEWLM, "tst-single_threaded-mod4.so", + RTLD_LAZY); + single_threaded_4 = xdlsym (handle_mod4, "single_threaded_4"); + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + TEST_VERIFY (!single_threaded_3 ()); + TEST_VERIFY (!single_threaded_4 ()); + support_isolate_in_subprocess (subprocess, &expected_false); + + /* Run the newly loaded functions from the other threads as + well. */ + xpthread_barrier_wait (&barrier1); + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + TEST_VERIFY (!single_threaded_3 ()); + TEST_VERIFY (!single_threaded_4 ()); + support_isolate_in_subprocess (subprocess, &expected_false); + + /* Join first thread. This should not bring us back into + single-threaded mode. */ + xpthread_join (thr1); + TEST_VERIFY (!__libc_single_threaded); + TEST_VERIFY (!single_threaded_1 ()); + TEST_VERIFY (!single_threaded_2 ()); + TEST_VERIFY (!single_threaded_3 ()); + TEST_VERIFY (!single_threaded_4 ()); + support_isolate_in_subprocess (subprocess, &expected_false); + + /* We may be back in single-threaded mode after joining both + threads, but this is not guaranteed. */ + xpthread_barrier_wait (&barrier2); + xpthread_join (thr2); + printf ("info: __libc_single_threaded after joining all threads: %d\n", + __libc_single_threaded); + + xdlclose (handle_mod4); + xdlclose (handle_mod3); + xdlclose (handle_mod2); + + return 0; +} + +#include diff --git a/elf/tst-single_threaded-static-dlopen.c b/elf/tst-single_threaded-static-dlopen.c new file mode 100644 index 0000000000..f33588312d --- /dev/null +++ b/elf/tst-single_threaded-static-dlopen.c @@ -0,0 +1,57 @@ +/* Test support for single-thread optimizations. No threads, static dlopen. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* In a static dlopen scenario, the single-threaded optimization is + not possible because their is no globally shared dynamic linker + across all namespaces. */ + +#include +#include +#include +#include + +static int +do_test (void) +{ + TEST_VERIFY (__libc_single_threaded); + + /* Defined in tst-single-threaded-mod1.o. */ + extern _Bool single_threaded_1 (void); + TEST_VERIFY (single_threaded_1 ()); + + /* A failed dlopen does not change the multi-threaded status. */ + TEST_VERIFY (dlopen ("tst-single_threaded-does-not-exist.so", RTLD_LAZY) + == NULL); + TEST_VERIFY (__libc_single_threaded); + TEST_VERIFY (single_threaded_1 ()); + + /* And neither does a successful dlopen for outer (static) libc. */ + void *handle_mod2 = xdlopen ("tst-single_threaded-mod2.so", RTLD_LAZY); + _Bool (*single_threaded_2) (void) + = xdlsym (handle_mod2, "single_threaded_2"); + TEST_VERIFY (__libc_single_threaded); + TEST_VERIFY (single_threaded_1 ()); + /* The inner libc always assumes multi-threaded use. */ + TEST_VERIFY (!single_threaded_2 ()); + + xdlclose (handle_mod2); + + return 0; +} + +#include diff --git a/elf/tst-single_threaded-static.c b/elf/tst-single_threaded-static.c new file mode 100644 index 0000000000..593da8866d --- /dev/null +++ b/elf/tst-single_threaded-static.c @@ -0,0 +1,29 @@ +/* Test support for single-thread optimizations. Static, no threads. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +static int +do_test (void) +{ + TEST_VERIFY (__libc_single_threaded); + return 0; +} + +#include diff --git a/elf/tst-single_threaded.c b/elf/tst-single_threaded.c new file mode 100644 index 0000000000..2c36342779 --- /dev/null +++ b/elf/tst-single_threaded.c @@ -0,0 +1,70 @@ +/* Test support for single-thread optimizations. No threads. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include +#include + +/* Defined in tst-single-threaded-mod1.so. */ +extern _Bool single_threaded_1 (void); + +/* Initialized via dlsym. */ +_Bool (*single_threaded_2) (void); +_Bool (*single_threaded_3) (void); + +static void +subprocess (void *closure) +{ + TEST_VERIFY (__libc_single_threaded); + TEST_VERIFY (single_threaded_1 ()); + if (single_threaded_2 != NULL) + TEST_VERIFY (single_threaded_2 ()); + if (single_threaded_3 != NULL) + TEST_VERIFY (!single_threaded_3 ()); +} + +static int +do_test (void) +{ + TEST_VERIFY (__libc_single_threaded); + TEST_VERIFY (single_threaded_1 ()); + support_isolate_in_subprocess (subprocess, NULL); + + void *handle_mod2 = xdlopen ("tst-single_threaded-mod2.so", RTLD_LAZY); + single_threaded_2 = xdlsym (handle_mod2, "single_threaded_2"); + TEST_VERIFY (single_threaded_2 ()); + support_isolate_in_subprocess (subprocess, NULL); + + /* The current implementation treats the inner namespace as + multi-threaded. */ + void *handle_mod3 = dlmopen (LM_ID_NEWLM, "tst-single_threaded-mod3.so", + RTLD_LAZY); + single_threaded_3 = xdlsym (handle_mod3, "single_threaded_3"); + TEST_VERIFY (!single_threaded_3 ()); + support_isolate_in_subprocess (subprocess, NULL); + + xdlclose (handle_mod3); + xdlclose (handle_mod2); + + return 0; +} + +#include diff --git a/elf/tst-sonamemove-dlopen.c b/elf/tst-sonamemove-dlopen.c index c496705044..453fbfbe51 100644 --- a/elf/tst-sonamemove-dlopen.c +++ b/elf/tst-sonamemove-dlopen.c @@ -1,5 +1,5 @@ /* Check that a moved versioned symbol can be found using dlsym, dlvsym. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-sonamemove-link.c b/elf/tst-sonamemove-link.c index 4bc3bf32f8..d9f56ec607 100644 --- a/elf/tst-sonamemove-link.c +++ b/elf/tst-sonamemove-link.c @@ -1,5 +1,5 @@ /* Check that a versioned symbol can move from one library to another. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* At link time, moved_function is bound to the symbol version SONAME_MOVE in tst-sonamemove-runmod1.so, using the diff --git a/elf/tst-sonamemove-linkmod1.c b/elf/tst-sonamemove-linkmod1.c index b8a354e5e3..72ce1df988 100644 --- a/elf/tst-sonamemove-linkmod1.c +++ b/elf/tst-sonamemove-linkmod1.c @@ -1,5 +1,5 @@ /* Link interface for (lack of) soname matching in versioned symbol refs. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This function moved from tst-sonamemove-runmod1.so. This module is intended for linking only, to simulate an old application which was diff --git a/elf/tst-sonamemove-runmod1.c b/elf/tst-sonamemove-runmod1.c index 5c409e2289..fea0f5e009 100644 --- a/elf/tst-sonamemove-runmod1.c +++ b/elf/tst-sonamemove-runmod1.c @@ -1,5 +1,5 @@ /* Run-time module whose moved_function moved to a library dependency. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Dummy function to add the required symbol version. */ void diff --git a/elf/tst-sonamemove-runmod2.c b/elf/tst-sonamemove-runmod2.c index b5e482eff5..3fdee25d12 100644 --- a/elf/tst-sonamemove-runmod2.c +++ b/elf/tst-sonamemove-runmod2.c @@ -1,5 +1,5 @@ /* Run-time module with the actual implementation of moved_function. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* In the test scenario, this function was originally in tst-sonamemove-runmod1.so. */ diff --git a/elf/tst-stackguard1.c b/elf/tst-stackguard1.c index 8a8e4719d6..481850a991 100644 --- a/elf/tst-stackguard1.c +++ b/elf/tst-stackguard1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2005. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-tls-ie-dlmopen.c b/elf/tst-tls-ie-dlmopen.c new file mode 100644 index 0000000000..c7b5c688e3 --- /dev/null +++ b/elf/tst-tls-ie-dlmopen.c @@ -0,0 +1,112 @@ +/* Test dlopen of modules with initial-exec TLS after dlmopen. + Copyright (C) 2016-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This test tries to check that surplus static TLS is not used up for + dynamic TLS optimizations and 4*144 = 576 bytes of static TLS is + still available for dlopening modules with initial-exec TLS after 3 + new dlmopen namespaces are created. It depends on rtld.nns=4 and + rtld.optional_static_tls=512 tunable settings. */ + +#include +#include +#include +#include +#include + +static int do_test (void); +#include +#include +#include +#include + +/* Have some big TLS in the main exe: should not use surplus TLS. */ +__thread char maintls[1000]; + +static pthread_barrier_t barrier; + +/* Forces multi-threaded behaviour. */ +static void * +blocked_thread_func (void *closure) +{ + xpthread_barrier_wait (&barrier); + /* TLS load and access tests run here in the main thread. */ + xpthread_barrier_wait (&barrier); + return NULL; +} + +static void * +load_and_access (Lmid_t lmid, const char *mod, const char *func) +{ + /* Load module with TLS. */ + void *p = xdlmopen (lmid, mod, RTLD_NOW); + /* Access the TLS variable to ensure it is allocated. */ + void (*f) (void) = (void (*) (void))xdlsym (p, func); + f (); + return p; +} + +static int +do_test (void) +{ + void *mods[5]; + + { + int ret = pthread_barrier_init (&barrier, NULL, 2); + if (ret != 0) + { + errno = ret; + printf ("error: pthread_barrier_init: %m\n"); + exit (1); + } + } + + pthread_t blocked_thread = xpthread_create (NULL, blocked_thread_func, NULL); + xpthread_barrier_wait (&barrier); + + printf ("maintls[%zu]:\t %p .. %p\n", + sizeof maintls, maintls, maintls + sizeof maintls); + memset (maintls, 1, sizeof maintls); + + /* Load modules with dynamic TLS (use surplus static TLS for libc + in new namespaces and may be for TLS optimizations too). */ + mods[0] = load_and_access (LM_ID_BASE, "tst-tls-ie-mod0.so", "access0"); + mods[1] = load_and_access (LM_ID_NEWLM, "tst-tls-ie-mod1.so", "access1"); + mods[2] = load_and_access (LM_ID_NEWLM, "tst-tls-ie-mod2.so", "access2"); + mods[3] = load_and_access (LM_ID_NEWLM, "tst-tls-ie-mod3.so", "access3"); + /* Load modules with initial-exec TLS (can only use surplus static TLS). */ + mods[4] = load_and_access (LM_ID_BASE, "tst-tls-ie-mod6.so", "access6"); + + /* Here 576 bytes + 3 * libc use of surplus static TLS is in use so less + than 1024 bytes are available (exact number depends on TLS optimizations + and the libc TLS use). */ + printf ("The next dlmopen should fail...\n"); + void *p = dlmopen (LM_ID_BASE, "tst-tls-ie-mod4.so", RTLD_NOW); + if (p != NULL) + FAIL_EXIT1 ("error: expected dlmopen to fail because there is " + "not enough surplus static TLS.\n"); + printf ("...OK failed with: %s.\n", dlerror ()); + + xpthread_barrier_wait (&barrier); + xpthread_join (blocked_thread); + + /* Close the modules. */ + for (int i = 0; i < 5; ++i) + xdlclose (mods[i]); + + return 0; +} diff --git a/elf/tst-tls-ie-mod.h b/elf/tst-tls-ie-mod.h new file mode 100644 index 0000000000..46b362a9b7 --- /dev/null +++ b/elf/tst-tls-ie-mod.h @@ -0,0 +1,40 @@ +/* Module with specified TLS size and model. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This file is parameterized by macros N, SIZE and MODEL. */ + +#include +#include + +#define CONCATX(x, y) x ## y +#define CONCAT(x, y) CONCATX (x, y) +#define STRX(x) #x +#define STR(x) STRX (x) + +#define VAR CONCAT (var, N) + +__attribute__ ((aligned (8), tls_model (MODEL))) +__thread char VAR[SIZE]; + +void +CONCAT (access, N) (void) +{ + printf (STR (VAR) "[%d]:\t %p .. %p " MODEL "\n", SIZE, VAR, VAR + SIZE); + fflush (stdout); + memset (VAR, 1, SIZE); +} diff --git a/elf/tst-tls-ie-mod0.c b/elf/tst-tls-ie-mod0.c new file mode 100644 index 0000000000..2450686e40 --- /dev/null +++ b/elf/tst-tls-ie-mod0.c @@ -0,0 +1,4 @@ +#define N 0 +#define SIZE 480 +#define MODEL "global-dynamic" +#include "tst-tls-ie-mod.h" diff --git a/elf/tst-tls-ie-mod1.c b/elf/tst-tls-ie-mod1.c new file mode 100644 index 0000000000..849ff91e53 --- /dev/null +++ b/elf/tst-tls-ie-mod1.c @@ -0,0 +1,4 @@ +#define N 1 +#define SIZE 120 +#define MODEL "global-dynamic" +#include "tst-tls-ie-mod.h" diff --git a/elf/tst-tls-ie-mod2.c b/elf/tst-tls-ie-mod2.c new file mode 100644 index 0000000000..23915ab67b --- /dev/null +++ b/elf/tst-tls-ie-mod2.c @@ -0,0 +1,4 @@ +#define N 2 +#define SIZE 24 +#define MODEL "global-dynamic" +#include "tst-tls-ie-mod.h" diff --git a/elf/tst-tls-ie-mod3.c b/elf/tst-tls-ie-mod3.c new file mode 100644 index 0000000000..5395f844a5 --- /dev/null +++ b/elf/tst-tls-ie-mod3.c @@ -0,0 +1,4 @@ +#define N 3 +#define SIZE 16 +#define MODEL "global-dynamic" +#include "tst-tls-ie-mod.h" diff --git a/elf/tst-tls-ie-mod4.c b/elf/tst-tls-ie-mod4.c new file mode 100644 index 0000000000..93ac2eacae --- /dev/null +++ b/elf/tst-tls-ie-mod4.c @@ -0,0 +1,4 @@ +#define N 4 +#define SIZE 1024 +#define MODEL "initial-exec" +#include "tst-tls-ie-mod.h" diff --git a/elf/tst-tls-ie-mod5.c b/elf/tst-tls-ie-mod5.c new file mode 100644 index 0000000000..84b3fd285b --- /dev/null +++ b/elf/tst-tls-ie-mod5.c @@ -0,0 +1,4 @@ +#define N 5 +#define SIZE 128 +#define MODEL "initial-exec" +#include "tst-tls-ie-mod.h" diff --git a/elf/tst-tls-ie-mod6.c b/elf/tst-tls-ie-mod6.c new file mode 100644 index 0000000000..c736bf0684 --- /dev/null +++ b/elf/tst-tls-ie-mod6.c @@ -0,0 +1,4 @@ +#define N 6 +#define SIZE 576 +#define MODEL "initial-exec" +#include "tst-tls-ie-mod.h" diff --git a/elf/tst-tls-ie.c b/elf/tst-tls-ie.c new file mode 100644 index 0000000000..2dc0894480 --- /dev/null +++ b/elf/tst-tls-ie.c @@ -0,0 +1,111 @@ +/* Test dlopen of modules with initial-exec TLS. + Copyright (C) 2016-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This test tries to check that surplus static TLS is not used up for + dynamic TLS optimizations and 3*192 + 4*144 = 1152 bytes of static + TLS is available for dlopening modules with initial-exec TLS. It + depends on rtld.nns=4 and rtld.optional_static_tls=512 tunable setting. */ + +#include +#include +#include +#include +#include + +static int do_test (void); +#include +#include +#include +#include + +/* Have some big TLS in the main exe: should not use surplus TLS. */ +__thread char maintls[1000]; + +static pthread_barrier_t barrier; + +/* Forces multi-threaded behaviour. */ +static void * +blocked_thread_func (void *closure) +{ + xpthread_barrier_wait (&barrier); + /* TLS load and access tests run here in the main thread. */ + xpthread_barrier_wait (&barrier); + return NULL; +} + +static void * +load_and_access (const char *mod, const char *func) +{ + /* Load module with TLS. */ + void *p = xdlopen (mod, RTLD_NOW); + /* Access the TLS variable to ensure it is allocated. */ + void (*f) (void) = (void (*) (void))xdlsym (p, func); + f (); + return p; +} + +static int +do_test (void) +{ + void *mods[6]; + + { + int ret = pthread_barrier_init (&barrier, NULL, 2); + if (ret != 0) + { + errno = ret; + printf ("error: pthread_barrier_init: %m\n"); + exit (1); + } + } + + pthread_t blocked_thread = xpthread_create (NULL, blocked_thread_func, NULL); + xpthread_barrier_wait (&barrier); + + printf ("maintls[%zu]:\t %p .. %p\n", + sizeof maintls, maintls, maintls + sizeof maintls); + memset (maintls, 1, sizeof maintls); + + /* Load modules with dynamic TLS (may use surplus static TLS + opportunistically). */ + mods[0] = load_and_access ("tst-tls-ie-mod0.so", "access0"); + mods[1] = load_and_access ("tst-tls-ie-mod1.so", "access1"); + mods[2] = load_and_access ("tst-tls-ie-mod2.so", "access2"); + mods[3] = load_and_access ("tst-tls-ie-mod3.so", "access3"); + /* Load modules with initial-exec TLS (can only use surplus static TLS). */ + mods[4] = load_and_access ("tst-tls-ie-mod4.so", "access4"); + mods[5] = load_and_access ("tst-tls-ie-mod5.so", "access5"); + + /* Here 1152 bytes of surplus static TLS is in use and at most 512 bytes + are available (depending on TLS optimizations). */ + printf ("The next dlopen should fail...\n"); + void *p = dlopen ("tst-tls-ie-mod6.so", RTLD_NOW); + if (p != NULL) + FAIL_EXIT1 ("error: expected dlopen to fail because there is " + "not enough surplus static TLS.\n"); + printf ("...OK failed with: %s.\n", dlerror ()); + + xpthread_barrier_wait (&barrier); + xpthread_join (blocked_thread); + + /* Close the modules. */ + for (int i = 0; i < 6; ++i) + xdlclose (mods[i]); + + return 0; +} diff --git a/elf/tst-tls-manydynamic.c b/elf/tst-tls-manydynamic.c index 752f66e633..563e142dd0 100644 --- a/elf/tst-tls-manydynamic.c +++ b/elf/tst-tls-manydynamic.c @@ -1,5 +1,5 @@ /* Test with many dynamic TLS variables. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This test intends to exercise dynamic TLS variable allocation. It achieves this by combining dlopen (to avoid static TLS allocation diff --git a/elf/tst-tls-manydynamic.h b/elf/tst-tls-manydynamic.h index 2709c3b7f3..73ea9fab13 100644 --- a/elf/tst-tls-manydynamic.h +++ b/elf/tst-tls-manydynamic.h @@ -1,5 +1,5 @@ /* Interfaces for test with many dynamic TLS variables. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef TST_TLS_MANYDYNAMIC_H #define TST_TLS_MANYDYNAMIC_H diff --git a/elf/tst-tls-manydynamicmod.c b/elf/tst-tls-manydynamicmod.c index 7f64e8349d..3ee6fb8355 100644 --- a/elf/tst-tls-manydynamicmod.c +++ b/elf/tst-tls-manydynamicmod.c @@ -1,5 +1,5 @@ /* Module for test with many dynamic TLS variables. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file is parameterized by macros NAME, SETTER, GETTER, which are set form the Makefile. */ diff --git a/elf/tst-tls-surplus.c b/elf/tst-tls-surplus.c new file mode 100644 index 0000000000..b0dea0b5ee --- /dev/null +++ b/elf/tst-tls-surplus.c @@ -0,0 +1,42 @@ +/* Test size of the static TLS surplus reservation for backwards compatibility. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +static int do_test (void); +#include + +/* This hack results in a definition of struct rtld_global_ro. Do + this after all the other header inclusions, to minimize the + impact. */ +#define SHARED +#include + +static +int do_test (void) +{ + /* Avoid introducing a copy relocation due to the hidden alias in + ld.so. */ + struct rtld_global_ro *glro = xdlsym (NULL, "_rtld_global_ro"); + printf ("info: _dl_tls_static_surplus: %zu\n", glro->_dl_tls_static_surplus); + /* Hisoric value: 16 * 100 + 64. */ + TEST_VERIFY (glro->_dl_tls_static_surplus >= 1664); + return 0; +} diff --git a/elf/tst-tlsalign-extern.c b/elf/tst-tlsalign-extern.c index 6d695a6f72..d1f8701668 100644 --- a/elf/tst-tlsalign-extern.c +++ b/elf/tst-tlsalign-extern.c @@ -1,5 +1,5 @@ /* Test for large alignment in TLS blocks (extern case), BZ#18383. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-tlsalign.c b/elf/tst-tlsalign.c index 10681361e8..fc0a56e420 100644 --- a/elf/tst-tlsalign.c +++ b/elf/tst-tlsalign.c @@ -1,5 +1,5 @@ /* Test for large alignment in TLS blocks, BZ#18383. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-unwind-ctor-lib.c b/elf/tst-unwind-ctor-lib.c index fbafc863cc..6618533b01 100644 --- a/elf/tst-unwind-ctor-lib.c +++ b/elf/tst-unwind-ctor-lib.c @@ -1,5 +1,5 @@ /* Unit test for _Unwind_Backtrace in a shared object constructor. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/tst-unwind-ctor.c b/elf/tst-unwind-ctor.c index 8d48ce7011..15ec726cc0 100644 --- a/elf/tst-unwind-ctor.c +++ b/elf/tst-unwind-ctor.c @@ -1,5 +1,5 @@ /* Unit test for _Unwind_Backtrace in a shared object constructor. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ extern void dummy (void); diff --git a/elf/tst-unwind-main.c b/elf/tst-unwind-main.c index 0c345dc31f..7c1ff9ed1d 100644 --- a/elf/tst-unwind-main.c +++ b/elf/tst-unwind-main.c @@ -1,5 +1,5 @@ /* Test unwinding through main. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/elf/vismain.c b/elf/vismain.c index e6bdab9980..63b511f966 100644 --- a/elf/vismain.c +++ b/elf/vismain.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file must be compiled as PIE to avoid copy relocation when accessing protected symbols defined in shared libaries since copy diff --git a/elf/vismod1.c b/elf/vismod1.c index dd328d6fa1..58f71deacf 100644 --- a/elf/vismod1.c +++ b/elf/vismod1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "vismod.h" diff --git a/elf/vismod2.c b/elf/vismod2.c index 8c274236c4..972b35c12c 100644 --- a/elf/vismod2.c +++ b/elf/vismod2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include "vismod.h" diff --git a/elf/vismod3.c b/elf/vismod3.c index c700567c92..d9888a7f8f 100644 --- a/elf/vismod3.c +++ b/elf/vismod3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "vismod.h" diff --git a/gmon/Makefile b/gmon/Makefile index 178a36be61..43d116e51f 100644 --- a/gmon/Makefile +++ b/gmon/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1995-2019 Free Software Foundation, Inc. +# Copyright (C) 1995-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Sub-makefile for gmon portion of the library. diff --git a/gmon/Versions b/gmon/Versions index d0b63334f2..cc705bd978 100644 --- a/gmon/Versions +++ b/gmon/Versions @@ -19,4 +19,6 @@ libc { GLIBC_2.2.3 { sprofil; } + GLIBC_2.31 { + } } diff --git a/gmon/profil.c b/gmon/profil.c index d4f00ae83e..7431873aa6 100644 --- a/gmon/profil.c +++ b/gmon/profil.c @@ -1,5 +1,5 @@ /* Low-level statistical profiling support function. Stub version. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/gmon/sprofil.c b/gmon/sprofil.c index 8d787e6e7f..4978b9f296 100644 --- a/gmon/sprofil.c +++ b/gmon/sprofil.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. Contributed by David Mosberger-Tang . This file is part of the GNU C Library. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/gmon/sys/gmon_out.h b/gmon/sys/gmon_out.h index 417c6c8c04..b8d013f2e4 100644 --- a/gmon/sys/gmon_out.h +++ b/gmon/sys/gmon_out.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger . @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file specifies the format of gmon.out files. It should have as few external dependencies as possible as it is going to be included diff --git a/gmon/sys/profil.h b/gmon/sys/profil.h index ba99ac8634..9f71e6d081 100644 --- a/gmon/sys/profil.h +++ b/gmon/sys/profil.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _PROFIL_H #define _PROFIL_H 1 diff --git a/gmon/tst-gmon-gprof.sh b/gmon/tst-gmon-gprof.sh index fe2d9f2a17..90313a5b02 100644 --- a/gmon/tst-gmon-gprof.sh +++ b/gmon/tst-gmon-gprof.sh @@ -1,6 +1,6 @@ #!/bin/sh # Check the output of gprof against a carfully crafted binary. -# Copyright (C) 2017-2019 Free Software Foundation, Inc. +# Copyright (C) 2017-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . LC_ALL=C export LC_ALL diff --git a/gmon/tst-gmon-static-gprof.sh b/gmon/tst-gmon-static-gprof.sh index a8ab263d1e..c5511d94f0 100644 --- a/gmon/tst-gmon-static-gprof.sh +++ b/gmon/tst-gmon-static-gprof.sh @@ -1,6 +1,6 @@ #!/bin/sh # Check the output of gprof against a carfully crafted static binary. -# Copyright (C) 2017-2019 Free Software Foundation, Inc. +# Copyright (C) 2017-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . LC_ALL=C export LC_ALL diff --git a/gmon/tst-gmon.c b/gmon/tst-gmon.c index 7649e27e20..9aeedeedaf 100644 --- a/gmon/tst-gmon.c +++ b/gmon/tst-gmon.c @@ -1,5 +1,5 @@ /* Test program for profiling information collection (_mcount/gprof). - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This program does not use the test harness because we want tight control over the call graph. */ diff --git a/gmon/tst-sprofil.c b/gmon/tst-sprofil.c index 3f7f909cba..6663a97caf 100644 --- a/gmon/tst-sprofil.c +++ b/gmon/tst-sprofil.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger-Tang . @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/gnulib/Makefile b/gnulib/Makefile index fc4a9c1425..fc4c3bcb49 100644 --- a/gnulib/Makefile +++ b/gnulib/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . subdir := gnulib diff --git a/gnulib/tst-gcc.c b/gnulib/tst-gcc.c index fbefc57363..1d981a1191 100644 --- a/gnulib/tst-gcc.c +++ b/gnulib/tst-gcc.c @@ -1,5 +1,5 @@ /* Test program for the gcc interface. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper . @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/grp/Makefile b/grp/Makefile index 94297bb734..34fceb628f 100644 --- a/grp/Makefile +++ b/grp/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Sub-makefile for grp portion of the library. diff --git a/grp/fgetgrent.c b/grp/fgetgrent.c index 68f7b6fc42..fc0bd526ab 100644 --- a/grp/fgetgrent.c +++ b/grp/fgetgrent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/grp/fgetgrent_r.c b/grp/fgetgrent_r.c index f701f5fd2f..b598584830 100644 --- a/grp/fgetgrent_r.c +++ b/grp/fgetgrent_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,17 +13,13 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include #include #include -#include -#define flockfile(s) _IO_flockfile (s) -#define funlockfile(s) _IO_funlockfile (s) - /* Define a line parsing function using the common code used in the nss_files module. */ @@ -59,49 +55,11 @@ int __fgetgrent_r (FILE *stream, struct group *resbuf, char *buffer, size_t buflen, struct group **result) { - char *p; - int parse_result; - - flockfile (stream); - do - { - buffer[buflen - 1] = '\xff'; - p = fgets_unlocked (buffer, buflen, stream); - if (__builtin_expect (p == NULL, 0) && feof_unlocked (stream)) - { - funlockfile (stream); - *result = NULL; - __set_errno (ENOENT); - return errno; - } - if (__builtin_expect (p == NULL, 0) || buffer[buflen - 1] != '\xff') - { - funlockfile (stream); - *result = NULL; - __set_errno (ERANGE); - return errno; - } - - /* Skip leading blanks. */ - while (isspace (*p)) - ++p; - } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */ - /* Parse the line. If it is invalid, loop to - get the next line of the file to parse. */ - || ! (parse_result = parse_line (p, resbuf, - (void *) buffer, buflen, - &errno))); - - funlockfile (stream); - - if (__builtin_expect (parse_result, 0) == -1) - { - /* The parser ran out of space. */ - *result = NULL; - return errno; - } - - *result = resbuf; - return 0; + int ret = __nss_fgetent_r (stream, resbuf, buffer, buflen, parse_line); + if (ret == 0) + *result = resbuf; + else + *result = NULL; + return ret; } weak_alias (__fgetgrent_r, fgetgrent_r) diff --git a/grp/getgrent.c b/grp/getgrent.c index 57b23d8b1b..e758ccadf6 100644 --- a/grp/getgrent.c +++ b/grp/getgrent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/grp/getgrent_r.c b/grp/getgrent_r.c index d80d489192..49529c790d 100644 --- a/grp/getgrent_r.c +++ b/grp/getgrent_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/grp/getgrgid.c b/grp/getgrgid.c index b23f431935..e87b2fcdbe 100644 --- a/grp/getgrgid.c +++ b/grp/getgrgid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/grp/getgrgid_r.c b/grp/getgrgid_r.c index eb0e53bca8..7c740c7bac 100644 --- a/grp/getgrgid_r.c +++ b/grp/getgrgid_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/grp/getgrnam.c b/grp/getgrnam.c index 03a9a6a0eb..afa12f9d72 100644 --- a/grp/getgrnam.c +++ b/grp/getgrnam.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/grp/getgrnam_r.c b/grp/getgrnam_r.c index 28614a8065..7f80c573c5 100644 --- a/grp/getgrnam_r.c +++ b/grp/getgrnam_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/grp/grp-merge.c b/grp/grp-merge.c index 8227d52ea5..77f5c0c371 100644 --- a/grp/grp-merge.c +++ b/grp/grp-merge.c @@ -1,5 +1,5 @@ /* Group merging implementation. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/grp/grp-merge.h b/grp/grp-merge.h index d483ea2bf1..b6fc2583d1 100644 --- a/grp/grp-merge.h +++ b/grp/grp-merge.h @@ -1,5 +1,5 @@ /* Group merging implementation. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GRP_MERGE_H #define _GRP_MERGE_H 1 diff --git a/grp/grp.h b/grp/grp.h index 0663c8f83c..396ef05885 100644 --- a/grp/grp.h +++ b/grp/grp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * POSIX Standard: 9.2.1 Group Database Access diff --git a/grp/initgroups.c b/grp/initgroups.c index a22f33c934..0c17141117 100644 --- a/grp/initgroups.c +++ b/grp/initgroups.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1989, 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -31,12 +31,6 @@ #include "../nscd/nscd-client.h" #include "../nscd/nscd_proto.h" -#ifdef LINK_OBSOLETE_NSL -# define DEFAULT_CONFIG "compat [NOTFOUND=return] files" -#else -# define DEFAULT_CONFIG "files" -#endif - /* Type of the lookup function. */ typedef enum nss_status (*initgroups_dyn_function) (const char *, gid_t, long int *, long int *, @@ -83,7 +77,7 @@ internal_getgrouplist (const char *user, gid_t group, long int *size, &__nss_initgroups_database) < 0) { if (__nss_group_database == NULL) - no_more = __nss_database_lookup2 ("group", NULL, DEFAULT_CONFIG, + no_more = __nss_database_lookup2 ("group", NULL, "files", &__nss_group_database); __nss_initgroups_database = __nss_group_database; diff --git a/grp/putgrent.c b/grp/putgrent.c index 60d45a2d6c..7d10b8ec02 100644 --- a/grp/putgrent.c +++ b/grp/putgrent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/grp/setgroups.c b/grp/setgroups.c index b89eda1c18..f5b3e1b8d3 100644 --- a/grp/setgroups.c +++ b/grp/setgroups.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/grp/tst-putgrent.c b/grp/tst-putgrent.c index e0a226256a..3bc254f934 100644 --- a/grp/tst-putgrent.c +++ b/grp/tst-putgrent.c @@ -1,5 +1,5 @@ /* Test for processing of invalid group entries. [BZ #18724] - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/grp/tst_fgetgrent.c b/grp/tst_fgetgrent.c index abab04e08c..fc97e42de1 100644 --- a/grp/tst_fgetgrent.c +++ b/grp/tst_fgetgrent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 1999. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/grp/tst_fgetgrent.sh b/grp/tst_fgetgrent.sh index 315d58521b..d0bf84f878 100644 --- a/grp/tst_fgetgrent.sh +++ b/grp/tst_fgetgrent.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 1999-2019 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Andreas Jaeger , 1999. @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . set -e diff --git a/gshadow/Makefile b/gshadow/Makefile index edf298e777..32faf7a534 100644 --- a/gshadow/Makefile +++ b/gshadow/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2019 Free Software Foundation, Inc. +# Copyright (C) 2009-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Makefile for gshadow. @@ -26,7 +26,7 @@ headers = gshadow.h routines = getsgent getsgnam sgetsgent fgetsgent putsgent \ getsgent_r getsgnam_r sgetsgent_r fgetsgent_r -tests = tst-gshadow tst-putsgent +tests = tst-gshadow tst-putsgent tst-fgetsgent_r CFLAGS-getsgent_r.c += -fexceptions CFLAGS-getsgent.c += -fexceptions diff --git a/gshadow/fgetsgent.c b/gshadow/fgetsgent.c index 46c206c8eb..881611f83a 100644 --- a/gshadow/fgetsgent.c +++ b/gshadow/fgetsgent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/gshadow/fgetsgent_r.c b/gshadow/fgetsgent_r.c index 19a663f048..218206b4ac 100644 --- a/gshadow/fgetsgent_r.c +++ b/gshadow/fgetsgent_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -36,40 +36,11 @@ int __fgetsgent_r (FILE *stream, struct sgrp *resbuf, char *buffer, size_t buflen, struct sgrp **result) { - char *p; - - _IO_flockfile (stream); - do - { - buffer[buflen - 1] = '\xff'; - p = fgets_unlocked (buffer, buflen, stream); - if (p == NULL && feof_unlocked (stream)) - { - _IO_funlockfile (stream); - *result = NULL; - __set_errno (ENOENT); - return errno; - } - if (p == NULL || buffer[buflen - 1] != '\xff') - { - _IO_funlockfile (stream); - *result = NULL; - __set_errno (ERANGE); - return errno; - } - - /* Skip leading blanks. */ - while (isspace (*p)) - ++p; - } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */ - /* Parse the line. If it is invalid, loop to - get the next line of the file to parse. */ - || ! parse_line (buffer, (void *) resbuf, (void *) buffer, buflen, - &errno)); - - _IO_funlockfile (stream); - - *result = resbuf; - return 0; + int ret = __nss_fgetent_r (stream, resbuf, buffer, buflen, parse_line); + if (ret == 0) + *result = resbuf; + else + *result = NULL; + return ret; } weak_alias (__fgetsgent_r, fgetsgent_r) diff --git a/gshadow/getsgent.c b/gshadow/getsgent.c index 8f080f0b60..c85f2e4a2a 100644 --- a/gshadow/getsgent.c +++ b/gshadow/getsgent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2009. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/gshadow/getsgent_r.c b/gshadow/getsgent_r.c index e3ac1e58db..b61ecde4ac 100644 --- a/gshadow/getsgent_r.c +++ b/gshadow/getsgent_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2009. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/gshadow/getsgnam.c b/gshadow/getsgnam.c index c7ff58cafe..e246d487fe 100644 --- a/gshadow/getsgnam.c +++ b/gshadow/getsgnam.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2009. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/gshadow/getsgnam_r.c b/gshadow/getsgnam_r.c index 936e5942b8..3ab0c72215 100644 --- a/gshadow/getsgnam_r.c +++ b/gshadow/getsgnam_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2009. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/gshadow/gshadow.h b/gshadow/gshadow.h index c1998083e6..9bcb473ce5 100644 --- a/gshadow/gshadow.h +++ b/gshadow/gshadow.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Declaration of types and functions for shadow group suite. */ diff --git a/gshadow/putsgent.c b/gshadow/putsgent.c index 46a06dbba3..03cd8e1561 100644 --- a/gshadow/putsgent.c +++ b/gshadow/putsgent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/gshadow/sgetsgent.c b/gshadow/sgetsgent.c index 2cb02edc61..1ca81bd857 100644 --- a/gshadow/sgetsgent.c +++ b/gshadow/sgetsgent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/gshadow/sgetsgent_r.c b/gshadow/sgetsgent_r.c index 53e6b7d887..89a6c41ef7 100644 --- a/gshadow/sgetsgent_r.c +++ b/gshadow/sgetsgent_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2019 Free Software Foundation, Inc. +/* Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/gshadow/tst-fgetsgent_r.c b/gshadow/tst-fgetsgent_r.c new file mode 100644 index 0000000000..f81e09b362 --- /dev/null +++ b/gshadow/tst-fgetsgent_r.c @@ -0,0 +1,192 @@ +/* Test for fgetsgent_r and buffer sizes. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Turn a parsed struct back into a line string. The returned string + should be freed. */ +static char * +format_ent (const struct sgrp *e) +{ + struct xmemstream stream; + xopen_memstream (&stream); + TEST_COMPARE (putsgent (e, stream.out), 0); + xfclose_memstream (&stream); + return stream.buffer; +} + +/* An entry in the input file along with the expected output. */ +struct input +{ + const char *line; /* Line in the file. */ + const char *expected; /* Expected output. NULL if skipped. */ +}; + +const struct input inputs[] = + { + /* Regular entries. */ + { "g1:x1::\n", "g1:x1::\n" }, + { "g2:x2:a1:\n", "g2:x2:a1:\n" }, + { "g3:x3:a2:u1\n", "g3:x3:a2:u1\n" }, + { "g4:x4:a3,a4:u2,u3,u4\n", "g4:x4:a3,a4:u2,u3,u4\n" }, + + /* Comments and empty lines. */ + { "\n", NULL }, + { " \n", NULL }, + { "\t\n", NULL }, + { "#g:x::\n", NULL }, + { " #g:x::\n", NULL }, + { "\t#g:x::\n", NULL }, + { " \t#g:x::\n", NULL }, + + /* Marker for synchronization. */ + { "g5:x5::\n", "g5:x5::\n" }, + + /* Leading whitespace. */ + { " g6:x6::\n", "g6:x6::\n" }, + { "\tg7:x7::\n", "g7:x7::\n" }, + + /* This is expected to trigger buffer exhaustion during parsing + (bug 20338). */ + { + "g8:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:u5,u6,u7,u8,u9:\n", + "g8:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:u5,u6,u7,u8,u9:\n", + }, + { + "g9:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx::a5,a6,a7,a8,a9,a10\n", + "g9:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx::a5,a6,a7,a8,a9,a10\n", + }, + }; + +/* Writes the test data to a temporary file and returns its name. The + returned pointer should be freed. */ +static char * +create_test_file (void) +{ + char *path; + int fd = create_temp_file ("tst-fgetsgent_r-", &path); + FILE *fp = fdopen (fd, "w"); + TEST_VERIFY_EXIT (fp != NULL); + + for (size_t i = 0; i < array_length (inputs); ++i) + fputs (inputs[i].line, fp); + + xfclose (fp); + return path; +} + +/* Read the test file with the indicated start buffer size. Return + true if the buffer size had to be increased during reading. */ +static bool +run_test (const char *path, size_t buffer_size) +{ + bool resized = false; + FILE *fp = xfopen (path, "r"); + + /* This avoids repeated lseek system calls (bug 26257). */ + TEST_COMPARE (fseeko64 (fp, 0, SEEK_SET), 0); + + size_t i = 0; + while (true) + { + /* Skip over unused expected entries. */ + while (i < array_length (inputs) && inputs[i].expected == NULL) + ++i; + + /* Store the data on the heap, to help valgrind to detect + invalid accesses. */ + struct sgrp *result_storage = xmalloc (sizeof (*result_storage)); + char *buffer = xmalloc (buffer_size); + struct sgrp **result_pointer_storage + = xmalloc (sizeof (*result_pointer_storage)); + + int ret = fgetsgent_r (fp, result_storage, buffer, buffer_size, + result_pointer_storage); + if (ret == 0) + { + TEST_VERIFY (*result_pointer_storage != NULL); + TEST_VERIFY (i < array_length (inputs)); + if (*result_pointer_storage != NULL + && i < array_length (inputs)) + { + char * actual = format_ent (*result_pointer_storage); + TEST_COMPARE_STRING (inputs[i].expected, actual); + free (actual); + ++i; + } + else + break; + } + else + { + TEST_VERIFY (*result_pointer_storage == NULL); + TEST_COMPARE (ret, errno); + + if (ret == ENOENT) + { + TEST_COMPARE (i, array_length (inputs)); + free (result_pointer_storage); + free (buffer); + free (result_storage); + break; + } + else if (ret == ERANGE) + { + resized = true; + ++buffer_size; + } + else + FAIL_EXIT1 ("read failure: %m"); + } + + free (result_pointer_storage); + free (buffer); + free (result_storage); + } + + xfclose (fp); + return resized; +} + +static int +do_test (void) +{ + char *path = create_test_file (); + + for (size_t buffer_size = 3; ; ++buffer_size) + { + bool resized = run_test (path, buffer_size); + if (!resized) + break; + } + + free (path); + + return 0; +} + +#include diff --git a/gshadow/tst-putsgent.c b/gshadow/tst-putsgent.c index 69464834d0..3f5545f430 100644 --- a/gshadow/tst-putsgent.c +++ b/gshadow/tst-putsgent.c @@ -1,5 +1,5 @@ /* Test for processing of invalid gshadow entries. [BZ #18724] - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hesiod/Makefile b/hesiod/Makefile index 6fb81ef323..8bf0e3a90a 100644 --- a/hesiod/Makefile +++ b/hesiod/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1997-2019 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Sub-makefile for hesiod portion of the library. diff --git a/hesiod/hesiod.c b/hesiod/hesiod.c index 6b5ebdb33f..80bcd5c8da 100644 --- a/hesiod/hesiod.c +++ b/hesiod/hesiod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * Copyright (c) 1996,1999 by Internet Software Consortium. diff --git a/hesiod/hesiod.h b/hesiod/hesiod.h index 814b0b4006..5f2510cfcf 100644 --- a/hesiod/hesiod.h +++ b/hesiod/hesiod.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * Copyright (c) 1996,1999 by Internet Software Consortium. diff --git a/hesiod/hesiod_p.h b/hesiod/hesiod_p.h index d87bb188c7..e1ff0b754c 100644 --- a/hesiod/hesiod_p.h +++ b/hesiod/hesiod_p.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * Copyright (c) 1996,1999 by Internet Software Consortium. diff --git a/hesiod/nss_hesiod/hesiod-grp.c b/hesiod/nss_hesiod/hesiod-grp.c index db073563af..158d4f02d8 100644 --- a/hesiod/nss_hesiod/hesiod-grp.c +++ b/hesiod/nss_hesiod/hesiod-grp.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Mark Kettenis , 1997. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -26,6 +26,8 @@ #include #include +NSS_DECLARE_MODULE_FUNCTIONS (hesiod) + /* Get the declaration of the parser function. */ #define ENTNAME grent #define STRUCTURE group diff --git a/hesiod/nss_hesiod/hesiod-proto.c b/hesiod/nss_hesiod/hesiod-proto.c index 5c6649278e..03f4fa2131 100644 --- a/hesiod/nss_hesiod/hesiod-proto.c +++ b/hesiod/nss_hesiod/hesiod-proto.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Mark Kettenis , 1997. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -25,6 +25,8 @@ #include #include +NSS_DECLARE_MODULE_FUNCTIONS (hesiod) + /* Declare a parser for Hesiod protocol entries. Although the format of the entries is identical to those in /etc/protocols, here is no predefined parser for us to use. */ diff --git a/hesiod/nss_hesiod/hesiod-pwd.c b/hesiod/nss_hesiod/hesiod-pwd.c index 19d939136b..36ca3d1a19 100644 --- a/hesiod/nss_hesiod/hesiod-pwd.c +++ b/hesiod/nss_hesiod/hesiod-pwd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Mark Kettenis , 1997. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -24,6 +24,8 @@ #include #include +NSS_DECLARE_MODULE_FUNCTIONS (hesiod) + /* Get the declaration of the parser function. */ #define ENTNAME pwent #define STRUCTURE passwd diff --git a/hesiod/nss_hesiod/hesiod-service.c b/hesiod/nss_hesiod/hesiod-service.c index b85898e86e..ce93fd3d8f 100644 --- a/hesiod/nss_hesiod/hesiod-service.c +++ b/hesiod/nss_hesiod/hesiod-service.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Mark Kettenis , 1997. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -25,6 +25,8 @@ #include #include +NSS_DECLARE_MODULE_FUNCTIONS (hesiod) + /* Hesiod uses a format for service entries that differs from the traditional format. We therefore declare our own parser. */ diff --git a/htl/Makefile b/htl/Makefile index 4d1b51cea9..326a920fb3 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 1994-2019 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # # The GNU C Library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . subdir := htl @@ -61,7 +61,6 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate \ pt-testcancel \ pt-cancel \ \ - pt-mutexattr \ pt-mutexattr-destroy pt-mutexattr-init \ pt-mutexattr-getprioceiling pt-mutexattr-getprotocol \ pt-mutexattr-getpshared pt-mutexattr-gettype \ @@ -69,7 +68,7 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate \ pt-mutexattr-setpshared pt-mutexattr-settype \ pt-mutexattr-getrobust pt-mutexattr-setrobust \ \ - pt-mutex-init pt-mutex-destroy \ + pt-mutex-init pt-mutex-destroy pt-mutex-checklocked \ pt-mutex-lock pt-mutex-trylock pt-mutex-timedlock \ pt-mutex-unlock \ pt-mutex-transfer-np \ @@ -109,6 +108,8 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate \ \ pt-block \ pt-timedblock \ + pt-block-intr \ + pt-timedblock-intr \ pt-wakeup \ pt-docancel \ pt-sysdep \ @@ -120,7 +121,6 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate \ pt-sigstate-destroy \ pt-sigstate \ \ - pt-atfork \ old_pt-atfork \ pt-kill \ pt-getcpuclockid \ @@ -134,11 +134,11 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate \ \ shm-directory \ \ + cancellation \ cthreads-compat \ + herrno \ $(SYSDEPS) -libpthread-static-only-routines = pt-atfork - headers := \ pthread.h \ semaphore.h \ @@ -166,12 +166,14 @@ headers := \ distribute := -routines := forward libc_pthread_init alloca_cutoff +routines := forward libc_pthread_init alloca_cutoff register-atfork pt-atfork shared-only-routines = forward +static-only-routines = pt-atfork extra-libs := libpthread extra-libs-others := $(extra-libs) install-lib := libpthread.so +install-lib-ldscripts := libpthread_syms.a include ../Makeconfig @@ -179,7 +181,7 @@ CFLAGS-lockfile.c = -D_IO_MTSAFE_IO all: # Make this the default target; it will be defined in Rules. -subdir_install: $(inst_libdir)/libpthread2.a +subdir_install: $(inst_libdir)/libpthread2.a $(inst_libdir)/libpthread_syms.a # XXX: If $(inst_libdir)/libpthread2.a is installed and # $(inst_libdir)/libpthread is not, we can have some issues. @@ -197,41 +199,30 @@ $(inst_libdir)/libpthread2_pic.a: $(inst_libdir)/libpthread_pic.a mv $< $@ $(INSTALL_DATA) $(srcdir)/libpthread_pic.a $< +$(inst_libdir)/libpthread_syms.a: $(srcdir)/libpthread_syms.a $(+force) + $(do-install) + libc-link.so = $(common-objpfx)libc.so extra-B-pthread.so = -B$(common-objpfx)htl/ +LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst include ../Rules -ifeq (yes,$(build-shared)) -# What we install as libpthread.so for programs to link against is in fact a -# link script. It contains references for the various libraries we need. -# The libpthread.so object is not complete since some functions are only -# defined in libpthread_nonshared.a. -# We need to use absolute paths since otherwise local copies (if they exist) -# of the files are taken by the linker. -install: $(inst_libdir)/libpthread.so - -$(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \ - $(objpfx)libpthread.so$(libpthread.so-version) \ - $(inst_libdir)/$(patsubst %,$(libtype.oS),\ - $(libprefix)pthread) \ - $(+force) - (echo '/* GNU ld script';\ - echo ' Use the shared library, but some functions are only in';\ - echo ' the static library, so try that secondarily. */';\ - cat $<; \ - echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \ - '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\ - ')' \ - ) > $@.new - mv -f $@.new $@ - +# Make sure we link with the thread library. +ifeq ($(build-shared),yes) $(addprefix $(objpfx), \ $(filter-out $(tests-static) $(xtests-static) $(tests-reverse) \ $(tests-nolibpthread), \ - $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \ - $(objpfx)libpthread_nonshared.a + $(tests) $(tests-internal) $(xtests) $(test-srcs) $(tests-container))): \ + $(objpfx)libpthread.so +$(objpfx)tst-unload: $(libdl) +# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so, +# since otherwise libpthread.so comes before libc.so when linking. +$(addprefix $(objpfx), $(tests-reverse)): \ + $(objpfx)../libc.so $(objpfx)libpthread.so +$(objpfx)../libc.so: $(common-objpfx)libc.so ; +$(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(srcdir)/libpthread_syms.a $(objpfx)libpthread.a +else +$(addprefix $(objpfx),$(tests) $(test-srcs)): $(srcdir)/libpthread_syms.a $(objpfx)libpthread.a endif - -generated += libpthread_nonshared.a diff --git a/htl/Versions b/htl/Versions index c5a616da10..832cc5d814 100644 --- a/htl/Versions +++ b/htl/Versions @@ -20,27 +20,29 @@ libc { GLIBC_2.22 { __register_atfork; } + + # C11 thread symbols. + GLIBC_2.32 { + thrd_current; thrd_equal; thrd_sleep; thrd_yield; + } + GLIBC_PRIVATE { __libc_alloca_cutoff; __libc_pthread_init; + __pthread_cleanup_stack; } } libpthread { GLIBC_2.2.6 { _IO_flockfile; _IO_ftrylockfile; _IO_funlockfile; + __errno_location; __h_errno_location; } GLIBC_2.12 { - __pthread_errorcheck_mutexattr; __pthread_recursive_mutexattr; - __pthread_get_cleanup_stack; __pthread_mutex_transfer_np; - _pthread_mutex_destroy; _pthread_mutex_init; - _pthread_mutex_lock; _pthread_mutex_trylock; _pthread_mutex_unlock; - _pthread_rwlock_destroy; _pthread_rwlock_init; - _cthread_init_routine; cthread_detach; @@ -141,6 +143,30 @@ libpthread { pthread_hurd_cond_wait_np; pthread_hurd_cond_timedwait_np; } + + GLIBC_2.32 { + # C11 thread symbols. + thrd_create; thrd_detach; thrd_exit; thrd_join; + mtx_init; mtx_lock; mtx_timedlock; mtx_trylock; mtx_unlock; mtx_destroy; + call_once; + cnd_broadcast; cnd_destroy; cnd_init; cnd_signal; cnd_timedwait; cnd_wait; + tss_create; tss_delete; tss_get; tss_set; + + pthread_cond_clockwait; + + pthread_mutexattr_getrobust; pthread_mutexattr_getrobust_np; + pthread_mutexattr_setrobust; pthread_mutexattr_setrobust_np; + + pthread_mutex_consistent; pthread_mutex_consistent_np; + pthread_mutex_clocklock; + + pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock; + + pthread_tryjoin_np; pthread_timedjoin_np; pthread_clockjoin_np; + + sem_clockwait; + } + GLIBC_PRIVATE { __shm_directory; __pthread_threads; @@ -154,5 +180,13 @@ libpthread { __pthread_setspecific; __pthread_getattr_np; __pthread_attr_getstack; + __pthread_mutex_init; + __pthread_mutex_destroy; + __pthread_mutex_timedlock; + __pthread_enable_asynccancel; + __pthread_disable_asynccancel; + + _pthread_mutex_lock; _pthread_mutex_trylock; _pthread_mutex_unlock; + _pthread_rwlock_destroy; _pthread_rwlock_init; } } diff --git a/htl/alloca_cutoff.c b/htl/alloca_cutoff.c index 25c6d216b4..08ac09392f 100644 --- a/htl/alloca_cutoff.c +++ b/htl/alloca_cutoff.c @@ -1,5 +1,5 @@ /* Allocate a new thread structure. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/htl/cancellation.c b/htl/cancellation.c new file mode 100644 index 0000000000..598f911d91 --- /dev/null +++ b/htl/cancellation.c @@ -0,0 +1,45 @@ +/* Set the cancel type during blocking calls. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + +int __pthread_enable_asynccancel (void) +{ + struct __pthread *p = _pthread_self (); + int oldtype; + + __pthread_mutex_lock (&p->cancel_lock); + oldtype = p->cancel_type; + p->cancel_type = PTHREAD_CANCEL_ASYNCHRONOUS; + __pthread_mutex_unlock (&p->cancel_lock); + + __pthread_testcancel (); + + return oldtype; +} + +void __pthread_disable_asynccancel (int oldtype) +{ + struct __pthread *p = _pthread_self (); + + __pthread_mutex_lock (&p->cancel_lock); + p->cancel_type = oldtype; + __pthread_mutex_unlock (&p->cancel_lock); +} diff --git a/htl/cthreads-compat.c b/htl/cthreads-compat.c index 10cbc8e786..3668770828 100644 --- a/htl/cthreads-compat.c +++ b/htl/cthreads-compat.c @@ -1,5 +1,5 @@ /* Compatibility routines for cthreads. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/htl/forward.c b/htl/forward.c index 165dda3990..544e7da058 100644 --- a/htl/forward.c +++ b/htl/forward.c @@ -1,5 +1,5 @@ /* Libc stubs for pthread functions. Hurd pthread version. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -23,6 +23,7 @@ #include #include #include +#include /* Pointers to the libc functions. */ struct pthread_functions __libc_pthread_functions attribute_hidden; @@ -140,144 +141,5 @@ strong_alias (__pthread_setcancelstate, pthread_setcancelstate); FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0) -struct __pthread_cancelation_handler *dummy_list; FORWARD2 (__pthread_get_cleanup_stack, struct __pthread_cancelation_handler **, - (void), (), return &dummy_list); - - -/* Fork interaction */ - -struct atfork -{ - void (*prepare) (void); - void (*parent) (void); - void (*child) (void); - void *dso_handle; - struct atfork *prev; - struct atfork *next; -}; - -/* TODO: better locking */ -__libc_lock_define_initialized (static, atfork_lock); -static struct atfork *fork_handlers, *fork_last_handler; - -static void -atfork_pthread_prepare (void) -{ - struct atfork *handlers, *last_handler; - - __libc_lock_lock (atfork_lock); - handlers = fork_handlers; - last_handler = fork_last_handler; - __libc_lock_unlock (atfork_lock); - - if (last_handler == NULL) - return; - - while (1) - { - if (last_handler->prepare != NULL) - last_handler->prepare (); - if (last_handler == handlers) - break; - last_handler = last_handler->prev; - } -} -text_set_element (_hurd_atfork_prepare_hook, atfork_pthread_prepare); - -static void -atfork_pthread_parent (void) -{ - struct atfork *handlers; - - __libc_lock_lock (atfork_lock); - handlers = fork_handlers; - __libc_lock_unlock (atfork_lock); - - while (handlers != NULL) - { - if (handlers->parent != NULL) - handlers->parent (); - handlers = handlers->next; - } -} -text_set_element (_hurd_atfork_parent_hook, atfork_pthread_parent); - -static void -atfork_pthread_child (void) -{ - struct atfork *handlers; - - __libc_lock_lock (atfork_lock); - handlers = fork_handlers; - __libc_lock_unlock (atfork_lock); - - while (handlers != NULL) - { - if (handlers->child != NULL) - handlers->child (); - handlers = handlers->next; - } -} -text_set_element (_hurd_atfork_child_hook, atfork_pthread_child); - -int -__register_atfork (void (*prepare) (void), - void (*parent) (void), - void (*child) (void), - void *dso_handle) -{ - struct atfork *new = malloc (sizeof (*new)); - if (new == NULL) - return errno; - - new->prepare = prepare; - new->parent = parent; - new->child = child; - new->dso_handle = dso_handle; - new->prev = NULL; - - __libc_lock_lock (atfork_lock); - new->next = fork_handlers; - if (fork_handlers != NULL) - fork_handlers->prev = new; - fork_handlers = new; - if (fork_last_handler == NULL) - fork_last_handler = new; - __libc_lock_unlock (atfork_lock); - - return 0; -} -libc_hidden_def (__register_atfork) - -void -__unregister_atfork (void *dso_handle) -{ - struct atfork **handlers, *prev = NULL, *next; - __libc_lock_lock (atfork_lock); - handlers = &fork_handlers; - while (*handlers != NULL) - { - if ((*handlers)->dso_handle == dso_handle) - { - /* Drop this handler from the list. */ - if (*handlers == fork_last_handler) - { - /* Was last, new last is prev, if any. */ - fork_last_handler = prev; - } - - next = (*handlers)->next; - if (next != NULL) - next->prev = prev; - *handlers = next; - } - else - { - /* Just proceed to next handler. */ - prev = *handlers; - handlers = &prev->next; - } - } - __libc_lock_unlock (atfork_lock); -} + (void), (), return &__pthread_cleanup_stack); diff --git a/htl/herrno.c b/htl/herrno.c new file mode 100644 index 0000000000..66174a03e9 --- /dev/null +++ b/htl/herrno.c @@ -0,0 +1,34 @@ +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#undef h_errno + +#include + +/* We need to have the error status variable of the resolver + accessible in the libc. */ +extern __thread int __h_errno; + + +/* When threaded, h_errno may be a per-thread variable. */ +int * +__h_errno_location (void) +{ + return &__h_errno; +} diff --git a/htl/libc_pthread_init.c b/htl/libc_pthread_init.c index 6afefba4a1..f617c4e0be 100644 --- a/htl/libc_pthread_init.c +++ b/htl/libc_pthread_init.c @@ -1,5 +1,5 @@ /* libc initialization for libpthread. Hurd pthread version. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,11 +14,13 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include +__thread struct __pthread_cancelation_handler *__pthread_cleanup_stack; + void __libc_pthread_init (const struct pthread_functions *functions) { diff --git a/htl/libpthread.a b/htl/libpthread.a index e5bd2cc229..cfc1893b2b 100644 --- a/htl/libpthread.a +++ b/htl/libpthread.a @@ -1,22 +1,2 @@ -/* pthread initializer is weak in glibc. It must be included if glibc - is to start threading. */ -EXTERN(_cthread_init_routine) - -/* Weak references in glibc that must be filled if glibc is to be - thread safe. */ -EXTERN(cthread_detach) -EXTERN(cthread_fork) -EXTERN(cthread_keycreate) -EXTERN(cthread_getspecific) -EXTERN(cthread_setspecific) -EXTERN(__mutex_lock_solid) -EXTERN(__mutex_unlock_solid) -/* For libio stream locking. */ -EXTERN(_cthreads_flockfile) -EXTERN(_cthreads_funlockfile) -EXTERN(_cthreads_ftrylockfile) -/* To get the sigthread stack layout on fork */ -EXTERN(pthread_getattr_np) -EXTERN(pthread_attr_getstack) - +GROUP(-lpthread_syms) GROUP(-lpthread2 -lrt) diff --git a/htl/libpthread_pic.a b/htl/libpthread_pic.a index 33346b4b39..8794ac6dab 100644 --- a/htl/libpthread_pic.a +++ b/htl/libpthread_pic.a @@ -1,22 +1,2 @@ -/* pthread initializer is weak in glibc. It must be included if glibc - is to start threading. */ -EXTERN(_cthread_init_routine) - -/* Weak references in glibc that must be filled if glibc is to be - thread safe. */ -EXTERN(cthread_detach) -EXTERN(cthread_fork) -EXTERN(cthread_keycreate) -EXTERN(cthread_getspecific) -EXTERN(cthread_setspecific) -EXTERN(__mutex_lock_solid) -EXTERN(__mutex_unlock_solid) -/* For libio stream locking. */ -EXTERN(_cthreads_flockfile) -EXTERN(_cthreads_funlockfile) -EXTERN(_cthreads_ftrylockfile) -/* To get the sigthread stack layout on fork */ -EXTERN(pthread_getattr_np) -EXTERN(pthread_attr_getstack) - +GROUP(-lpthread_syms) GROUP(-lpthread2_pic) diff --git a/htl/libpthread_syms.a b/htl/libpthread_syms.a new file mode 100644 index 0000000000..3801ec93c8 --- /dev/null +++ b/htl/libpthread_syms.a @@ -0,0 +1,21 @@ +/* pthread initializer is weak in glibc. It must be included if glibc + is to start threading. */ +EXTERN(_cthread_init_routine) + +/* Weak references in glibc that must be filled if glibc is to be + thread safe. */ +EXTERN(cthread_detach) +EXTERN(cthread_fork) +EXTERN(cthread_keycreate) +EXTERN(cthread_getspecific) +EXTERN(cthread_setspecific) +EXTERN(__mutex_lock_solid) +EXTERN(__mutex_unlock_solid) +/* For libio stream locking. */ +EXTERN(_cthreads_flockfile) +EXTERN(_cthreads_funlockfile) +EXTERN(_cthreads_ftrylockfile) +/* To get the sigthread stack layout on fork */ +EXTERN(pthread_getattr_np) +EXTERN(pthread_attr_getstack) +EXTERN(__pthread_enable_asynccancel) diff --git a/htl/lockfile.c b/htl/lockfile.c index 83c0f1e672..51ed5ef8cc 100644 --- a/htl/lockfile.c +++ b/htl/lockfile.c @@ -1,5 +1,5 @@ /* lockfile - Handle locking and unlocking of streams. Hurd pthread version. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include /* Must come before ! */ diff --git a/htl/pt-alloc.c b/htl/pt-alloc.c index dcf83176a0..bf37aca729 100644 --- a/htl/pt-alloc.c +++ b/htl/pt-alloc.c @@ -1,5 +1,5 @@ /* Allocate a new thread structure. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -65,8 +65,6 @@ initialize_pthread (struct __pthread *new) new->state_lock = (pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER; new->state_cond = (pthread_cond_t) PTHREAD_COND_INITIALIZER; - new->cancelation_handlers = 0; - memset (&new->res_state, '\0', sizeof (new->res_state)); new->tcb = NULL; @@ -212,3 +210,32 @@ __pthread_alloc (struct __pthread **pthread) *pthread = new; return 0; } + +void +attribute_hidden +__pthread_init_static_tls (struct link_map *map) +{ + int i; + + __pthread_rwlock_wrlock (&__pthread_threads_lock); + for (i = 0; i < __pthread_num_threads; ++i) + { + struct __pthread *t = __pthread_threads[i]; + + if (t == NULL) + continue; + +# if TLS_TCB_AT_TP + void *dest = (char *) t->tcb - map->l_tls_offset; +# elif TLS_DTV_AT_TP + void *dest = (char *) t->tcb + map->l_tls_offset + TLS_PRE_TCB_SIZE; +# else +# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined" +# endif + + /* Initialize the memory. */ + memset (__mempcpy (dest, map->l_tls_initimage, map->l_tls_initimage_size), + '\0', map->l_tls_blocksize - map->l_tls_initimage_size); + } + __pthread_rwlock_unlock (&__pthread_threads_lock); +} diff --git a/htl/pt-cancel.c b/htl/pt-cancel.c index cc23f1c794..4c7305c8d8 100644 --- a/htl/pt-cancel.c +++ b/htl/pt-cancel.c @@ -1,5 +1,5 @@ /* Cancel a thread. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/htl/pt-cleanup.c b/htl/pt-cleanup.c index 712d02b992..7e6149bda9 100644 --- a/htl/pt-cleanup.c +++ b/htl/pt-cleanup.c @@ -1,5 +1,5 @@ /* Add a cancelation handler to the stack. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,15 +14,15 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include struct __pthread_cancelation_handler ** -___pthread_get_cleanup_stack (void) +__pthread_get_cleanup_stack (void) { - return &_pthread_self ()->cancelation_handlers; + return &__pthread_cleanup_stack; } -strong_alias (___pthread_get_cleanup_stack, __pthread_get_cleanup_stack) +hidden_def(__pthread_get_cleanup_stack) diff --git a/htl/pt-create.c b/htl/pt-create.c index 4f732001f8..7ac875cbf7 100644 --- a/htl/pt-create.c +++ b/htl/pt-create.c @@ -1,5 +1,5 @@ /* Thread creation. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -59,7 +60,17 @@ entry_point (struct __pthread *self, void *(*start_routine) (void *), void *arg) __pthread_startup (); - __pthread_exit (start_routine (arg)); + if (self->c11) + { + /* The function pointer of the c11 thread start is cast to an incorrect + type on __pthread_create call, however it is casted back to correct + one so the call behavior is well-defined (it is assumed that pointers + to void are able to represent all values of int). */ + int (*start)(void*) = (int (*) (void*)) start_routine; + __pthread_exit ((void*) (uintptr_t) start (arg)); + } + else + __pthread_exit (start_routine (arg)); } /* Create a thread with attributes given by ATTR, executing @@ -79,7 +90,7 @@ __pthread_create (pthread_t * thread, const pthread_attr_t * attr, return err; } -strong_alias (__pthread_create, pthread_create) +weak_alias (__pthread_create, pthread_create) /* Internal version of pthread_create. See comment in pt-internal.h. */ @@ -94,11 +105,23 @@ __pthread_create_internal (struct __pthread **thread, sigset_t sigset; size_t stacksize; + /* Avoid a data race in the multi-threaded case. */ + if (__libc_single_threaded) + __libc_single_threaded = 0; + /* Allocate a new thread structure. */ err = __pthread_alloc (&pthread); if (err) goto failed; + if (attr == ATTR_C11_THREAD) + { + attr = NULL; + pthread->c11 = true; + } + else + pthread->c11 = false; + /* Use the default attributes if ATTR is NULL. */ setup = attr ? attr : &__pthread_default_attr; @@ -178,7 +201,7 @@ __pthread_create_internal (struct __pthread **thread, shall be empty." If the currnet thread is not a pthread then we just inherit the process' sigmask. */ if (__pthread_num_threads == 1) - err = sigprocmask (0, 0, &sigset); + err = __sigprocmask (0, 0, &sigset); else err = __pthread_sigstate (_pthread_self (), 0, 0, &sigset, 0); assert_perror (err); diff --git a/htl/pt-dealloc.c b/htl/pt-dealloc.c index 643a4d6ad8..b42d9bbced 100644 --- a/htl/pt-dealloc.c +++ b/htl/pt-dealloc.c @@ -1,5 +1,5 @@ /* Deallocate a thread structure. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/htl/pt-detach.c b/htl/pt-detach.c index 429183001e..175560667a 100644 --- a/htl/pt-detach.c +++ b/htl/pt-detach.c @@ -1,5 +1,5 @@ /* Detach a thread. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -77,4 +77,4 @@ __pthread_detach (pthread_t thread) return err; } -strong_alias (__pthread_detach, pthread_detach) +weak_alias (__pthread_detach, pthread_detach) diff --git a/htl/pt-exit.c b/htl/pt-exit.c index b429a3f488..18c81d3f9c 100644 --- a/htl/pt-exit.c +++ b/htl/pt-exit.c @@ -1,5 +1,5 @@ /* Thread termination. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -41,7 +41,7 @@ __pthread_exit (void *status) disabled. */ __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate); - for (handlers = ___pthread_get_cleanup_stack (); + for (handlers = __pthread_get_cleanup_stack (); *handlers != NULL; *handlers = (*handlers)->__next) (*handlers)->__handler ((*handlers)->__arg); @@ -109,4 +109,4 @@ __pthread_exit (void *status) abort (); } -strong_alias (__pthread_exit, pthread_exit); +weak_alias (__pthread_exit, pthread_exit); diff --git a/htl/pt-getattr.c b/htl/pt-getattr.c index 33fd87a9fb..dec0c1788b 100644 --- a/htl/pt-getattr.c +++ b/htl/pt-getattr.c @@ -1,5 +1,5 @@ /* Thread attributes retrieval. - Copyright (C) 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2008-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/htl/pt-initialize.c b/htl/pt-initialize.c index 08c9403446..89ed742422 100644 --- a/htl/pt-initialize.c +++ b/htl/pt-initialize.c @@ -1,5 +1,5 @@ /* Initialize pthreads library. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -51,8 +51,8 @@ static const struct pthread_functions pthread_functions = { .ptr___pthread_exit = __pthread_exit, .ptr_pthread_getschedparam = __pthread_getschedparam, .ptr_pthread_setschedparam = __pthread_setschedparam, - .ptr_pthread_mutex_destroy = _pthread_mutex_destroy, - .ptr_pthread_mutex_init = _pthread_mutex_init, + .ptr_pthread_mutex_destroy = __pthread_mutex_destroy, + .ptr_pthread_mutex_init = __pthread_mutex_init, .ptr_pthread_mutex_lock = __pthread_mutex_lock, .ptr_pthread_mutex_trylock = __pthread_mutex_trylock, .ptr_pthread_mutex_unlock = __pthread_mutex_unlock, diff --git a/htl/pt-internal.h b/htl/pt-internal.h index e7151e04f1..e0baa6bcda 100644 --- a/htl/pt-internal.h +++ b/htl/pt-internal.h @@ -1,5 +1,5 @@ /* Internal defenitions for pthreads library. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _PT_INTERNAL_H #define _PT_INTERNAL_H 1 @@ -37,6 +37,8 @@ # include #endif +#include + /* Thread state. */ enum pthread_state { @@ -58,16 +60,6 @@ enum pthread_state # define PTHREAD_SYSDEP_MEMBERS #endif -#if !(IS_IN (libpthread)) -/* Type of the TCB. */ -typedef struct -{ - void *tcb; /* Points to this structure. */ - void *dtv; /* Vector of pointers to TLS data. */ - thread_t self; /* This thread's control port. */ -} tcbhead_t; -#endif /* ! IS_IN (libpthread) */ - /* This structure describes a POSIX thread. */ struct __pthread { @@ -89,7 +81,6 @@ struct __pthread int cancel_state; int cancel_type; int cancel_pending; - struct __pthread_cancelation_handler *cancelation_handlers; /* Thread stack. */ void *stackaddr; @@ -108,6 +99,9 @@ struct __pthread /* Resolver state. */ struct __res_state res_state; + /* Indicates whether is a C11 thread created by thrd_creat. */ + bool c11; + /* Thread context. */ struct pthread_mcontext mcontext; @@ -181,12 +175,14 @@ extern int __pthread_concurrency; brain-dead users of the pthread interface incorrectly assume that 0 is an invalid pthread id.) */ extern struct __pthread **__pthread_threads; +extern int __pthread_max_threads; extern pthread_rwlock_t __pthread_threads_lock; #define __pthread_getid(thread) \ - ({ struct __pthread *__t; \ + ({ struct __pthread *__t = NULL; \ __pthread_rwlock_rdlock (&__pthread_threads_lock); \ - __t = __pthread_threads[thread - 1]; \ + if (thread <= __pthread_max_threads) \ + __t = __pthread_threads[thread - 1]; \ __pthread_rwlock_unlock (&__pthread_threads_lock); \ __t; }) @@ -200,6 +196,9 @@ extern pthread_rwlock_t __pthread_threads_lock; #ifndef _pthread_self extern struct __pthread *_pthread_self (void); #endif + +/* Stores the stack of cleanup handlers for the thread. */ +extern __thread struct __pthread_cancelation_handler *__pthread_cleanup_stack; /* Initialize the pthreads library. */ @@ -273,6 +272,14 @@ extern error_t __pthread_timedblock (struct __pthread *__restrict thread, const struct timespec *__restrict abstime, clockid_t clock_id); +/* Block THREAD with interrupts. */ +extern error_t __pthread_block_intr (struct __pthread *thread); + +/* Block THREAD until *ABSTIME is reached, with interrupts. */ +extern error_t __pthread_timedblock_intr (struct __pthread *__restrict thread, + const struct timespec *__restrict abstime, + clockid_t clock_id); + /* Wakeup THREAD. */ extern void __pthread_wakeup (struct __pthread *thread); @@ -304,17 +311,17 @@ extern error_t __pthread_sigstate (struct __pthread *__restrict thread, int how, const sigset_t *__restrict set, sigset_t *__restrict oset, int clear_pending); + +/* If supported, check that MUTEX is locked by the caller. */ +extern int __pthread_mutex_checklocked (pthread_mutex_t *mtx); /* Default thread attributes. */ -extern const struct __pthread_attr __pthread_default_attr; +extern struct __pthread_attr __pthread_default_attr; /* Default barrier attributes. */ extern const struct __pthread_barrierattr __pthread_default_barrierattr; -/* Default mutex attributes. */ -extern const struct __pthread_mutexattr __pthread_default_mutexattr; - /* Default rdlock attributes. */ extern const struct __pthread_rwlockattr __pthread_default_rwlockattr; diff --git a/htl/pt-join.c b/htl/pt-join.c index e10c3e00de..f3d17dbc65 100644 --- a/htl/pt-join.c +++ b/htl/pt-join.c @@ -1,5 +1,5 @@ /* Wait for thread termination. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -22,12 +22,12 @@ #include -#define __pthread_get_cleanup_stack ___pthread_get_cleanup_stack - /* Make calling thread wait for termination of thread THREAD. Return the exit status of the thread in *STATUS. */ -int -pthread_join (pthread_t thread, void **status) +static int +__pthread_join_common (pthread_t thread, void **status, int try, + clockid_t clockid, + const struct timespec *abstime) { struct __pthread *pthread; int err = 0; @@ -37,19 +37,34 @@ pthread_join (pthread_t thread, void **status) if (pthread == NULL) return ESRCH; + if (pthread == _pthread_self ()) + return EDEADLK; + __pthread_mutex_lock (&pthread->state_lock); - pthread_cleanup_push ((void (*)(void *)) __pthread_mutex_unlock, - &pthread->state_lock); - /* Rely on pthread_cond_wait being a cancellation point to make - pthread_join one too. */ - while (pthread->state == PTHREAD_JOINABLE) - __pthread_cond_wait (&pthread->state_cond, &pthread->state_lock); + if (try == 0) + { + pthread_cleanup_push ((void (*)(void *)) __pthread_mutex_unlock, + &pthread->state_lock); - pthread_cleanup_pop (0); + /* Rely on pthread_cond_wait being a cancellation point to make + pthread_join one too. */ + while (pthread->state == PTHREAD_JOINABLE && err != ETIMEDOUT) + err = __pthread_cond_clockwait (&pthread->state_cond, + &pthread->state_lock, + clockid, abstime); + + pthread_cleanup_pop (0); + } switch (pthread->state) { + case PTHREAD_JOINABLE: + __pthread_mutex_unlock (&pthread->state_lock); + if (err != ETIMEDOUT) + err = EBUSY; + break; + case PTHREAD_EXITED: /* THREAD has already exited. Salvage its exit status. */ if (status != NULL) @@ -75,3 +90,34 @@ pthread_join (pthread_t thread, void **status) return err; } + +int +__pthread_join (pthread_t thread, void **status) +{ + return __pthread_join_common (thread, status, 0, CLOCK_REALTIME, NULL); +} +weak_alias (__pthread_join, pthread_join); + +int +__pthread_tryjoin_np (pthread_t thread, void **status) +{ + return __pthread_join_common (thread, status, 1, CLOCK_REALTIME, NULL); +} +weak_alias (__pthread_tryjoin_np, pthread_tryjoin_np); + +int +__pthread_timedjoin_np (pthread_t thread, void **status, + const struct timespec *abstime) +{ + return __pthread_join_common (thread, status, 0, CLOCK_REALTIME, abstime); +} +weak_alias (__pthread_timedjoin_np, pthread_timedjoin_np); + +int +__pthread_clockjoin_np (pthread_t thread, void **status, + clockid_t clockid, + const struct timespec *abstime) +{ + return __pthread_join_common (thread, status, 0, clockid, abstime); +} +weak_alias (__pthread_clockjoin_np, pthread_clockjoin_np); diff --git a/htl/pt-self.c b/htl/pt-self.c index bb79a9dbba..e2bc1b97a5 100644 --- a/htl/pt-self.c +++ b/htl/pt-self.c @@ -1,5 +1,5 @@ /* Get calling thread's ID. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include @@ -30,4 +30,4 @@ __pthread_self (void) return self->thread; } -strong_alias (__pthread_self, pthread_self); +weak_alias (__pthread_self, pthread_self); diff --git a/htl/pt-setcancelstate.c b/htl/pt-setcancelstate.c index 5b57cb20b9..f23e352d31 100644 --- a/htl/pt-setcancelstate.c +++ b/htl/pt-setcancelstate.c @@ -1,5 +1,5 @@ /* Set the cancel state for the calling thread. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include @@ -43,4 +43,4 @@ __pthread_setcancelstate (int state, int *oldstate) return 0; } -strong_alias (__pthread_setcancelstate, pthread_setcancelstate); +weak_alias (__pthread_setcancelstate, pthread_setcancelstate); diff --git a/htl/pt-setcanceltype.c b/htl/pt-setcanceltype.c index c777ae16e3..cf053ce677 100644 --- a/htl/pt-setcanceltype.c +++ b/htl/pt-setcanceltype.c @@ -1,5 +1,5 @@ /* Set the cancel type for the calling thread. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include @@ -43,4 +43,4 @@ __pthread_setcanceltype (int type, int *oldtype) return 0; } -strong_alias (__pthread_setcanceltype, pthread_setcanceltype); +weak_alias (__pthread_setcanceltype, pthread_setcanceltype); diff --git a/htl/pt-sigmask.c b/htl/pt-sigmask.c index f59e83fa6c..c5ba372f0e 100644 --- a/htl/pt-sigmask.c +++ b/htl/pt-sigmask.c @@ -1,5 +1,5 @@ /* Get or set a thread's signal mask. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/htl/pt-spin-inlines.c b/htl/pt-spin-inlines.c index 8ca20a2c1e..f304deff36 100644 --- a/htl/pt-spin-inlines.c +++ b/htl/pt-spin-inlines.c @@ -1,5 +1,5 @@ /* Spin locks non-inline functions. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* declares some extern inline functions. These functions are declared additionally here for use when inlining is diff --git a/htl/pt-testcancel.c b/htl/pt-testcancel.c index 8809d73916..37326280ee 100644 --- a/htl/pt-testcancel.c +++ b/htl/pt-testcancel.c @@ -1,5 +1,5 @@ /* Add an explicit cancelation point. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include @@ -22,7 +22,7 @@ #include void -pthread_testcancel (void) +__pthread_testcancel (void) { struct __pthread *p = _pthread_self (); int cancelled; @@ -34,3 +34,4 @@ pthread_testcancel (void) if (cancelled) __pthread_exit (PTHREAD_CANCELED); } +strong_alias (__pthread_testcancel, pthread_testcancel) diff --git a/htl/pt-yield.c b/htl/pt-yield.c index c88dac08ea..11aa852ed3 100644 --- a/htl/pt-yield.c +++ b/htl/pt-yield.c @@ -1,5 +1,5 @@ /* Yield the processor to another thread or process. - Copyright (C) 2010-2019 Free Software Foundation, Inc. + Copyright (C) 2010-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -22,5 +22,5 @@ int pthread_yield (void) { - return sched_yield (); + return __sched_yield (); } diff --git a/htl/register-atfork.c b/htl/register-atfork.c new file mode 100644 index 0000000000..4581ac5bba --- /dev/null +++ b/htl/register-atfork.c @@ -0,0 +1,157 @@ +/* Atfork handling. Hurd pthread version. + Copyright (C) 2002-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include + +struct atfork +{ + void (*prepare) (void); + void (*parent) (void); + void (*child) (void); + void *dso_handle; + struct atfork *prev; + struct atfork *next; +}; + +/* TODO: better locking */ +__libc_lock_define_initialized (static, atfork_lock); +static struct atfork *fork_handlers, *fork_last_handler; + +static void +atfork_pthread_prepare (void) +{ + struct atfork *handlers, *last_handler; + + __libc_lock_lock (atfork_lock); + handlers = fork_handlers; + last_handler = fork_last_handler; + __libc_lock_unlock (atfork_lock); + + if (last_handler == NULL) + return; + + while (1) + { + if (last_handler->prepare != NULL) + last_handler->prepare (); + if (last_handler == handlers) + break; + last_handler = last_handler->prev; + } +} +text_set_element (_hurd_atfork_prepare_hook, atfork_pthread_prepare); + +static void +atfork_pthread_parent (void) +{ + struct atfork *handlers; + + __libc_lock_lock (atfork_lock); + handlers = fork_handlers; + __libc_lock_unlock (atfork_lock); + + while (handlers != NULL) + { + if (handlers->parent != NULL) + handlers->parent (); + handlers = handlers->next; + } +} +text_set_element (_hurd_atfork_parent_hook, atfork_pthread_parent); + +static void +atfork_pthread_child (void) +{ + struct atfork *handlers; + + __libc_lock_lock (atfork_lock); + handlers = fork_handlers; + __libc_lock_unlock (atfork_lock); + + while (handlers != NULL) + { + if (handlers->child != NULL) + handlers->child (); + handlers = handlers->next; + } +} +text_set_element (_hurd_atfork_child_hook, atfork_pthread_child); + +int +__register_atfork (void (*prepare) (void), + void (*parent) (void), + void (*child) (void), + void *dso_handle) +{ + struct atfork *new = malloc (sizeof (*new)); + if (new == NULL) + return errno; + + new->prepare = prepare; + new->parent = parent; + new->child = child; + new->dso_handle = dso_handle; + new->next = NULL; + + __libc_lock_lock (atfork_lock); + new->prev = fork_last_handler; + if (fork_last_handler != NULL) + fork_last_handler->next = new; + if (fork_handlers == NULL) + fork_handlers = new; + fork_last_handler = new; + __libc_lock_unlock (atfork_lock); + + return 0; +} +libc_hidden_def (__register_atfork) + +void +__unregister_atfork (void *dso_handle) +{ + struct atfork **handlers, *prev = NULL, *next; + __libc_lock_lock (atfork_lock); + handlers = &fork_handlers; + while (*handlers != NULL) + { + if ((*handlers)->dso_handle == dso_handle) + { + /* Drop this handler from the list. */ + if (*handlers == fork_last_handler) + { + /* Was last, new last is prev, if any. */ + fork_last_handler = prev; + } + + next = (*handlers)->next; + if (next != NULL) + next->prev = prev; + *handlers = next; + } + else + { + /* Just proceed to next handler. */ + prev = *handlers; + handlers = &prev->next; + } + } + __libc_lock_unlock (atfork_lock); +} diff --git a/htl/tests/test-1.c b/htl/tests/test-1.c index 4fd2525c2e..c277e7c08b 100644 --- a/htl/tests/test-1.c +++ b/htl/tests/test-1.c @@ -1,5 +1,5 @@ /* Test mutexes. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-10.c b/htl/tests/test-10.c index 0aa3013233..f3e5644258 100644 --- a/htl/tests/test-10.c +++ b/htl/tests/test-10.c @@ -1,5 +1,5 @@ /* Test error checking mutexes. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-11.c b/htl/tests/test-11.c index 5261d9786b..6c3951a09e 100644 --- a/htl/tests/test-11.c +++ b/htl/tests/test-11.c @@ -1,5 +1,5 @@ /* Test rwlocks. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-12.c b/htl/tests/test-12.c index adf8ff5ff7..a5cb966249 100644 --- a/htl/tests/test-12.c +++ b/htl/tests/test-12.c @@ -1,5 +1,5 @@ /* Test concurrency level. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-13.c b/htl/tests/test-13.c index ffff25e8d3..9e78e27c66 100644 --- a/htl/tests/test-13.c +++ b/htl/tests/test-13.c @@ -1,5 +1,5 @@ /* Test condition attributes and pthread_cond_timedwait. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-14.c b/htl/tests/test-14.c index 2cb317e26a..fff8fe928f 100644 --- a/htl/tests/test-14.c +++ b/htl/tests/test-14.c @@ -1,5 +1,5 @@ /* Test pthread_mutex_timedlock. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-15.c b/htl/tests/test-15.c index 8c35d0ad5f..bac3b746f3 100644 --- a/htl/tests/test-15.c +++ b/htl/tests/test-15.c @@ -1,5 +1,5 @@ /* Test pthread_rwlock_timedrdlock and pthread_rwlock_timedwrlock. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-16.c b/htl/tests/test-16.c index 237c56cc0d..ed6de83f47 100644 --- a/htl/tests/test-16.c +++ b/htl/tests/test-16.c @@ -1,5 +1,5 @@ /* Test pthread_kill.c. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-17.c b/htl/tests/test-17.c index 2b51f38bd9..0ecd367d3f 100644 --- a/htl/tests/test-17.c +++ b/htl/tests/test-17.c @@ -1,6 +1,6 @@ /* Test that the key reuse inside libpthread does not cause thread specific values to persist. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE 1 diff --git a/htl/tests/test-2.c b/htl/tests/test-2.c index 5f3906c73d..11e0458a65 100644 --- a/htl/tests/test-2.c +++ b/htl/tests/test-2.c @@ -1,5 +1,5 @@ /* Test detachability. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-3.c b/htl/tests/test-3.c index 8f4c18ef29..6bbf7a584d 100644 --- a/htl/tests/test-3.c +++ b/htl/tests/test-3.c @@ -1,5 +1,5 @@ /* Test the thread attribute get and set methods. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-4.c b/htl/tests/test-4.c index b3deff56fd..94fb65a1ec 100644 --- a/htl/tests/test-4.c +++ b/htl/tests/test-4.c @@ -1,5 +1,5 @@ /* Test the stack guard. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-5.c b/htl/tests/test-5.c index 8a62cb24dc..cabbdfe480 100644 --- a/htl/tests/test-5.c +++ b/htl/tests/test-5.c @@ -1,5 +1,5 @@ /* Test signals. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-6.c b/htl/tests/test-6.c index 02aa407400..fc13f6da9c 100644 --- a/htl/tests/test-6.c +++ b/htl/tests/test-6.c @@ -1,5 +1,5 @@ /* Test barriers. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-7.c b/htl/tests/test-7.c index 0993e39962..2e4e9d62f7 100644 --- a/htl/tests/test-7.c +++ b/htl/tests/test-7.c @@ -1,5 +1,5 @@ /* Test Thread-Specific Data. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-8.c b/htl/tests/test-8.c index 0cc683774c..d7e547ee96 100644 --- a/htl/tests/test-8.c +++ b/htl/tests/test-8.c @@ -1,5 +1,5 @@ /* Test pthread_once. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-9.c b/htl/tests/test-9.c index 20acc38b6c..5c3fe281d2 100644 --- a/htl/tests/test-9.c +++ b/htl/tests/test-9.c @@ -1,5 +1,5 @@ /* Test recursive mutexes. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/htl/tests/test-__pthread_destroy_specific-skip.c b/htl/tests/test-__pthread_destroy_specific-skip.c index a1f70a47df..6348f577fe 100644 --- a/htl/tests/test-__pthread_destroy_specific-skip.c +++ b/htl/tests/test-__pthread_destroy_specific-skip.c @@ -1,6 +1,6 @@ /* Check that __pthread_destroy_specific works correctly if it has to skip unused slots. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define _GNU_SOURCE diff --git a/hurd/Makefile b/hurd/Makefile index 99d33f9562..861bbf7842 100644 --- a/hurd/Makefile +++ b/hurd/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2019 Free Software Foundation, Inc. +# Copyright (C) 1991-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . subdir := hurd @@ -33,7 +33,8 @@ user-interfaces := $(addprefix hurd/,\ process process_request \ msg msg_reply msg_request \ exec exec_startup crash interrupt \ - fs fsys io term tioctl socket ifsock \ + fs fsys io io_reply io_request \ + term tioctl socket ifsock \ login password pfinet pci \ ) server-interfaces := hurd/msg faultexc @@ -55,7 +56,8 @@ routines = hurdstartup hurdinit \ ports-get ports-set hurdports hurdmsg \ errno-loc \ hurdlock \ - $(sig) $(dtable) $(inlines) port-cleanup report-wait xattr + $(sig) $(dtable) $(inlines) \ + fd-cleanup port-cleanup report-wait xattr sig = hurdsig hurdfault siginfo hurd-raise preempt-sig \ trampoline longjmp-ts catch-exc exc2signal hurdkill sigunwind \ thread-self thread-cancel intr-msg catch-signal diff --git a/hurd/Versions b/hurd/Versions index b6508e03c6..f5e8b8cb32 100644 --- a/hurd/Versions +++ b/hurd/Versions @@ -159,5 +159,12 @@ libc { __lll_abstimed_lock; __lll_robust_lock; __lll_robust_abstimed_lock; __lll_robust_trylock; __lll_robust_unlock; + + # Used by libpthread. + _hurd_sigstate_set_global_rcv; + _hurd_sigstate_lock; + _hurd_sigstate_pending; + _hurd_sigstate_unlock; + _hurd_sigstate_delete; } } diff --git a/hurd/alloc-fd.c b/hurd/alloc-fd.c index 38ac56a9b1..9388c619e0 100644 --- a/hurd/alloc-fd.c +++ b/hurd/alloc-fd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/catch-exc.c b/hurd/catch-exc.c index 78d877faca..cc8bbbc494 100644 --- a/hurd/catch-exc.c +++ b/hurd/catch-exc.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/catch-signal.c b/hurd/catch-signal.c index ec320215a6..059a8690f6 100644 --- a/hurd/catch-signal.c +++ b/hurd/catch-signal.c @@ -1,5 +1,5 @@ /* Convenience function to catch expected signals during an operation. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -84,7 +84,7 @@ hurd_safe_memset (void *dest, int byte, size_t nbytes) memset (dest, byte, nbytes); return 0; } - return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), + return __hurd_catch_signal (__sigmask (SIGBUS) | __sigmask (SIGSEGV), (vm_address_t) dest, (vm_address_t) dest + nbytes, &operate, SIG_ERR); } @@ -98,7 +98,7 @@ hurd_safe_copyout (void *dest, const void *src, size_t nbytes) memcpy (dest, src, nbytes); return 0; } - return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), + return __hurd_catch_signal (__sigmask (SIGBUS) | __sigmask (SIGSEGV), (vm_address_t) dest, (vm_address_t) dest + nbytes, &operate, SIG_ERR); } @@ -111,7 +111,7 @@ hurd_safe_copyin (void *dest, const void *src, size_t nbytes) memcpy (dest, src, nbytes); return 0; } - return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), + return __hurd_catch_signal (__sigmask (SIGBUS) | __sigmask (SIGSEGV), (vm_address_t) src, (vm_address_t) src + nbytes, &operate, SIG_ERR); } @@ -125,13 +125,13 @@ hurd_safe_memmove (void *dest, const void *src, size_t nbytes) struct hurd_signal_preemptor src_preemptor = { - sigmask (SIGBUS) | sigmask (SIGSEGV), + __sigmask (SIGBUS) | __sigmask (SIGSEGV), (vm_address_t) src, (vm_address_t) src + nbytes, NULL, (sighandler_t) &throw, }; struct hurd_signal_preemptor dest_preemptor = { - sigmask (SIGBUS) | sigmask (SIGSEGV), + __sigmask (SIGBUS) | __sigmask (SIGSEGV), (vm_address_t) dest, (vm_address_t) dest + nbytes, NULL, (sighandler_t) &throw, &src_preemptor diff --git a/hurd/compat-20.c b/hurd/compat-20.c index fdf1b01c5e..d1ef597fbd 100644 --- a/hurd/compat-20.c +++ b/hurd/compat-20.c @@ -1,5 +1,5 @@ /* Old-versioned functions for binary compatibility with glibc-2.0. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/ctty-input.c b/hurd/ctty-input.c index beff4f6d11..f223df4298 100644 --- a/hurd/ctty-input.c +++ b/hurd/ctty-input.c @@ -1,5 +1,5 @@ /* _hurd_ctty_input -- Do an input RPC and generate SIGTTIN if necessary. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -43,12 +43,15 @@ _hurd_ctty_input (io_t port, io_t ctty, error_t (*rpc) (io_t)) else { struct hurd_sigstate *ss = _hurd_self_sigstate (); - __spin_lock (&ss->lock); + struct sigaction *actions; + + _hurd_sigstate_lock (ss); + actions = _hurd_sigstate_actions (ss); if (__sigismember (&ss->blocked, SIGTTIN) - || ss->actions[SIGTTIN].sa_handler == SIG_IGN) + || actions[SIGTTIN].sa_handler == SIG_IGN) /* We are blocking or ignoring SIGTTIN. Just fail. */ err = EIO; - __spin_unlock (&ss->lock); + _hurd_sigstate_unlock (ss); if (err == EBACKGROUND) { @@ -65,10 +68,11 @@ _hurd_ctty_input (io_t port, io_t ctty, error_t (*rpc) (io_t)) SIGTTIN or resumed after being stopped. Now this is still a "system call", so check to see if we should restart it. */ - __spin_lock (&ss->lock); - if (!(ss->actions[SIGTTIN].sa_flags & SA_RESTART)) + _hurd_sigstate_lock (ss); + actions = _hurd_sigstate_actions (ss); + if (!(actions[SIGTTIN].sa_flags & SA_RESTART)) err = EINTR; - __spin_unlock (&ss->lock); + _hurd_sigstate_unlock (ss); } } } diff --git a/hurd/ctty-output.c b/hurd/ctty-output.c index 77b931ccef..67714770df 100644 --- a/hurd/ctty-output.c +++ b/hurd/ctty-output.c @@ -1,5 +1,5 @@ /* _hurd_ctty_output -- Do an output RPC and generate SIGTTOU if necessary. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -34,16 +34,19 @@ _hurd_ctty_output (io_t port, io_t ctty, error_t (*rpc) (io_t)) do { + struct sigaction *actions; + /* Don't use the ctty io port if we are blocking or ignoring SIGTTOU. We redo this check at the top of the loop in case the signal handler changed the state. */ - __spin_lock (&ss->lock); + _hurd_sigstate_lock (ss); + actions = _hurd_sigstate_actions (ss); if (__sigismember (&ss->blocked, SIGTTOU) - || ss->actions[SIGTTOU].sa_handler == SIG_IGN) + || actions[SIGTTOU].sa_handler == SIG_IGN) err = EIO; else err = 0; - __spin_unlock (&ss->lock); + _hurd_sigstate_unlock (ss); if (err) return (*rpc) (port); @@ -70,10 +73,11 @@ _hurd_ctty_output (io_t port, io_t ctty, error_t (*rpc) (io_t)) SIGTTOU or resumed after being stopped. Now this is still a "system call", so check to see if we should restart it. */ - __spin_lock (&ss->lock); - if (!(ss->actions[SIGTTOU].sa_flags & SA_RESTART)) + _hurd_sigstate_lock (ss); + actions = _hurd_sigstate_actions (ss); + if (!(actions[SIGTTOU].sa_flags & SA_RESTART)) err = EINTR; - __spin_unlock (&ss->lock); + _hurd_sigstate_unlock (ss); } } /* If the last RPC generated a SIGTTOU, loop to try it again. */ diff --git a/hurd/dtable.c b/hurd/dtable.c index 2663d25000..9f6ae2f606 100644 --- a/hurd/dtable.c +++ b/hurd/dtable.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/exc2signal.c b/hurd/exc2signal.c index e20d9b0587..8cc9726423 100644 --- a/hurd/exc2signal.c +++ b/hurd/exc2signal.c @@ -1,5 +1,5 @@ /* Translate Mach exception codes into signal numbers. Stub version. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/fchroot.c b/hurd/fchroot.c index 5a3a2a83a7..8458cc1f77 100644 --- a/hurd/fchroot.c +++ b/hurd/fchroot.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/fcntl-internal.h b/hurd/fcntl-internal.h index aebc9e9c73..e1b240457d 100644 --- a/hurd/fcntl-internal.h +++ b/hurd/fcntl-internal.h @@ -1,5 +1,5 @@ /* Helper functions for translating between O_* and SOCK_* flags. - Copyright (C) 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2008-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/hurd/fd-cleanup.c b/hurd/fd-cleanup.c new file mode 100644 index 0000000000..83bde6ff44 --- /dev/null +++ b/hurd/fd-cleanup.c @@ -0,0 +1,33 @@ +/* Cleanup function for `struct hurd_fd' users. + Copyright (C) 1995-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + +/* We were cancelled while using an fd, and called from the cleanup unwinding. + */ + +void +_hurd_fd_port_use_cleanup (void *arg) +{ + struct _hurd_fd_port_use_data *data = arg; + + _hurd_port_free (&data->d->port, &data->ulink, data->port); + if (data->ctty != MACH_PORT_NULL) + _hurd_port_free (&data->d->ctty, &data->ctty_ulink, data->ctty); +} diff --git a/hurd/fd-close.c b/hurd/fd-close.c index 86343a1bda..16f51b068b 100644 --- a/hurd/fd-close.c +++ b/hurd/fd-close.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/fd-read.c b/hurd/fd-read.c index 594b14003b..1a8f20301e 100644 --- a/hurd/fd-read.c +++ b/hurd/fd-read.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -35,7 +35,7 @@ _hurd_fd_read (struct hurd_fd *fd, void *buf, size_t *nbytes, loff_t offset) data = buf; nread = *nbytes; - if (err = HURD_FD_PORT_USE (fd, _hurd_ctty_input (port, ctty, readfd))) + if (err = HURD_FD_PORT_USE_CANCEL (fd, _hurd_ctty_input (port, ctty, readfd))) return err; if (data != buf) diff --git a/hurd/fd-write.c b/hurd/fd-write.c index b2589245b1..2463cea1c5 100644 --- a/hurd/fd-write.c +++ b/hurd/fd-write.c @@ -1,5 +1,5 @@ /* _hurd_fd_write -- write to a file descriptor; handles job control et al. - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -33,7 +33,7 @@ _hurd_fd_write (struct hurd_fd *fd, return __io_write (port, buf, *nbytes, offset, &wrote); } - err = HURD_FD_PORT_USE (fd, _hurd_ctty_output (port, ctty, writefd)); + err = HURD_FD_PORT_USE_CANCEL (fd, _hurd_ctty_output (port, ctty, writefd)); if (! err) *nbytes = wrote; diff --git a/hurd/fopenport.c b/hurd/fopenport.c index 039ebdc312..748673d102 100644 --- a/hurd/fopenport.c +++ b/hurd/fopenport.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/get-host.c b/hurd/get-host.c index 6ccce53294..367aefb70c 100644 --- a/hurd/get-host.c +++ b/hurd/get-host.c @@ -1,5 +1,5 @@ /* Get a host configuration item kept as the whole contents of a file. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/getdport.c b/hurd/getdport.c index 8c63789276..0bd0d7a8cd 100644 --- a/hurd/getdport.c +++ b/hurd/getdport.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/geteuids.c b/hurd/geteuids.c index 42f6331cb1..476687b9f0 100644 --- a/hurd/geteuids.c +++ b/hurd/geteuids.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/getumask.c b/hurd/getumask.c index 27ec4c4de6..b1300c6a57 100644 --- a/hurd/getumask.c +++ b/hurd/getumask.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c index 3bb3439b8e..865e498bf9 100644 --- a/hurd/hurd-raise.c +++ b/hurd/hurd-raise.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -28,6 +28,13 @@ int _hurd_raise_signal (struct hurd_sigstate *ss, int signo, const struct hurd_signal_detail *detail) { + if (signo <= 0 || signo >= NSIG) + { + if (ss) + __spin_unlock (&ss->lock); + return EINVAL; + } + if (ss == NULL) { ss = _hurd_self_sigstate (); diff --git a/hurd/hurd.h b/hurd/hurd.h index 8ccd1714bb..8f1fdf4a64 100644 --- a/hurd/hurd.h +++ b/hurd/hurd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_H @@ -92,6 +92,7 @@ extern sigset_t _hurdsig_traced; /* Shorthand macro for internal library code referencing _hurd_ports (see ). */ +/* Also see __USEPORT_CANCEL. */ #define __USEPORT(which, expr) \ HURD_PORT_USE (&_hurd_ports[INIT_PORT_##which], (expr)) diff --git a/hurd/hurd/fd.h b/hurd/hurd/fd.h index 779ea4fc9d..d27be21cfd 100644 --- a/hurd/hurd/fd.h +++ b/hurd/hurd/fd.h @@ -1,5 +1,5 @@ /* File descriptors. - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_FD_H @@ -115,6 +115,7 @@ _hurd_fd_get (int fd) HURD_FD_USE ((fd), HURD_FD_PORT_USE (descriptor, (expr))) /* Likewise, but FD is a pointer to the file descriptor structure. */ +/* Also see HURD_FD_PORT_USE_CANCEL. */ #define HURD_FD_PORT_USE(fd, expr) \ ({ error_t __result; \ diff --git a/hurd/hurd/id.h b/hurd/hurd/id.h index d523ac49f8..bb796e1788 100644 --- a/hurd/hurd/id.h +++ b/hurd/hurd/id.h @@ -1,5 +1,5 @@ /* User and group IDs. - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_ID_H diff --git a/hurd/hurd/ioctl.h b/hurd/hurd/ioctl.h index aea2fec1aa..bc136d8b7f 100644 --- a/hurd/hurd/ioctl.h +++ b/hurd/hurd/ioctl.h @@ -1,5 +1,5 @@ /* User-registered handlers for specific `ioctl' requests. - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_IOCTL_H #define _HURD_IOCTL_H 1 diff --git a/hurd/hurd/lookup.h b/hurd/hurd/lookup.h index 6d0670853f..0ef4db487b 100644 --- a/hurd/hurd/lookup.h +++ b/hurd/hurd/lookup.h @@ -1,5 +1,5 @@ /* Declarations of file name translation functions for the GNU Hurd. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_LOOKUP_H #define _HURD_LOOKUP_H 1 diff --git a/hurd/hurd/port.h b/hurd/hurd/port.h index 75e51ff736..f91b1d5e26 100644 --- a/hurd/hurd/port.h +++ b/hurd/hurd/port.h @@ -1,5 +1,5 @@ /* Lightweight user references for ports. - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_PORT_H @@ -42,6 +42,7 @@ struct hurd_port /* Evaluate EXPR with the variable `port' bound to the port in PORTCELL. */ +/* Also see HURD_PORT_USE_CANCEL. */ #define HURD_PORT_USE(portcell, expr) \ ({ struct hurd_port *const __p = (portcell); \ diff --git a/hurd/hurd/resource.h b/hurd/hurd/resource.h index 561054912c..05f3e91847 100644 --- a/hurd/hurd/resource.h +++ b/hurd/hurd/resource.h @@ -1,5 +1,5 @@ /* Resource limits for the Hurd. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_RESOURCE_H #define _HURD_RESOURCE_H diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h index 308124c90b..ef6a8e6687 100644 --- a/hurd/hurd/signal.h +++ b/hurd/hurd/signal.h @@ -1,5 +1,5 @@ /* Implementing POSIX.1 signals under the Hurd. - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_SIGNAL_H @@ -73,7 +73,13 @@ struct hurd_sigstate sigset_t blocked; /* What signals are blocked. */ sigset_t pending; /* Pending signals, possibly blocked. */ + + /* Signal handlers. ACTIONS[0] is used to mark the threads with POSIX + semantics: if sa_handler is SIG_IGN instead of SIG_DFL, this thread + will receive global signals and use the process-wide action vector + instead of this one. */ struct sigaction actions[_NSIG]; + stack_t sigaltstack; /* Chain of thread-local signal preemptors; see . @@ -129,6 +135,26 @@ extern struct hurd_sigstate *_hurd_self_sigstate (void) by different threads. */ __attribute__ ((__const__)); +/* Process-wide signal state. */ + +extern struct hurd_sigstate *_hurd_global_sigstate; + +/* Mark the given thread as a process-wide signal receiver. */ + +extern void _hurd_sigstate_set_global_rcv (struct hurd_sigstate *ss); + +/* A thread can either use its own action vector and pending signal set + or use the global ones, depending on wether it has been marked as a + global receiver. The accessors below take that into account. */ + +extern void _hurd_sigstate_lock (struct hurd_sigstate *ss); +extern struct sigaction *_hurd_sigstate_actions (struct hurd_sigstate *ss); +extern sigset_t _hurd_sigstate_pending (const struct hurd_sigstate *ss); +extern void _hurd_sigstate_unlock (struct hurd_sigstate *ss); + +/* Used by libpthread to remove stale sigstate structures. */ +extern void _hurd_sigstate_delete (thread_t thread); + #ifndef _HURD_SIGNAL_H_EXTERN_INLINE #define _HURD_SIGNAL_H_EXTERN_INLINE __extern_inline #endif @@ -138,9 +164,9 @@ extern struct hurd_sigstate *_hurd_self_sigstate (void) _HURD_SIGNAL_H_EXTERN_INLINE struct hurd_sigstate * _hurd_self_sigstate (void) { - if (THREAD_SELF->_hurd_sigstate == NULL) - THREAD_SELF->_hurd_sigstate = _hurd_thread_sigstate (__mach_thread_self ()); - return THREAD_SELF->_hurd_sigstate; + if (THREAD_GETMEM (THREAD_SELF, _hurd_sigstate) == NULL) + THREAD_SETMEM (THREAD_SELF, _hurd_sigstate, _hurd_thread_sigstate (__mach_thread_self ())); + return THREAD_GETMEM (THREAD_SELF, _hurd_sigstate); } # endif #endif @@ -154,12 +180,6 @@ extern thread_t _hurd_msgport_thread; extern mach_port_t _hurd_msgport; - -/* Thread to receive process-global signals. */ - -extern thread_t _hurd_sigthread; - - /* Resource limit on core file size. Enforced by hurdsig.c. */ extern int _hurd_core_limit; @@ -190,14 +210,15 @@ _hurd_critical_section_lock (void) return NULL; #endif - ss = THREAD_SELF->_hurd_sigstate; + ss = THREAD_GETMEM (THREAD_SELF, _hurd_sigstate); if (ss == NULL) { /* The thread variable is unset; this must be the first time we've asked for it. In this case, the critical section flag cannot possible already be set. Look up our sigstate structure the slow way. */ - ss = THREAD_SELF->_hurd_sigstate = _hurd_thread_sigstate (__mach_thread_self ()); + ss = _hurd_thread_sigstate (__mach_thread_self ()); + THREAD_SETMEM(THREAD_SELF, _hurd_sigstate, ss); } if (! __spin_try_lock (&ss->critical_section_lock)) @@ -227,10 +248,10 @@ _hurd_critical_section_unlock (void *our_lock) /* It was us who acquired the critical section lock. Unlock it. */ struct hurd_sigstate *ss = (struct hurd_sigstate *) our_lock; sigset_t pending; - __spin_lock (&ss->lock); + _hurd_sigstate_lock (ss); __spin_unlock (&ss->critical_section_lock); - pending = ss->pending & ~ss->blocked; - __spin_unlock (&ss->lock); + pending = _hurd_sigstate_pending(ss) & ~ss->blocked; + _hurd_sigstate_unlock (ss); if (! __sigisemptyset (&pending)) /* There are unblocked signals pending, which weren't delivered because we were in the critical section. diff --git a/hurd/hurd/sigpreempt.h b/hurd/hurd/sigpreempt.h index 44eb614e13..8cbf66a198 100644 --- a/hurd/hurd/sigpreempt.h +++ b/hurd/hurd/sigpreempt.h @@ -1,5 +1,5 @@ /* Preemption of Hurd signals before POSIX.1 semantics take over. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_SIGPREEMPT_H @@ -50,16 +50,6 @@ struct hurd_signal_preemptor struct hurd_signal_preemptor *next; /* List structure. */ }; -#define HURD_PREEMPT_SIGNAL_P(preemptor, signo, sigcode) \ - (((preemptor)->signals & sigmask (signo)) \ - && (sigcode) >= (preemptor)->first && (sigcode) <= (preemptor)->last) - - -/* Signal preemptors applying to all threads; locked by _hurd_siglock. */ -extern struct hurd_signal_preemptor *_hurdsig_preemptors; -extern sigset_t _hurdsig_preempted_set; - - /* The caller must initialize all members of *PREEMPTOR except `next'. The preemptor is registered on the global list. */ void hurd_preempt_signals (struct hurd_signal_preemptor *preemptor); diff --git a/hurd/hurd/threadvar.h b/hurd/hurd/threadvar.h index 32caad9ae3..9a305e9d6e 100644 --- a/hurd/hurd/threadvar.h +++ b/hurd/hurd/threadvar.h @@ -1,5 +1,5 @@ /* Internal per-thread variables for the Hurd. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_THREADVAR_H #define _HURD_THREADVAR_H diff --git a/hurd/hurd/userlink.h b/hurd/hurd/userlink.h index d70438a48f..7c008a81bc 100644 --- a/hurd/hurd/userlink.h +++ b/hurd/hurd/userlink.h @@ -1,5 +1,5 @@ /* Support for chains recording users of a resource; `struct hurd_userlink'. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_USERLINK_H diff --git a/hurd/hurd/xattr.h b/hurd/hurd/xattr.h index 6ba2bcb168..edb77e3114 100644 --- a/hurd/hurd/xattr.h +++ b/hurd/hurd/xattr.h @@ -1,5 +1,5 @@ /* Access to extended attributes on files for GNU/Hurd. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_XATTR_H #define _HURD_XATTR_H 1 diff --git a/hurd/hurdauth.c b/hurd/hurdauth.c index a61e729150..681e110f73 100644 --- a/hurd/hurdauth.c +++ b/hurd/hurdauth.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdchdir.c b/hurd/hurdchdir.c index 6e99266cba..eb3d06502b 100644 --- a/hurd/hurdchdir.c +++ b/hurd/hurdchdir.c @@ -1,5 +1,5 @@ /* Change a port cell to a directory by looking up a name. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdexec.c b/hurd/hurdexec.c index 88ebcccd82..2066594235 100644 --- a/hurd/hurdexec.c +++ b/hurd/hurdexec.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -126,12 +126,13 @@ _hurd_exec_paths (task_t task, file_t file, assert (! __spin_lock_locked (&ss->critical_section_lock)); __spin_lock (&ss->critical_section_lock); - __spin_lock (&ss->lock); + _hurd_sigstate_lock (ss); + struct sigaction *actions = _hurd_sigstate_actions (ss); ints[INIT_SIGMASK] = ss->blocked; - ints[INIT_SIGPENDING] = ss->pending; + ints[INIT_SIGPENDING] = _hurd_sigstate_pending (ss); ints[INIT_SIGIGN] = 0; for (i = 1; i < NSIG; ++i) - if (ss->actions[i].sa_handler == SIG_IGN) + if (actions[i].sa_handler == SIG_IGN) ints[INIT_SIGIGN] |= __sigmask (i); /* We hold the sigstate lock until the exec has failed so that no signal @@ -142,7 +143,7 @@ _hurd_exec_paths (task_t task, file_t file, critical section flag avoids anything we call trying to acquire the sigstate lock. */ - __spin_unlock (&ss->lock); + _hurd_sigstate_unlock (ss); /* Pack up the descriptor table to give the new program. */ __mutex_lock (&_hurd_dtable_lock); diff --git a/hurd/hurdfault.c b/hurd/hurdfault.c index ea248d0b55..fa28347418 100644 --- a/hurd/hurdfault.c +++ b/hurd/hurdfault.c @@ -1,5 +1,5 @@ /* Handle faults in the signal thread. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdfault.h b/hurd/hurdfault.h index 4933976843..a83717222e 100644 --- a/hurd/hurdfault.h +++ b/hurd/hurdfault.h @@ -1,5 +1,5 @@ /* Declarations for handling faults in the signal thread. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_FAULT_H #define _HURD_FAULT_H @@ -43,7 +43,7 @@ extern struct hurd_signal_preemptor _hurdsig_fault_preemptor; #define _hurdsig_catch_memory_fault(object) \ - _hurdsig_catch_fault (sigmask (SIGSEGV) | sigmask (SIGBUS), \ + _hurdsig_catch_fault (__sigmask (SIGSEGV) | __sigmask (SIGBUS), \ (object), (object) + 1) diff --git a/hurd/hurdfchdir.c b/hurd/hurdfchdir.c index e14080c064..27cba37123 100644 --- a/hurd/hurdfchdir.c +++ b/hurd/hurdfchdir.c @@ -1,5 +1,5 @@ /* Change a port cell to a directory in an open file descriptor. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdhost.h b/hurd/hurdhost.h index e912765418..605547f42c 100644 --- a/hurd/hurdhost.h +++ b/hurd/hurdhost.h @@ -1,5 +1,5 @@ /* Host configuration items kept as the whole contents of a file. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Fetch and atomically store the contents of the file ITEM. Returns the size read or written, or -1 for errors. diff --git a/hurd/hurdid.c b/hurd/hurdid.c index a41fd3df10..f52d8ccd02 100644 --- a/hurd/hurdid.c +++ b/hurd/hurdid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdinit.c b/hurd/hurdinit.c index 938e6da5e3..a884b78de6 100644 --- a/hurd/hurdinit.c +++ b/hurd/hurdinit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdioctl.c b/hurd/hurdioctl.c index 2d7a685409..e1e1a4c5ef 100644 --- a/hurd/hurdioctl.c +++ b/hurd/hurdioctl.c @@ -1,5 +1,5 @@ /* ioctl commands which must be done in the C library. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdkill.c b/hurd/hurdkill.c index cd67f9b9bd..779dd4b3f5 100644 --- a/hurd/hurdkill.c +++ b/hurd/hurdkill.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdlock.c b/hurd/hurdlock.c index 3d4702f614..59d017fc02 100644 --- a/hurd/hurdlock.c +++ b/hurd/hurdlock.c @@ -1,5 +1,5 @@ /* Hurd helpers for lowlevellocks. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "hurdlock.h" #include @@ -47,6 +47,9 @@ int __lll_abstimed_wait (void *ptr, int val, const struct timespec *tsp, int flags, int clk) { + if (clk != CLOCK_REALTIME) + return EINVAL; + int mlsec = compute_reltime (tsp, clk); return mlsec < 0 ? KERN_TIMEDOUT : lll_timed_wait (ptr, val, mlsec, flags); } @@ -55,6 +58,9 @@ int __lll_abstimed_xwait (void *ptr, int lo, int hi, const struct timespec *tsp, int flags, int clk) { + if (clk != CLOCK_REALTIME) + return EINVAL; + int mlsec = compute_reltime (tsp, clk); return mlsec < 0 ? KERN_TIMEDOUT : lll_timed_xwait (ptr, lo, hi, mlsec, flags); @@ -64,6 +70,9 @@ int __lll_abstimed_lock (void *ptr, const struct timespec *tsp, int flags, int clk) { + if (clk != CLOCK_REALTIME) + return EINVAL; + if (lll_trylock (ptr) == 0) return 0; @@ -71,7 +80,7 @@ __lll_abstimed_lock (void *ptr, { if (atomic_exchange_acq ((int *)ptr, 2) == 0) return 0; - else if (tsp->tv_nsec < 0 || tsp->tv_nsec >= 1000000000) + else if (! valid_nanoseconds (tsp->tv_nsec)) return EINVAL; int mlsec = compute_reltime (tsp, clk); @@ -147,6 +156,9 @@ __lll_robust_abstimed_lock (void *ptr, int wait_time = 25; unsigned int val; + if (clk != CLOCK_REALTIME) + return EINVAL; + while (1) { val = *iptr; diff --git a/hurd/hurdlock.h b/hurd/hurdlock.h index 78f630191c..362bcf6cc2 100644 --- a/hurd/hurdlock.h +++ b/hurd/hurdlock.h @@ -1,5 +1,5 @@ /* Low-level lock implementation. High-level Hurd helpers. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_LOCK_H #define _HURD_LOCK_H 1 diff --git a/hurd/hurdlookup.c b/hurd/hurdlookup.c index 983f6a6506..8be6e4b7ff 100644 --- a/hurd/hurdlookup.c +++ b/hurd/hurdlookup.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdmsg.c b/hurd/hurdmsg.c index 48db15aed2..ebf2e028ab 100644 --- a/hurd/hurdmsg.c +++ b/hurd/hurdmsg.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -121,17 +121,9 @@ get_int (int which, int *value) case INIT_UMASK: *value = _hurd_umask; return 0; - case INIT_SIGMASK: - { - struct hurd_sigstate *ss = _hurd_thread_sigstate (_hurd_sigthread); - __spin_lock (&ss->lock); - *value = ss->blocked; - __spin_unlock (&ss->lock); - return 0; - } case INIT_SIGPENDING: { - struct hurd_sigstate *ss = _hurd_thread_sigstate (_hurd_sigthread); + struct hurd_sigstate *ss = _hurd_global_sigstate; __spin_lock (&ss->lock); *value = ss->pending; __spin_unlock (&ss->lock); @@ -139,7 +131,7 @@ get_int (int which, int *value) } case INIT_SIGIGN: { - struct hurd_sigstate *ss = _hurd_thread_sigstate (_hurd_sigthread); + struct hurd_sigstate *ss = _hurd_global_sigstate; sigset_t ign; int sig; __spin_lock (&ss->lock); @@ -207,17 +199,9 @@ set_int (int which, int value) return 0; /* These are pretty odd things to do. But you asked for it. */ - case INIT_SIGMASK: - { - struct hurd_sigstate *ss = _hurd_thread_sigstate (_hurd_sigthread); - __spin_lock (&ss->lock); - ss->blocked = value; - __spin_unlock (&ss->lock); - return 0; - } case INIT_SIGPENDING: { - struct hurd_sigstate *ss = _hurd_thread_sigstate (_hurd_sigthread); + struct hurd_sigstate *ss = _hurd_global_sigstate; __spin_lock (&ss->lock); ss->pending = value; __spin_unlock (&ss->lock); @@ -225,7 +209,7 @@ set_int (int which, int value) } case INIT_SIGIGN: { - struct hurd_sigstate *ss = _hurd_thread_sigstate (_hurd_sigthread); + struct hurd_sigstate *ss = _hurd_global_sigstate; int sig; const sigset_t ign = value; __spin_lock (&ss->lock); diff --git a/hurd/hurdpid.c b/hurd/hurdpid.c index bca7048014..196177c403 100644 --- a/hurd/hurdpid.c +++ b/hurd/hurdpid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdports.c b/hurd/hurdports.c index 5f604fd09c..45cf222d85 100644 --- a/hurd/hurdports.c +++ b/hurd/hurdports.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdprio.c b/hurd/hurdprio.c index 50dbd9cad2..d767620262 100644 --- a/hurd/hurdprio.c +++ b/hurd/hurdprio.c @@ -1,5 +1,5 @@ /* Support code for dealing with priorities in the Hurd. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdrlimit.c b/hurd/hurdrlimit.c index f40fd6521e..4216390924 100644 --- a/hurd/hurdrlimit.c +++ b/hurd/hurdrlimit.c @@ -1,5 +1,5 @@ /* Resource limits. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdselect.c b/hurd/hurdselect.c index 6997b2b73b..8da0ccf282 100644 --- a/hurd/hurdselect.c +++ b/hurd/hurdselect.c @@ -1,5 +1,5 @@ /* Guts of both `select' and `poll' for Hurd. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,16 +14,21 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ +#include #include #include #include #include +#include #include #include #include #include +#include +#include +#include /* All user select types. */ #define SELECT_ALL (SELECT_READ | SELECT_WRITE | SELECT_URG) @@ -31,6 +36,7 @@ /* Used to record that a particular select rpc returned. Must be distinct from SELECT_ALL (which better not have the high bit set). */ #define SELECT_RETURNED ((SELECT_ALL << 1) & ~SELECT_ALL) +#define SELECT_ERROR (SELECT_RETURNED << 1) /* Check the first NFDS descriptors either in POLLFDS (if nonnnull) or in each of READFDS, WRITEFDS, EXCEPTFDS that is nonnull. If TIMEOUT is not @@ -43,12 +49,14 @@ _hurd_select (int nfds, const struct timespec *timeout, const sigset_t *sigmask) { int i; - mach_port_t portset; - int got; + mach_port_t portset, sigport; + int got, ready; error_t err; fd_set rfds, wfds, xfds; int firstfd, lastfd; - mach_msg_timeout_t to = 0; + mach_msg_id_t reply_msgid; + mach_msg_timeout_t to; + struct timespec ts; struct { struct hurd_userlink ulink; @@ -56,8 +64,10 @@ _hurd_select (int nfds, mach_port_t io_port; int type; mach_port_t reply_port; + int error; } d[nfds]; sigset_t oset; + struct hurd_sigstate *ss; union typeword /* Use this to avoid unkosher casts. */ { @@ -73,23 +83,68 @@ _hurd_select (int nfds, return -1; } - if (timeout != NULL) +#define IO_SELECT_REPLY_MSGID (21012 + 100) /* XXX */ +#define IO_SELECT_TIMEOUT_REPLY_MSGID (21031 + 100) /* XXX */ + + if (timeout == NULL) + reply_msgid = IO_SELECT_REPLY_MSGID; + else { - if (timeout->tv_sec < 0 || timeout->tv_nsec < 0) + struct timespec now; + + if (timeout->tv_sec < 0 || ! valid_nanoseconds (timeout->tv_nsec)) { errno = EINVAL; return -1; } - to = (timeout->tv_sec * 1000 - + (timeout->tv_nsec + 999999) / 1000000); + err = __clock_gettime (CLOCK_REALTIME, &now); + if (err) + return -1; + + ts.tv_sec = now.tv_sec + timeout->tv_sec; + ts.tv_nsec = now.tv_nsec + timeout->tv_nsec; + + if (ts.tv_nsec >= 1000000000) + { + ts.tv_sec++; + ts.tv_nsec -= 1000000000; + } + + if (ts.tv_sec < 0) + ts.tv_sec = LONG_MAX; /* XXX */ + + reply_msgid = IO_SELECT_TIMEOUT_REPLY_MSGID; } - if (sigmask && __sigprocmask (SIG_SETMASK, sigmask, &oset)) - return -1; + if (sigmask) + { + /* Add a port to the portset for the case when we get the signal even + before calling __mach_msg. */ + + sigport = __mach_reply_port (); + + ss = _hurd_self_sigstate (); + _hurd_sigstate_lock (ss); + /* And tell the signal thread to message us when a signal arrives. */ + ss->suspended = sigport; + _hurd_sigstate_unlock (ss); + + if (__sigprocmask (SIG_SETMASK, sigmask, &oset)) + { + _hurd_sigstate_lock (ss); + ss->suspended = MACH_PORT_NULL; + _hurd_sigstate_unlock (ss); + __mach_port_destroy (__mach_task_self (), sigport); + return -1; + } + } + else + sigport = MACH_PORT_NULL; if (pollfds) { + int error = 0; /* Collect interesting descriptors from the user's `pollfd' array. We do a first pass that reads the user's array before taking any locks. The second pass then only touches our own stack, @@ -123,28 +178,46 @@ _hurd_select (int nfds, if (fd < _hurd_dtablesize) { d[i].cell = _hurd_dtable[fd]; - d[i].io_port = _hurd_port_get (&d[i].cell->port, &d[i].ulink); - if (d[i].io_port != MACH_PORT_NULL) - continue; + if (d[i].cell != NULL) + { + d[i].io_port = _hurd_port_get (&d[i].cell->port, + &d[i].ulink); + if (d[i].io_port != MACH_PORT_NULL) + continue; + } } - /* If one descriptor is bogus, we fail completely. */ - while (i-- > 0) - if (d[i].type != 0) - _hurd_port_free (&d[i].cell->port, - &d[i].ulink, d[i].io_port); - break; + /* Bogus descriptor, make it EBADF already. */ + d[i].error = EBADF; + d[i].type = SELECT_ERROR; + error = 1; } __mutex_unlock (&_hurd_dtable_lock); HURD_CRITICAL_END; - if (i < nfds) + if (error) { - if (sigmask) - __sigprocmask (SIG_SETMASK, &oset, NULL); - errno = EBADF; - return -1; + /* Set timeout to 0. */ + err = __clock_gettime (CLOCK_REALTIME, &ts); + if (err) + { + /* Really bad luck. */ + err = errno; + HURD_CRITICAL_BEGIN; + __mutex_lock (&_hurd_dtable_lock); + while (i-- > 0) + if (d[i].type & ~SELECT_ERROR != 0) + _hurd_port_free (&d[i].cell->port, &d[i].ulink, + d[i].io_port); + __mutex_unlock (&_hurd_dtable_lock); + HURD_CRITICAL_END; + if (sigmask) + __sigprocmask (SIG_SETMASK, &oset, NULL); + errno = err; + return -1; + } + reply_msgid = IO_SELECT_TIMEOUT_REPLY_MSGID; } lastfd = i - 1; @@ -171,9 +244,6 @@ _hurd_select (int nfds, HURD_CRITICAL_BEGIN; __mutex_lock (&_hurd_dtable_lock); - if (nfds > _hurd_dtablesize) - nfds = _hurd_dtablesize; - /* Collect the ports for interesting FDs. */ firstfd = lastfd = -1; for (i = 0; i < nfds; ++i) @@ -188,9 +258,15 @@ _hurd_select (int nfds, d[i].type = type; if (type) { - d[i].cell = _hurd_dtable[i]; - d[i].io_port = _hurd_port_get (&d[i].cell->port, &d[i].ulink); - if (d[i].io_port == MACH_PORT_NULL) + if (i < _hurd_dtablesize) + { + d[i].cell = _hurd_dtable[i]; + if (d[i].cell != NULL) + d[i].io_port = _hurd_port_get (&d[i].cell->port, + &d[i].ulink); + } + if (i >= _hurd_dtablesize || d[i].cell == NULL || + d[i].io_port == MACH_PORT_NULL) { /* If one descriptor is bogus, we fail completely. */ while (i-- > 0) @@ -215,6 +291,9 @@ _hurd_select (int nfds, errno = EBADF; return -1; } + + if (nfds > _hurd_dtablesize) + nfds = _hurd_dtablesize; } @@ -224,28 +303,33 @@ _hurd_select (int nfds, /* Send them all io_select request messages. */ if (firstfd == -1) - /* But not if there were no ports to deal with at all. - We are just a pure timeout. */ - portset = __mach_reply_port (); + { + if (sigport == MACH_PORT_NULL) + /* But not if there were no ports to deal with at all. + We are just a pure timeout. */ + portset = __mach_reply_port (); + else + portset = sigport; + } else { portset = MACH_PORT_NULL; for (i = firstfd; i <= lastfd; ++i) - if (d[i].type) + if (!(d[i].type & ~SELECT_ERROR)) + d[i].reply_port = MACH_PORT_NULL; + else { int type = d[i].type; d[i].reply_port = __mach_reply_port (); - err = __io_select (d[i].io_port, d[i].reply_port, - /* Poll only if there's a single descriptor. */ - (firstfd == lastfd) ? to : 0, - &type); - switch (err) + if (timeout == NULL) + err = __io_select_request (d[i].io_port, d[i].reply_port, type); + else + err = __io_select_timeout_request (d[i].io_port, d[i].reply_port, + ts, type); + if (!err) { - case MACH_RCV_TIMED_OUT: - /* No immediate response. This is normal. */ - err = 0; - if (firstfd == lastfd) + if (firstfd == lastfd && sigport == MACH_PORT_NULL) /* When there's a single descriptor, we don't need a portset, so just pretend we have one, but really use the single reply port. */ @@ -265,32 +349,33 @@ _hurd_select (int nfds, __mach_port_move_member (__mach_task_self (), d[i].reply_port, portset); } - break; - - default: - /* No other error should happen. Callers of select - don't expect to see errors, so we simulate - readiness of the erring object and the next call - hopefully will get the error again. */ - type = SELECT_ALL; - /* FALLTHROUGH */ - - case 0: - /* We got an answer. */ - if ((type & SELECT_ALL) == 0) - /* Bogus answer; treat like an error, as a fake positive. */ - type = SELECT_ALL; - - /* This port is already ready already. */ - d[i].type &= type; - d[i].type |= SELECT_RETURNED; + } + else + { + /* No error should happen, but record it for later + processing. */ + d[i].error = err; + d[i].type |= SELECT_ERROR; ++got; - break; } _hurd_port_free (&d[i].cell->port, &d[i].ulink, d[i].io_port); } + + if (got == 0 && sigport != MACH_PORT_NULL) + { + if (portset == MACH_PORT_NULL) + /* Create the portset to receive the signal message on. */ + __mach_port_allocate (__mach_task_self (), MACH_PORT_RIGHT_PORT_SET, + &portset); + /* Put the signal reply port in the port set. */ + __mach_port_move_member (__mach_task_self (), sigport, portset); + } } + /* GOT is the number of replies (or errors), while READY is the number of + replies with at least one type bit set. */ + ready = 0; + /* Now wait for reply messages. */ if (!err && got == 0) { @@ -332,22 +417,48 @@ _hurd_select (int nfds, } success; #endif } msg; - mach_msg_option_t options = (timeout == NULL ? 0 : MACH_RCV_TIMEOUT); + mach_msg_option_t options; error_t msgerr; + + /* We rely on servers to implement the timeout, but when there are none, + do it on the client side. */ + if (timeout != NULL && firstfd == -1) + { + options = MACH_RCV_TIMEOUT; + to = timeout->tv_sec * 1000 + (timeout->tv_nsec + 999999) / 1000000; + } + else + { + options = 0; + to = MACH_MSG_TIMEOUT_NONE; + } + + int cancel_oldtype = LIBC_CANCEL_ASYNC(); while ((msgerr = __mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_INTERRUPT | options, 0, sizeof msg, portset, to, MACH_PORT_NULL)) == MACH_MSG_SUCCESS) { + LIBC_CANCEL_RESET (cancel_oldtype); + /* We got a message. Decode it. */ -#define IO_SELECT_REPLY_MSGID (21012 + 100) /* XXX */ #ifdef MACH_MSG_TYPE_BIT const union typeword inttype = { type: { MACH_MSG_TYPE_INTEGER_T, sizeof (integer_t) * 8, 1, 1, 0, 0 } }; #endif - if (msg.head.msgh_id == IO_SELECT_REPLY_MSGID + + if (sigport != MACH_PORT_NULL && sigport == msg.head.msgh_local_port) + { + /* We actually got interrupted by a signal before + __mach_msg; poll for further responses and then + return quickly. */ + err = EINTR; + goto poll; + } + + if (msg.head.msgh_id == reply_msgid && msg.head.msgh_size >= sizeof msg.error && !(msg.head.msgh_bits & MACH_MSGH_BITS_COMPLEX) #ifdef MACH_MSG_TYPE_BIT @@ -365,16 +476,18 @@ _hurd_select (int nfds, err = EINTR; goto poll; } + /* Keep in mind msg.success.result can be 0 if a timeout + occurred. */ if (msg.error.err - || msg.head.msgh_size != sizeof msg.success #ifdef MACH_MSG_TYPE_BIT || msg.success.result_type.word != inttype.word #endif - || (msg.success.result & SELECT_ALL) == 0) + || msg.head.msgh_size != sizeof msg.success) { - /* Error or bogus reply. Simulate readiness. */ + /* Error or bogus reply. */ + if (!msg.error.err) + msg.error.err = EIO; __mach_msg_destroy (&msg.head); - msg.success.result = SELECT_ALL; } /* Look up the respondent's reply port and record its @@ -386,7 +499,19 @@ _hurd_select (int nfds, if (d[i].type && d[i].reply_port == msg.head.msgh_local_port) { - d[i].type &= msg.success.result; + if (msg.error.err) + { + d[i].error = msg.error.err; + d[i].type = SELECT_ERROR; + ++ready; + } + else + { + d[i].type &= msg.success.result; + if (d[i].type) + ++ready; + } + d[i].type |= SELECT_RETURNED; ++got; } @@ -406,12 +531,13 @@ _hurd_select (int nfds, options |= MACH_RCV_TIMEOUT; } } + LIBC_CANCEL_RESET (cancel_oldtype); if (msgerr == MACH_RCV_INTERRUPTED) /* Interruption on our side (e.g. signal reception). */ err = EINTR; - if (got) + if (ready) /* At least one descriptor is known to be ready now, so we will return success. */ err = 0; @@ -419,9 +545,19 @@ _hurd_select (int nfds, if (firstfd != -1) for (i = firstfd; i <= lastfd; ++i) - if (d[i].type) + if (d[i].reply_port != MACH_PORT_NULL) __mach_port_destroy (__mach_task_self (), d[i].reply_port); - if (firstfd == -1 || (firstfd != lastfd && portset != MACH_PORT_NULL)) + + if (sigport != MACH_PORT_NULL) + { + _hurd_sigstate_lock (ss); + ss->suspended = MACH_PORT_NULL; + _hurd_sigstate_unlock (ss); + __mach_port_destroy (__mach_task_self (), sigport); + } + + if ((firstfd == -1 && sigport == MACH_PORT_NULL) + || ((firstfd != lastfd || sigport != MACH_PORT_NULL) && portset != MACH_PORT_NULL)) /* Destroy PORTSET, but only if it's not actually the reply port for a single descriptor (in which case it's destroyed in the previous loop; not doing it here is just a bit more efficient). */ @@ -441,23 +577,37 @@ _hurd_select (int nfds, int type = d[i].type; int_fast16_t revents = 0; - if (type & SELECT_RETURNED) - { - if (type & SELECT_READ) - revents |= POLLIN; - if (type & SELECT_WRITE) - revents |= POLLOUT; - if (type & SELECT_URG) - revents |= POLLPRI; - } + if (type & SELECT_ERROR) + switch (d[i].error) + { + case EPIPE: + revents = POLLHUP; + break; + case EBADF: + revents = POLLNVAL; + break; + default: + revents = POLLERR; + break; + } + else + if (type & SELECT_RETURNED) + { + if (type & SELECT_READ) + revents |= POLLIN; + if (type & SELECT_WRITE) + revents |= POLLOUT; + if (type & SELECT_URG) + revents |= POLLPRI; + } pollfds[i].revents = revents; } else { - /* Below we recalculate GOT to include an increment for each operation + /* Below we recalculate READY to include an increment for each operation allowed on each fd. */ - got = 0; + ready = 0; /* Set the user bitarrays. We only ever have to clear bits, as all desired ones are initially set. */ @@ -469,16 +619,30 @@ _hurd_select (int nfds, if ((type & SELECT_RETURNED) == 0) type = 0; + /* Callers of select don't expect to see errors, so we simulate + readiness of the erring object and the next call hopefully + will get the error again. */ + if (type & SELECT_ERROR) + { + type = 0; + if (readfds != NULL && FD_ISSET (i, readfds)) + type |= SELECT_READ; + if (writefds != NULL && FD_ISSET (i, writefds)) + type |= SELECT_WRITE; + if (exceptfds != NULL && FD_ISSET (i, exceptfds)) + type |= SELECT_URG; + } + if (type & SELECT_READ) - got++; + ready++; else if (readfds) FD_CLR (i, readfds); if (type & SELECT_WRITE) - got++; + ready++; else if (writefds) FD_CLR (i, writefds); if (type & SELECT_URG) - got++; + ready++; else if (exceptfds) FD_CLR (i, exceptfds); } @@ -487,5 +651,5 @@ _hurd_select (int nfds, if (sigmask && __sigprocmask (SIG_SETMASK, &oset, NULL)) return -1; - return got; + return ready; } diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c index 1b511d1e8f..3150091e84 100644 --- a/hurd/hurdsig.c +++ b/hurd/hurdsig.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -46,9 +46,6 @@ mach_port_t _hurd_msgport; /* Thread listening on it. */ thread_t _hurd_msgport_thread; -/* Thread which receives task-global signals. */ -thread_t _hurd_sigthread; - /* These are set up by _hurdsig_init. */ unsigned long int __hurd_sigthread_stack_base; unsigned long int __hurd_sigthread_stack_end; @@ -56,6 +53,9 @@ unsigned long int __hurd_sigthread_stack_end; /* Linked-list of per-thread signal state. */ struct hurd_sigstate *_hurd_sigstates; +/* Sigstate for the task-global signals. */ +struct hurd_sigstate *_hurd_global_sigstate; + /* Timeout for RPC's after interrupt_operation. */ mach_msg_timeout_t _hurd_interrupted_rpc_timeout = 60000; @@ -84,9 +84,10 @@ _hurd_thread_sigstate (thread_t thread) { ss = malloc (sizeof (*ss)); if (ss == NULL) - __libc_fatal ("hurd: Can't allocate thread sigstate\n"); - ss->thread = thread; + __libc_fatal ("hurd: Can't allocate sigstate\n"); + __spin_lock_init (&ss->critical_section_lock); __spin_lock_init (&ss->lock); + ss->thread = thread; /* Initialize default state. */ __sigemptyset (&ss->blocked); @@ -97,17 +98,23 @@ _hurd_thread_sigstate (thread_t thread) ss->suspended = MACH_PORT_NULL; ss->intr_port = MACH_PORT_NULL; ss->context = NULL; + ss->active_resources = NULL; + ss->cancel = 0; + ss->cancel_hook = NULL; + + if (thread == MACH_PORT_NULL) + { + /* Process-wide sigstate, use the system defaults. */ + default_sigaction (ss->actions); - /* Initialize the sigaction vector from the default signal receiving - thread's state, and its from the system defaults. */ - if (thread == _hurd_sigthread) - default_sigaction (ss->actions); + /* The global sigstate is not added to the _hurd_sigstates list. + It is created with _hurd_thread_sigstate (MACH_PORT_NULL) + but should be accessed through _hurd_global_sigstate. */ + } else { - struct hurd_sigstate *s; - for (s = _hurd_sigstates; s != NULL; s = s->next) - if (s->thread == _hurd_sigthread) - break; + /* Use the global actions as a default for new threads. */ + struct hurd_sigstate *s = _hurd_global_sigstate; if (s) { __spin_lock (&s->lock); @@ -116,15 +123,115 @@ _hurd_thread_sigstate (thread_t thread) } else default_sigaction (ss->actions); - } - ss->next = _hurd_sigstates; - _hurd_sigstates = ss; + ss->next = _hurd_sigstates; + _hurd_sigstates = ss; + } } __mutex_unlock (&_hurd_siglock); return ss; } libc_hidden_def (_hurd_thread_sigstate) + +/* Destroy a sigstate structure. Called by libpthread just before the + * corresponding thread is terminated (the kernel thread port must remain valid + * until this function is called.) */ +void +_hurd_sigstate_delete (thread_t thread) +{ + struct hurd_sigstate **ssp, *ss; + + __mutex_lock (&_hurd_siglock); + for (ssp = &_hurd_sigstates; *ssp; ssp = &(*ssp)->next) + if ((*ssp)->thread == thread) + break; + + ss = *ssp; + if (ss) + *ssp = ss->next; + + __mutex_unlock (&_hurd_siglock); + if (ss) + free (ss); +} + +/* Make SS a global receiver, with pthread signal semantics. */ +void +_hurd_sigstate_set_global_rcv (struct hurd_sigstate *ss) +{ + assert (ss->thread != MACH_PORT_NULL); + ss->actions[0].sa_handler = SIG_IGN; +} + +/* Check whether SS is a global receiver. */ +static int +sigstate_is_global_rcv (const struct hurd_sigstate *ss) +{ + return (_hurd_global_sigstate != NULL) + && (ss->actions[0].sa_handler == SIG_IGN); +} +libc_hidden_def (_hurd_sigstate_delete) + +/* Lock/unlock a hurd_sigstate structure. If the accessors below require + it, the global sigstate will be locked as well. */ +void +_hurd_sigstate_lock (struct hurd_sigstate *ss) +{ + if (sigstate_is_global_rcv (ss)) + __spin_lock (&_hurd_global_sigstate->lock); + __spin_lock (&ss->lock); +} +void +_hurd_sigstate_unlock (struct hurd_sigstate *ss) +{ + __spin_unlock (&ss->lock); + if (sigstate_is_global_rcv (ss)) + __spin_unlock (&_hurd_global_sigstate->lock); +} +libc_hidden_def (_hurd_sigstate_set_global_rcv) + +/* Retreive a thread's full set of pending signals, including the global + ones if appropriate. SS must be locked. */ +sigset_t +_hurd_sigstate_pending (const struct hurd_sigstate *ss) +{ + sigset_t pending = ss->pending; + if (sigstate_is_global_rcv (ss)) + __sigorset (&pending, &pending, &_hurd_global_sigstate->pending); + return pending; +} + +/* Clear a pending signal and return the associated detailed + signal information. SS must be locked, and must have signal SIGNO + pending, either directly or through the global sigstate. */ +static struct hurd_signal_detail +sigstate_clear_pending (struct hurd_sigstate *ss, int signo) +{ + if (sigstate_is_global_rcv (ss) + && __sigismember (&_hurd_global_sigstate->pending, signo)) + { + __sigdelset (&_hurd_global_sigstate->pending, signo); + return _hurd_global_sigstate->pending_data[signo]; + } + + assert (__sigismember (&ss->pending, signo)); + __sigdelset (&ss->pending, signo); + return ss->pending_data[signo]; +} +libc_hidden_def (_hurd_sigstate_lock) +libc_hidden_def (_hurd_sigstate_unlock) + +/* Retreive a thread's action vector. SS must be locked. */ +struct sigaction * +_hurd_sigstate_actions (struct hurd_sigstate *ss) +{ + if (sigstate_is_global_rcv (ss)) + return _hurd_global_sigstate->actions; + else + return ss->actions; +} +libc_hidden_def (_hurd_sigstate_pending) + /* Signal delivery itself is on this page. */ @@ -219,6 +326,8 @@ static void abort_thread (struct hurd_sigstate *ss, struct machine_thread_all_state *state, void (*reply) (void)) { + assert (ss->thread != MACH_PORT_NULL); + if (!(state->set & THREAD_ABORTED)) { error_t err = __thread_abort (ss->thread); @@ -367,7 +476,7 @@ _hurdsig_abort_rpcs (struct hurd_sigstate *ss, int signo, int sigthread, call above will retry their RPCs unless we clear SS->intr_port. So we clear it for the thread taking a signal when SA_RESTART is clear, so that its call returns EINTR. */ - if (! signo || !(ss->actions[signo].sa_flags & SA_RESTART)) + if (! signo || !(_hurd_sigstate_actions (ss) [signo].sa_flags & SA_RESTART)) ss->intr_port = MACH_PORT_NULL; } @@ -455,6 +564,30 @@ abort_all_rpcs (int signo, struct machine_thread_all_state *state, int live) } } +/* Wake up any sigsuspend or pselect call that is blocking SS->thread. SS must + be locked. */ +static void +wake_sigsuspend (struct hurd_sigstate *ss) +{ + error_t err; + mach_msg_header_t msg; + + if (ss->suspended == MACH_PORT_NULL) + return; + + /* There is a sigsuspend waiting. Tell it to wake up. */ + msg.msgh_bits = MACH_MSGH_BITS (MACH_MSG_TYPE_MAKE_SEND, 0); + msg.msgh_remote_port = ss->suspended; + msg.msgh_local_port = MACH_PORT_NULL; + /* These values do not matter. */ + msg.msgh_id = 8675309; /* Jenny, Jenny. */ + ss->suspended = MACH_PORT_NULL; + err = __mach_msg (&msg, MACH_SEND_MSG, sizeof msg, 0, + MACH_PORT_NULL, MACH_MSG_TIMEOUT_NONE, + MACH_PORT_NULL); + assert_perror (err); +} + struct hurd_signal_preemptor *_hurdsig_preemptors = 0; sigset_t _hurdsig_preempted_set; @@ -462,38 +595,23 @@ sigset_t _hurdsig_preempted_set; weak_alias (_hurdsig_preemptors, _hurdsig_preempters) /* Mask of stop signals. */ -#define STOPSIGS (sigmask (SIGTTIN) | sigmask (SIGTTOU) \ - | sigmask (SIGSTOP) | sigmask (SIGTSTP)) - -/* Deliver a signal. SS is not locked. */ -void -_hurd_internal_post_signal (struct hurd_sigstate *ss, - int signo, struct hurd_signal_detail *detail, - mach_port_t reply_port, - mach_msg_type_name_t reply_port_type, - int untraced) +#define STOPSIGS (__sigmask (SIGTTIN) | __sigmask (SIGTTOU) \ + | __sigmask (SIGSTOP) | __sigmask (SIGTSTP)) + +/* Actual delivery of a single signal. Called with SS unlocked. When + the signal is delivered, return SS, locked (or, if SS was originally + _hurd_global_sigstate, the sigstate of the actual thread the signal + was delivered to). If the signal is being traced, return NULL with + SS unlocked. */ +static struct hurd_sigstate * +post_signal (struct hurd_sigstate *ss, + int signo, struct hurd_signal_detail *detail, + int untraced, void (*reply) (void)) { - error_t err; struct machine_thread_all_state thread_state; enum { stop, ignore, core, term, handle } act; - sighandler_t handler; - sigset_t pending; int ss_suspended; - /* Reply to this sig_post message. */ - __typeof (__msg_sig_post_reply) *reply_rpc - = (untraced ? __msg_sig_post_untraced_reply : __msg_sig_post_reply); - void reply (void) - { - error_t err; - if (reply_port == MACH_PORT_NULL) - return; - err = (*reply_rpc) (reply_port, reply_port_type, 0); - reply_port = MACH_PORT_NULL; - if (err != MACH_SEND_INVALID_DEST) /* Ignore dead reply port. */ - assert_perror (err); - } - /* Mark the signal as pending. */ void mark_pending (void) { @@ -538,8 +656,12 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, assert_perror (err); for (i = 0; i < nthreads; ++i) { - if (threads[i] != _hurd_msgport_thread - && (act != handle || threads[i] != ss->thread)) + if (act == handle && threads[i] == ss->thread) + { + /* The thread that will run the handler is kept suspended. */ + ss_suspended = 1; + } + else if (threads[i] != _hurd_msgport_thread) { err = __thread_resume (threads[i]); assert_perror (err); @@ -552,27 +674,58 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, (vm_address_t) threads, nthreads * sizeof *threads); _hurd_stopped = 0; - if (act == handle) - /* The thread that will run the handler is already suspended. */ - ss_suspended = 1; } + error_t err; + sighandler_t handler; + if (signo == 0) { if (untraced) - /* This is PTRACE_CONTINUE. */ - resume (); + { + /* This is PTRACE_CONTINUE. */ + act = ignore; + resume (); + } /* This call is just to check for pending signals. */ - __spin_lock (&ss->lock); - goto check_pending_signals; + _hurd_sigstate_lock (ss); + return ss; } - post_signal: - thread_state.set = 0; /* We know nothing. */ - __spin_lock (&ss->lock); + _hurd_sigstate_lock (ss); + + /* If this is a global signal, try to find a thread ready to accept + it right away. This is especially important for untraced signals, + since going through the global pending mask would de-untrace them. */ + if (ss->thread == MACH_PORT_NULL) + { + struct hurd_sigstate *rss; + + __mutex_lock (&_hurd_siglock); + for (rss = _hurd_sigstates; rss != NULL; rss = rss->next) + { + if (! sigstate_is_global_rcv (rss)) + continue; + + /* The global sigstate is already locked. */ + __spin_lock (&rss->lock); + if (! __sigismember (&rss->blocked, signo)) + { + ss = rss; + break; + } + __spin_unlock (&rss->lock); + } + __mutex_unlock (&_hurd_siglock); + } + + /* We want the preemptors to be able to update the blocking mask + without affecting the delivery of this signal, so we save the + current value to test against later. */ + sigset_t blocked = ss->blocked; /* Check for a preempted signal. Preempted signals can arrive during critical sections. */ @@ -630,12 +783,12 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, mark_pending (); else suspend (); - __spin_unlock (&ss->lock); + _hurd_sigstate_unlock (ss); reply (); - return; + return NULL; } - handler = ss->actions[signo].sa_handler; + handler = _hurd_sigstate_actions (ss) [signo].sa_handler; if (handler == SIG_DFL) /* Figure out the default action for this signal. */ @@ -728,9 +881,7 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, } /* Handle receipt of a blocked signal, or any signal while stopped. */ - if (act != ignore /* Signals ignored now are forgotten now. */ - && __sigismember (&ss->blocked, signo) - || (signo != SIGKILL && _hurd_stopped)) + if (__sigismember (&blocked, signo) || (signo != SIGKILL && _hurd_stopped)) { mark_pending (); act = ignore; @@ -765,6 +916,7 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, now's the time to set it going. */ if (ss_suspended) { + assert (ss->thread != MACH_PORT_NULL); err = __thread_resume (ss->thread); assert_perror (err); ss_suspended = 0; @@ -809,6 +961,8 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, struct sigcontext *scp, ocontext; int wait_for_reply, state_changed; + assert (ss->thread != MACH_PORT_NULL); + /* Stop the thread and abort its pending RPC operations. */ if (! ss_suspended) { @@ -876,7 +1030,7 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, as a unit. */ crit ? 0 : signo, 1, &thread_state, &state_changed, - &reply) + reply) != MACH_PORT_NULL); if (crit) @@ -945,23 +1099,28 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, } } + struct sigaction *action = & _hurd_sigstate_actions (ss) [signo]; + /* Backdoor extra argument to signal handler. */ scp->sc_error = detail->error; /* Block requested signals while running the handler. */ scp->sc_mask = ss->blocked; - __sigorset (&ss->blocked, &ss->blocked, &ss->actions[signo].sa_mask); + __sigorset (&ss->blocked, &ss->blocked, &action->sa_mask); /* Also block SIGNO unless we're asked not to. */ - if (! (ss->actions[signo].sa_flags & (SA_RESETHAND | SA_NODEFER))) + if (! (action->sa_flags & (SA_RESETHAND | SA_NODEFER))) __sigaddset (&ss->blocked, signo); /* Reset to SIG_DFL if requested. SIGILL and SIGTRAP cannot be automatically reset when delivered; the system silently enforces this restriction. */ - if (ss->actions[signo].sa_flags & SA_RESETHAND + if (action->sa_flags & SA_RESETHAND && signo != SIGILL && signo != SIGTRAP) - ss->actions[signo].sa_handler = SIG_DFL; + action->sa_handler = SIG_DFL; + + /* Any sigsuspend call must return after the handler does. */ + wake_sigsuspend (ss); /* Start the thread running the handler (or possibly waiting for an RPC reply before running the handler). */ @@ -976,95 +1135,134 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, } } - /* The signal has either been ignored or is now being handled. We can - consider it delivered and reply to the killer. */ - reply (); + return ss; +} + +/* Return the set of pending signals in SS which should be delivered. */ +static sigset_t +pending_signals (struct hurd_sigstate *ss) +{ + /* We don't worry about any pending signals if we are stopped, nor if + SS is in a critical section. We are guaranteed to get a sig_post + message before any of them become deliverable: either the SIGCONT + signal, or a sig_post with SIGNO==0 as an explicit poll when the + thread finishes its critical section. */ + if (_hurd_stopped || __spin_lock_locked (&ss->critical_section_lock)) + return 0; + + return _hurd_sigstate_pending (ss) & ~ss->blocked; +} - /* We get here unless the signal was fatal. We still hold SS->lock. - Check for pending signals, and loop to post them. */ - { - /* Return nonzero if SS has any signals pending we should worry about. - We don't worry about any pending signals if we are stopped, nor if - SS is in a critical section. We are guaranteed to get a sig_post - message before any of them become deliverable: either the SIGCONT - signal, or a sig_post with SIGNO==0 as an explicit poll when the - thread finishes its critical section. */ - inline int signals_pending (void) +/* Post the specified pending signals in SS and return 1. If one of + them is traced, abort immediately and return 0. SS must be locked on + entry and will be unlocked in all cases. */ +static int +post_pending (struct hurd_sigstate *ss, sigset_t pending, void (*reply) (void)) +{ + int signo; + struct hurd_signal_detail detail; + + /* Make sure SS corresponds to an actual thread, since we assume it won't + change in post_signal. */ + assert (ss->thread != MACH_PORT_NULL); + + for (signo = 1; signo < NSIG; ++signo) + if (__sigismember (&pending, signo)) { - if (_hurd_stopped || __spin_lock_locked (&ss->critical_section_lock)) + detail = sigstate_clear_pending (ss, signo); + _hurd_sigstate_unlock (ss); + + /* Will reacquire the lock, except if the signal is traced. */ + if (! post_signal (ss, signo, &detail, 0, reply)) return 0; - return pending = ss->pending & ~ss->blocked; } - check_pending_signals: - untraced = 0; + /* No more signals pending; SS->lock is still locked. */ + _hurd_sigstate_unlock (ss); - if (signals_pending ()) - { - for (signo = 1; signo < NSIG; ++signo) - if (__sigismember (&pending, signo)) - { - deliver_pending: - __sigdelset (&ss->pending, signo); - *detail = ss->pending_data[signo]; - __spin_unlock (&ss->lock); - goto post_signal; - } - } + return 1; +} - /* No pending signals left undelivered for this thread. - If we were sent signal 0, we need to check for pending - signals for all threads. */ - if (signo == 0) - { - __spin_unlock (&ss->lock); - __mutex_lock (&_hurd_siglock); - for (ss = _hurd_sigstates; ss != NULL; ss = ss->next) - { - __spin_lock (&ss->lock); - for (signo = 1; signo < NSIG; ++signo) - if (__sigismember (&ss->pending, signo) - && (!__sigismember (&ss->blocked, signo) - /* We "deliver" immediately pending blocked signals whose - action might be to ignore, so that if ignored they are - dropped right away. */ - || ss->actions[signo].sa_handler == SIG_IGN - || ss->actions[signo].sa_handler == SIG_DFL)) - { - __mutex_unlock (&_hurd_siglock); - goto deliver_pending; - } - __spin_unlock (&ss->lock); - } - __mutex_unlock (&_hurd_siglock); - } - else - { - /* No more signals pending; SS->lock is still locked. - Wake up any sigsuspend call that is blocking SS->thread. */ - if (ss->suspended != MACH_PORT_NULL) - { - /* There is a sigsuspend waiting. Tell it to wake up. */ - error_t err; - mach_msg_header_t msg; - msg.msgh_bits = MACH_MSGH_BITS (MACH_MSG_TYPE_MAKE_SEND, 0); - msg.msgh_remote_port = ss->suspended; - msg.msgh_local_port = MACH_PORT_NULL; - /* These values do not matter. */ - msg.msgh_id = 8675309; /* Jenny, Jenny. */ - ss->suspended = MACH_PORT_NULL; - err = __mach_msg (&msg, MACH_SEND_MSG, sizeof msg, 0, - MACH_PORT_NULL, MACH_MSG_TIMEOUT_NONE, - MACH_PORT_NULL); - assert_perror (err); - } - __spin_unlock (&ss->lock); - } - } +/* Post all the pending signals of all threads and return 1. If a traced + signal is encountered, abort immediately and return 0. */ +static int +post_all_pending_signals (void (*reply) (void)) +{ + struct hurd_sigstate *ss; + sigset_t pending = 0; + + for (;;) + { + __mutex_lock (&_hurd_siglock); + for (ss = _hurd_sigstates; ss != NULL; ss = ss->next) + { + _hurd_sigstate_lock (ss); + + pending = pending_signals (ss); + if (pending) + /* post_pending() below will unlock SS. */ + break; + + _hurd_sigstate_unlock (ss); + } + __mutex_unlock (&_hurd_siglock); - /* All pending signals delivered to all threads. - Now we can send the reply message even for signal 0. */ - reply (); + if (! pending) + return 1; + if (! post_pending (ss, pending, reply)) + return 0; + } +} + +/* Deliver a signal. SS is not locked. */ +void +_hurd_internal_post_signal (struct hurd_sigstate *ss, + int signo, struct hurd_signal_detail *detail, + mach_port_t reply_port, + mach_msg_type_name_t reply_port_type, + int untraced) +{ + /* Reply to this sig_post message. */ + __typeof (__msg_sig_post_reply) *reply_rpc + = (untraced ? __msg_sig_post_untraced_reply : __msg_sig_post_reply); + void reply (void) + { + error_t err; + if (reply_port == MACH_PORT_NULL) + return; + err = (*reply_rpc) (reply_port, reply_port_type, 0); + reply_port = MACH_PORT_NULL; + if (err != MACH_SEND_INVALID_DEST) /* Ignore dead reply port. */ + assert_perror (err); + } + + ss = post_signal (ss, signo, detail, untraced, reply); + if (! ss) + return; + + /* The signal was neither fatal nor traced. We still hold SS->lock. */ + if (signo != 0 && ss->thread != MACH_PORT_NULL) + { + /* The signal has either been ignored or is now being handled. We can + consider it delivered and reply to the killer. */ + reply (); + + /* Post any pending signals for this thread. */ + if (! post_pending (ss, pending_signals (ss), reply)) + return; + } + else + { + /* If this was a process-wide signal or a poll request, we need + to check for pending signals for all threads. */ + _hurd_sigstate_unlock (ss); + if (! post_all_pending_signals (reply)) + return; + + /* All pending signals delivered to all threads. + Now we can send the reply message even for signal 0. */ + reply (); + } } /* Decide whether REFPORT enables the sender to send us a SIGNO signal. @@ -1183,9 +1381,10 @@ _S_msg_sig_post (mach_port_t me, d.code = sigcode; d.exc = 0; - /* Post the signal to the designated signal-receiving thread. This will - reply when the signal can be considered delivered. */ - _hurd_internal_post_signal (_hurd_thread_sigstate (_hurd_sigthread), + /* Post the signal to a global receiver thread (or mark it pending in + the global sigstate). This will reply when the signal can be + considered delivered. */ + _hurd_internal_post_signal (_hurd_global_sigstate, signo, &d, reply_port, reply_port_type, 0); /* Stop if traced. */ @@ -1213,7 +1412,7 @@ _S_msg_sig_post_untraced (mach_port_t me, /* Post the signal to the designated signal-receiving thread. This will reply when the signal can be considered delivered. */ - _hurd_internal_post_signal (_hurd_thread_sigstate (_hurd_sigthread), + _hurd_internal_post_signal (_hurd_global_sigstate, signo, &d, reply_port, reply_port_type, 1); /* Untraced flag. */ @@ -1224,8 +1423,8 @@ extern void __mig_init (void *); #include -/* Initialize the message port and _hurd_sigthread and start the signal - thread. */ +/* Initialize the message port, _hurd_global_sigstate, and start the + signal thread. */ void _hurdsig_init (const int *intarray, size_t intarraysize) @@ -1248,27 +1447,34 @@ _hurdsig_init (const int *intarray, size_t intarraysize) MACH_MSG_TYPE_MAKE_SEND); assert_perror (err); + /* Initialize the global signal state. */ + _hurd_global_sigstate = _hurd_thread_sigstate (MACH_PORT_NULL); + + /* We block all signals, and let actual threads pull them from the + pending mask. */ + __sigfillset(& _hurd_global_sigstate->blocked); + /* Initialize the main thread's signal state. */ ss = _hurd_self_sigstate (); - /* Copy inherited values from our parent (or pre-exec process state) - into the signal settings of the main thread. */ + /* Mark it as a process-wide signal receiver. Threads in this set use + the common action vector in _hurd_global_sigstate. */ + _hurd_sigstate_set_global_rcv (ss); + + /* Copy inherited signal settings from our parent (or pre-exec process + state) */ if (intarraysize > INIT_SIGMASK) ss->blocked = intarray[INIT_SIGMASK]; if (intarraysize > INIT_SIGPENDING) - ss->pending = intarray[INIT_SIGPENDING]; + _hurd_global_sigstate->pending = intarray[INIT_SIGPENDING]; if (intarraysize > INIT_SIGIGN && intarray[INIT_SIGIGN] != 0) { int signo; for (signo = 1; signo < NSIG; ++signo) if (intarray[INIT_SIGIGN] & __sigmask(signo)) - ss->actions[signo].sa_handler = SIG_IGN; + _hurd_global_sigstate->actions[signo].sa_handler = SIG_IGN; } - /* Set the default thread to receive task-global signals - to this one, the main (first) user thread. */ - _hurd_sigthread = ss->thread; - /* Start the signal thread listening on the message port. */ #pragma weak __cthread_fork diff --git a/hurd/hurdsock.c b/hurd/hurdsock.c index ab74a521ec..f77c83ee9e 100644 --- a/hurd/hurdsock.c +++ b/hurd/hurdsock.c @@ -1,5 +1,5 @@ /* _hurd_socket_server - Find the server for a socket domain. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdsocket.h b/hurd/hurdsocket.h index 7024b94283..a1c25ef03b 100644 --- a/hurd/hurdsocket.h +++ b/hurd/hurdsocket.h @@ -1,5 +1,5 @@ /* Hurd-specific socket functions - Copyright (C) 2013-2019 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURD_HURDSOCKET_H #define _HURD_HURDSOCKET_H diff --git a/hurd/hurdstartup.c b/hurd/hurdstartup.c index a028151b8f..b67de45bc9 100644 --- a/hurd/hurdstartup.c +++ b/hurd/hurdstartup.c @@ -1,5 +1,5 @@ /* Initial program startup for running under the GNU Hurd. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/hurdstartup.h b/hurd/hurdstartup.h index aa5141ca00..2e0b499bc6 100644 --- a/hurd/hurdstartup.h +++ b/hurd/hurdstartup.h @@ -1,5 +1,5 @@ /* Data from initial program startup for running under the GNU Hurd. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _HURDSTARTUP_H #define _HURDSTARTUP_H 1 diff --git a/hurd/intern-fd.c b/hurd/intern-fd.c index b576279e85..adf3a76db6 100644 --- a/hurd/intern-fd.c +++ b/hurd/intern-fd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/intr-msg.c b/hurd/intr-msg.c index b7fda2188f..30cc6f20ea 100644 --- a/hurd/intr-msg.c +++ b/hurd/intr-msg.c @@ -1,5 +1,5 @@ /* Replacement for mach_msg used in interruptible Hurd RPCs. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/intr-rpc.defs b/hurd/intr-rpc.defs index 8053ad0e26..ca4bf0a46d 100644 --- a/hurd/intr-rpc.defs +++ b/hurd/intr-rpc.defs @@ -1,5 +1,5 @@ /* Special MiG definitions for interruptible RPC stubs. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Cause user stubs for interruptible RPCs to import a special header to modify their behavior. */ diff --git a/hurd/intr-rpc.h b/hurd/intr-rpc.h index 74a9825aeb..b6f42e7fe9 100644 --- a/hurd/intr-rpc.h +++ b/hurd/intr-rpc.h @@ -1,5 +1,5 @@ /* Special MiG definitions for interruptible RPC stubs. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file is imported by the MiG-generated user stubs for interruptible RPCs. We modify them to use our own function in place of mach_msg. */ diff --git a/hurd/longjmp-ts.c b/hurd/longjmp-ts.c index 886d832d11..87e86721c5 100644 --- a/hurd/longjmp-ts.c +++ b/hurd/longjmp-ts.c @@ -1,5 +1,5 @@ /* Perform a `longjmp' on a Mach thread_state. Stub version. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/lookup-at.c b/hurd/lookup-at.c index 43430b5762..794ab53626 100644 --- a/hurd/lookup-at.c +++ b/hurd/lookup-at.c @@ -1,5 +1,5 @@ /* Lookup helper function for Hurd implementation of *at functions. - Copyright (C) 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2006-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/lookup-retry.c b/hurd/lookup-retry.c index 9c49075fe1..6d8b05e4e6 100644 --- a/hurd/lookup-retry.c +++ b/hurd/lookup-retry.c @@ -1,5 +1,5 @@ /* hairy bits of Hurd file name lookup - Copyright (C) 1992-2019 Free Software Foundation, Inc. + Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -178,8 +178,17 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port) /* We got a successful translation. Now apply any open-time action flags we were passed. */ - if (!err && (flags & O_TRUNC)) /* Asked to truncate the file. */ - err = __file_set_size (*result, 0); + if (!err && (flags & O_TRUNC)) + { + /* Asked to truncate the file. */ + err = __file_set_size (*result, 0); + if (!err) + { + struct timespec atime = { 0, UTIME_OMIT }; + struct timespec mtime = { 0, UTIME_NOW }; + __file_utimens (*result, atime, mtime); + } + } if (err) __mach_port_deallocate (__mach_task_self (), *result); diff --git a/hurd/msgportdemux.c b/hurd/msgportdemux.c index 039b395933..7d5f6a5a66 100644 --- a/hurd/msgportdemux.c +++ b/hurd/msgportdemux.c @@ -1,5 +1,5 @@ /* Demux messages sent on the signal port. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/new-fd.c b/hurd/new-fd.c index 8d02549cf2..db96fb9c40 100644 --- a/hurd/new-fd.c +++ b/hurd/new-fd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/openport.c b/hurd/openport.c index d056d29af4..22182e9149 100644 --- a/hurd/openport.c +++ b/hurd/openport.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/path-lookup.c b/hurd/path-lookup.c index af0a02a5ce..b404f500e1 100644 --- a/hurd/path-lookup.c +++ b/hurd/path-lookup.c @@ -1,5 +1,5 @@ /* Filename lookup using a search path - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/pid2task.c b/hurd/pid2task.c index ee62db995d..b6d5b4e861 100644 --- a/hurd/pid2task.c +++ b/hurd/pid2task.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/port-cleanup.c b/hurd/port-cleanup.c index 7a61155d45..95b019c4c0 100644 --- a/hurd/port-cleanup.c +++ b/hurd/port-cleanup.c @@ -1,5 +1,5 @@ -/* Cleanup function for `struct hurd_port' users who longjmp. - Copyright (C) 1995-2019 Free Software Foundation, Inc. +/* Cleanup function for `struct hurd_port' users. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -28,3 +28,14 @@ _hurd_port_cleanup (void *cleanup_data, jmp_buf env, int val) { __mach_port_deallocate (__mach_task_self (), (mach_port_t) cleanup_data); } + +/* We were cancelled while using a port, and called from the cleanup unwinding. + */ + +void +_hurd_port_use_cleanup (void *arg) +{ + struct _hurd_port_use_data *data = arg; + + _hurd_port_free (data->p, &data->link, data->port); +} diff --git a/hurd/port2fd.c b/hurd/port2fd.c index f500202c91..4cfc467564 100644 --- a/hurd/port2fd.c +++ b/hurd/port2fd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/ports-get.c b/hurd/ports-get.c index f17d66e2fb..c09de3e6ab 100644 --- a/hurd/ports-get.c +++ b/hurd/ports-get.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/ports-set.c b/hurd/ports-set.c index 8f81c36b9e..1274205fd1 100644 --- a/hurd/ports-set.c +++ b/hurd/ports-set.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/preempt-sig.c b/hurd/preempt-sig.c index 3e47cfc254..2ac1a61f87 100644 --- a/hurd/preempt-sig.c +++ b/hurd/preempt-sig.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/privports.c b/hurd/privports.c index 9dc27b3e15..75315bb846 100644 --- a/hurd/privports.c +++ b/hurd/privports.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/report-wait.c b/hurd/report-wait.c index 7a507053bf..487a5fb05a 100644 --- a/hurd/report-wait.c +++ b/hurd/report-wait.c @@ -1,5 +1,5 @@ /* Report on what a thread in our task is waiting for. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/set-host.c b/hurd/set-host.c index 52ec46adc7..13e10fa4f3 100644 --- a/hurd/set-host.c +++ b/hurd/set-host.c @@ -1,5 +1,5 @@ /* Set a host configuration item kept as the whole contents of a file. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/setauth.c b/hurd/setauth.c index 0476cde2da..5493db5e5d 100644 --- a/hurd/setauth.c +++ b/hurd/setauth.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/seteuids.c b/hurd/seteuids.c index e49e098443..329a4d034a 100644 --- a/hurd/seteuids.c +++ b/hurd/seteuids.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2019 Free Software Foundation, Inc. +/* Copyright (C) 1993-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/siginfo.c b/hurd/siginfo.c index d37ff810af..7411eb92bc 100644 --- a/hurd/siginfo.c +++ b/hurd/siginfo.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2019 Free Software Foundation, Inc. +/* Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/sigunwind.c b/hurd/sigunwind.c index 75841ae210..3a24426a02 100644 --- a/hurd/sigunwind.c +++ b/hurd/sigunwind.c @@ -1,5 +1,5 @@ /* longjmp cleanup function for unwinding past signal handlers. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/task2pid.c b/hurd/task2pid.c index 4e23f8b7eb..840999330d 100644 --- a/hurd/task2pid.c +++ b/hurd/task2pid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/thread-cancel.c b/hurd/thread-cancel.c index ade938c93e..10c7fe7aa2 100644 --- a/hurd/thread-cancel.c +++ b/hurd/thread-cancel.c @@ -1,5 +1,5 @@ /* Thread cancellation support. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/thread-self.c b/hurd/thread-self.c index 2089ca0424..15888e0558 100644 --- a/hurd/thread-self.c +++ b/hurd/thread-self.c @@ -1,5 +1,5 @@ /* Cheap function to get current thread from sigstate without a syscall. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/hurd/trampoline.c b/hurd/trampoline.c index ed4de3c097..e70fbf6c0f 100644 --- a/hurd/trampoline.c +++ b/hurd/trampoline.c @@ -1,5 +1,5 @@ /* Set thread_state for sighandler, and sigcontext to recover. Stub version. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/vpprintf.c b/hurd/vpprintf.c index 4d9fe21cff..c8d901f975 100644 --- a/hurd/vpprintf.c +++ b/hurd/vpprintf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/hurd/xattr.c b/hurd/xattr.c index ffca84ef33..7464265465 100644 --- a/hurd/xattr.c +++ b/hurd/xattr.c @@ -1,5 +1,5 @@ /* Support for *xattr interfaces on GNU/Hurd. - Copyright (C) 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2006-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/Makefile b/iconv/Makefile index 74cd9bf860..30bf996d3a 100644 --- a/iconv/Makefile +++ b/iconv/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1997-2019 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Makefile for iconv. @@ -26,7 +26,7 @@ headers = iconv.h gconv.h routines = iconv_open iconv iconv_close \ gconv_open gconv gconv_close gconv_db gconv_conf \ gconv_builtin gconv_simple gconv_trans gconv_cache -routines += gconv_dl +routines += gconv_dl gconv_charset vpath %.c ../locale/programs ../intl @@ -44,7 +44,7 @@ CFLAGS-linereader.c += -DNO_TRANSLITERATION CFLAGS-simple-hash.c += -I../locale tests = tst-iconv1 tst-iconv2 tst-iconv3 tst-iconv4 tst-iconv5 tst-iconv6 \ - tst-iconv7 tst-iconv-mt + tst-iconv7 tst-iconv-mt tst-iconv-opt others = iconv_prog iconvconfig install-others-programs = $(inst_bindir)/iconv @@ -61,6 +61,7 @@ include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left)) ifeq ($(run-built-tests),yes) xtests-special += $(objpfx)test-iconvconfig.out +tests-special += $(objpfx)tst-iconv_prog.out endif # Make a copy of the file because gconv module names are constructed @@ -81,6 +82,13 @@ endif include ../Rules +ifeq ($(run-built-tests),yes) +LOCALES := en_US.UTF-8 +include ../gen-locales.mk + +$(objpfx)tst-iconv-opt.out: $(gen-locales) +endif + $(inst_bindir)/iconv: $(objpfx)iconv_prog $(+force) $(do-install-program) @@ -95,3 +103,8 @@ $(objpfx)test-iconvconfig.out: /dev/null $(objpfx)iconvconfig cmp $$tmp $(inst_gconvdir)/gconv-modules.cache; \ rm -f $$tmp) > $@; \ $(evaluate-test) + +$(objpfx)tst-iconv_prog.out: tst-iconv_prog.sh $(objpfx)iconv_prog + $(BASH) $< $(common-objdir) '$(test-wrapper-env)' \ + '$(run-program-env)' > $@; \ + $(evaluate-test) diff --git a/iconv/Versions b/iconv/Versions index 60ab10a277..8a5f4cf780 100644 --- a/iconv/Versions +++ b/iconv/Versions @@ -6,6 +6,7 @@ libc { GLIBC_PRIVATE { # functions shared with iconv program __gconv_get_alias_db; __gconv_get_cache; __gconv_get_modules_db; + __gconv_open; __gconv_create_spec; # function used by the gconv modules __gconv_transliterate; diff --git a/iconv/dummy-repertoire.c b/iconv/dummy-repertoire.c index 20efd3fc0f..1fce769b8c 100644 --- a/iconv/dummy-repertoire.c +++ b/iconv/dummy-repertoire.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff --git a/iconv/gconv.c b/iconv/gconv.c index efbe259d43..a62a011fd0 100644 --- a/iconv/gconv.c +++ b/iconv/gconv.c @@ -1,6 +1,6 @@ /* Convert characters in input buffer using conversion descriptor to output buffer. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/gconv.h b/iconv/gconv.h index 7ce79bcbf6..6add596642 100644 --- a/iconv/gconv.h +++ b/iconv/gconv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This header provides no interface for a user to the internals of the gconv implementation in the libc. Therefore there is no use diff --git a/iconv/gconv_builtin.c b/iconv/gconv_builtin.c index 04a0d59e91..601513be58 100644 --- a/iconv/gconv_builtin.c +++ b/iconv/gconv_builtin.c @@ -1,5 +1,5 @@ /* Table for builtin transformation mapping. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/gconv_builtin.h b/iconv/gconv_builtin.h index b96258129a..bddf33dfc0 100644 --- a/iconv/gconv_builtin.h +++ b/iconv/gconv_builtin.h @@ -1,5 +1,5 @@ /* Builtin transformations. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* All encoding named must be in upper case. There must be no extra spaces. */ diff --git a/iconv/gconv_cache.c b/iconv/gconv_cache.c index 4db7287cee..9fe371b4c0 100644 --- a/iconv/gconv_cache.c +++ b/iconv/gconv_cache.c @@ -1,5 +1,5 @@ /* Cache handling for iconv modules. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -446,12 +446,9 @@ __gconv_lookup_cache (const char *toset, const char *fromset, void __gconv_release_cache (struct __gconv_step *steps, size_t nsteps) { - /* The only thing we have to deallocate is the record with the - steps. But do not do this if the reference counter is still - positive. This can happen if the steps array was cloned by - __wcsmbs_clone_conv. (The array elements have separate __counter - fields, but they are only out of sync temporarily.) */ - if (gconv_cache != NULL && steps->__counter == 0) + if (gconv_cache != NULL) + /* The only thing we have to deallocate is the record with the + steps. */ free (steps); } diff --git a/iconv/gconv_charset.c b/iconv/gconv_charset.c new file mode 100644 index 0000000000..6ccd0773cc --- /dev/null +++ b/iconv/gconv_charset.c @@ -0,0 +1,218 @@ +/* Charset name normalization. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + + +#include +#include +#include +#include +#include +#include +#include "gconv_int.h" +#include "gconv_charset.h" + + +/* This function returns a pointer to the last suffix in a conversion code + string. Valid suffixes matched by this function are of the form: '/' or ',' + followed by arbitrary text that doesn't contain '/' or ','. It does not + edit the string in any way. The caller is expected to parse the suffix and + remove it (by e.g. truncating the string) before the next call. */ +static char * +find_suffix (char *s) +{ + /* The conversion code is in the form of a triplet, separated by '/' chars. + The third component of the triplet contains suffixes. If we don't have two + slashes, we don't have a suffix. */ + + int slash_count = 0; + char *suffix_term = NULL; + + for (int i = 0; s[i] != '\0'; i++) + switch (s[i]) + { + case '/': + slash_count++; + /* Fallthrough */ + case ',': + suffix_term = &s[i]; + } + + if (slash_count >= 2) + return suffix_term; + + return NULL; +} + + +struct gconv_parsed_code +{ + char *code; + bool translit; + bool ignore; +}; + + +/* This function parses an iconv_open encoding PC.CODE, strips any suffixes + (such as TRANSLIT or IGNORE) from it and sets corresponding flags in it. */ +static void +gconv_parse_code (struct gconv_parsed_code *pc) +{ + pc->translit = false; + pc->ignore = false; + + while (1) + { + /* First drop any trailing whitespaces and separators. */ + size_t len = strlen (pc->code); + while ((len > 0) + && (isspace (pc->code[len - 1]) + || pc->code[len - 1] == ',' + || pc->code[len - 1] == '/')) + len--; + + pc->code[len] = '\0'; + + if (len == 0) + return; + + char * suffix = find_suffix (pc->code); + if (suffix == NULL) + { + /* At this point, we have processed and removed all suffixes from the + code and what remains of the code is suffix free. */ + return; + } + else + { + /* A suffix is processed from the end of the code array going + backwards, one suffix at a time. The suffix is an index into the + code character array and points to: one past the end of the code + and any unprocessed suffixes, and to the beginning of the suffix + currently being processed during this iteration. We must process + this suffix and then drop it from the code by terminating the + preceding text with NULL. + + We want to allow and recognize suffixes such as: + + "/TRANSLIT" i.e. single suffix + "//TRANSLIT" i.e. single suffix and multiple separators + "//TRANSLIT/IGNORE" i.e. suffixes separated by "/" + "/TRANSLIT//IGNORE" i.e. suffixes separated by "//" + "//IGNORE,TRANSLIT" i.e. suffixes separated by "," + "//IGNORE," i.e. trailing "," + "//TRANSLIT/" i.e. trailing "/" + "//TRANSLIT//" i.e. trailing "//" + "/" i.e. empty suffix. + + Unknown suffixes are silently discarded and ignored. */ + + if ((__strcasecmp_l (suffix, + GCONV_TRIPLE_SEPARATOR + GCONV_TRANSLIT_SUFFIX, + _nl_C_locobj_ptr) == 0) + || (__strcasecmp_l (suffix, + GCONV_SUFFIX_SEPARATOR + GCONV_TRANSLIT_SUFFIX, + _nl_C_locobj_ptr) == 0)) + pc->translit = true; + + if ((__strcasecmp_l (suffix, + GCONV_TRIPLE_SEPARATOR + GCONV_IGNORE_ERRORS_SUFFIX, + _nl_C_locobj_ptr) == 0) + || (__strcasecmp_l (suffix, + GCONV_SUFFIX_SEPARATOR + GCONV_IGNORE_ERRORS_SUFFIX, + _nl_C_locobj_ptr) == 0)) + pc->ignore = true; + + /* We just processed this suffix. We can now drop it from the + code string by truncating it at the suffix's position. */ + suffix[0] = '\0'; + } + } +} + + +/* This function accepts the charset names of the source and destination of the + conversion and populates *conv_spec with an equivalent conversion + specification that may later be used by __gconv_open. The charset names + might contain options in the form of suffixes that alter the conversion, + e.g. "ISO-10646/UTF-8/TRANSLIT". It processes the charset names, ignoring + and truncating any suffix options in fromcode, and processing and truncating + any suffix options in tocode. Supported suffix options ("TRANSLIT" or + "IGNORE") when found in tocode lead to the corresponding flag in *conv_spec + to be set to true. Unrecognized suffix options are silently discarded. If + the function succeeds, it returns conv_spec back to the caller. It returns + NULL upon failure. conv_spec must be allocated and freed by the caller. */ +struct gconv_spec * +__gconv_create_spec (struct gconv_spec *conv_spec, const char *fromcode, + const char *tocode) +{ + struct gconv_parsed_code pfc, ptc; + struct gconv_spec *ret = NULL; + + pfc.code = __strdup (fromcode); + ptc.code = __strdup (tocode); + + if ((pfc.code == NULL) + || (ptc.code == NULL)) + goto out; + + gconv_parse_code (&pfc); + gconv_parse_code (&ptc); + + /* We ignore suffixes in the fromcode because that is how the current + implementation has always handled them. Only suffixes in the tocode are + processed and handled. The reality is that invalid input in the input + character set should only be ignored if the fromcode specifies IGNORE. + The current implementation ignores invalid intput in the input character + set if the tocode contains IGNORE. We preserve this behavior for + backwards compatibility. In the future we may split the handling of + IGNORE to allow a finer grained specification of ignorning invalid input + and/or ignoring invalid output. */ + conv_spec->translit = ptc.translit; + conv_spec->ignore = ptc.ignore; + + /* 3 extra bytes because 1 extra for '\0', and 2 extra so strip might + be able to add one or two trailing '/' characters if necessary. */ + conv_spec->fromcode = malloc (strlen (fromcode) + 3); + if (conv_spec->fromcode == NULL) + goto out; + + conv_spec->tocode = malloc (strlen (tocode) + 3); + if (conv_spec->tocode == NULL) + { + free (conv_spec->fromcode); + conv_spec->fromcode = NULL; + goto out; + } + + /* Strip unrecognized characters and ensure that the code has two '/' + characters as per conversion code triplet specification. */ + strip (conv_spec->fromcode, pfc.code); + strip (conv_spec->tocode, ptc.code); + ret = conv_spec; + +out: + free (pfc.code); + free (ptc.code); + + return ret; +} +libc_hidden_def (__gconv_create_spec) diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h index 91e0ad3141..b39b09aea1 100644 --- a/iconv/gconv_charset.h +++ b/iconv/gconv_charset.h @@ -1,5 +1,5 @@ /* Charset name normalization. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,13 +15,72 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include +#include +#include +#include +#include +#include "gconv_int.h" -static void +/* An iconv encoding is in the form of a triplet, with parts separated by + a '/' character. The first part is the standard name, the second part is + the character set, and the third part is the error handler. If the first + part is sufficient to identify both the standard and the character set + then the second part can be empty e.g. UTF-8//. If the first part is not + sufficient to identify both the standard and the character set then the + second part is required e.g. ISO-10646/UTF8/. If neither the first or + second parts are provided e.g. //, then the current locale is used. + The actual values used in the first and second parts are not entirely + relevant to the implementation. The values themselves are used in a hash + table to lookup modules and so the naming convention of the first two parts + is somewhat arbitrary and only helps locate the entries in the cache. + The third part is the error handler and is comprised of a ',' or '/' + separated list of suffixes. Currently, we support "TRANSLIT" for + transliteration and "IGNORE" for ignoring conversion errors due to + unrecognized input characters. */ +#define GCONV_TRIPLE_SEPARATOR "/" +#define GCONV_SUFFIX_SEPARATOR "," +#define GCONV_TRANSLIT_SUFFIX "TRANSLIT" +#define GCONV_IGNORE_ERRORS_SUFFIX "IGNORE" + + +/* This function accepts the charset names of the source and destination of the + conversion and populates *conv_spec with an equivalent conversion + specification that may later be used by __gconv_open. The charset names + might contain options in the form of suffixes that alter the conversion, + e.g. "ISO-10646/UTF-8/TRANSLIT". It processes the charset names, ignoring + and truncating any suffix options in fromcode, and processing and truncating + any suffix options in tocode. Supported suffix options ("TRANSLIT" or + "IGNORE") when found in tocode lead to the corresponding flag in *conv_spec + to be set to true. Unrecognized suffix options are silently discarded. If + the function succeeds, it returns conv_spec back to the caller. It returns + NULL upon failure. */ +struct gconv_spec * +__gconv_create_spec (struct gconv_spec *conv_spec, const char *fromcode, + const char *tocode); +libc_hidden_proto (__gconv_create_spec) + + +/* This function frees all heap memory allocated by __gconv_create_spec. */ +static void __attribute__ ((unused)) +gconv_destroy_spec (struct gconv_spec *conv_spec) +{ + free (conv_spec->fromcode); + free (conv_spec->tocode); + return; +} + + +/* This function copies in-order, characters from the source 's' that are + either alpha-numeric or one in one of these: "_-.,:/" - into the destination + 'wp' while dropping all other characters. In the process, it converts all + alphabetical characters to upper case. It then appends up to two '/' + characters so that the total number of '/'es in the destination is 2. */ +static inline void __attribute__ ((unused, always_inline)) strip (char *wp, const char *s) { int slash_count = 0; diff --git a/iconv/gconv_close.c b/iconv/gconv_close.c index 515be8f83f..ac5114dca2 100644 --- a/iconv/gconv_close.c +++ b/iconv/gconv_close.c @@ -1,5 +1,5 @@ /* Release any resource associated with given conversion descriptor. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c index ae8937cba0..735bd1f2d5 100644 --- a/iconv/gconv_conf.c +++ b/iconv/gconv_conf.c @@ -1,5 +1,5 @@ /* Handle configuration data. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c index 3735fac765..b16ac17c3f 100644 --- a/iconv/gconv_db.c +++ b/iconv/gconv_db.c @@ -1,5 +1,5 @@ /* Provide access to the collection of available transformation modules. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/gconv_dl.c b/iconv/gconv_dl.c index c0342d8f50..af02cc9f06 100644 --- a/iconv/gconv_dl.c +++ b/iconv/gconv_dl.c @@ -1,5 +1,5 @@ /* Handle loading/unloading of shared object for transformation. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h index ea41d6feaa..e86938dae7 100644 --- a/iconv/gconv_int.h +++ b/iconv/gconv_int.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GCONV_INT_H #define _GCONV_INT_H 1 @@ -75,6 +75,15 @@ struct gconv_module }; +/* The specification of the conversion that needs to be performed. */ +struct gconv_spec +{ + char *fromcode; + char *tocode; + bool translit; + bool ignore; +}; + /* Flags for `gconv_open'. */ enum { @@ -136,10 +145,12 @@ __libc_lock_define (extern, __gconv_lock attribute_hidden) }) -/* Return in *HANDLE decriptor for transformation from FROMSET to TOSET. */ -extern int __gconv_open (const char *toset, const char *fromset, - __gconv_t *handle, int flags) - attribute_hidden; +/* Return in *HANDLE, a decriptor for the transformation. The function expects + the specification of the transformation in the structure pointed to by + CONV_SPEC. It only reads *CONV_SPEC and does not take ownership of it. */ +extern int __gconv_open (struct gconv_spec *conv_spec, + __gconv_t *handle, int flags); +libc_hidden_proto (__gconv_open) /* Free resources associated with transformation descriptor CD. */ extern int __gconv_close (__gconv_t cd) diff --git a/iconv/gconv_open.c b/iconv/gconv_open.c index 383190df4f..2878620957 100644 --- a/iconv/gconv_open.c +++ b/iconv/gconv_open.c @@ -1,5 +1,5 @@ /* Find matching transformation algorithms and initialize steps. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -31,7 +31,7 @@ int -__gconv_open (const char *toset, const char *fromset, __gconv_t *handle, +__gconv_open (struct gconv_spec *conv_spec, __gconv_t *handle, int flags) { struct __gconv_step *steps; @@ -40,77 +40,38 @@ __gconv_open (const char *toset, const char *fromset, __gconv_t *handle, size_t cnt = 0; int res; int conv_flags = 0; - const char *errhand; - const char *ignore; bool translit = false; + char *tocode, *fromcode; /* Find out whether any error handling method is specified. */ - errhand = strchr (toset, '/'); - if (errhand != NULL) - errhand = strchr (errhand + 1, '/'); - if (__glibc_likely (errhand != NULL)) - { - if (*++errhand == '\0') - errhand = NULL; - else - { - /* Make copy without the error handling description. */ - char *newtoset = (char *) alloca (errhand - toset + 1); - char *tok; - char *ptr = NULL /* Work around a bogus warning */; - - newtoset[errhand - toset] = '\0'; - toset = memcpy (newtoset, toset, errhand - toset); + translit = conv_spec->translit; - /* Find the appropriate transliteration handlers. */ - tok = strdupa (errhand); + if (conv_spec->ignore) + conv_flags |= __GCONV_IGNORE_ERRORS; - tok = __strtok_r (tok, ",", &ptr); - while (tok != NULL) - { - if (__strcasecmp_l (tok, "TRANSLIT", _nl_C_locobj_ptr) == 0) - translit = true; - else if (__strcasecmp_l (tok, "IGNORE", _nl_C_locobj_ptr) == 0) - /* Set the flag to ignore all errors. */ - conv_flags |= __GCONV_IGNORE_ERRORS; - - tok = __strtok_r (NULL, ",", &ptr); - } - } - } - - /* For the source character set we ignore the error handler specification. - XXX Is this really always the best? */ - ignore = strchr (fromset, '/'); - if (ignore != NULL && (ignore = strchr (ignore + 1, '/')) != NULL - && *++ignore != '\0') - { - char *newfromset = (char *) alloca (ignore - fromset + 1); - - newfromset[ignore - fromset] = '\0'; - fromset = memcpy (newfromset, fromset, ignore - fromset); - } + tocode = conv_spec->tocode; + fromcode = conv_spec->fromcode; /* If the string is empty define this to mean the charset of the currently selected locale. */ - if (strcmp (toset, "//") == 0) + if (strcmp (tocode, "//") == 0) { const char *codeset = _NL_CURRENT (LC_CTYPE, CODESET); size_t len = strlen (codeset); char *dest; - toset = dest = (char *) alloca (len + 3); + tocode = dest = (char *) alloca (len + 3); memcpy (__mempcpy (dest, codeset, len), "//", 3); } - if (strcmp (fromset, "//") == 0) + if (strcmp (fromcode, "//") == 0) { const char *codeset = _NL_CURRENT (LC_CTYPE, CODESET); size_t len = strlen (codeset); char *dest; - fromset = dest = (char *) alloca (len + 3); + fromcode = dest = (char *) alloca (len + 3); memcpy (__mempcpy (dest, codeset, len), "//", 3); } - res = __gconv_find_transform (toset, fromset, &steps, &nsteps, flags); + res = __gconv_find_transform (tocode, fromcode, &steps, &nsteps, flags); if (res == __GCONV_OK) { /* Allocate room for handle. */ @@ -209,3 +170,4 @@ __gconv_open (const char *toset, const char *fromset, __gconv_t *handle, *handle = result; return res; } +libc_hidden_def (__gconv_open) diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c index 75ce8fb1f4..d4797fba17 100644 --- a/iconv/gconv_simple.c +++ b/iconv/gconv_simple.c @@ -1,5 +1,5 @@ /* Simple transformations functions. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/gconv_trans.c b/iconv/gconv_trans.c index e162ebe69c..ea02c95e84 100644 --- a/iconv/gconv_trans.c +++ b/iconv/gconv_trans.c @@ -1,5 +1,5 @@ /* Transliteration using the locale's data. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/iconv.c b/iconv/iconv.c index b96f9d84a3..97c894dcd4 100644 --- a/iconv/iconv.c +++ b/iconv/iconv.c @@ -1,6 +1,6 @@ /* Convert characters in input buffer using conversion descriptor to output buffer. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include /* for NULL */ #include diff --git a/iconv/iconv.h b/iconv/iconv.h index 9585ec268e..a457001c0c 100644 --- a/iconv/iconv.h +++ b/iconv/iconv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2019 Free Software Foundation, Inc. +/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ICONV_H #define _ICONV_H 1 diff --git a/iconv/iconv_charmap.c b/iconv/iconv_charmap.c index 629391c58b..5c4a208218 100644 --- a/iconv/iconv_charmap.c +++ b/iconv/iconv_charmap.c @@ -1,5 +1,5 @@ /* Convert using charmaps and possibly iconv(). - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include #include diff --git a/iconv/iconv_close.c b/iconv/iconv_close.c index 31fcf3739f..a19d3796a9 100644 --- a/iconv/iconv_close.c +++ b/iconv/iconv_close.c @@ -1,5 +1,5 @@ /* Release any resource associated with given conversion descriptor. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/iconv_open.c b/iconv/iconv_open.c index b3e7953ee1..dd54bc12e0 100644 --- a/iconv/iconv_open.c +++ b/iconv/iconv_open.c @@ -1,5 +1,5 @@ /* Get descriptor for character set conversion. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -31,49 +31,15 @@ iconv_t iconv_open (const char *tocode, const char *fromcode) { - /* Normalize the name. We remove all characters beside alpha-numeric, - '_', '-', '/', '.', and ':'. */ - size_t tocode_len = strlen (tocode) + 3; - char *tocode_conv; - bool tocode_usealloca = __libc_use_alloca (tocode_len); - if (tocode_usealloca) - tocode_conv = (char *) alloca (tocode_len); - else - { - tocode_conv = (char *) malloc (tocode_len); - if (tocode_conv == NULL) - return (iconv_t) -1; - } - strip (tocode_conv, tocode); - tocode = (tocode_conv[2] == '\0' && tocode[0] != '\0' - ? upstr (tocode_conv, tocode) : tocode_conv); + __gconv_t cd; + struct gconv_spec conv_spec; - size_t fromcode_len = strlen (fromcode) + 3; - char *fromcode_conv; - bool fromcode_usealloca = __libc_use_alloca (fromcode_len); - if (fromcode_usealloca) - fromcode_conv = (char *) alloca (fromcode_len); - else - { - fromcode_conv = (char *) malloc (fromcode_len); - if (fromcode_conv == NULL) - { - if (! tocode_usealloca) - free (tocode_conv); - return (iconv_t) -1; - } - } - strip (fromcode_conv, fromcode); - fromcode = (fromcode_conv[2] == '\0' && fromcode[0] != '\0' - ? upstr (fromcode_conv, fromcode) : fromcode_conv); + if (__gconv_create_spec (&conv_spec, fromcode, tocode) == NULL) + return (iconv_t) -1; - __gconv_t cd; - int res = __gconv_open (tocode, fromcode, &cd, 0); + int res = __gconv_open (&conv_spec, &cd, 0); - if (! fromcode_usealloca) - free (fromcode_conv); - if (! tocode_usealloca) - free (tocode_conv); + gconv_destroy_spec (&conv_spec); if (__builtin_expect (res, __GCONV_OK) != __GCONV_OK) { diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c index 2bae079d2b..b4334faa57 100644 --- a/iconv/iconv_prog.c +++ b/iconv/iconv_prog.c @@ -1,5 +1,5 @@ /* Convert text in given files from the specified from-set to the to-set. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include #include @@ -39,6 +39,7 @@ #include #include "iconv_prog.h" #include "iconvconfig.h" +#include "gconv_charset.h" /* Get libc version number. */ #include "../version.h" @@ -118,8 +119,7 @@ main (int argc, char *argv[]) { int status = EXIT_SUCCESS; int remaining; - iconv_t cd; - const char *orig_to_code; + __gconv_t cd; struct charmap_t *from_charmap = NULL; struct charmap_t *to_charmap = NULL; @@ -139,39 +139,6 @@ main (int argc, char *argv[]) exit (EXIT_SUCCESS); } - /* If we have to ignore errors make sure we use the appropriate name for - the to-character-set. */ - orig_to_code = to_code; - if (omit_invalid) - { - const char *errhand = strchrnul (to_code, '/'); - int nslash = 2; - char *newp; - char *cp; - - if (*errhand == '/') - { - --nslash; - errhand = strchrnul (errhand + 1, '/'); - - if (*errhand == '/') - { - --nslash; - errhand = strchr (errhand, '\0'); - } - } - - newp = (char *) alloca (errhand - to_code + nslash + 7 + 1); - cp = mempcpy (newp, to_code, errhand - to_code); - while (nslash-- > 0) - *cp++ = '/'; - if (cp[-1] != '/') - *cp++ = ','; - memcpy (cp, "IGNORE", sizeof ("IGNORE")); - - to_code = newp; - } - /* POSIX 1003.2b introduces a silly thing: the arguments to -t anf -f can be file names of charmaps. In this case iconv will have to read those charmaps and use them to do the conversion. But there are @@ -184,10 +151,10 @@ main (int argc, char *argv[]) file. */ from_charmap = charmap_read (from_code, /*0, 1*/1, 0, 0, 0); - if (strchr (orig_to_code, '/') != NULL) + if (strchr (to_code, '/') != NULL) /* The to-name might be a charmap file name. Try reading the file. */ - to_charmap = charmap_read (orig_to_code, /*0, 1,*/1, 0, 0, 0); + to_charmap = charmap_read (to_code, /*0, 1,*/1, 0, 0, 0); /* At this point we have to handle two cases. The first one is @@ -201,9 +168,25 @@ main (int argc, char *argv[]) argc, remaining, argv, output_file); else { + struct gconv_spec conv_spec; + int res; + + if (__gconv_create_spec (&conv_spec, from_code, to_code) == NULL) + { + error (EXIT_FAILURE, errno, + _("failed to start conversion processing")); + exit (1); + } + + if (omit_invalid) + conv_spec.ignore = true; + /* Let's see whether we have these coded character sets. */ - cd = iconv_open (to_code, from_code); - if (cd == (iconv_t) -1) + res = __gconv_open (&conv_spec, &cd, 0); + + gconv_destroy_spec (&conv_spec); + + if (res != __GCONV_OK) { if (errno == EINVAL) { @@ -221,7 +204,7 @@ main (int argc, char *argv[]) const char *from_pretty = (from_code[0] ? from_code : nl_langinfo (CODESET)); const char *to_pretty = - (orig_to_code[0] ? orig_to_code : nl_langinfo (CODESET)); + (to_code[0] ? to_code : nl_langinfo (CODESET)); if (from_wrong) { @@ -423,7 +406,7 @@ print_version (FILE *stream, struct argp_state *state) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2019"); +"), "2020"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } diff --git a/iconv/iconv_prog.h b/iconv/iconv_prog.h index 451fdd68e8..05df1e1cf6 100644 --- a/iconv/iconv_prog.h +++ b/iconv/iconv_prog.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ICONV_PROG_H #define _ICONV_PROG_H 1 diff --git a/iconv/iconvconfig.c b/iconv/iconvconfig.c index f75e46dc16..18c1ef37e3 100644 --- a/iconv/iconvconfig.c +++ b/iconv/iconvconfig.c @@ -1,5 +1,5 @@ /* Generate fastloading iconv module configuration files. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include #include @@ -397,7 +397,7 @@ print_version (FILE *stream, struct argp_state *state) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2019"); +"), "2020"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } diff --git a/iconv/iconvconfig.h b/iconv/iconvconfig.h index f6926d1351..7f848186bd 100644 --- a/iconv/iconvconfig.h +++ b/iconv/iconvconfig.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ + not, see . */ #include diff --git a/iconv/loop.c b/iconv/loop.c index fa98c1a521..b032fcd9ac 100644 --- a/iconv/loop.c +++ b/iconv/loop.c @@ -1,5 +1,5 @@ /* Conversion loop frame work. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file provides a frame for the reader loop in all conversion modules. The actual code must (of course) be provided in the actual module source @@ -420,8 +420,10 @@ SINGLE(LOOPFCT) (struct __gconv_step *step, # else /* We don't have enough input for another complete input character. */ - while (inptr < inend) - state->__value.__wchb[inlen++] = *inptr++; + size_t inlen_after = inlen + (inend - inptr); + assert (inlen_after <= sizeof (state->__value.__wchb)); + for (; inlen < inlen_after; inlen++) + state->__value.__wchb[inlen] = *inptr++; # endif return __GCONV_INCOMPLETE_INPUT; @@ -483,11 +485,11 @@ SINGLE(LOOPFCT) (struct __gconv_step *step, /* We don't have enough input for another complete input character. */ assert (inend - inptr > (state->__count & ~7)); - assert (inend - inptr <= sizeof (state->__value)); + assert (inend - inptr <= sizeof (state->__value.__wchb)); state->__count = (state->__count & ~7) | (inend - inptr); - inlen = 0; - while (inptr < inend) - state->__value.__wchb[inlen++] = *inptr++; + for (inlen = 0; inlen < inend - inptr; inlen++) + state->__value.__wchb[inlen] = inptr[inlen]; + inptr = inend; # endif } diff --git a/iconv/skeleton.c b/iconv/skeleton.c index 7c12975de3..1a38b51a5a 100644 --- a/iconv/skeleton.c +++ b/iconv/skeleton.c @@ -1,5 +1,5 @@ /* Skeleton for a conversion module. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file can be included to provide definitions of several things many modules have in common. It can be customized using the following @@ -795,11 +795,13 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data, # else /* Make sure the remaining bytes fit into the state objects buffer. */ - assert (inend - *inptrp < 4); + size_t cnt_after = inend - *inptrp; + assert (cnt_after <= sizeof (data->__statep->__value.__wchb)); size_t cnt; - for (cnt = 0; *inptrp < inend; ++cnt) - data->__statep->__value.__wchb[cnt] = *(*inptrp)++; + for (cnt = 0; cnt < cnt_after; ++cnt) + data->__statep->__value.__wchb[cnt] = (*inptrp)[cnt]; + *inptrp = inend; data->__statep->__count &= ~7; data->__statep->__count |= cnt; # endif diff --git a/iconv/strtab.c b/iconv/strtab.c index 141135db4d..d07acc4e65 100644 --- a/iconv/strtab.c +++ b/iconv/strtab.c @@ -1,5 +1,5 @@ /* C string table handling. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifdef HAVE_CONFIG_H # include diff --git a/iconv/test-gconv-modules b/iconv/test-gconv-modules index 95376f2c96..4a0a31378d 100644 --- a/iconv/test-gconv-modules +++ b/iconv/test-gconv-modules @@ -1,5 +1,5 @@ # Test modules for gconv. -# Copyright (C) 2017-2019 Free Software Foundation, Inc. +# Copyright (C) 2017-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # To activate these modules, tests need to put a directory with the # modules and a copy of this file (under the name gconv-modules) on diff --git a/iconv/tst-gconv-init-failure-mod.c b/iconv/tst-gconv-init-failure-mod.c index a84ad55a54..398c59e998 100644 --- a/iconv/tst-gconv-init-failure-mod.c +++ b/iconv/tst-gconv-init-failure-mod.c @@ -1,5 +1,5 @@ /* Test gconv module for tst-gconv-init-failure. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/tst-gconv-init-failure.c b/iconv/tst-gconv-init-failure.c index 511995d74a..df6e857545 100644 --- a/iconv/tst-gconv-init-failure.c +++ b/iconv/tst-gconv-init-failure.c @@ -1,5 +1,5 @@ /* Check that module __end_fct is not invoked when the init function fails. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/tst-iconv-mt.c b/iconv/tst-iconv-mt.c index 17bfd41c45..1ae9b4ac17 100644 --- a/iconv/tst-iconv-mt.c +++ b/iconv/tst-iconv-mt.c @@ -1,5 +1,5 @@ /* Test that iconv works in a multi-threaded program. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This test runs several worker threads that perform the following three steps in staggered synchronization with each other: diff --git a/iconv/tst-iconv-opt.c b/iconv/tst-iconv-opt.c new file mode 100644 index 0000000000..669d812a6a --- /dev/null +++ b/iconv/tst-iconv-opt.c @@ -0,0 +1,347 @@ +/* Test iconv's TRANSLIT and IGNORE option handling + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + + +#include +#include +#include +#include +#include +#include + + +/* Run one iconv test. Arguments: + to: destination character set and options + from: source character set + input: input string to be converted + exp_in: expected number of bytes consumed + exp_ret: expected return value (error or number of irreversible conversions) + exp_out: expected output string + exp_err: expected value of `errno' after iconv returns. */ +static void +test_iconv (const char *to, const char *from, char *input, size_t exp_in, + size_t exp_ret, const char *exp_out, int exp_err) +{ + iconv_t cd; + char outbuf[500]; + size_t inlen, outlen; + char *inptr, *outptr; + size_t n; + + cd = iconv_open (to, from); + TEST_VERIFY (cd != (iconv_t) -1); + + inlen = strlen (input); + outlen = sizeof (outbuf); + inptr = input; + outptr = outbuf; + + errno = 0; + n = iconv (cd, &inptr, &inlen, &outptr, &outlen); + + TEST_COMPARE (n, exp_ret); + TEST_VERIFY (inptr == input + exp_in); + TEST_COMPARE (errno, exp_err); + TEST_COMPARE_BLOB (outbuf, outptr - outbuf, exp_out, strlen (exp_out)); + TEST_VERIFY (iconv_close (cd) == 0); +} + + +/* We test option parsing by converting UTF-8 inputs to ASCII under various + option combinations. The UTF-8 inputs fall into three categories: + - ASCII-only, + - non-ASCII, + - non-ASCII with invalid UTF-8 characters. */ + +/* 1. */ +char ascii[] = "Just some ASCII text"; + +/* 2. Valid UTF-8 input and some corresponding expected outputs with various + options. The two non-ASCII characters below are accented alphabets: + an `a' then an `o'. */ +char utf8[] = "UTF-8 text with \u00E1 couple \u00F3f non-ASCII characters"; +char u2a[] = "UTF-8 text with "; +char u2a_translit[] = "UTF-8 text with a couple of non-ASCII characters"; +char u2a_ignore[] = "UTF-8 text with couple f non-ASCII characters"; + +/* 3. Invalid UTF-8 input and some corresponding expected outputs. \xff is + invalid UTF-8. It's followed by some valid but non-ASCII UTF-8. */ +char iutf8[] = "Invalid UTF-8 \xff\u27E6text\u27E7"; +char iu2a[] = "Invalid UTF-8 "; +char iu2a_ignore[] = "Invalid UTF-8 text"; +char iu2a_both[] = "Invalid UTF-8 [|text|]"; + +/* 4. Another invalid UTF-8 input and corresponding expected outputs. This time + the valid non-ASCII UTF-8 characters appear before the invalid \xff. */ +char jutf8[] = "Invalid \u27E6UTF-8\u27E7 \xfftext"; +char ju2a[] = "Invalid "; +char ju2a_translit[] = "Invalid [|UTF-8|] "; +char ju2a_ignore[] = "Invalid UTF-8 text"; +char ju2a_both[] = "Invalid [|UTF-8|] text"; + +/* We also test option handling for character set names that have the form + "A/B". In this test, we test conversions "ISO-10646/UTF-8", and either + ISO-8859-1 or ASCII. */ + +/* 5. Accented 'A' and 'a' characters in ISO-8859-1 and UTF-8, and an + equivalent ASCII transliteration. */ +char iso8859_1_a[] = {0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, /* Accented A's. */ + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, /* Accented a's. */ + 0x00}; +char utf8_a[] = "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5" + "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5"; +char ascii_a[] = "AAAAAAaaaaaa"; + +/* 6. An invalid ASCII string where [0] is invalid and [1] is '~'. */ +char iascii [] = {0x80, '~', '\0'}; +char empty[] = ""; +char ia2u_ignore[] = "~"; + +static int +do_test (void) +{ + xsetlocale (LC_ALL, "en_US.UTF-8"); + + + /* 0. iconv_open should gracefully fail for invalid character sets. */ + + TEST_VERIFY (iconv_open ("INVALID", "UTF-8") == (iconv_t) -1); + TEST_VERIFY (iconv_open ("UTF-8", "INVALID") == (iconv_t) -1); + TEST_VERIFY (iconv_open ("INVALID", "INVALID") == (iconv_t) -1); + + + /* 1. ASCII-only UTF-8 input should convert to ASCII with no changes: */ + + test_iconv ("ASCII", "UTF-8", ascii, strlen (ascii), 0, ascii, 0); + test_iconv ("ASCII//", "UTF-8", ascii, strlen (ascii), 0, ascii, 0); + test_iconv ("ASCII//TRANSLIT", "UTF-8", ascii, strlen (ascii), 0, ascii, 0); + test_iconv ("ASCII//TRANSLIT//", "UTF-8", ascii, strlen (ascii), 0, ascii, + 0); + test_iconv ("ASCII//IGNORE", "UTF-8", ascii, strlen (ascii), 0, ascii, 0); + test_iconv ("ASCII//IGNORE//", "UTF-8", ascii, strlen (ascii), 0, ascii, 0); + + + /* 2. Valid UTF-8 input with non-ASCII characters: */ + + /* EILSEQ when converted to ASCII. */ + test_iconv ("ASCII", "UTF-8", utf8, strlen (u2a), (size_t) -1, u2a, EILSEQ); + + /* Converted without error with TRANSLIT enabled. */ + test_iconv ("ASCII//TRANSLIT", "UTF-8", utf8, strlen (utf8), 2, u2a_translit, + 0); + + /* EILSEQ with IGNORE enabled. Non-ASCII chars dropped from output. */ + test_iconv ("ASCII//IGNORE", "UTF-8", utf8, strlen (utf8), (size_t) -1, + u2a_ignore, EILSEQ); + + /* With TRANSLIT and IGNORE enabled, transliterated without error. We test + four combinations. */ + + test_iconv ("ASCII//TRANSLIT,IGNORE", "UTF-8", utf8, strlen (utf8), 2, + u2a_translit, 0); + test_iconv ("ASCII//TRANSLIT//IGNORE", "UTF-8", utf8, strlen (utf8), 2, + u2a_translit, 0); + test_iconv ("ASCII//IGNORE,TRANSLIT", "UTF-8", utf8, strlen (utf8), 2, + u2a_translit, 0); + /* Due to bug 19519, iconv was ignoring TRANSLIT for the following input. */ + test_iconv ("ASCII//IGNORE//TRANSLIT", "UTF-8", utf8, strlen (utf8), 2, + u2a_translit, 0); + + /* Misspellings of TRANSLIT and IGNORE are ignored, but conversion still + works while respecting any other correctly spelled options. */ + + test_iconv ("ASCII//T", "UTF-8", utf8, strlen (u2a), (size_t) -1, u2a, + EILSEQ); + test_iconv ("ASCII//TRANSLITERATE", "UTF-8", utf8, strlen (u2a), (size_t) -1, + u2a, EILSEQ); + test_iconv ("ASCII//I", "UTF-8", utf8, strlen (u2a), (size_t) -1, u2a, + EILSEQ); + test_iconv ("ASCII//IGNORED", "UTF-8", utf8, strlen (u2a), (size_t) -1, u2a, + EILSEQ); + test_iconv ("ASCII//TRANSLITERATE//IGNORED", "UTF-8", utf8, strlen (u2a), + (size_t) -1, u2a, EILSEQ); + test_iconv ("ASCII//IGNORED,TRANSLITERATE", "UTF-8", utf8, strlen (u2a), + (size_t) -1, u2a, EILSEQ); + test_iconv ("ASCII//T//I", "UTF-8", utf8, strlen (u2a), (size_t) -1, u2a, + EILSEQ); + + test_iconv ("ASCII//TRANSLIT//I", "UTF-8", utf8, strlen (utf8), 2, + u2a_translit, 0); + /* Due to bug 19519, iconv was ignoring TRANSLIT for the following input. */ + test_iconv ("ASCII//I//TRANSLIT", "UTF-8", utf8, strlen (utf8), 2, + u2a_translit, 0); + test_iconv ("ASCII//IGNORED,TRANSLIT", "UTF-8", utf8, strlen (utf8), 2, + u2a_translit, 0); + test_iconv ("ASCII//TRANSLIT,IGNORED", "UTF-8", utf8, strlen (utf8), 2, + u2a_translit, 0); + + test_iconv ("ASCII//IGNORE,T", "UTF-8", utf8, strlen (utf8), (size_t) -1, + u2a_ignore, EILSEQ); + test_iconv ("ASCII//T,IGNORE", "UTF-8", utf8, strlen (utf8), (size_t) -1, + u2a_ignore, EILSEQ); + /* Due to bug 19519, iconv was ignoring IGNORE for the following input. */ + test_iconv ("ASCII//TRANSLITERATE//IGNORE", "UTF-8", utf8, strlen (utf8), + (size_t) -1, u2a_ignore, EILSEQ); + test_iconv ("ASCII//IGNORE//TRANSLITERATE", "UTF-8", utf8, strlen (utf8), + (size_t) -1, u2a_ignore, EILSEQ); + + + /* 3. Invalid UTF-8 followed by some valid non-ASCII UTF-8 characters: */ + + /* EILSEQ; output is truncated at the first invalid UTF-8 character. */ + test_iconv ("ASCII", "UTF-8", iutf8, strlen (iu2a), (size_t) -1, iu2a, + EILSEQ); + + /* With TRANSLIT enabled: EILSEQ; output still truncated at the first invalid + UTF-8 character. */ + test_iconv ("ASCII//TRANSLIT", "UTF-8", iutf8, strlen (iu2a), (size_t) -1, + iu2a, EILSEQ); + + /* With IGNORE enabled: EILSEQ; output omits invalid UTF-8 characters and + valid UTF-8 non-ASCII characters. */ + test_iconv ("ASCII//IGNORE", "UTF-8", iutf8, strlen (iutf8), (size_t) -1, + iu2a_ignore, EILSEQ); + + /* With TRANSLIT and IGNORE enabled, output omits only invalid UTF-8 + characters and transliterates valid non-ASCII UTF-8 characters. We test + four combinations. */ + + test_iconv ("ASCII//TRANSLIT,IGNORE", "UTF-8", iutf8, strlen (iutf8), 2, + iu2a_both, 0); + /* Due to bug 19519, iconv was ignoring IGNORE for the following input. */ + test_iconv ("ASCII//TRANSLIT//IGNORE", "UTF-8", iutf8, strlen (iutf8), 2, + iu2a_both, 0); + test_iconv ("ASCII//IGNORE,TRANSLIT", "UTF-8", iutf8, strlen (iutf8), 2, + iu2a_both, 0); + /* Due to bug 19519, iconv was ignoring TRANSLIT for the following input. */ + test_iconv ("ASCII//IGNORE//TRANSLIT", "UTF-8", iutf8, strlen (iutf8), 2, + iu2a_both, 0); + + + /* 4. Invalid UTF-8 with valid non-ASCII UTF-8 chars appearing first: */ + + /* EILSEQ; output is truncated at the first non-ASCII character. */ + test_iconv ("ASCII", "UTF-8", jutf8, strlen (ju2a), (size_t) -1, ju2a, + EILSEQ); + + /* With TRANSLIT enabled: EILSEQ; output now truncated at the first invalid + UTF-8 character. */ + test_iconv ("ASCII//TRANSLIT", "UTF-8", jutf8, strlen (jutf8) - 5, + (size_t) -1, ju2a_translit, EILSEQ); + test_iconv ("ASCII//translit", "UTF-8", jutf8, strlen (jutf8) - 5, + (size_t) -1, ju2a_translit, EILSEQ); + + /* With IGNORE enabled: EILSEQ; output omits invalid UTF-8 characters and + valid UTF-8 non-ASCII characters. */ + test_iconv ("ASCII//IGNORE", "UTF-8", jutf8, strlen (jutf8), (size_t) -1, + ju2a_ignore, EILSEQ); + test_iconv ("ASCII//ignore", "UTF-8", jutf8, strlen (jutf8), (size_t) -1, + ju2a_ignore, EILSEQ); + + /* With TRANSLIT and IGNORE enabled, output omits only invalid UTF-8 + characters and transliterates valid non-ASCII UTF-8 characters. We test + several combinations. */ + + test_iconv ("ASCII//TRANSLIT,IGNORE", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + /* Due to bug 19519, iconv was ignoring IGNORE for the following input. */ + test_iconv ("ASCII//TRANSLIT//IGNORE", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + test_iconv ("ASCII//IGNORE,TRANSLIT", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + /* Due to bug 19519, iconv was ignoring TRANSLIT for the following input. */ + test_iconv ("ASCII//IGNORE//TRANSLIT", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + test_iconv ("ASCII//translit,ignore", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + /* Trailing whitespace and separators should be ignored. */ + test_iconv ("ASCII//IGNORE,TRANSLIT ", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + test_iconv ("ASCII//IGNORE,TRANSLIT/", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + test_iconv ("ASCII//IGNORE,TRANSLIT//", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + test_iconv ("ASCII//IGNORE,TRANSLIT,", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + test_iconv ("ASCII//IGNORE,TRANSLIT,,", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + test_iconv ("ASCII//IGNORE,TRANSLIT /,", "UTF-8", jutf8, strlen (jutf8), 2, + ju2a_both, 0); + + /* TRANSLIT or IGNORE suffixes in fromcode should be ignored. */ + test_iconv ("ASCII", "UTF-8//TRANSLIT", jutf8, strlen (ju2a), (size_t) -1, + ju2a, EILSEQ); + test_iconv ("ASCII", "UTF-8//IGNORE", jutf8, strlen (ju2a), (size_t) -1, + ju2a, EILSEQ); + test_iconv ("ASCII", "UTF-8//TRANSLIT,IGNORE", jutf8, strlen (ju2a), + (size_t) -1, ju2a, EILSEQ); + + + /* 5. Charset names of the form "A/B/": */ + + /* ISO-8859-1 is converted to UTF-8 without needing transliteration. */ + test_iconv ("ISO-10646/UTF-8", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + test_iconv ("ISO-10646/UTF-8/", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + test_iconv ("ISO-10646/UTF-8/IGNORE", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + test_iconv ("ISO-10646/UTF-8//IGNORE", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + test_iconv ("ISO-10646/UTF-8/TRANSLIT", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + test_iconv ("ISO-10646/UTF-8//TRANSLIT", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + test_iconv ("ISO-10646/UTF-8//TRANSLIT/IGNORE", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + test_iconv ("ISO-10646/UTF-8//TRANSLIT//IGNORE", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + test_iconv ("ISO-10646/UTF-8/TRANSLIT,IGNORE", "ISO-8859-1", iso8859_1_a, + strlen (iso8859_1_a), 0, utf8_a, 0); + + /* UTF-8 with accented A's is converted to ASCII with transliteration. */ + test_iconv ("ASCII", "ISO-10646/UTF-8", utf8_a, + 0, (size_t) -1, empty, EILSEQ); + test_iconv ("ASCII//IGNORE", "ISO-10646/UTF-8", utf8_a, + strlen (utf8_a), (size_t) -1, empty, EILSEQ); + test_iconv ("ASCII//TRANSLIT", "ISO-10646/UTF-8", utf8_a, + strlen (utf8_a), 12, ascii_a, 0); + + /* Invalid ASCII is converted to UTF-8 only with IGNORE. */ + test_iconv ("ISO-10646/UTF-8", "ASCII", iascii, strlen (empty), (size_t) -1, + empty, EILSEQ); + test_iconv ("ISO-10646/UTF-8/TRANSLIT", "ASCII", iascii, strlen (empty), + (size_t) -1, empty, EILSEQ); + test_iconv ("ISO-10646/UTF-8/IGNORE", "ASCII", iascii, strlen (iascii), + (size_t) -1, ia2u_ignore, EILSEQ); + test_iconv ("ISO-10646/UTF-8/TRANSLIT,IGNORE", "ASCII", iascii, + strlen (iascii), (size_t) -1, ia2u_ignore, EILSEQ); + /* Due to bug 19519, iconv was ignoring IGNORE for the following three + inputs: */ + test_iconv ("ISO-10646/UTF-8/TRANSLIT/IGNORE", "ASCII", iascii, + strlen (iascii), (size_t) -1, ia2u_ignore, EILSEQ); + test_iconv ("ISO-10646/UTF-8//TRANSLIT,IGNORE", "ASCII", iascii, + strlen (iascii), (size_t) -1, ia2u_ignore, EILSEQ); + test_iconv ("ISO-10646/UTF-8//TRANSLIT//IGNORE", "ASCII", iascii, + strlen (iascii), (size_t) -1, ia2u_ignore, EILSEQ); + + return 0; +} + +#include diff --git a/iconv/tst-iconv2.c b/iconv/tst-iconv2.c index 92b7fc6e0b..ff0eb61fcb 100644 --- a/iconv/tst-iconv2.c +++ b/iconv/tst-iconv2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/tst-iconv5.c b/iconv/tst-iconv5.c index 66c86490b1..8211843e4f 100644 --- a/iconv/tst-iconv5.c +++ b/iconv/tst-iconv5.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by GOTO Masanori , 2004 @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/tst-iconv6.c b/iconv/tst-iconv6.c index 048f245836..e4cd861a38 100644 --- a/iconv/tst-iconv6.c +++ b/iconv/tst-iconv6.c @@ -1,5 +1,5 @@ /* Testing ucs4le_internal_loop() in gconv_simple.c. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconv/tst-iconv7.c b/iconv/tst-iconv7.c index 10372bf79f..a9e7eff5b1 100644 --- a/iconv/tst-iconv7.c +++ b/iconv/tst-iconv7.c @@ -1,5 +1,5 @@ /* Test iconv buffer handling with the IGNORE error handler. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Derived from BZ #18830 */ #include diff --git a/iconv/tst-iconv_prog.sh b/iconv/tst-iconv_prog.sh new file mode 100644 index 0000000000..8298136b7f --- /dev/null +++ b/iconv/tst-iconv_prog.sh @@ -0,0 +1,280 @@ +#!/bin/bash +# Test for some known iconv(1) hangs from bug 19519, and miscellaneous +# iconv(1) program error conditions. +# Copyright (C) 2020 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# . + +codir=$1 +test_wrapper_env="$2" +run_program_env="$3" + +# We have to have some directories in the library path. +LIBPATH=$codir:$codir/iconvdata + +# How the start the iconv(1) program. $from is not defined/expanded yet. +ICONV=' +$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so +$codir/iconv/iconv_prog +' +ICONV="$test_wrapper_env $run_program_env $ICONV" + +# List of known hangs; +# Gathered by running an exhaustive 2 byte input search against glibc-2.28 +hangarray=( +"\x00\x23;-c;ANSI_X3.110;UTF-8//TRANSLIT//IGNORE" +"\x00\xa1;-c;ARMSCII-8;UTF-8//TRANSLIT//IGNORE" +"\x00\xa1;-c;ASMO_449;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;BIG5;UTF-8//TRANSLIT//IGNORE" +"\x00\xff;-c;BIG5HKSCS;UTF-8//TRANSLIT//IGNORE" +"\x00\xff;-c;BRF;UTF-8//TRANSLIT//IGNORE" +"\x00\xff;-c;BS_4730;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;CP1250;UTF-8//TRANSLIT//IGNORE" +"\x00\x98;-c;CP1251;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;CP1252;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;CP1253;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;CP1254;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;CP1255;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;CP1257;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;CP1258;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;CP932;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;CSA_Z243.4-1985-1;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;CSA_Z243.4-1985-2;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;DEC-MCS;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;DIN_66003;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;DS_2089;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-AT-DE;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-AT-DE-A;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-CA-FR;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-DK-NO;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-DK-NO-A;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-ES;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-ES-A;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-ES-S;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-FI-SE;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-FI-SE-A;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-FR;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-IS-FRISS;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-IT;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-PT;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-UK;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;EBCDIC-US;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ES;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ES2;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;EUC-CN;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;EUC-JISX0213;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;EUC-JP;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;EUC-JP-MS;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;EUC-KR;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;EUC-TW;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;GB18030;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;GB_1988-80;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;GBK;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;GOST_19768-74;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;GREEK7;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;GREEK7-OLD;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;GREEK-CCITT;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;HP-GREEK8;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;HP-ROMAN8;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;HP-ROMAN9;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;HP-THAI8;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;HP-TURKISH8;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM038;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;IBM1004;UTF-8//TRANSLIT//IGNORE" +"\x00\xff;-c;IBM1008;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;IBM1046;UTF-8//TRANSLIT//IGNORE" +"\x00\x51;-c;IBM1132;UTF-8//TRANSLIT//IGNORE" +"\x00\xa0;-c;IBM1133;UTF-8//TRANSLIT//IGNORE" +"\x00\xce;-c;IBM1137;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;IBM1161;UTF-8//TRANSLIT//IGNORE" +"\x00\xdb;-c;IBM1162;UTF-8//TRANSLIT//IGNORE" +"\x00\x70;-c;IBM12712;UTF-8//TRANSLIT//IGNORE" +# These are known hangs that are yet to be fixed: +# "\x00\x0f;-c;IBM1364;UTF-8" +# "\x00\x0f;-c;IBM1371;UTF-8" +# "\x00\x0f;-c;IBM1388;UTF-8" +# "\x00\x0f;-c;IBM1390;UTF-8" +# "\x00\x0f;-c;IBM1399;UTF-8" +"\x00\x53;-c;IBM16804;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM274;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM275;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM281;UTF-8//TRANSLIT//IGNORE" +"\x00\x57;-c;IBM290;UTF-8//TRANSLIT//IGNORE" +"\x00\x45;-c;IBM420;UTF-8//TRANSLIT//IGNORE" +"\x00\x68;-c;IBM423;UTF-8//TRANSLIT//IGNORE" +"\x00\x70;-c;IBM424;UTF-8//TRANSLIT//IGNORE" +"\x00\x53;-c;IBM4517;UTF-8//TRANSLIT//IGNORE" +"\x00\x53;-c;IBM4899;UTF-8//TRANSLIT//IGNORE" +"\x00\xa5;-c;IBM4909;UTF-8//TRANSLIT//IGNORE" +"\x00\xdc;-c;IBM4971;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM803;UTF-8//TRANSLIT//IGNORE" +"\x00\x91;-c;IBM851;UTF-8//TRANSLIT//IGNORE" +"\x00\x9b;-c;IBM856;UTF-8//TRANSLIT//IGNORE" +"\x00\xd5;-c;IBM857;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;IBM864;UTF-8//TRANSLIT//IGNORE" +"\x00\x94;-c;IBM868;UTF-8//TRANSLIT//IGNORE" +"\x00\x94;-c;IBM869;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;IBM874;UTF-8//TRANSLIT//IGNORE" +"\x00\x6a;-c;IBM875;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM880;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;IBM891;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;IBM903;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;IBM904;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM905;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;IBM9066;UTF-8//TRANSLIT//IGNORE" +"\x00\x48;-c;IBM918;UTF-8//TRANSLIT//IGNORE" +"\x00\x57;-c;IBM930;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;IBM932;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM933;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM935;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM937;UTF-8//TRANSLIT//IGNORE" +"\x00\x41;-c;IBM939;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;IBM943;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;INIS;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;INIS-8;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;INIS-CYRILLIC;UTF-8//TRANSLIT//IGNORE" +"\x00\xec;-c;ISIRI-3342;UTF-8//TRANSLIT//IGNORE" +"\x00\xec;-c;ISO_10367-BOX;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-2022-CN;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-2022-CN-EXT;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-2022-JP;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-2022-JP-2;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-2022-JP-3;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-2022-KR;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO_2033;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO_5427;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO_5427-EXT;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO_5428;UTF-8//TRANSLIT//IGNORE" +"\x00\xa4;-c;ISO_6937;UTF-8//TRANSLIT//IGNORE" +"\x00\xa0;-c;ISO_6937-2;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-8859-11;UTF-8//TRANSLIT//IGNORE" +"\x00\xa5;-c;ISO-8859-3;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-8859-6;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-8859-7;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;ISO-8859-8;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;ISO-IR-197;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;ISO-IR-209;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;IT;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;JIS_C6220-1969-RO;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;JIS_C6229-1984-B;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;JOHAB;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;JUS_I.B1.002;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;KOI-8;UTF-8//TRANSLIT//IGNORE" +"\x00\x88;-c;KOI8-T;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;KSC5636;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;LATIN-GREEK;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;LATIN-GREEK-1;UTF-8//TRANSLIT//IGNORE" +"\x00\xf6;-c;MAC-IS;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;MSZ_7795.3;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;NATS-DANO;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;NATS-SEFI;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;NC_NC00-10;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;NF_Z_62-010;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;NF_Z_62-010_1973;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;NS_4551-1;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;NS_4551-2;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;PT;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;PT2;UTF-8//TRANSLIT//IGNORE" +"\x00\x98;-c;RK1048;UTF-8//TRANSLIT//IGNORE" +"\x00\x98;-c;SEN_850200_B;UTF-8//TRANSLIT//IGNORE" +"\x00\x98;-c;SEN_850200_C;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;Shift_JISX0213;UTF-8//TRANSLIT//IGNORE" +"\x00\x80;-c;SJIS;UTF-8//TRANSLIT//IGNORE" +"\x00\x23;-c;T.61-8BIT;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;TIS-620;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;TSCII;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;UHC;UTF-8//TRANSLIT//IGNORE" +"\x00\xd8;-c;UNICODE;UTF-8//TRANSLIT//IGNORE" +"\x00\xdc;-c;UTF-16;UTF-8//TRANSLIT//IGNORE" +"\xdc\x00;-c;UTF-16BE;UTF-8//TRANSLIT//IGNORE" +"\x00\xdc;-c;UTF-16LE;UTF-8//TRANSLIT//IGNORE" +"\xff\xff;-c;UTF-7;UTF-8//TRANSLIT//IGNORE" +"\x00\x81;-c;WIN-SAMI-2;UTF-8//TRANSLIT//IGNORE" +) + +# List of option combinations that *should* lead to an error +errorarray=( +# Converting from/to invalid character sets should cause error +"\x00\x00;;INVALID;INVALID" +"\x00\x00;;INVALID;UTF-8" +"\x00\x00;;UTF-8;INVALID" +) + +# Requires $twobyte input, $c flag, $from, and $to to be set; sets $ret +execute_test () +{ + eval PROG=\"$ICONV\" + echo -en "$twobyte" \ + | timeout -k 4 3 $PROG $c -f $from -t "$to" &>/dev/null + ret=$? +} + +check_hangtest_result () +{ + if [ "$ret" -eq "124" ] || [ "$ret" -eq "137" ]; then # timeout/hang + result="HANG" + else + if [ "$ret" -eq "139" ]; then # segfault + result="SEGFAULT" + else + if [ "$ret" -gt "127" ]; then # unexpected error + result="UNEXPECTED" + else + result="OK" + fi + fi + fi + + echo -n "$result: from: \"$from\", to: \"$to\"," + echo " input \"$twobyte\", flags \"$c\"" + + if [ "$result" != "OK" ]; then + exit 1 + fi +} + +for hangcommand in "${hangarray[@]}"; do + twobyte="$(echo "$hangcommand" | cut -d";" -f 1)" + c="$(echo "$hangcommand" | cut -d";" -f 2)" + from="$(echo "$hangcommand" | cut -d";" -f 3)" + to="$(echo "$hangcommand" | cut -d";" -f 4)" + execute_test + check_hangtest_result +done + +check_errtest_result () +{ + if [ "$ret" -eq "1" ]; then # we errored out as expected + result="PASS" + else + result="FAIL" + fi + echo -n "$result: from: \"$from\", to: \"$to\"," + echo " input \"$twobyte\", flags \"$c\", return code $ret" + + if [ "$result" != "PASS" ]; then + exit 1 + fi +} + +for errorcommand in "${errorarray[@]}"; do + twobyte="$(echo "$errorcommand" | cut -d";" -f 1)" + c="$(echo "$errorcommand" | cut -d";" -f 2)" + from="$(echo "$errorcommand" | cut -d";" -f 3)" + to="$(echo "$errorcommand" | cut -d";" -f 4)" + execute_test + check_errtest_result +done diff --git a/iconvdata/8bit-gap.c b/iconvdata/8bit-gap.c index af9cc62fc9..0fdb6327fc 100644 --- a/iconvdata/8bit-gap.c +++ b/iconvdata/8bit-gap.c @@ -1,6 +1,6 @@ /* Generic conversion to and from 8bit charsets, converting from UCS using gaps. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/8bit-generic.c b/iconvdata/8bit-generic.c index e9f7dceac5..9e722546bc 100644 --- a/iconvdata/8bit-generic.c +++ b/iconvdata/8bit-generic.c @@ -1,5 +1,5 @@ /* Generic conversion to and from 8bit charsets. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/Makefile b/iconvdata/Makefile index 077df78e59..4ec2741cdc 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1997-2019 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # # Makefile for iconv data and code. @@ -73,7 +73,7 @@ modules.so := $(addsuffix .so, $(modules)) ifeq (yes,$(build-shared)) tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \ tst-iconv6 bug-iconv5 bug-iconv6 tst-iconv7 bug-iconv8 bug-iconv9 \ - bug-iconv10 bug-iconv11 bug-iconv12 + bug-iconv10 bug-iconv11 bug-iconv12 tst-iconv-big5-hkscs-to-2ucs4 ifeq ($(have-thread-library),yes) tests += bug-iconv3 endif @@ -275,16 +275,21 @@ endif endif endif -include ../Rules - ifeq ($(run-built-tests),yes) -LOCALES := de_DE.UTF-8 +LOCALES := \ + de_DE.UTF-8 \ + zh_HK.BIG5-HKSCS \ + $(NULL) + include ../gen-locales.mk $(objpfx)bug-iconv6.out: $(gen-locales) $(objpfx)tst-iconv7.out: $(gen-locales) +$(objpfx)tst-iconv-big5-hkscs-to-2ucs4.out: $(gen-locales) endif +include ../Rules + # Set libof-* for each routine. cpp-srcs-left := $(modules) $(generated-modules) $(libJIS-routines) \ $(libKSC-routines) $(libGB-routines) $(libCNS-routines) \ @@ -340,3 +345,7 @@ tst-tables-clean: $(objpfx)gconv-modules: gconv-modules cat $(sysdeps-gconv-modules) $^ > $@ + +# Test requires BIG5HKSCS. +$(objpfx)tst-iconv-big5-hkscs-to-2ucs4.out: $(objpfx)gconv-modules \ + $(addprefix $(objpfx),$(modules.so)) diff --git a/iconvdata/TESTS b/iconvdata/TESTS index 257fa3f2de..ef3bd43454 100644 --- a/iconvdata/TESTS +++ b/iconvdata/TESTS @@ -1,5 +1,5 @@ # Available tests for iconv(1) (and therefore iconv(3)) in GNU libc. -# Copyright (C) 1998-2019 Free Software Foundation, Inc. +# Copyright (C) 1998-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Ulrich Drepper , 1998. # @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # Each line consists of at least four entries: # 1. input file name. diff --git a/iconvdata/TESTS2 b/iconvdata/TESTS2 index cbae19d976..531bb1eaf5 100644 --- a/iconvdata/TESTS2 +++ b/iconvdata/TESTS2 @@ -1,5 +1,5 @@ # Tests for endianness dependent iconv(1) (and therefore iconv(3)) in GNU libc. -# Copyright (C) 2001-2019 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Bruno Haible , 2001. # @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # Each line consists of three fields: # 1. The endianness independent encoding. diff --git a/iconvdata/ansi_x3.110.c b/iconvdata/ansi_x3.110.c index bf197ccd0e..ac703085f4 100644 --- a/iconvdata/ansi_x3.110.c +++ b/iconvdata/ansi_x3.110.c @@ -1,5 +1,5 @@ /* Generic conversion to and from ANSI_X3.110-1983. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/armscii-8.c b/iconvdata/armscii-8.c index 2091108469..a9a3b20f26 100644 --- a/iconvdata/armscii-8.c +++ b/iconvdata/armscii-8.c @@ -1,5 +1,5 @@ /* Conversion to and from ARMSCII-8 - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/asmo_449.c b/iconvdata/asmo_449.c index 651188a64b..11d78e13a3 100644 --- a/iconvdata/asmo_449.c +++ b/iconvdata/asmo_449.c @@ -1,5 +1,5 @@ /* Conversion from and to ASMO_449. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/big5.c b/iconvdata/big5.c index 1f61985f5d..8f077bd75f 100644 --- a/iconvdata/big5.c +++ b/iconvdata/big5.c @@ -1,5 +1,5 @@ /* Mapping tables for Big5 handling. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/big5hkscs.c b/iconvdata/big5hkscs.c index 7490a7b242..ef325119b1 100644 --- a/iconvdata/big5hkscs.c +++ b/iconvdata/big5hkscs.c @@ -1,5 +1,5 @@ /* Mapping tables for Big5-HKSCS handling. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. Modified for Big5-HKSCS by Roger So , 2000. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include @@ -17895,6 +17895,9 @@ static struct else \ ++inptr; \ } \ + else \ + /* Clear the queue and proceed to output the saved character. */ \ + *statep = 0; \ \ put32 (outptr, ch); \ outptr += 4; \ diff --git a/iconvdata/brf.c b/iconvdata/brf.c index a516f40bc3..c2a57c0c6b 100644 --- a/iconvdata/brf.c +++ b/iconvdata/brf.c @@ -1,5 +1,5 @@ /* Conversion from and to BRF. - Copyright (C) 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2006-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Samuel Thibault , 2006. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/bug-iconv10.c b/iconvdata/bug-iconv10.c index ec613927ea..bf3760b5d1 100644 --- a/iconvdata/bug-iconv10.c +++ b/iconvdata/bug-iconv10.c @@ -1,5 +1,5 @@ /* bug 17197: check that iconv doesn't emit invalid extra shift character - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/bug-iconv11.c b/iconvdata/bug-iconv11.c index 9b8b9afa9e..9cac92500f 100644 --- a/iconvdata/bug-iconv11.c +++ b/iconvdata/bug-iconv11.c @@ -1,7 +1,7 @@ /* bug 19432: iconv rejects redundant escape sequences in IBM903, IBM905, IBM907, and IBM909 - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/bug-iconv12.c b/iconvdata/bug-iconv12.c index 70ff634309..37854f5ab9 100644 --- a/iconvdata/bug-iconv12.c +++ b/iconvdata/bug-iconv12.c @@ -1,5 +1,5 @@ /* bug 19727: Testing UTF conversions with UTF16 surrogates as input. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/bug-iconv3.c b/iconvdata/bug-iconv3.c index 62a229a733..8c3fd68290 100644 --- a/iconvdata/bug-iconv3.c +++ b/iconvdata/bug-iconv3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003-2019 Free Software Foundation, Inc. +/* Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/cns11643.c b/iconvdata/cns11643.c index f4b5de954f..c7433fedee 100644 --- a/iconvdata/cns11643.c +++ b/iconvdata/cns11643.c @@ -1,5 +1,5 @@ /* Mapping tables for CNS 11643, planes 2 to 7 handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cns11643.h b/iconvdata/cns11643.h index c7b5ccc94d..fbf2efbd69 100644 --- a/iconvdata/cns11643.h +++ b/iconvdata/cns11643.h @@ -1,5 +1,5 @@ /* Access functions for CNS 11643 handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cns11643l1.c b/iconvdata/cns11643l1.c index 6b31779b2c..0dbf1abfcf 100644 --- a/iconvdata/cns11643l1.c +++ b/iconvdata/cns11643l1.c @@ -1,5 +1,5 @@ /* Mapping tables for CNS 11643, plane 1 handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cns11643l1.h b/iconvdata/cns11643l1.h index 20b8c4cd22..37dd3c3845 100644 --- a/iconvdata/cns11643l1.h +++ b/iconvdata/cns11643l1.h @@ -1,5 +1,5 @@ /* Access functions for CNS 11643, plane 1 handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/cns11643l2.h b/iconvdata/cns11643l2.h index f6edafea7a..655d55d6e5 100644 --- a/iconvdata/cns11643l2.h +++ b/iconvdata/cns11643l2.h @@ -1,5 +1,5 @@ /* Access functions for CNS 11643, plane 2 handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/cp10007.c b/iconvdata/cp10007.c index dab7eb59ab..1284a0449c 100644 --- a/iconvdata/cp10007.c +++ b/iconvdata/cp10007.c @@ -1,5 +1,5 @@ /* Conversion from and to CP10007 (MS MacCyrillic). - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1125.c b/iconvdata/cp1125.c index 7d2fa85654..51d3a83e5c 100644 --- a/iconvdata/cp1125.c +++ b/iconvdata/cp1125.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1125. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1250.c b/iconvdata/cp1250.c index 4185e99bf4..29aa11d17c 100644 --- a/iconvdata/cp1250.c +++ b/iconvdata/cp1250.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1250. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1251.c b/iconvdata/cp1251.c index 480afc99f0..d5bce7c709 100644 --- a/iconvdata/cp1251.c +++ b/iconvdata/cp1251.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1251. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1252.c b/iconvdata/cp1252.c index 51e279f95f..3931c86149 100644 --- a/iconvdata/cp1252.c +++ b/iconvdata/cp1252.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1252. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1253.c b/iconvdata/cp1253.c index 89a733ec29..f9924079e7 100644 --- a/iconvdata/cp1253.c +++ b/iconvdata/cp1253.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1253. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1254.c b/iconvdata/cp1254.c index f7f5439abd..056fe114d4 100644 --- a/iconvdata/cp1254.c +++ b/iconvdata/cp1254.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1254. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1255.c b/iconvdata/cp1255.c index 6b5a544254..50daa06206 100644 --- a/iconvdata/cp1255.c +++ b/iconvdata/cp1255.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1255. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998, and Bruno Haible , 2001. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/cp1256.c b/iconvdata/cp1256.c index 01714786b2..8a2f507982 100644 --- a/iconvdata/cp1256.c +++ b/iconvdata/cp1256.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1256. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1257.c b/iconvdata/cp1257.c index 56b997ae89..9d7182e0ca 100644 --- a/iconvdata/cp1257.c +++ b/iconvdata/cp1257.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1257. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp1258.c b/iconvdata/cp1258.c index 975dc27ce9..7c07184c88 100644 --- a/iconvdata/cp1258.c +++ b/iconvdata/cp1258.c @@ -1,5 +1,5 @@ /* Conversion from and to CP1258. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998, and Bruno Haible , 2001. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/cp737.c b/iconvdata/cp737.c index ea50699dba..525d35fb61 100644 --- a/iconvdata/cp737.c +++ b/iconvdata/cp737.c @@ -1,5 +1,5 @@ /* Conversion from and to CP737. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp737.h b/iconvdata/cp737.h index 4523dd1f6d..0b08d6f62c 100644 --- a/iconvdata/cp737.h +++ b/iconvdata/cp737.h @@ -1,5 +1,5 @@ /* Mapping table for CP737. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp770.c b/iconvdata/cp770.c index 2631c771ea..dddd27c967 100644 --- a/iconvdata/cp770.c +++ b/iconvdata/cp770.c @@ -1,5 +1,5 @@ /* Conversion from and to CP770. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp771.c b/iconvdata/cp771.c index 52b0c99b40..84b4878d57 100644 --- a/iconvdata/cp771.c +++ b/iconvdata/cp771.c @@ -1,5 +1,5 @@ /* Conversion from and to CP771. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp772.c b/iconvdata/cp772.c index 6ff9977535..ff69f6d8a4 100644 --- a/iconvdata/cp772.c +++ b/iconvdata/cp772.c @@ -1,5 +1,5 @@ /* Conversion from and to CP772. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp773.c b/iconvdata/cp773.c index f4c816b9da..bf9ec7bd25 100644 --- a/iconvdata/cp773.c +++ b/iconvdata/cp773.c @@ -1,5 +1,5 @@ /* Conversion from and to CP773. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp774.c b/iconvdata/cp774.c index a9b37fa9e5..228edd9872 100644 --- a/iconvdata/cp774.c +++ b/iconvdata/cp774.c @@ -1,5 +1,5 @@ /* Conversion from and to CP774. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp775.c b/iconvdata/cp775.c index 6b7704cd7c..9347e754e4 100644 --- a/iconvdata/cp775.c +++ b/iconvdata/cp775.c @@ -1,5 +1,5 @@ /* Conversion from and to CP775. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp775.h b/iconvdata/cp775.h index 9743d899fe..ea32e4e928 100644 --- a/iconvdata/cp775.h +++ b/iconvdata/cp775.h @@ -1,5 +1,5 @@ /* Mapping table for CP775. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cp932.c b/iconvdata/cp932.c index 4b180c3c03..7cb70261bd 100644 --- a/iconvdata/cp932.c +++ b/iconvdata/cp932.c @@ -1,5 +1,5 @@ /* Mapping tables for CP932 handling. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by MORIYAMA Masayuki , 2003. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/csn_369103.c b/iconvdata/csn_369103.c index 1fad6ea9f9..3a951be588 100644 --- a/iconvdata/csn_369103.c +++ b/iconvdata/csn_369103.c @@ -1,5 +1,5 @@ /* Conversion from and to CSN_369103. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/cwi.c b/iconvdata/cwi.c index d1b2f66779..0c33ef9cb4 100644 --- a/iconvdata/cwi.c +++ b/iconvdata/cwi.c @@ -1,5 +1,5 @@ /* Conversion from and to CWI. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/dec-mcs.c b/iconvdata/dec-mcs.c index a05eb641b5..7b65510010 100644 --- a/iconvdata/dec-mcs.c +++ b/iconvdata/dec-mcs.c @@ -1,5 +1,5 @@ /* Conversion from and to DEC-MCS. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-at-de-a.c b/iconvdata/ebcdic-at-de-a.c index 9855daba0a..d5c9217390 100644 --- a/iconvdata/ebcdic-at-de-a.c +++ b/iconvdata/ebcdic-at-de-a.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-AT-DE-A. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-at-de.c b/iconvdata/ebcdic-at-de.c index aed419d1f5..b526466031 100644 --- a/iconvdata/ebcdic-at-de.c +++ b/iconvdata/ebcdic-at-de.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-AT-DE. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-ca-fr.c b/iconvdata/ebcdic-ca-fr.c index 5715ff169f..a6aece284a 100644 --- a/iconvdata/ebcdic-ca-fr.c +++ b/iconvdata/ebcdic-ca-fr.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-CA-FR. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-dk-no-a.c b/iconvdata/ebcdic-dk-no-a.c index 61bababc61..3451cbdb3e 100644 --- a/iconvdata/ebcdic-dk-no-a.c +++ b/iconvdata/ebcdic-dk-no-a.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-DK-NO-A. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-dk-no.c b/iconvdata/ebcdic-dk-no.c index b48d6f5e9b..a691e5ac62 100644 --- a/iconvdata/ebcdic-dk-no.c +++ b/iconvdata/ebcdic-dk-no.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-DK-NO. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-es-a.c b/iconvdata/ebcdic-es-a.c index f4708d0e2c..9d4e943c9e 100644 --- a/iconvdata/ebcdic-es-a.c +++ b/iconvdata/ebcdic-es-a.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-ES-A. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-es-s.c b/iconvdata/ebcdic-es-s.c index bfc6910d11..438ca8a76d 100644 --- a/iconvdata/ebcdic-es-s.c +++ b/iconvdata/ebcdic-es-s.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-ES-S. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-es.c b/iconvdata/ebcdic-es.c index 2dbcca49f4..ffb7f7b105 100644 --- a/iconvdata/ebcdic-es.c +++ b/iconvdata/ebcdic-es.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-ES. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-fi-se-a.c b/iconvdata/ebcdic-fi-se-a.c index 51401b85cf..edb1881fbb 100644 --- a/iconvdata/ebcdic-fi-se-a.c +++ b/iconvdata/ebcdic-fi-se-a.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-FI-SE-A. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-fi-se.c b/iconvdata/ebcdic-fi-se.c index 36c3d5c43a..67e3b04b02 100644 --- a/iconvdata/ebcdic-fi-se.c +++ b/iconvdata/ebcdic-fi-se.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-FI-SE. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-fr.c b/iconvdata/ebcdic-fr.c index ed35d8b037..edaedc2cd1 100644 --- a/iconvdata/ebcdic-fr.c +++ b/iconvdata/ebcdic-fr.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-FR. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-is-friss.c b/iconvdata/ebcdic-is-friss.c index 4f67b6935b..6f07e881e6 100644 --- a/iconvdata/ebcdic-is-friss.c +++ b/iconvdata/ebcdic-is-friss.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-IS-FRISS. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-it.c b/iconvdata/ebcdic-it.c index d72cef26a4..c0e0dd378d 100644 --- a/iconvdata/ebcdic-it.c +++ b/iconvdata/ebcdic-it.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-IT. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-pt.c b/iconvdata/ebcdic-pt.c index 93794470d6..915dfd1666 100644 --- a/iconvdata/ebcdic-pt.c +++ b/iconvdata/ebcdic-pt.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-PT. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-uk.c b/iconvdata/ebcdic-uk.c index c7757b58a3..6c8610e06c 100644 --- a/iconvdata/ebcdic-uk.c +++ b/iconvdata/ebcdic-uk.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-UK. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ebcdic-us.c b/iconvdata/ebcdic-us.c index 3f23b6a95d..f79bf727d5 100644 --- a/iconvdata/ebcdic-us.c +++ b/iconvdata/ebcdic-us.c @@ -1,5 +1,5 @@ /* Conversion from and to EBCDIC-US. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ecma-cyrillic.c b/iconvdata/ecma-cyrillic.c index 87964d26e6..86f9b7c8cc 100644 --- a/iconvdata/ecma-cyrillic.c +++ b/iconvdata/ecma-cyrillic.c @@ -1,5 +1,5 @@ /* Conversion from and to ECMA-CYRILLIC. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/euc-cn.c b/iconvdata/euc-cn.c index 44e997ece8..52e8c868ac 100644 --- a/iconvdata/euc-cn.c +++ b/iconvdata/euc-cn.c @@ -1,5 +1,5 @@ /* Mapping tables for EUC-CN handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/euc-jisx0213.c b/iconvdata/euc-jisx0213.c index da2d5cf380..50dc44f0fa 100644 --- a/iconvdata/euc-jisx0213.c +++ b/iconvdata/euc-jisx0213.c @@ -1,5 +1,5 @@ /* Conversion from and to EUC-JISX0213. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2002. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/euc-jp-ms.c b/iconvdata/euc-jp-ms.c index 68c9614b19..6aa059ad8a 100644 --- a/iconvdata/euc-jp-ms.c +++ b/iconvdata/euc-jp-ms.c @@ -1,5 +1,5 @@ /* Mapping tables for EUCJP-MS handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by MORIYAMA Masayuki , 2003. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/euc-jp.c b/iconvdata/euc-jp.c index 65ced85045..4905587729 100644 --- a/iconvdata/euc-jp.c +++ b/iconvdata/euc-jp.c @@ -1,5 +1,5 @@ /* Mapping tables for EUC-JP handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/euc-kr.c b/iconvdata/euc-kr.c index 1f4f8190a3..b0d56cf3ee 100644 --- a/iconvdata/euc-kr.c +++ b/iconvdata/euc-kr.c @@ -1,5 +1,5 @@ /* Mapping tables for EUC-KR handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jungshik Shin and Ulrich Drepper , 1998. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/euc-tw.c b/iconvdata/euc-tw.c index c098ea4310..85b791da91 100644 --- a/iconvdata/euc-tw.c +++ b/iconvdata/euc-tw.c @@ -1,5 +1,5 @@ /* Mapping tables for EUC-TW handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/gb18030.c b/iconvdata/gb18030.c index fdf5d994eb..6f2dcb849c 100644 --- a/iconvdata/gb18030.c +++ b/iconvdata/gb18030.c @@ -1,5 +1,5 @@ /* Mapping tables for GBK handling. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Sean Chen , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* This file is added for supporting gb18030-2000 code. by Wang ShouHua & Wu Jian diff --git a/iconvdata/gb2312.c b/iconvdata/gb2312.c index e1d89b02c4..1dfa1f3237 100644 --- a/iconvdata/gb2312.c +++ b/iconvdata/gb2312.c @@ -1,5 +1,5 @@ /* GB 2312 conversion tables. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/gb2312.h b/iconvdata/gb2312.h index 432466469e..58f927e314 100644 --- a/iconvdata/gb2312.h +++ b/iconvdata/gb2312.h @@ -1,5 +1,5 @@ /* Access functions for GB2312 conversion. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GB2312_H #define _GB2312_H 1 diff --git a/iconvdata/gbbig5.c b/iconvdata/gbbig5.c index f56039ecdf..7e627a6a0f 100644 --- a/iconvdata/gbbig5.c +++ b/iconvdata/gbbig5.c @@ -1,5 +1,5 @@ /* Mapping tables from GB2312 to BIG5 and vice versa. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/gbgbk.c b/iconvdata/gbgbk.c index 5985c44013..c281723351 100644 --- a/iconvdata/gbgbk.c +++ b/iconvdata/gbgbk.c @@ -1,5 +1,5 @@ /* Mapping tables from GBK to GB2312 and vice versa. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/gbk.c b/iconvdata/gbk.c index 3da5fba6e5..a67206d0a3 100644 --- a/iconvdata/gbk.c +++ b/iconvdata/gbk.c @@ -1,5 +1,5 @@ /* Mapping tables for GBK handling. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Sean Chen , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules index 046099dc4c..16d09eb98d 100644 --- a/iconvdata/gconv-modules +++ b/iconvdata/gconv-modules @@ -1,5 +1,5 @@ # GNU libc iconv configuration. -# Copyright (C) 1997-2019 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # All lines contain the following information: diff --git a/iconvdata/georgian-academy.c b/iconvdata/georgian-academy.c index 804bf62a4e..f48ca1c85d 100644 --- a/iconvdata/georgian-academy.c +++ b/iconvdata/georgian-academy.c @@ -1,5 +1,5 @@ /* Conversion from and to GEORGIAN-ACADEMY. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/georgian-ps.c b/iconvdata/georgian-ps.c index d3c5dcf6cd..9ed0b1b053 100644 --- a/iconvdata/georgian-ps.c +++ b/iconvdata/georgian-ps.c @@ -1,5 +1,5 @@ /* Conversion from and to GEORGIAN-PS. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/gost_19768-74.c b/iconvdata/gost_19768-74.c index 10805573c8..e6f17f2f42 100644 --- a/iconvdata/gost_19768-74.c +++ b/iconvdata/gost_19768-74.c @@ -1,5 +1,5 @@ /* Conversion from and to GOST_19768-74. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/greek-ccitt.c b/iconvdata/greek-ccitt.c index 81f950a6f1..91dc3f9652 100644 --- a/iconvdata/greek-ccitt.c +++ b/iconvdata/greek-ccitt.c @@ -1,5 +1,5 @@ /* Conversion from and to GREEK-CCITT. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/greek7-old.c b/iconvdata/greek7-old.c index a6bc2cc4e5..511ba68c2c 100644 --- a/iconvdata/greek7-old.c +++ b/iconvdata/greek7-old.c @@ -1,5 +1,5 @@ /* Conversion from and to GREEK7-OLD. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/greek7.c b/iconvdata/greek7.c index 3f157ecf64..1820357a2f 100644 --- a/iconvdata/greek7.c +++ b/iconvdata/greek7.c @@ -1,5 +1,5 @@ /* Conversion from and to GREEK7. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/hp-greek8.c b/iconvdata/hp-greek8.c index 1c6e9ecbca..17b8c8cd7c 100644 --- a/iconvdata/hp-greek8.c +++ b/iconvdata/hp-greek8.c @@ -1,5 +1,5 @@ /* Conversion from and to HP-GREEK8. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2007. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/hp-roman8.c b/iconvdata/hp-roman8.c index 867992ec77..09ba58ad16 100644 --- a/iconvdata/hp-roman8.c +++ b/iconvdata/hp-roman8.c @@ -1,5 +1,5 @@ /* Conversion from and to HP-ROMAN8. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/hp-roman9.c b/iconvdata/hp-roman9.c index c9514d2072..6e14bf2c2a 100644 --- a/iconvdata/hp-roman9.c +++ b/iconvdata/hp-roman9.c @@ -1,5 +1,5 @@ /* Conversion from and to HP-ROMAN9. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2007. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/hp-thai8.c b/iconvdata/hp-thai8.c index 8b2fa41248..69531e26a0 100644 --- a/iconvdata/hp-thai8.c +++ b/iconvdata/hp-thai8.c @@ -1,5 +1,5 @@ /* Conversion from and to HP-THAI8. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2007. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/hp-turkish8.c b/iconvdata/hp-turkish8.c index e4eec73359..5edbf91e16 100644 --- a/iconvdata/hp-turkish8.c +++ b/iconvdata/hp-turkish8.c @@ -1,5 +1,5 @@ /* Conversion from and to HP-TURKISH8. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2007. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm037.c b/iconvdata/ibm037.c index a34708e9db..4f990ff074 100644 --- a/iconvdata/ibm037.c +++ b/iconvdata/ibm037.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM037. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm038.c b/iconvdata/ibm038.c index de43c854f3..f919c85a35 100644 --- a/iconvdata/ibm038.c +++ b/iconvdata/ibm038.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM038. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1004.c b/iconvdata/ibm1004.c index eab9892a2e..83227e5090 100644 --- a/iconvdata/ibm1004.c +++ b/iconvdata/ibm1004.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1004. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1008.c b/iconvdata/ibm1008.c index 45336eec31..fdecb8d913 100644 --- a/iconvdata/ibm1008.c +++ b/iconvdata/ibm1008.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1008. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1008.h b/iconvdata/ibm1008.h index 99dabf8397..600816308e 100644 --- a/iconvdata/ibm1008.h +++ b/iconvdata/ibm1008.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1008. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1008_420.c b/iconvdata/ibm1008_420.c index 6268da15e3..090fae0f45 100644 --- a/iconvdata/ibm1008_420.c +++ b/iconvdata/ibm1008_420.c @@ -1,5 +1,5 @@ /* Mapping tables from IBM1008 to IBM420 and vice versa. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/ibm1025.c b/iconvdata/ibm1025.c index a5adae60ad..89c8150d6c 100644 --- a/iconvdata/ibm1025.c +++ b/iconvdata/ibm1025.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1025. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1025.h b/iconvdata/ibm1025.h index e63172c8c1..704147cc9c 100644 --- a/iconvdata/ibm1025.h +++ b/iconvdata/ibm1025.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1025. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1026.c b/iconvdata/ibm1026.c index 6f52be2830..e9c4c4799f 100644 --- a/iconvdata/ibm1026.c +++ b/iconvdata/ibm1026.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1026. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1046.c b/iconvdata/ibm1046.c index 19eb6a51cc..dfff23dada 100644 --- a/iconvdata/ibm1046.c +++ b/iconvdata/ibm1046.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1046. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1046.h b/iconvdata/ibm1046.h index d646de0de7..28ec1a07aa 100644 --- a/iconvdata/ibm1046.h +++ b/iconvdata/ibm1046.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1046. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1047.c b/iconvdata/ibm1047.c index f7d9546d2b..f3f099d005 100644 --- a/iconvdata/ibm1047.c +++ b/iconvdata/ibm1047.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1047. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1097.c b/iconvdata/ibm1097.c index b3863adff7..4f359860dc 100644 --- a/iconvdata/ibm1097.c +++ b/iconvdata/ibm1097.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1097. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1097.h b/iconvdata/ibm1097.h index ef96a5df80..febf54c279 100644 --- a/iconvdata/ibm1097.h +++ b/iconvdata/ibm1097.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1097. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1112.c b/iconvdata/ibm1112.c index 68b63addbd..16e3b011b2 100644 --- a/iconvdata/ibm1112.c +++ b/iconvdata/ibm1112.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1112. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1112.h b/iconvdata/ibm1112.h index 1572546cde..26d754c2aa 100644 --- a/iconvdata/ibm1112.h +++ b/iconvdata/ibm1112.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1112. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1122.c b/iconvdata/ibm1122.c index 075279a360..753e548451 100644 --- a/iconvdata/ibm1122.c +++ b/iconvdata/ibm1122.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1122. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1122.h b/iconvdata/ibm1122.h index 89f4246452..ea1d630d1b 100644 --- a/iconvdata/ibm1122.h +++ b/iconvdata/ibm1122.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1122. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1123.c b/iconvdata/ibm1123.c index 2a10447853..a6c204148f 100644 --- a/iconvdata/ibm1123.c +++ b/iconvdata/ibm1123.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1123. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1123.h b/iconvdata/ibm1123.h index 4d6dda826f..5341781ba2 100644 --- a/iconvdata/ibm1123.h +++ b/iconvdata/ibm1123.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1123. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1124.c b/iconvdata/ibm1124.c index 72fb6ddf94..7aa9396173 100644 --- a/iconvdata/ibm1124.c +++ b/iconvdata/ibm1124.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1124. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1124.h b/iconvdata/ibm1124.h index 43c82a996d..c83019d61a 100644 --- a/iconvdata/ibm1124.h +++ b/iconvdata/ibm1124.h @@ -1,5 +1,5 @@ /* Conversion from and to IBM1124. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1129.c b/iconvdata/ibm1129.c index f7cea06a51..cb3a2ee48b 100644 --- a/iconvdata/ibm1129.c +++ b/iconvdata/ibm1129.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1129. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1129.h b/iconvdata/ibm1129.h index b737a3d4c9..6d6c1aabb7 100644 --- a/iconvdata/ibm1129.h +++ b/iconvdata/ibm1129.h @@ -1,5 +1,5 @@ /* Conversion from and to IBM1129. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1130.c b/iconvdata/ibm1130.c index 66f647956d..9ae329c982 100644 --- a/iconvdata/ibm1130.c +++ b/iconvdata/ibm1130.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1130. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1130.h b/iconvdata/ibm1130.h index 457da04a4f..840b72bfe9 100644 --- a/iconvdata/ibm1130.h +++ b/iconvdata/ibm1130.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1130. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1132.c b/iconvdata/ibm1132.c index c3050fe7cb..6fa266af43 100644 --- a/iconvdata/ibm1132.c +++ b/iconvdata/ibm1132.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1132. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1132.h b/iconvdata/ibm1132.h index e3fa12c9c2..9fda2ee82b 100644 --- a/iconvdata/ibm1132.h +++ b/iconvdata/ibm1132.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1132. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1133.c b/iconvdata/ibm1133.c index 9394d9f4b7..eba3811600 100644 --- a/iconvdata/ibm1133.c +++ b/iconvdata/ibm1133.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1133. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1133.h b/iconvdata/ibm1133.h index 7078c20e21..94eb47a942 100644 --- a/iconvdata/ibm1133.h +++ b/iconvdata/ibm1133.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1133. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1137.c b/iconvdata/ibm1137.c index 76b7ad0be3..f2f1bb7798 100644 --- a/iconvdata/ibm1137.c +++ b/iconvdata/ibm1137.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1137. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1137.h b/iconvdata/ibm1137.h index 6de6b1f98e..1e5358881a 100644 --- a/iconvdata/ibm1137.h +++ b/iconvdata/ibm1137.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1137. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1140.c b/iconvdata/ibm1140.c index 77a67af051..ae990e45c9 100644 --- a/iconvdata/ibm1140.c +++ b/iconvdata/ibm1140.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1140. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1140.h b/iconvdata/ibm1140.h index e048440bac..b0c835e0a0 100644 --- a/iconvdata/ibm1140.h +++ b/iconvdata/ibm1140.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1140. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1141.c b/iconvdata/ibm1141.c index 3388c33b73..9701e203df 100644 --- a/iconvdata/ibm1141.c +++ b/iconvdata/ibm1141.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1141. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1141.h b/iconvdata/ibm1141.h index 532864e261..2b5705747d 100644 --- a/iconvdata/ibm1141.h +++ b/iconvdata/ibm1141.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1141. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1142.c b/iconvdata/ibm1142.c index 8e78fb0c65..620d9cc562 100644 --- a/iconvdata/ibm1142.c +++ b/iconvdata/ibm1142.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1142. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1142.h b/iconvdata/ibm1142.h index fc31468707..16946ff942 100644 --- a/iconvdata/ibm1142.h +++ b/iconvdata/ibm1142.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1142. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1143.c b/iconvdata/ibm1143.c index ea9b4f0d30..27b60ed134 100644 --- a/iconvdata/ibm1143.c +++ b/iconvdata/ibm1143.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1143. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1143.h b/iconvdata/ibm1143.h index 9ef3bd45b2..5f0d6c8898 100644 --- a/iconvdata/ibm1143.h +++ b/iconvdata/ibm1143.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1143. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1144.c b/iconvdata/ibm1144.c index 52021c860c..24ec50e084 100644 --- a/iconvdata/ibm1144.c +++ b/iconvdata/ibm1144.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1144. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1144.h b/iconvdata/ibm1144.h index bb460a4442..a1a40331aa 100644 --- a/iconvdata/ibm1144.h +++ b/iconvdata/ibm1144.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1144. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1145.c b/iconvdata/ibm1145.c index 548d89e79e..65b3497594 100644 --- a/iconvdata/ibm1145.c +++ b/iconvdata/ibm1145.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1145. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1145.h b/iconvdata/ibm1145.h index 533c656654..b5b2508846 100644 --- a/iconvdata/ibm1145.h +++ b/iconvdata/ibm1145.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1145. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1146.c b/iconvdata/ibm1146.c index de18e2ab4b..ef7bb5d841 100644 --- a/iconvdata/ibm1146.c +++ b/iconvdata/ibm1146.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1146. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1146.h b/iconvdata/ibm1146.h index ea7fbe941a..249412a7c5 100644 --- a/iconvdata/ibm1146.h +++ b/iconvdata/ibm1146.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1146. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1147.c b/iconvdata/ibm1147.c index 873f36c7bf..588bca0aab 100644 --- a/iconvdata/ibm1147.c +++ b/iconvdata/ibm1147.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1147. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1147.h b/iconvdata/ibm1147.h index fe9bc252af..3b12a67770 100644 --- a/iconvdata/ibm1147.h +++ b/iconvdata/ibm1147.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1147. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1148.c b/iconvdata/ibm1148.c index 3ff2adc1bd..83180ec020 100644 --- a/iconvdata/ibm1148.c +++ b/iconvdata/ibm1148.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1148. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1148.h b/iconvdata/ibm1148.h index ffbea29f42..9488b04a9d 100644 --- a/iconvdata/ibm1148.h +++ b/iconvdata/ibm1148.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1148. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1149.c b/iconvdata/ibm1149.c index bd33388d19..7a754e3797 100644 --- a/iconvdata/ibm1149.c +++ b/iconvdata/ibm1149.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1149. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1149.h b/iconvdata/ibm1149.h index adfb1f9bc9..35e3081c72 100644 --- a/iconvdata/ibm1149.h +++ b/iconvdata/ibm1149.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1149. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1153.c b/iconvdata/ibm1153.c index c863149bf3..d765eb93ba 100644 --- a/iconvdata/ibm1153.c +++ b/iconvdata/ibm1153.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1153. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1153.h b/iconvdata/ibm1153.h index 2e49e0b499..2ebd547cf4 100644 --- a/iconvdata/ibm1153.h +++ b/iconvdata/ibm1153.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1153. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1154.c b/iconvdata/ibm1154.c index fceae11bbf..6d9f95227b 100644 --- a/iconvdata/ibm1154.c +++ b/iconvdata/ibm1154.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1154. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1154.h b/iconvdata/ibm1154.h index f5686406b3..c02042bd1e 100644 --- a/iconvdata/ibm1154.h +++ b/iconvdata/ibm1154.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1154. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1155.c b/iconvdata/ibm1155.c index 20ef405601..e0ada6505b 100644 --- a/iconvdata/ibm1155.c +++ b/iconvdata/ibm1155.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1155. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1155.h b/iconvdata/ibm1155.h index cb09a17ded..baa9f9b510 100644 --- a/iconvdata/ibm1155.h +++ b/iconvdata/ibm1155.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1155. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1156.c b/iconvdata/ibm1156.c index 47cfb76454..1bd510748f 100644 --- a/iconvdata/ibm1156.c +++ b/iconvdata/ibm1156.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1156. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1156.h b/iconvdata/ibm1156.h index ffc15ebd87..81635ed2d5 100644 --- a/iconvdata/ibm1156.h +++ b/iconvdata/ibm1156.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1156. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1157.c b/iconvdata/ibm1157.c index f87a0d492d..853b9b34df 100644 --- a/iconvdata/ibm1157.c +++ b/iconvdata/ibm1157.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1157. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1157.h b/iconvdata/ibm1157.h index b2b557e0a9..b455b87e1e 100644 --- a/iconvdata/ibm1157.h +++ b/iconvdata/ibm1157.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1157. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1158.c b/iconvdata/ibm1158.c index 59e368f6f4..4cd96fe5b3 100644 --- a/iconvdata/ibm1158.c +++ b/iconvdata/ibm1158.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1158. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1158.h b/iconvdata/ibm1158.h index e1f58900ac..7557805af3 100644 --- a/iconvdata/ibm1158.h +++ b/iconvdata/ibm1158.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1158. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jiro SEKIBA , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1160.c b/iconvdata/ibm1160.c index 75c7e7aeb3..558f0262c0 100644 --- a/iconvdata/ibm1160.c +++ b/iconvdata/ibm1160.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1160. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1160.h b/iconvdata/ibm1160.h index 2aeb21ef06..3b2715363c 100644 --- a/iconvdata/ibm1160.h +++ b/iconvdata/ibm1160.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1160. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1161.c b/iconvdata/ibm1161.c index cb4ddf6f7d..98fcad478c 100644 --- a/iconvdata/ibm1161.c +++ b/iconvdata/ibm1161.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1161. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1161.h b/iconvdata/ibm1161.h index 7e3fa02380..59bc0f7f4c 100644 --- a/iconvdata/ibm1161.h +++ b/iconvdata/ibm1161.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1161. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1162.c b/iconvdata/ibm1162.c index 7984ce49b8..264c5008dc 100644 --- a/iconvdata/ibm1162.c +++ b/iconvdata/ibm1162.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1162. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1162.h b/iconvdata/ibm1162.h index 1e163c11d2..4d93c77844 100644 --- a/iconvdata/ibm1162.h +++ b/iconvdata/ibm1162.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1162. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1163.c b/iconvdata/ibm1163.c index 59e067789e..4e00d9792c 100644 --- a/iconvdata/ibm1163.c +++ b/iconvdata/ibm1163.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1163. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1163.h b/iconvdata/ibm1163.h index a4e73aa468..9f7c93a5f9 100644 --- a/iconvdata/ibm1163.h +++ b/iconvdata/ibm1163.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1163. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1164.c b/iconvdata/ibm1164.c index 943a132a08..85fd1a21e7 100644 --- a/iconvdata/ibm1164.c +++ b/iconvdata/ibm1164.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1164. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1164.h b/iconvdata/ibm1164.h index 224a2a45bb..94077e864b 100644 --- a/iconvdata/ibm1164.h +++ b/iconvdata/ibm1164.h @@ -1,5 +1,5 @@ /* Mapping table for IBM1164. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1166.c b/iconvdata/ibm1166.c index a6e5a91090..3782c7bddc 100644 --- a/iconvdata/ibm1166.c +++ b/iconvdata/ibm1166.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1166. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1166.h b/iconvdata/ibm1166.h index 8bd7d0b02e..4188c2d91b 100644 --- a/iconvdata/ibm1166.h +++ b/iconvdata/ibm1166.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1166. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1167.c b/iconvdata/ibm1167.c index 383f0e5be2..f7a1549375 100644 --- a/iconvdata/ibm1167.c +++ b/iconvdata/ibm1167.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1167. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1167.h b/iconvdata/ibm1167.h index 6458cab949..a25656c238 100644 --- a/iconvdata/ibm1167.h +++ b/iconvdata/ibm1167.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1167. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm12712.c b/iconvdata/ibm12712.c index 8f5b9e836f..cde0e19a72 100644 --- a/iconvdata/ibm12712.c +++ b/iconvdata/ibm12712.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM12712. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm12712.h b/iconvdata/ibm12712.h index eeaaf68d60..ecde035c18 100644 --- a/iconvdata/ibm12712.h +++ b/iconvdata/ibm12712.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM12712. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm1364.c b/iconvdata/ibm1364.c index 32ebe5a406..49e7267ab4 100644 --- a/iconvdata/ibm1364.c +++ b/iconvdata/ibm1364.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1364. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/ibm1364.h b/iconvdata/ibm1364.h index 9626b9d273..127eff32d0 100644 --- a/iconvdata/ibm1364.h +++ b/iconvdata/ibm1364.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1364. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM1364_H diff --git a/iconvdata/ibm1371.c b/iconvdata/ibm1371.c index 8eb17f3488..7daab361b3 100644 --- a/iconvdata/ibm1371.c +++ b/iconvdata/ibm1371.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1371. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define DATA_HEADER "ibm1371.h" #define CHARSET_NAME "IBM1371//" diff --git a/iconvdata/ibm1371.h b/iconvdata/ibm1371.h index c0c9fff323..b90e944825 100644 --- a/iconvdata/ibm1371.h +++ b/iconvdata/ibm1371.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1371. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM1371_H diff --git a/iconvdata/ibm1388.c b/iconvdata/ibm1388.c index fbca7cda16..69a5e706ae 100644 --- a/iconvdata/ibm1388.c +++ b/iconvdata/ibm1388.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1388. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define DATA_HEADER "ibm1388.h" #define CHARSET_NAME "IBM1388//" diff --git a/iconvdata/ibm1388.h b/iconvdata/ibm1388.h index f6e38be6de..f934022c8b 100644 --- a/iconvdata/ibm1388.h +++ b/iconvdata/ibm1388.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1388. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM1388_H diff --git a/iconvdata/ibm1390.c b/iconvdata/ibm1390.c index f8cfe6b349..094eabbc75 100644 --- a/iconvdata/ibm1390.c +++ b/iconvdata/ibm1390.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1390. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define DATA_HEADER "ibm1390.h" #define CHARSET_NAME "IBM1390//" diff --git a/iconvdata/ibm1390.h b/iconvdata/ibm1390.h index f8d366b06e..a4ac3bf3d0 100644 --- a/iconvdata/ibm1390.h +++ b/iconvdata/ibm1390.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1390. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM1390_H #define _IBM1390_H 1 diff --git a/iconvdata/ibm1399.c b/iconvdata/ibm1399.c index e3a3d78573..89fa492a79 100644 --- a/iconvdata/ibm1399.c +++ b/iconvdata/ibm1399.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM1399. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #define DATA_HEADER "ibm1399.h" #define CHARSET_NAME "IBM1399//" diff --git a/iconvdata/ibm1399.h b/iconvdata/ibm1399.h index b78f03e6c7..a75761441a 100644 --- a/iconvdata/ibm1399.h +++ b/iconvdata/ibm1399.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM1399. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM1399_H #define _IBM1399_H 1 diff --git a/iconvdata/ibm16804.c b/iconvdata/ibm16804.c index da3855ba5f..1cc3f74444 100644 --- a/iconvdata/ibm16804.c +++ b/iconvdata/ibm16804.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM16804. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm16804.h b/iconvdata/ibm16804.h index 2065f9d62d..246d0c2ce1 100644 --- a/iconvdata/ibm16804.h +++ b/iconvdata/ibm16804.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM16804. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm256.c b/iconvdata/ibm256.c index 458089f426..38d7377d7c 100644 --- a/iconvdata/ibm256.c +++ b/iconvdata/ibm256.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM256. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm273.c b/iconvdata/ibm273.c index 3fc33d8df0..3a35048bea 100644 --- a/iconvdata/ibm273.c +++ b/iconvdata/ibm273.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM273. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm274.c b/iconvdata/ibm274.c index d8c5dad6e3..2d8c3a17a4 100644 --- a/iconvdata/ibm274.c +++ b/iconvdata/ibm274.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM274. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm275.c b/iconvdata/ibm275.c index 48c78f2405..99b5c30e2f 100644 --- a/iconvdata/ibm275.c +++ b/iconvdata/ibm275.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM275. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm277.c b/iconvdata/ibm277.c index aaaf93196b..c3f50b16c8 100644 --- a/iconvdata/ibm277.c +++ b/iconvdata/ibm277.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM277. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm278.c b/iconvdata/ibm278.c index 7ca3d4b3d0..a96a872710 100644 --- a/iconvdata/ibm278.c +++ b/iconvdata/ibm278.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM278. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm280.c b/iconvdata/ibm280.c index 42ef79ebe8..644ce864ab 100644 --- a/iconvdata/ibm280.c +++ b/iconvdata/ibm280.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM280. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm281.c b/iconvdata/ibm281.c index 21adadedf5..188c8c6c80 100644 --- a/iconvdata/ibm281.c +++ b/iconvdata/ibm281.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM281. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm284.c b/iconvdata/ibm284.c index a84c28b28c..646a2a0484 100644 --- a/iconvdata/ibm284.c +++ b/iconvdata/ibm284.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM284. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm285.c b/iconvdata/ibm285.c index 59da624de3..0eea69d308 100644 --- a/iconvdata/ibm285.c +++ b/iconvdata/ibm285.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM285. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm290.c b/iconvdata/ibm290.c index 6fe7bd79f2..b0b7e508b4 100644 --- a/iconvdata/ibm290.c +++ b/iconvdata/ibm290.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM290. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm297.c b/iconvdata/ibm297.c index 07539f4bdf..29e4d3100b 100644 --- a/iconvdata/ibm297.c +++ b/iconvdata/ibm297.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM297. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm420.c b/iconvdata/ibm420.c index ad00f128df..8245075b06 100644 --- a/iconvdata/ibm420.c +++ b/iconvdata/ibm420.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM420. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm423.c b/iconvdata/ibm423.c index 15dd211248..c0a199e765 100644 --- a/iconvdata/ibm423.c +++ b/iconvdata/ibm423.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM423. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm424.c b/iconvdata/ibm424.c index ee008258b1..469e41cd09 100644 --- a/iconvdata/ibm424.c +++ b/iconvdata/ibm424.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM424. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm437.c b/iconvdata/ibm437.c index 4e27b31bb6..d9d62e31dd 100644 --- a/iconvdata/ibm437.c +++ b/iconvdata/ibm437.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM437. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm4517.c b/iconvdata/ibm4517.c index b17aa43cf9..4a24843859 100644 --- a/iconvdata/ibm4517.c +++ b/iconvdata/ibm4517.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM4517. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm4517.h b/iconvdata/ibm4517.h index a69cdc9a0d..2d0e238be3 100644 --- a/iconvdata/ibm4517.h +++ b/iconvdata/ibm4517.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM4517. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm4899.c b/iconvdata/ibm4899.c index 9275a675af..2ab2d6b57c 100644 --- a/iconvdata/ibm4899.c +++ b/iconvdata/ibm4899.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM4899. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm4899.h b/iconvdata/ibm4899.h index 484b148d88..5e95199cd3 100644 --- a/iconvdata/ibm4899.h +++ b/iconvdata/ibm4899.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM4899. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm4909.c b/iconvdata/ibm4909.c index 1305228810..1984853bc1 100644 --- a/iconvdata/ibm4909.c +++ b/iconvdata/ibm4909.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM4909. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm4909.h b/iconvdata/ibm4909.h index 9d9226eda1..9c1404f572 100644 --- a/iconvdata/ibm4909.h +++ b/iconvdata/ibm4909.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM4909. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm4971.c b/iconvdata/ibm4971.c index 1b37a80596..c63f4393db 100644 --- a/iconvdata/ibm4971.c +++ b/iconvdata/ibm4971.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM4971. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm4971.h b/iconvdata/ibm4971.h index 30d6c5ac3f..815ab3c601 100644 --- a/iconvdata/ibm4971.h +++ b/iconvdata/ibm4971.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM4971. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm500.c b/iconvdata/ibm500.c index 83807f341a..8848690beb 100644 --- a/iconvdata/ibm500.c +++ b/iconvdata/ibm500.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM500. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm5347.c b/iconvdata/ibm5347.c index 5c75cfbab6..3b635df2d9 100644 --- a/iconvdata/ibm5347.c +++ b/iconvdata/ibm5347.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM5347. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm5347.h b/iconvdata/ibm5347.h index b65090a7c1..708c4e1f9f 100644 --- a/iconvdata/ibm5347.h +++ b/iconvdata/ibm5347.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM5347. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm803.c b/iconvdata/ibm803.c index 4e48aaf037..c7a4d51933 100644 --- a/iconvdata/ibm803.c +++ b/iconvdata/ibm803.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM803. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm803.h b/iconvdata/ibm803.h index ff83b44fac..af6ce7bd03 100644 --- a/iconvdata/ibm803.h +++ b/iconvdata/ibm803.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM803. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm850.c b/iconvdata/ibm850.c index 61998259d9..c73faeef0c 100644 --- a/iconvdata/ibm850.c +++ b/iconvdata/ibm850.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM850. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm851.c b/iconvdata/ibm851.c index 9cb3c1f557..06e72e92df 100644 --- a/iconvdata/ibm851.c +++ b/iconvdata/ibm851.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM851. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm852.c b/iconvdata/ibm852.c index eb81090f8b..695ed021a8 100644 --- a/iconvdata/ibm852.c +++ b/iconvdata/ibm852.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM852. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm855.c b/iconvdata/ibm855.c index 7d0b21fad9..f6c69bb838 100644 --- a/iconvdata/ibm855.c +++ b/iconvdata/ibm855.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM855. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm856.c b/iconvdata/ibm856.c index ec65d5d984..41130964ea 100644 --- a/iconvdata/ibm856.c +++ b/iconvdata/ibm856.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM856. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm856.h b/iconvdata/ibm856.h index 61b6175537..985b95e092 100644 --- a/iconvdata/ibm856.h +++ b/iconvdata/ibm856.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM856. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm857.c b/iconvdata/ibm857.c index 801f4d6b2a..c06c18047b 100644 --- a/iconvdata/ibm857.c +++ b/iconvdata/ibm857.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM857. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm858.c b/iconvdata/ibm858.c index a78907e408..34ec004105 100644 --- a/iconvdata/ibm858.c +++ b/iconvdata/ibm858.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM858. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm860.c b/iconvdata/ibm860.c index 483e09b2c5..b52e18d74f 100644 --- a/iconvdata/ibm860.c +++ b/iconvdata/ibm860.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM860. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm861.c b/iconvdata/ibm861.c index 8c3439bcfd..df84602a7e 100644 --- a/iconvdata/ibm861.c +++ b/iconvdata/ibm861.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM861. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm862.c b/iconvdata/ibm862.c index b57e9e3106..0d15cc567d 100644 --- a/iconvdata/ibm862.c +++ b/iconvdata/ibm862.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM862. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm863.c b/iconvdata/ibm863.c index 854ca7ff39..6102235ba1 100644 --- a/iconvdata/ibm863.c +++ b/iconvdata/ibm863.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM863. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm864.c b/iconvdata/ibm864.c index 9bb1554381..addfc490c3 100644 --- a/iconvdata/ibm864.c +++ b/iconvdata/ibm864.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM864. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm865.c b/iconvdata/ibm865.c index 73bf730e9d..f686d6f38d 100644 --- a/iconvdata/ibm865.c +++ b/iconvdata/ibm865.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM865. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm866.c b/iconvdata/ibm866.c index 47af25a7ff..c616bb7730 100644 --- a/iconvdata/ibm866.c +++ b/iconvdata/ibm866.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM866. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm866nav.c b/iconvdata/ibm866nav.c index ba8cf201ca..91bd8325c8 100644 --- a/iconvdata/ibm866nav.c +++ b/iconvdata/ibm866nav.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM866NAV. - Copyright (C) 2003-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm868.c b/iconvdata/ibm868.c index 698b07ed86..5d3ad080b1 100644 --- a/iconvdata/ibm868.c +++ b/iconvdata/ibm868.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM868. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm869.c b/iconvdata/ibm869.c index 571e72bba9..b3288e5c4f 100644 --- a/iconvdata/ibm869.c +++ b/iconvdata/ibm869.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM869. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm870.c b/iconvdata/ibm870.c index b219a948cf..07fdf97c53 100644 --- a/iconvdata/ibm870.c +++ b/iconvdata/ibm870.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM870. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm871.c b/iconvdata/ibm871.c index ae4d87ebc7..fbcd43e932 100644 --- a/iconvdata/ibm871.c +++ b/iconvdata/ibm871.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM871. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm874.c b/iconvdata/ibm874.c index c845f06168..49412eeb9b 100644 --- a/iconvdata/ibm874.c +++ b/iconvdata/ibm874.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM874. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm875.c b/iconvdata/ibm875.c index 90001c8cc4..d969b33487 100644 --- a/iconvdata/ibm875.c +++ b/iconvdata/ibm875.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM875. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm880.c b/iconvdata/ibm880.c index d1ac924bf8..08835ec731 100644 --- a/iconvdata/ibm880.c +++ b/iconvdata/ibm880.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM880. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm891.c b/iconvdata/ibm891.c index a14bea738b..4064bde02a 100644 --- a/iconvdata/ibm891.c +++ b/iconvdata/ibm891.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM891. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm901.c b/iconvdata/ibm901.c index ce9d2254b4..e68dbc283b 100644 --- a/iconvdata/ibm901.c +++ b/iconvdata/ibm901.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM901. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm901.h b/iconvdata/ibm901.h index 80d6b124e7..c7dc7b0bfe 100644 --- a/iconvdata/ibm901.h +++ b/iconvdata/ibm901.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM901. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm902.c b/iconvdata/ibm902.c index 63e101542f..8759b612ae 100644 --- a/iconvdata/ibm902.c +++ b/iconvdata/ibm902.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM902. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm902.h b/iconvdata/ibm902.h index 4af23d3979..549dee7c2e 100644 --- a/iconvdata/ibm902.h +++ b/iconvdata/ibm902.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM902. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm903.c b/iconvdata/ibm903.c index c6586af84c..2079f8d9aa 100644 --- a/iconvdata/ibm903.c +++ b/iconvdata/ibm903.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM903. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm9030.c b/iconvdata/ibm9030.c index 097ac82b4f..f892b70844 100644 --- a/iconvdata/ibm9030.c +++ b/iconvdata/ibm9030.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM9030. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm9030.h b/iconvdata/ibm9030.h index d9dadca150..c0f02c5385 100644 --- a/iconvdata/ibm9030.h +++ b/iconvdata/ibm9030.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM9030. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm904.c b/iconvdata/ibm904.c index f237d5919b..98fc47506a 100644 --- a/iconvdata/ibm904.c +++ b/iconvdata/ibm904.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM904. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm905.c b/iconvdata/ibm905.c index 22516e6af4..0f9fe6067a 100644 --- a/iconvdata/ibm905.c +++ b/iconvdata/ibm905.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM905. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm9066.c b/iconvdata/ibm9066.c index 4fc4533eb2..0fd7b10063 100644 --- a/iconvdata/ibm9066.c +++ b/iconvdata/ibm9066.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM9066. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm9066.h b/iconvdata/ibm9066.h index 0d80c5e6b0..cd253305bc 100644 --- a/iconvdata/ibm9066.h +++ b/iconvdata/ibm9066.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM9066. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm918.c b/iconvdata/ibm918.c index 1b699ee6fd..7ff286f1d4 100644 --- a/iconvdata/ibm918.c +++ b/iconvdata/ibm918.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM918. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm921.c b/iconvdata/ibm921.c index 55e997f617..819497ed82 100644 --- a/iconvdata/ibm921.c +++ b/iconvdata/ibm921.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM921. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm921.h b/iconvdata/ibm921.h index 27fe0b3310..2696faab62 100644 --- a/iconvdata/ibm921.h +++ b/iconvdata/ibm921.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM921. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm922.c b/iconvdata/ibm922.c index 16f3c53548..3f92a271bf 100644 --- a/iconvdata/ibm922.c +++ b/iconvdata/ibm922.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM922. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm922.h b/iconvdata/ibm922.h index f9e148795f..7173ddf982 100644 --- a/iconvdata/ibm922.h +++ b/iconvdata/ibm922.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM922. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm930.c b/iconvdata/ibm930.c index 85753e5f93..18d655c8ab 100644 --- a/iconvdata/ibm930.c +++ b/iconvdata/ibm930.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM930. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* IBM930 is designed for the representation of Japanese Katakana/Kanji using a stateful EBCDIC encoding scheme. It is also known as diff --git a/iconvdata/ibm930.h b/iconvdata/ibm930.h index 6fc3ffb937..7d7632f8e3 100644 --- a/iconvdata/ibm930.h +++ b/iconvdata/ibm930.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM930. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM930_H #define _IBM930_H 1 diff --git a/iconvdata/ibm932.c b/iconvdata/ibm932.c index e7d87b5ddb..525f8018d2 100644 --- a/iconvdata/ibm932.c +++ b/iconvdata/ibm932.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM932. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/ibm932.h b/iconvdata/ibm932.h index f23d4ac5ec..701cd83a5e 100644 --- a/iconvdata/ibm932.h +++ b/iconvdata/ibm932.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM932. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM932_H #define _IBM932_H 1 diff --git a/iconvdata/ibm933.c b/iconvdata/ibm933.c index b62261ffab..839e6b8520 100644 --- a/iconvdata/ibm933.c +++ b/iconvdata/ibm933.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM933. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* IBM933 is designed for the representation of Korean using a stateful EBCDIC encoding scheme. It is also known as CCSID 933 or CP933. See: diff --git a/iconvdata/ibm933.h b/iconvdata/ibm933.h index 0b933f094f..ce60828916 100644 --- a/iconvdata/ibm933.h +++ b/iconvdata/ibm933.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM933. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM933_H #define _IBM933_H 1 diff --git a/iconvdata/ibm935.c b/iconvdata/ibm935.c index 251503275c..2bc95fa4f6 100644 --- a/iconvdata/ibm935.c +++ b/iconvdata/ibm935.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM935 - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* IBM935 is designed for the representation of Simplified Chinese using a stateful EBCDIC encoding scheme. It is also known as diff --git a/iconvdata/ibm935.h b/iconvdata/ibm935.h index a668a83d63..f53bb17c63 100644 --- a/iconvdata/ibm935.h +++ b/iconvdata/ibm935.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM935 - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM935_H #define _IBM935_H 1 diff --git a/iconvdata/ibm937.c b/iconvdata/ibm937.c index f5f7c41230..16470aae34 100644 --- a/iconvdata/ibm937.c +++ b/iconvdata/ibm937.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM937. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* IBM937 is designed for the representation of Traditional Chinese using a stateful EBCDIC encoding scheme. It is also known as diff --git a/iconvdata/ibm937.h b/iconvdata/ibm937.h index 521450380d..93a925582c 100644 --- a/iconvdata/ibm937.h +++ b/iconvdata/ibm937.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM937. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM937_H #define _IBM937_H 1 diff --git a/iconvdata/ibm939.c b/iconvdata/ibm939.c index 4049380804..94c2b0144c 100644 --- a/iconvdata/ibm939.c +++ b/iconvdata/ibm939.c @@ -1,5 +1,5 @@ /* Conversion to and from IBM939. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* IBM939 is designed for the representation of Japanese Latin/Kanji using a stateful EBCDIC encoding scheme. It is also known as diff --git a/iconvdata/ibm939.h b/iconvdata/ibm939.h index 665cd927c4..1304057443 100644 --- a/iconvdata/ibm939.h +++ b/iconvdata/ibm939.h @@ -1,5 +1,5 @@ /* Tables for conversion to and from IBM939. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM939_H #define _IBM939_H 1 diff --git a/iconvdata/ibm943.c b/iconvdata/ibm943.c index f30c39fe80..b6d35f1624 100644 --- a/iconvdata/ibm943.c +++ b/iconvdata/ibm943.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM943. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/ibm943.h b/iconvdata/ibm943.h index ddba42f68d..0393af71bf 100644 --- a/iconvdata/ibm943.h +++ b/iconvdata/ibm943.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM943. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IBM943_H #define _IBM943_H 1 diff --git a/iconvdata/ibm9448.c b/iconvdata/ibm9448.c index 99c78ae563..761c3192de 100644 --- a/iconvdata/ibm9448.c +++ b/iconvdata/ibm9448.c @@ -1,5 +1,5 @@ /* Conversion from and to IBM9448. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ibm9448.h b/iconvdata/ibm9448.h index b47b004002..95f8f1f654 100644 --- a/iconvdata/ibm9448.h +++ b/iconvdata/ibm9448.h @@ -1,5 +1,5 @@ /* Tables for conversion from and to IBM9448. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Masahide Washizawa , 2005. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iec_p27-1.c b/iconvdata/iec_p27-1.c index aba35f541d..12e8b3bf39 100644 --- a/iconvdata/iec_p27-1.c +++ b/iconvdata/iec_p27-1.c @@ -1,5 +1,5 @@ /* Conversion from and to IEC_P27-1. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/inis-8.c b/iconvdata/inis-8.c index ffb67e422c..8f93f97a1b 100644 --- a/iconvdata/inis-8.c +++ b/iconvdata/inis-8.c @@ -1,5 +1,5 @@ /* Conversion from and to INIS-8. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/inis-cyrillic.c b/iconvdata/inis-cyrillic.c index a64bdf9ae3..e99f83bc18 100644 --- a/iconvdata/inis-cyrillic.c +++ b/iconvdata/inis-cyrillic.c @@ -1,5 +1,5 @@ /* Conversion from and to INIS-CYRILLIC. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/inis.c b/iconvdata/inis.c index 8fad8e1e75..81a888f5b2 100644 --- a/iconvdata/inis.c +++ b/iconvdata/inis.c @@ -1,5 +1,5 @@ /* Conversion from and to INIS. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/isiri-3342.c b/iconvdata/isiri-3342.c index 45368d1c3e..79906860e1 100644 --- a/iconvdata/isiri-3342.c +++ b/iconvdata/isiri-3342.c @@ -1,5 +1,5 @@ /* Conversion from and to ISIRI-3342. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso-2022-cn-ext.c b/iconvdata/iso-2022-cn-ext.c index a20c61616f..947b807421 100644 --- a/iconvdata/iso-2022-cn-ext.c +++ b/iconvdata/iso-2022-cn-ext.c @@ -1,5 +1,5 @@ /* Conversion module for ISO-2022-CN-EXT. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/iso-2022-cn.c b/iconvdata/iso-2022-cn.c index 9661e06d75..652b2bf09c 100644 --- a/iconvdata/iso-2022-cn.c +++ b/iconvdata/iso-2022-cn.c @@ -1,5 +1,5 @@ /* Conversion module for ISO-2022-CN. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/iso-2022-jp-3.c b/iconvdata/iso-2022-jp-3.c index 69499d6bc9..8c3b7e627e 100644 --- a/iconvdata/iso-2022-jp-3.c +++ b/iconvdata/iso-2022-jp-3.c @@ -1,5 +1,5 @@ /* Conversion module for ISO-2022-JP-3. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998, and Bruno Haible , 2002. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/iso-2022-jp.c b/iconvdata/iso-2022-jp.c index 2bc17061d4..56f1c8e17b 100644 --- a/iconvdata/iso-2022-jp.c +++ b/iconvdata/iso-2022-jp.c @@ -1,5 +1,5 @@ /* Conversion module for ISO-2022-JP and ISO-2022-JP-2. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/iso-2022-kr.c b/iconvdata/iso-2022-kr.c index 8f5d05e2c0..6d8a18ba5f 100644 --- a/iconvdata/iso-2022-kr.c +++ b/iconvdata/iso-2022-kr.c @@ -1,5 +1,5 @@ /* Conversion module for ISO-2022-KR. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/iso-ir-165.c b/iconvdata/iso-ir-165.c index f20decdc37..bc62f214f3 100644 --- a/iconvdata/iso-ir-165.c +++ b/iconvdata/iso-ir-165.c @@ -1,6 +1,6 @@ /* Tables for conversion to and from ISO-IR-165. converting from UCS using gaps. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include "iso-ir-165.h" diff --git a/iconvdata/iso-ir-165.h b/iconvdata/iso-ir-165.h index 68162c2e87..66d2bd36e8 100644 --- a/iconvdata/iso-ir-165.h +++ b/iconvdata/iso-ir-165.h @@ -1,6 +1,6 @@ /* Tables for conversion to and from ISO-IR-165. converting from UCS using gaps. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ISO_IR_165_H #define _ISO_IR_165_H 1 diff --git a/iconvdata/iso-ir-197.c b/iconvdata/iso-ir-197.c index 8606058680..a0751f9344 100644 --- a/iconvdata/iso-ir-197.c +++ b/iconvdata/iso-ir-197.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO-IR-197. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso-ir-209.c b/iconvdata/iso-ir-209.c index 7de6eff152..fde2ca398d 100644 --- a/iconvdata/iso-ir-209.c +++ b/iconvdata/iso-ir-209.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO-IR-209. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso646.c b/iconvdata/iso646.c index 6bfabcb9b2..56776944d0 100644 --- a/iconvdata/iso646.c +++ b/iconvdata/iso646.c @@ -1,5 +1,5 @@ /* Conversion to and from the various ISO 646 CCS. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* The implementation of the conversion which can be performed by this module are not very sophisticated and not tuned at all. There are diff --git a/iconvdata/iso8859-1.c b/iconvdata/iso8859-1.c index e537539588..bee896d4b3 100644 --- a/iconvdata/iso8859-1.c +++ b/iconvdata/iso8859-1.c @@ -1,5 +1,5 @@ /* Conversion to and from ISO 8859-1. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/iso8859-10.c b/iconvdata/iso8859-10.c index 30e73e7a96..15072503fe 100644 --- a/iconvdata/iso8859-10.c +++ b/iconvdata/iso8859-10.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-10. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-11.c b/iconvdata/iso8859-11.c index db7b4c3e7a..fc7cffaf44 100644 --- a/iconvdata/iso8859-11.c +++ b/iconvdata/iso8859-11.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-11. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-13.c b/iconvdata/iso8859-13.c index f9ef0f3399..005277103b 100644 --- a/iconvdata/iso8859-13.c +++ b/iconvdata/iso8859-13.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-13. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-14.c b/iconvdata/iso8859-14.c index 5b6a1e90e8..ebdf0fa934 100644 --- a/iconvdata/iso8859-14.c +++ b/iconvdata/iso8859-14.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-14. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-15.c b/iconvdata/iso8859-15.c index 7dce4eb9c1..11b63e0228 100644 --- a/iconvdata/iso8859-15.c +++ b/iconvdata/iso8859-15.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-15. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-16.c b/iconvdata/iso8859-16.c index 9261fbce6a..d086ea4a18 100644 --- a/iconvdata/iso8859-16.c +++ b/iconvdata/iso8859-16.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-16. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso8859-2.c b/iconvdata/iso8859-2.c index 2eea3d5e36..d403eaa9ba 100644 --- a/iconvdata/iso8859-2.c +++ b/iconvdata/iso8859-2.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-2. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-3.c b/iconvdata/iso8859-3.c index 61dc0ded92..fad617b365 100644 --- a/iconvdata/iso8859-3.c +++ b/iconvdata/iso8859-3.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-3. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-4.c b/iconvdata/iso8859-4.c index 7e096bbad2..d0efe65de5 100644 --- a/iconvdata/iso8859-4.c +++ b/iconvdata/iso8859-4.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-4. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-5.c b/iconvdata/iso8859-5.c index e661aa53ae..93251e7ed8 100644 --- a/iconvdata/iso8859-5.c +++ b/iconvdata/iso8859-5.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-5. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-6.c b/iconvdata/iso8859-6.c index 329f41191a..cda359dc80 100644 --- a/iconvdata/iso8859-6.c +++ b/iconvdata/iso8859-6.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-6. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-7.c b/iconvdata/iso8859-7.c index be876668a1..b489c82fad 100644 --- a/iconvdata/iso8859-7.c +++ b/iconvdata/iso8859-7.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-7. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-8.c b/iconvdata/iso8859-8.c index 8351583d3c..7a3653df44 100644 --- a/iconvdata/iso8859-8.c +++ b/iconvdata/iso8859-8.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-8. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-9.c b/iconvdata/iso8859-9.c index c76262d787..a16b088d64 100644 --- a/iconvdata/iso8859-9.c +++ b/iconvdata/iso8859-9.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-9. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/iso8859-9e.c b/iconvdata/iso8859-9e.c index 7feaa7bc89..d28c9932db 100644 --- a/iconvdata/iso8859-9e.c +++ b/iconvdata/iso8859-9e.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO 8859-9E. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2007. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso_10367-box.c b/iconvdata/iso_10367-box.c index 0fdaa6eb51..03a7b3671b 100644 --- a/iconvdata/iso_10367-box.c +++ b/iconvdata/iso_10367-box.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO_10367-BOX. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso_11548-1.c b/iconvdata/iso_11548-1.c index b5125dfea3..37446bcc54 100644 --- a/iconvdata/iso_11548-1.c +++ b/iconvdata/iso_11548-1.c @@ -1,5 +1,5 @@ /* Conversion to and from ISO 11548-1. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997, Samuel Thibault , 2005. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/iso_2033.c b/iconvdata/iso_2033.c index 1df45991bc..376a8bb3e5 100644 --- a/iconvdata/iso_2033.c +++ b/iconvdata/iso_2033.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO_2033-1983. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso_5427-ext.c b/iconvdata/iso_5427-ext.c index b7b53efed4..4bb04cb08b 100644 --- a/iconvdata/iso_5427-ext.c +++ b/iconvdata/iso_5427-ext.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO_5427-EXT. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso_5427.c b/iconvdata/iso_5427.c index 66dab9a7eb..f4dc756ee4 100644 --- a/iconvdata/iso_5427.c +++ b/iconvdata/iso_5427.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO_5427. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso_5428.c b/iconvdata/iso_5428.c index 8264996714..5e204a5291 100644 --- a/iconvdata/iso_5428.c +++ b/iconvdata/iso_5428.c @@ -1,5 +1,5 @@ /* Conversion from and to ISO_5428. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/iso_6937-2.c b/iconvdata/iso_6937-2.c index bd580f89ac..db1c595fd8 100644 --- a/iconvdata/iso_6937-2.c +++ b/iconvdata/iso_6937-2.c @@ -1,5 +1,5 @@ /* Generic conversion to and from ISO 6937-2. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/iso_6937.c b/iconvdata/iso_6937.c index 50f350b637..47f2be7d2f 100644 --- a/iconvdata/iso_6937.c +++ b/iconvdata/iso_6937.c @@ -1,5 +1,5 @@ /* Generic conversion to and from ISO 6937. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/jis0201.c b/iconvdata/jis0201.c index e897a1a79b..83c6525412 100644 --- a/iconvdata/jis0201.c +++ b/iconvdata/jis0201.c @@ -1,5 +1,5 @@ /* Mapping tables for JIS0201 handling. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/jis0201.h b/iconvdata/jis0201.h index 3b98b0220c..044a7cc5fb 100644 --- a/iconvdata/jis0201.h +++ b/iconvdata/jis0201.h @@ -1,5 +1,5 @@ /* Access functions for JISX0201 conversion. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _JIS0201_H #define _JIS0201_H 1 diff --git a/iconvdata/jis0208.c b/iconvdata/jis0208.c index c4251493c6..93bafeebb8 100644 --- a/iconvdata/jis0208.c +++ b/iconvdata/jis0208.c @@ -1,5 +1,5 @@ /* Mapping tables for JIS0208 handling. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/jis0208.h b/iconvdata/jis0208.h index 54f0f9ebb8..1de69fc041 100644 --- a/iconvdata/jis0208.h +++ b/iconvdata/jis0208.h @@ -1,5 +1,5 @@ /* Access functions for JISX0208 conversion. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _JIS0208_H #define _JIS0208_H 1 diff --git a/iconvdata/jis0212.c b/iconvdata/jis0212.c index d378c66c16..c9f637cf89 100644 --- a/iconvdata/jis0212.c +++ b/iconvdata/jis0212.c @@ -1,5 +1,5 @@ /* Mapping tables for JIS0212 handling. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/jis0212.h b/iconvdata/jis0212.h index 0dd2a1277c..d4164d8da9 100644 --- a/iconvdata/jis0212.h +++ b/iconvdata/jis0212.h @@ -1,5 +1,5 @@ /* Access functions for JISX0212 conversion. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _JIS0212_H #define _JIS0212_H 1 diff --git a/iconvdata/jisx0213.c b/iconvdata/jisx0213.c index eaec261751..95797128cb 100644 --- a/iconvdata/jisx0213.c +++ b/iconvdata/jisx0213.c @@ -1,5 +1,5 @@ /* Mapping tables for JISX0213 character set. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2002. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/jisx0213.h b/iconvdata/jisx0213.h index 63c669c3dd..da6b6237cf 100644 --- a/iconvdata/jisx0213.h +++ b/iconvdata/jisx0213.h @@ -1,5 +1,5 @@ /* Functions for JISX0213 conversion. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2002. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _JISX0213_H #define _JISX0213_H 1 diff --git a/iconvdata/johab.c b/iconvdata/johab.c index 99ee78f9b2..fb32bb2c71 100644 --- a/iconvdata/johab.c +++ b/iconvdata/johab.c @@ -1,5 +1,5 @@ /* Mapping tables for JOHAB handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jungshik Shin and Ulrich Drepper , 1998. @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/koi-8.c b/iconvdata/koi-8.c index ab19ea37aa..0af1a81366 100644 --- a/iconvdata/koi-8.c +++ b/iconvdata/koi-8.c @@ -1,5 +1,5 @@ /* Conversion from and to KOI-8. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Get the conversion table. */ #include diff --git a/iconvdata/koi8-r.c b/iconvdata/koi8-r.c index b807fb7be4..c3b1ec7736 100644 --- a/iconvdata/koi8-r.c +++ b/iconvdata/koi8-r.c @@ -1,5 +1,5 @@ /* Conversion from and to KOI8-R. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/koi8-ru.c b/iconvdata/koi8-ru.c index 2d064121bf..5aa721dfc0 100644 --- a/iconvdata/koi8-ru.c +++ b/iconvdata/koi8-ru.c @@ -1,5 +1,5 @@ /* Conversion from and to KOI8-RU. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 20077. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/koi8-t.c b/iconvdata/koi8-t.c index 38e6a6e2b4..5cc83a6446 100644 --- a/iconvdata/koi8-t.c +++ b/iconvdata/koi8-t.c @@ -1,5 +1,5 @@ /* Conversion from and to KOI8-T. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/koi8-u.c b/iconvdata/koi8-u.c index 77a36e4d20..02e583f2d8 100644 --- a/iconvdata/koi8-u.c +++ b/iconvdata/koi8-u.c @@ -1,5 +1,5 @@ /* Conversion from and to KOI8-U. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/ksc5601.c b/iconvdata/ksc5601.c index 0e263dd743..b184481ed5 100644 --- a/iconvdata/ksc5601.c +++ b/iconvdata/ksc5601.c @@ -1,5 +1,5 @@ /* Conversion tables for KS C 5601-1992 based encoding conversion. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jungshik Shin , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include "ksc5601.h" diff --git a/iconvdata/ksc5601.h b/iconvdata/ksc5601.h index ea93cc9ed9..d3eb3a4ff8 100644 --- a/iconvdata/ksc5601.h +++ b/iconvdata/ksc5601.h @@ -1,5 +1,5 @@ /* Access functions for KS C 5601-1992 based encoding conversion. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _KSC5601_H #define _KSC5601_H 1 diff --git a/iconvdata/latin-greek-1.c b/iconvdata/latin-greek-1.c index 5e683c8c77..e8bf12e9ec 100644 --- a/iconvdata/latin-greek-1.c +++ b/iconvdata/latin-greek-1.c @@ -1,5 +1,5 @@ /* Conversion from and to LATIN-GREEK-1. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Specify the conversion table. */ #define TABLES diff --git a/iconvdata/latin-greek.c b/iconvdata/latin-greek.c index 5005895a7f..c139c4909a 100644 --- a/iconvdata/latin-greek.c +++ b/iconvdata/latin-greek.c @@ -1,5 +1,5 @@ /* Conversion from and to LATIN-GREEK. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Specify the conversion table. */ #define TABLES diff --git a/iconvdata/mac-centraleurope.c b/iconvdata/mac-centraleurope.c index 0639e720c9..548c16f8dc 100644 --- a/iconvdata/mac-centraleurope.c +++ b/iconvdata/mac-centraleurope.c @@ -1,5 +1,5 @@ /* Conversion from and to MAC-CENTRALEUROPE. - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2007. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/mac-is.c b/iconvdata/mac-is.c index 6c075dad1b..6039c86686 100644 --- a/iconvdata/mac-is.c +++ b/iconvdata/mac-is.c @@ -1,5 +1,5 @@ /* Conversion from and to MAC-IS. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/mac-sami.c b/iconvdata/mac-sami.c index f5abc990f7..601810c673 100644 --- a/iconvdata/mac-sami.c +++ b/iconvdata/mac-sami.c @@ -1,5 +1,5 @@ /* Conversion from and to MAC-SAMI. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/mac-uk.c b/iconvdata/mac-uk.c index a45b073517..66a90146e3 100644 --- a/iconvdata/mac-uk.c +++ b/iconvdata/mac-uk.c @@ -1,5 +1,5 @@ /* Conversion from and to MAC-UK. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/macintosh.c b/iconvdata/macintosh.c index 938c6fddf1..bdcd597f4f 100644 --- a/iconvdata/macintosh.c +++ b/iconvdata/macintosh.c @@ -1,5 +1,5 @@ /* Conversion from and to MACINTOSH. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/mik.c b/iconvdata/mik.c index a55bbd745d..c97007ad73 100644 --- a/iconvdata/mik.c +++ b/iconvdata/mik.c @@ -1,5 +1,5 @@ /* Conversion from and to MIK. - Copyright (C) 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2006-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Alexander Shopov , 2006. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/nats-dano.c b/iconvdata/nats-dano.c index a96219bc25..9e16a9ed7d 100644 --- a/iconvdata/nats-dano.c +++ b/iconvdata/nats-dano.c @@ -1,5 +1,5 @@ /* Conversion from and to NATS-DANO. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/nats-sefi.c b/iconvdata/nats-sefi.c index 712b2ea846..be3e3eabb8 100644 --- a/iconvdata/nats-sefi.c +++ b/iconvdata/nats-sefi.c @@ -1,5 +1,5 @@ /* Conversion from and to NATS-SEFI. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/pt154.c b/iconvdata/pt154.c index a3f3de62cd..53f4a62aa0 100644 --- a/iconvdata/pt154.c +++ b/iconvdata/pt154.c @@ -1,5 +1,5 @@ /* Conversion from and to PT154. - Copyright (C) 2004-2019 Free Software Foundation, Inc. + Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2004. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/rk1048.c b/iconvdata/rk1048.c index 1c8f5a93fd..89b9cd79c9 100644 --- a/iconvdata/rk1048.c +++ b/iconvdata/rk1048.c @@ -1,5 +1,5 @@ /* Conversion from and to RK1048. - Copyright (C) 2004-2019 Free Software Foundation, Inc. + Copyright (C) 2004-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2004. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/run-iconv-test.sh b/iconvdata/run-iconv-test.sh index 396285fa58..56b6630a6d 100755 --- a/iconvdata/run-iconv-test.sh +++ b/iconvdata/run-iconv-test.sh @@ -1,6 +1,6 @@ #!/bin/sh -f # Run available iconv(1) tests. -# Copyright (C) 1998-2019 Free Software Foundation, Inc. +# Copyright (C) 1998-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Ulrich Drepper , 1998. @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . set -e diff --git a/iconvdata/sami-ws2.c b/iconvdata/sami-ws2.c index e19fed70cc..d59a53e17a 100644 --- a/iconvdata/sami-ws2.c +++ b/iconvdata/sami-ws2.c @@ -1,5 +1,5 @@ /* Conversion from and to SAMI-WS2. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/shift_jisx0213.c b/iconvdata/shift_jisx0213.c index a81fec37e6..a2126fbd89 100644 --- a/iconvdata/shift_jisx0213.c +++ b/iconvdata/shift_jisx0213.c @@ -1,5 +1,5 @@ /* Conversion from and to Shift_JISX0213. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2002. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/sjis.c b/iconvdata/sjis.c index 91dffa6fda..b4e55f8cb2 100644 --- a/iconvdata/sjis.c +++ b/iconvdata/sjis.c @@ -1,5 +1,5 @@ /* Mapping tables for SJIS handling. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/t.61.c b/iconvdata/t.61.c index d3fe7d820d..3703bd3cb4 100644 --- a/iconvdata/t.61.c +++ b/iconvdata/t.61.c @@ -1,5 +1,5 @@ /* Generic conversion to and from T.61. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/tcvn5712-1.c b/iconvdata/tcvn5712-1.c index 77abb0a4b3..0a1e0b3121 100644 --- a/iconvdata/tcvn5712-1.c +++ b/iconvdata/tcvn5712-1.c @@ -1,5 +1,5 @@ /* Conversion to and from TCVN5712-1. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/tis-620.c b/iconvdata/tis-620.c index 5c053e9ffc..29dd005aed 100644 --- a/iconvdata/tis-620.c +++ b/iconvdata/tis-620.c @@ -1,5 +1,5 @@ /* Conversion from and to TIS-620. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/iconvdata/tscii.c b/iconvdata/tscii.c index c8f6d72a67..dca9456dd7 100644 --- a/iconvdata/tscii.c +++ b/iconvdata/tscii.c @@ -1,5 +1,5 @@ /* Conversion from and to TSCII. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2002. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/tst-e2big.c b/iconvdata/tst-e2big.c index 1ce68c6a3b..8bb2b2de85 100644 --- a/iconvdata/tst-e2big.c +++ b/iconvdata/tst-e2big.c @@ -1,5 +1,5 @@ /* Test for a tricky E2BIG situation. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2002. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c b/iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c new file mode 100644 index 0000000000..8389adebf2 --- /dev/null +++ b/iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c @@ -0,0 +1,160 @@ +/* Verify the BIG5HKSCS outputs that generate 2 wchar_t's (Bug 25734). + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include +#include +#include +#include + +/* A few BIG5-HKSCS characters map in two unicode code points. + They are: + /x88/x62 => + /x88/x64 => + /x88/xa3 => + /x88/xa5 => + Each of these is special cased in iconvdata/big5hkscs.c. + This test ensures that we correctly reset the shift state after + outputting any of these characters. We do this by converting + each them followed by converting an ASCII character. If we fail + to reset the shift state (bug 25734) then we'll see the last + character in the queue output again. */ + +/* Each test has name, input bytes, and expected wide character + output. */ +struct testdata { + const char *name; + const char input[3]; + wchar_t expected[3]; +}; + +/* In BIG5-HKSCS (2008) there are 4 characters that generate multiple + wide characters. */ +struct testdata tests[4] = { + /* X => X */ + { "", "\x88\x62\x58", { 0x00CA, 0x0304, 0x0058 } }, + /* X => X */ + { "", "\x88\x64\x58", { 0x00CA, 0x030C, 0x0058 } }, + /* X => X */ + { "", "\x88\xa3\x58", { 0x00EA, 0x0304, 0x0058 } }, + /* X => X */ + { "", "\x88\xa5\x58", { 0x00EA, 0x030C, 0x0058 } } +}; + +/* Each test is of the form: + - Translate first code sequence (two bytes) + - Translate second (zero bytes) + - Translate the third (one byte). */ +static int +check_conversion (struct testdata test) +{ + int err = 0; + wchar_t wc; + mbstate_t st; + size_t ret; + const char *mbs = test.input; + int consumed = 0; + /* Input is always 3 bytes long. */ + int inlen = 3; + + memset (&st, 0, sizeof (st)); + /* First conversion: Consumes first 2 bytes. */ + ret = mbrtowc (&wc, mbs, inlen - consumed, &st); + if (ret != 2) + { + printf ("error: First conversion consumed only %zd bytes.\n", ret); + err++; + } + /* Advance the two consumed bytes. */ + mbs += ret; + consumed += ret; + if (wc != test.expected[0]) + { + printf ("error: Result of first conversion was wrong.\n"); + err++; + } + /* Second conversion: Consumes 0 bytes. */ + ret = mbrtowc (&wc, mbs, inlen - consumed, &st); + if (ret != 0) + { + printf ("error: Second conversion consumed only %zd bytes.\n", ret); + err++; + } + /* Advance the zero consumed bytes. */ + mbs += ret; + consumed += ret; + if (wc != test.expected[1]) + { + printf ("error: Result of second conversion was wrong.\n"); + err++; + } + /* After the second conversion the state of the converter should be + in the initial state. It is in the initial state because the two + input BIG5-HKSCS bytes have been consumed and the 2 wchar_t's have + been output. */ + if (mbsinit (&st) == 0) + { + printf ("error: Converter not in initial state.\n"); + err++; + } + /* Third conversion: Consumes 1 byte (it's an ASCII character). */ + ret = mbrtowc (&wc, mbs, inlen - consumed, &st); + if (ret != 1) + { + printf ("error: Third conversion consumed only %zd bytes.\n", ret); + err++; + } + /* Advance the one byte. */ + mbs += ret; + consumed += ret; + if (wc != test.expected[2]) + { + printf ("error: Result of third conversion was wrong.\n"); + err++; + } + /* Return 0 if we saw no errors. */ + return err; +} + +static int +do_test (void) +{ + int err = 0; + int ret; + /* Testing BIG5-HKSCS. */ + xsetlocale (LC_ALL, "zh_HK.BIG5-HKSCS"); + + /* Run all the special conversions. */ + for (int i = 0; i < (sizeof (tests) / sizeof (struct testdata)); i++) + { + printf ("Running test for %s\n", tests[i].name); + ret = check_conversion (tests[i]); + if (ret > 0) + printf ("Test %s failed.\n", tests[i].name); + err += ret; + } + + /* Fail if any conversion had an error. */ + if (err > 0) + FAIL_EXIT1 ("One or more conversions failed."); + + return 0; +} + +#include diff --git a/iconvdata/tst-loading.c b/iconvdata/tst-loading.c index 021ecafac8..5239ee4d58 100644 --- a/iconvdata/tst-loading.c +++ b/iconvdata/tst-loading.c @@ -1,5 +1,5 @@ /* Tests for loading and unloading of iconv modules. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/tst-table-charmap.sh b/iconvdata/tst-table-charmap.sh index 53582ba00f..c4eae134f1 100755 --- a/iconvdata/tst-table-charmap.sh +++ b/iconvdata/tst-table-charmap.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2000-2019 Free Software Foundation, Inc. +# Copyright (C) 2000-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Bruno Haible , 2000. # @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # Converts a glibc format charmap to a simple format .table file. diff --git a/iconvdata/tst-table-from.c b/iconvdata/tst-table-from.c index 65eac3b536..aeed8e140c 100644 --- a/iconvdata/tst-table-from.c +++ b/iconvdata/tst-table-from.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2000. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Create a table from CHARSET to Unicode. This is a good test for CHARSET's iconv() module, in particular the diff --git a/iconvdata/tst-table-to.c b/iconvdata/tst-table-to.c index 39889dec77..3d1ee37520 100644 --- a/iconvdata/tst-table-to.c +++ b/iconvdata/tst-table-to.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2000. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Create a table from Unicode to CHARSET. This is a good test for CHARSET's iconv() module, in particular the diff --git a/iconvdata/tst-table.sh b/iconvdata/tst-table.sh index c8bfbc5dd3..ffe683dee5 100755 --- a/iconvdata/tst-table.sh +++ b/iconvdata/tst-table.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2000-2019 Free Software Foundation, Inc. +# Copyright (C) 2000-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Bruno Haible , 2000. # @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # Checks that the iconv() implementation (in both directions) for a # stateless encoding agrees with the charmap table. diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh index 5fbf19506e..0360274ae1 100755 --- a/iconvdata/tst-tables.sh +++ b/iconvdata/tst-tables.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2000-2019 Free Software Foundation, Inc. +# Copyright (C) 2000-2020 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Bruno Haible , 2000. # @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see -# . +# . # Checks that the iconv() implementation (in both directions) for the # stateless encodings agrees with the corresponding charmap table. diff --git a/iconvdata/uhc.c b/iconvdata/uhc.c index f85ac6d7c7..b6a225978d 100644 --- a/iconvdata/uhc.c +++ b/iconvdata/uhc.c @@ -1,5 +1,5 @@ /* Mapping tables for UHC handling. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jungshik Shin , 1998. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/unicode.c b/iconvdata/unicode.c index 78e511ac08..980b8ee590 100644 --- a/iconvdata/unicode.c +++ b/iconvdata/unicode.c @@ -1,5 +1,5 @@ /* Conversion module for Unicode - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/utf-16.c b/iconvdata/utf-16.c index f64723fdc3..4642816a03 100644 --- a/iconvdata/utf-16.c +++ b/iconvdata/utf-16.c @@ -1,5 +1,5 @@ /* Conversion module for UTF-16. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/utf-32.c b/iconvdata/utf-32.c index 34e350c914..d21ad5876c 100644 --- a/iconvdata/utf-32.c +++ b/iconvdata/utf-32.c @@ -1,5 +1,5 @@ /* Conversion module for UTF-32. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include #include diff --git a/iconvdata/utf-7.c b/iconvdata/utf-7.c index b429a67d75..e4ffde18d0 100644 --- a/iconvdata/utf-7.c +++ b/iconvdata/utf-7.c @@ -1,5 +1,5 @@ /* Conversion module for UTF-7. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bruno Haible , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* UTF-7 is a legacy encoding used for transmitting Unicode within the ASCII character set, used primarily by mail agents. New programs diff --git a/iconvdata/viscii.c b/iconvdata/viscii.c index e44347454f..a816be6b35 100644 --- a/iconvdata/viscii.c +++ b/iconvdata/viscii.c @@ -1,5 +1,5 @@ /* Conversion from and to VISCII. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2000. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #include diff --git a/include/aliases.h b/include/aliases.h index 11b81d4d24..db82588630 100644 --- a/include/aliases.h +++ b/include/aliases.h @@ -33,8 +33,6 @@ extern enum nss_status _nss_ ## service ## _getaliasbyname_r \ DECLARE_NSS_PROTOTYPES (files) -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES # endif /* !_ISOMAC */ diff --git a/include/alloc_buffer.h b/include/alloc_buffer.h index 9c469b9e8b..4706a1bca4 100644 --- a/include/alloc_buffer.h +++ b/include/alloc_buffer.h @@ -1,5 +1,5 @@ /* Allocation from a fixed-size buffer. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* Allocation buffers are used to carve out sub-allocations from a larger allocation. Their primary application is in writing NSS diff --git a/include/allocate_once.h b/include/allocate_once.h index bb456ce5f5..c0f918417f 100644 --- a/include/allocate_once.h +++ b/include/allocate_once.h @@ -1,5 +1,5 @@ /* Allocate and initialize an object once, in a thread-safe fashion. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ALLOCATE_ONCE_H #define _ALLOCATE_ONCE_H diff --git a/include/array_length.h b/include/array_length.h index db98a69899..6d2ebe89cb 100644 --- a/include/array_length.h +++ b/include/array_length.h @@ -1,5 +1,5 @@ /* The array_length and array_end macros. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ARRAY_LENGTH_H #define _ARRAY_LENGTH_H diff --git a/include/atomic.h b/include/atomic.h index ee1978eb3b..818b22b117 100644 --- a/include/atomic.h +++ b/include/atomic.h @@ -1,5 +1,5 @@ /* Internal macros for atomic operations for GNU C Library. - Copyright (C) 2002-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ATOMIC_H #define _ATOMIC_H 1 diff --git a/include/bits/endian.h b/include/bits/endian.h new file mode 100644 index 0000000000..ad614f1c1a --- /dev/null +++ b/include/bits/endian.h @@ -0,0 +1 @@ +#include diff --git a/include/bits/xopen_lim.h b/include/bits/xopen_lim.h index b76a94bd14..957010d2c0 100644 --- a/include/bits/xopen_lim.h +++ b/include/bits/xopen_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2019 Free Software Foundation, Inc. +/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * Never include this file directly; use instead. diff --git a/include/dirent.h b/include/dirent.h index 3736803bce..2b1cdcf8bd 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -36,8 +36,7 @@ extern __ssize_t __getdirentries (int __fd, char *__restrict __buf, __off_t *__restrict __basep) __THROW __nonnull ((2, 4)); -/* These functions are only implemented on Linux. The public - interface for getdents64 is declared in . */ +/* These functions are only implemented on Linux. */ extern __ssize_t __getdents (int __fd, void *__buf, size_t __nbytes) attribute_hidden; extern __ssize_t __getdents64 (int __fd, void *__buf, size_t __nbytes); diff --git a/include/dlfcn.h b/include/dlfcn.h index 0dc57dbe22..a1816e4991 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -39,10 +39,11 @@ extern char **__libc_argv attribute_hidden; __libgcc_s_init because unwinding is already in progress, so libgcc_s.so has already been loaded if its unwinder is used (Bug 22636). 2. It allows us to provide robust fallback code at dlopen time for - incorrectly configured systems that mix old libnss_* modules with newly - installed libraries e.g. old libnss_nis.so.2 with new libnsl.so.1. Using - RTLD_LAZY here causes a failure at the time the symbol is called and at - that point it is much harder to safely return an error (Bug 22766). + incorrectly configured systems that mix old libnss_* modules + with newly installed libraries e.g. old libnss_dns.so.2 with new + libresolv.so.2. Using RTLD_LAZY here causes a failure at the + time the symbol is called and at that point it is much harder to + safely return an error (Bug 22766). The use of RTLD_NOW also impacts gconv module loading, backtracing (where the unwinder form libgcc_s.so is used), and IDNA functions @@ -117,7 +118,7 @@ struct dlfcn_hook int (*dladdr) (const void *address, Dl_info *info); int (*dladdr1) (const void *address, Dl_info *info, void **extra_info, int flags); - int (*dlinfo) (void *handle, int request, void *arg, void *dl_caller); + int (*dlinfo) (void *handle, int request, void *arg); void *(*dlmopen) (Lmid_t nsid, const char *file, int mode, void *dl_caller); void *pad[4]; }; @@ -143,8 +144,7 @@ extern int __dladdr (const void *address, Dl_info *info) extern int __dladdr1 (const void *address, Dl_info *info, void **extra_info, int flags) attribute_hidden; -extern int __dlinfo (void *handle, int request, void *arg DL_CALLER_DECL) - attribute_hidden; +extern int __dlinfo (void *handle, int request, void *arg) attribute_hidden; #ifndef SHARED struct link_map; diff --git a/include/err.h b/include/err.h index 7c05cd1dbb..b9b7516287 100644 --- a/include/err.h +++ b/include/err.h @@ -12,12 +12,12 @@ __vwarn_internal (const char *format, __gnuc_va_list ap, # ifndef _ISOMAC -libc_hidden_proto (warn) -libc_hidden_proto (warnx) -libc_hidden_proto (vwarn) -libc_hidden_proto (vwarnx) -libc_hidden_proto (verr) -libc_hidden_proto (verrx) +libc_hidden_ldbl_proto (warn) +libc_hidden_ldbl_proto (warnx) +libc_hidden_ldbl_proto (vwarn) +libc_hidden_ldbl_proto (vwarnx) +libc_hidden_ldbl_proto (verr) +libc_hidden_ldbl_proto (verrx) # endif /* !_ISOMAC */ #endif /* err.h */ diff --git a/include/features.h b/include/features.h index e016b3e5c7..f3e62d3362 100644 --- a/include/features.h +++ b/include/features.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _FEATURES_H #define _FEATURES_H 1 @@ -24,6 +24,7 @@ __STRICT_ANSI__ ISO Standard C. _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. + _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X. __STDC_WANT_LIB_EXT2__ Extensions to ISO C99 from TR 27431-2:2010. __STDC_WANT_IEC_60559_BFP_EXT__ @@ -139,6 +140,7 @@ #undef __USE_GNU #undef __USE_FORTIFY_LEVEL #undef __KERNEL_STRICT_NAMES +#undef __GLIBC_USE_ISOC2X #undef __GLIBC_USE_DEPRECATED_GETS #undef __GLIBC_USE_DEPRECATED_SCANF @@ -195,6 +197,8 @@ # define _ISOC99_SOURCE 1 # undef _ISOC11_SOURCE # define _ISOC11_SOURCE 1 +# undef _ISOC2X_SOURCE +# define _ISOC2X_SOURCE 1 # undef _POSIX_SOURCE # define _POSIX_SOURCE 1 # undef _POSIX_C_SOURCE @@ -216,26 +220,37 @@ #if (defined _DEFAULT_SOURCE \ || (!defined __STRICT_ANSI__ \ && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \ + && !defined _ISOC2X_SOURCE \ && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \ && !defined _XOPEN_SOURCE)) # undef _DEFAULT_SOURCE # define _DEFAULT_SOURCE 1 #endif +/* This is to enable the ISO C2X extension. */ +#if (defined _ISOC2X_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L)) +# define __GLIBC_USE_ISOC2X 1 +#else +# define __GLIBC_USE_ISOC2X 0 +#endif + /* This is to enable the ISO C11 extension. */ -#if (defined _ISOC11_SOURCE \ +#if (defined _ISOC11_SOURCE || defined _ISOC2X_SOURCE \ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)) # define __USE_ISOC11 1 #endif /* This is to enable the ISO C99 extension. */ -#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ +#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ + || defined _ISOC2X_SOURCE \ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) # define __USE_ISOC99 1 #endif /* This is to enable the ISO C90 Amendment 1:1995 extension. */ -#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ +#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ + || defined _ISOC2X_SOURCE \ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L)) # define __USE_ISOC95 1 #endif @@ -439,7 +454,7 @@ /* Major and minor version number of the GNU C library package. Use these macros to test for features in specific releases. */ #define __GLIBC__ 2 -#define __GLIBC_MINOR__ 29 +#define __GLIBC_MINOR__ 32 #define __GLIBC_PREREQ(maj, min) \ ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) diff --git a/include/file_change_detection.h b/include/file_change_detection.h new file mode 100644 index 0000000000..767e578555 --- /dev/null +++ b/include/file_change_detection.h @@ -0,0 +1,70 @@ +/* Detecting file changes using modification times. + Copyright (C) 2017-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _FILE_CHANGE_DETECTION_H +#define _FILE_CHANGE_DETECTION_H + +#include +#include +#include +#include + +/* Items for identifying a particular file version. Excerpt from + struct stat64. */ +struct file_change_detection +{ + /* Special values: 0 if file does not exist. -1 to force mismatch + with the next comparison. */ + off64_t size; + + ino64_t ino; + struct timespec mtime; + struct timespec ctime; +}; + +/* Returns true if *LEFT and *RIGHT describe the same version of the + same file. */ +bool __file_is_unchanged (const struct file_change_detection *left, + const struct file_change_detection *right); + +/* Extract file change information to *FILE from the stat buffer + *ST. */ +void __file_change_detection_for_stat (struct file_change_detection *file, + const struct stat64 *st); + +/* Writes file change information for PATH to *FILE. Returns true on + success. For benign errors, *FILE is cleared, and true is + returned. For errors indicating resource outages and the like, + false is returned. */ +bool __file_change_detection_for_path (struct file_change_detection *file, + const char *path); + +/* Writes file change information for the stream FP to *FILE. Returns + ture on success, false on failure. If FP is NULL, treat the file + as non-existing. */ +bool __file_change_detection_for_fp (struct file_change_detection *file, + FILE *fp); + +#ifndef _ISOMAC +libc_hidden_proto (__file_is_unchanged) +libc_hidden_proto (__file_change_detection_for_stat) +libc_hidden_proto (__file_change_detection_for_path) +libc_hidden_proto (__file_change_detection_for_fp) +#endif + +#endif /* _FILE_CHANGE_DETECTION_H */ diff --git a/include/float.h b/include/float.h index 7e65bb83cb..0f79ed695a 100644 --- a/include/float.h +++ b/include/float.h @@ -4,7 +4,9 @@ #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #include -#ifndef _ISOMAC +/* Some tests also define this macro, requiring a check here to avoid + errors for duplicate definitions (see GCC bug 91451). */ +#if !defined _ISOMAC && !defined __STDC_WANT_IEC_60559_TYPES_EXT__ # define __STDC_WANT_IEC_60559_TYPES_EXT__ #endif diff --git a/include/gnu-versions.h b/include/gnu-versions.h index 6db552a700..d2f06f648a 100644 --- a/include/gnu-versions.h +++ b/include/gnu-versions.h @@ -1,5 +1,5 @@ /* Header with interface version macros for library pieces copied elsewhere. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GNU_VERSIONS_H #define _GNU_VERSIONS_H 1 diff --git a/include/gnu/libc-version.h b/include/gnu/libc-version.h index 0e2e91b6e6..37d9e86dc4 100644 --- a/include/gnu/libc-version.h +++ b/include/gnu/libc-version.h @@ -1,5 +1,5 @@ /* Interface to GNU libc specific functions for version information. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GNU_LIBC_VERSION_H #define _GNU_LIBC_VERSION_H 1 diff --git a/include/grp.h b/include/grp.h index 871701adbe..2cd2475534 100644 --- a/include/grp.h +++ b/include/grp.h @@ -30,12 +30,6 @@ extern int __old_getgrnam_r (const char *__name, struct group *__resultbuf, char *__buffer, size_t __buflen, struct group **__result); -struct parser_data; -extern int _nss_files_parse_grent (char *line, struct group *result, - struct parser_data *data, - size_t datalen, int *errnop); -libc_hidden_proto (_nss_files_parse_grent) - #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setgrent (int); \ extern enum nss_status _nss_ ## service ## _endgrent (void); \ @@ -56,8 +50,6 @@ extern enum nss_status _nss_ ## service ##_initgroups_dyn \ DECLARE_NSS_PROTOTYPES (compat) DECLARE_NSS_PROTOTYPES (files) DECLARE_NSS_PROTOTYPES (hesiod) -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES #endif diff --git a/include/gshadow.h b/include/gshadow.h index aa6a5a693e..1cefcfc641 100644 --- a/include/gshadow.h +++ b/include/gshadow.h @@ -10,11 +10,5 @@ extern int __sgetsgent_r (const char *string, struct sgrp *resbuf, char *buffer, size_t buflen, struct sgrp **result) attribute_hidden; -struct parser_data; -extern int _nss_files_parse_sgent (char *line, struct sgrp *result, - struct parser_data *data, - size_t datalen, int *errnop); -libc_hidden_proto (_nss_files_parse_sgent) - # endif /* !_ISOMAC */ #endif diff --git a/include/ifunc-impl-list.h b/include/ifunc-impl-list.h index cf35f136e2..5b970f0f0e 100644 --- a/include/ifunc-impl-list.h +++ b/include/ifunc-impl-list.h @@ -1,5 +1,5 @@ /* Internal header file for __libc_supported_implementations. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _IFUNC_IMPL_LIST_H #define _IFUNC_IMPL_LIST_H 1 diff --git a/include/inline-hashtab.h b/include/inline-hashtab.h index c1b66750f9..856719cf9d 100644 --- a/include/inline-hashtab.h +++ b/include/inline-hashtab.h @@ -1,5 +1,5 @@ /* Fully-inline hash table, used mainly for managing TLS descriptors. - Copyright (C) 1999-2019 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Alexandre Oliva @@ -20,13 +20,11 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef INLINE_HASHTAB_H # define INLINE_HASHTAB_H 1 -extern void weak_function free (void *ptr); - struct hashtab { /* Table itself. */ @@ -53,11 +51,10 @@ htab_create (void) return NULL; ht->size = 3; ht->entries = malloc (sizeof (void *) * ht->size); - ht->free = free; + ht->free = __rtld_free; if (! ht->entries) { - if (ht->free) - ht->free (ht); + free (ht); return NULL; } @@ -78,8 +75,7 @@ htab_delete (struct hashtab *htab) for (i = htab->size - 1; i >= 0; i--) free (htab->entries[i]); - if (htab->free) - htab->free (htab->entries); + htab->free (htab->entries); free (htab); } @@ -167,12 +163,11 @@ htab_expand (struct hashtab *htab, int (*hash_fn) (void *)) allocated early as long as there's no corresponding free(), but this isn't so much memory as to be significant. */ - if (htab->free) - htab->free (oentries); + htab->free (oentries); /* Use the free() corresponding to the malloc() above to free this up. */ - htab->free = free; + htab->free = __rtld_free; return 1; } diff --git a/include/intprops.h b/include/intprops.h index 140f6d2a4b..0c379a8c5b 100644 --- a/include/intprops.h +++ b/include/intprops.h @@ -1,6 +1,6 @@ /* intprops.h -- properties of integer types - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published @@ -111,8 +111,8 @@ Subtract 1 for the sign bit if T is signed, and then add 1 more for a minus sign if needed. - Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 0 when its argument is - signed, this macro may overestimate the true bound by one byte when + Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 1 when its argument is + unsigned, this macro may overestimate the true bound by one byte when applied to unsigned types of size 2, 4, 16, ... bytes. */ #define INT_STRLEN_BOUND(t) \ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ @@ -220,14 +220,26 @@ ? (a) < (min) >> (b) \ : (max) >> (b) < (a)) -/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ +/* True if __builtin_add_overflow (A, B, P) and __builtin_sub_overflow + (A, B, P) work when P is non-null. */ #if 5 <= __GNUC__ && !defined __ICC -# define _GL_HAS_BUILTIN_OVERFLOW 1 +# define _GL_HAS_BUILTIN_ADD_OVERFLOW 1 +#elif defined __has_builtin +# define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow) #else -# define _GL_HAS_BUILTIN_OVERFLOW 0 +# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 #endif -/* True if __builtin_add_overflow_p (A, B, C) works. */ +/* True if __builtin_mul_overflow (A, B, P) works when P is non-null. */ +#ifdef __clang__ +/* Work around Clang bug . */ +# define _GL_HAS_BUILTIN_MUL_OVERFLOW 0 +#else +# define _GL_HAS_BUILTIN_MUL_OVERFLOW _GL_HAS_BUILTIN_ADD_OVERFLOW +#endif + +/* True if __builtin_add_overflow_p (A, B, C) works, and similarly for + __builtin_mul_overflow_p and __builtin_mul_overflow_p. */ #define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) /* The _GL*_OVERFLOW macros have the same restrictions as the @@ -281,7 +293,9 @@ The INT__OVERFLOW macros return 1 if the corresponding C operators might not yield numerically correct answers due to arithmetic overflow. - The INT__WRAPV macros also store the low-order bits of the answer. + The INT__WRAPV macros compute the low-order bits of the sum, + difference, and product of two C integers, and return 1 if these + low-order bits are not numerically correct. These macros work correctly on all known practical hosts, and do not rely on undefined behavior due to signed arithmetic overflow. @@ -309,9 +323,11 @@ arguments should not have side effects. The WRAPV macros are not constant expressions. They support only - +, binary -, and *. The result type must be signed. + +, binary -, and *. Because the WRAPV macros convert the result, + they report overflow in different circumstances than the OVERFLOW + macros do. - These macros are tuned for their last argument being a constant. + These macros are tuned for their last input argument being a constant. Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B, A % B, and A << B would overflow, respectively. */ @@ -347,19 +363,33 @@ /* Store the low-order bits of A + B, A - B, A * B, respectively, into *R. Return 1 if the result overflows. See above for restrictions. */ -#define INT_ADD_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, +, __builtin_add_overflow, INT_ADD_OVERFLOW) -#define INT_SUBTRACT_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, INT_SUBTRACT_OVERFLOW) -#define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) +#if _GL_HAS_BUILTIN_ADD_OVERFLOW +# define INT_ADD_WRAPV(a, b, r) __builtin_add_overflow (a, b, r) +# define INT_SUBTRACT_WRAPV(a, b, r) __builtin_sub_overflow (a, b, r) +#else +# define INT_ADD_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW) +# define INT_SUBTRACT_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, -, _GL_INT_SUBTRACT_RANGE_OVERFLOW) +#endif +#if _GL_HAS_BUILTIN_MUL_OVERFLOW +/* Work around GCC bug 91450. */ +# define INT_MULTIPLY_WRAPV(a, b, r) \ + ((!_GL_SIGNED_TYPE_OR_EXPR (*(r)) && EXPR_SIGNED (a) && EXPR_SIGNED (b) \ + && _GL_INT_MULTIPLY_RANGE_OVERFLOW (a, b, 0, (__typeof__ (*(r))) -1)) \ + ? ((void) __builtin_mul_overflow (a, b, r), 1) \ + : __builtin_mul_overflow (a, b, r)) +#else +# define INT_MULTIPLY_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW) +#endif /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 https://llvm.org/bugs/show_bug.cgi?id=25390 For now, assume all versions of GCC-like compilers generate bogus - warnings for _Generic. This matters only for older compilers that - lack __builtin_add_overflow. */ + warnings for _Generic. This matters only for compilers that + lack relevant builtins. */ #if __GNUC__ # define _GL__GENERIC_BOGUS 1 #else @@ -367,53 +397,100 @@ #endif /* Store the low-order bits of A B into *R, where OP specifies - the operation. BUILTIN is the builtin operation, and OVERFLOW the - overflow predicate. Return 1 if the result overflows. See above - for restrictions. */ -#if _GL_HAS_BUILTIN_OVERFLOW -# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) -#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS -# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ + the operation and OVERFLOW the overflow predicate. Return 1 if the + result overflows. See above for restrictions. */ +#if 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS +# define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ (_Generic \ (*(r), \ signed char: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ signed char, SCHAR_MIN, SCHAR_MAX), \ + unsigned char: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned char, 0, UCHAR_MAX), \ short int: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ short int, SHRT_MIN, SHRT_MAX), \ + unsigned short int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned short int, 0, USHRT_MAX), \ int: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ int, INT_MIN, INT_MAX), \ + unsigned int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned int, 0, UINT_MAX), \ long int: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ long int, LONG_MIN, LONG_MAX), \ + unsigned long int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX), \ long long int: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ - long long int, LLONG_MIN, LLONG_MAX))) + long long int, LLONG_MIN, LLONG_MAX), \ + unsigned long long int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + unsigned long long int, 0, ULLONG_MAX))) #else -# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ +/* Store the low-order bits of A B into *R, where OP specifies + the operation and OVERFLOW the overflow predicate. If *R is + signed, its type is ST with bounds SMIN..SMAX; otherwise its type + is UT with bounds U..UMAX. ST and UT are narrower than int. + Return 1 if the result overflows. See above for restrictions. */ +# if _GL_HAVE___TYPEOF__ +# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ + (TYPE_SIGNED (__typeof__ (*(r))) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, st, smin, smax) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, ut, 0, umax)) +# else +# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ + (overflow (a, b, smin, smax) \ + ? (overflow (a, b, 0, umax) \ + ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 1) \ + : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) < 0) \ + : (overflow (a, b, 0, umax) \ + ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) >= 0 \ + : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 0))) +# endif + +# define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ (sizeof *(r) == sizeof (signed char) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - signed char, SCHAR_MIN, SCHAR_MAX) \ + ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ + signed char, SCHAR_MIN, SCHAR_MAX, \ + unsigned char, UCHAR_MAX) \ : sizeof *(r) == sizeof (short int) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - short int, SHRT_MIN, SHRT_MAX) \ + ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ + short int, SHRT_MIN, SHRT_MAX, \ + unsigned short int, USHRT_MAX) \ : sizeof *(r) == sizeof (int) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - int, INT_MIN, INT_MAX) \ + ? (EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + int, INT_MIN, INT_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned int, 0, UINT_MAX)) \ : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow)) # ifdef LLONG_MAX # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ (sizeof *(r) == sizeof (long int) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - long int, LONG_MIN, LONG_MAX) \ - : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ - long long int, LLONG_MIN, LLONG_MAX)) + ? (EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + long int, LONG_MIN, LONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX)) \ + : (EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + long long int, LLONG_MIN, LLONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + unsigned long long int, 0, ULLONG_MAX))) # else # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - long int, LONG_MIN, LONG_MAX) + (EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + long int, LONG_MIN, LONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX)) # endif #endif @@ -422,13 +499,7 @@ overflow problems. *R's type is T, with extrema TMIN and TMAX. T must be a signed integer type. Return 1 if the result overflows. */ #define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \ - (sizeof ((a) op (b)) < sizeof (t) \ - ? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \ - : _GL_INT_OP_CALC1 (a, b, r, op, overflow, ut, t, tmin, tmax)) -#define _GL_INT_OP_CALC1(a, b, r, op, overflow, ut, t, tmin, tmax) \ - ((overflow (a, b) \ - || (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \ - || (tmax) < ((a) op (b))) \ + (overflow (a, b, tmin, tmax) \ ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \ : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0)) @@ -452,4 +523,57 @@ #define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \ ((t) ((ut) (a) op (ut) (b))) +/* Return true if the numeric values A + B, A - B, A * B fall outside + the range TMIN..TMAX. Arguments should be integer expressions + without side effects. TMIN should be signed and nonpositive. + TMAX should be positive, and should be signed unless TMIN is zero. */ +#define _GL_INT_ADD_RANGE_OVERFLOW(a, b, tmin, tmax) \ + ((b) < 0 \ + ? (((tmin) \ + ? ((EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \ + && (a) < (tmin) - (b)) \ + : (a) <= -1 - (b)) \ + || ((EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \ + : (a) < 0 \ + ? (((tmin) \ + ? ((EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \ + && (b) < (tmin) - (a)) \ + : (b) <= -1 - (a)) \ + || ((EXPR_SIGNED (_GL_INT_CONVERT (a, b)) || (tmax) < (b)) \ + && (tmax) < (a) + (b))) \ + : (tmax) < (b) || (tmax) - (b) < (a)) +#define _GL_INT_SUBTRACT_RANGE_OVERFLOW(a, b, tmin, tmax) \ + (((a) < 0) == ((b) < 0) \ + ? ((a) < (b) \ + ? !(tmin) || -1 - (tmin) < (b) - (a) - 1 \ + : (tmax) < (a) - (b)) \ + : (a) < 0 \ + ? ((!EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \ + || (a) - (tmin) < (b)) \ + : ((! (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ + && EXPR_SIGNED (_GL_INT_CONVERT ((tmax) + (b), a))) \ + && (tmax) <= -1 - (b)) \ + || (tmax) + (b) < (a))) +#define _GL_INT_MULTIPLY_RANGE_OVERFLOW(a, b, tmin, tmax) \ + ((b) < 0 \ + ? ((a) < 0 \ + ? (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ + ? (a) < (tmax) / (b) \ + : ((INT_NEGATE_OVERFLOW (b) \ + ? _GL_INT_CONVERT (b, tmax) >> (TYPE_WIDTH (b) - 1) \ + : (tmax) / -(b)) \ + <= -1 - (a))) \ + : INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \ + ? (EXPR_SIGNED (a) \ + ? 0 < (a) + (tmin) \ + : 0 < (a) && -1 - (tmin) < (a) - 1) \ + : (tmin) / (b) < (a)) \ + : (b) == 0 \ + ? 0 \ + : ((a) < 0 \ + ? (INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \ + ? (EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \ + : (tmin) / (a) < (b)) \ + : (tmax) / (b) < (a))) + #endif /* _GL_INTPROPS_H */ diff --git a/include/libc-diag.h b/include/libc-diag.h index 9e1b32e395..7356bdc264 100644 --- a/include/libc-diag.h +++ b/include/libc-diag.h @@ -1,5 +1,5 @@ /* Macros for controlling diagnostic output from the compiler. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIBC_DIAG_H #define _LIBC_DIAG_H 1 diff --git a/include/libc-internal.h b/include/libc-internal.h index db4d12432c..729db7918e 100644 --- a/include/libc-internal.h +++ b/include/libc-internal.h @@ -1,5 +1,5 @@ /* Internal prototype declarations that don't fit anywhere else. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIBC_INTERNAL # define _LIBC_INTERNAL 1 @@ -24,9 +24,6 @@ /* Initialize the `__libc_enable_secure' flag. */ extern void __libc_init_secure (void); -/* This function will be called from _init in init-first.c. */ -extern void __libc_global_ctors (void); - /* Discover the tick frequency of the machine if something goes wrong, we return 0, an impossible hertz. */ extern int __profile_frequency (void); diff --git a/include/libc-pointer-arith.h b/include/libc-pointer-arith.h index c5390a9be4..b4d716c727 100644 --- a/include/libc-pointer-arith.h +++ b/include/libc-pointer-arith.h @@ -1,5 +1,5 @@ /* Helper macros for pointer arithmetic. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIBC_POINTER_ARITH_H #define _LIBC_POINTER_ARITH_H 1 diff --git a/include/libc-symbols.h b/include/libc-symbols.h index b68ec4b7f5..60153bb50d 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -1,6 +1,6 @@ /* Support macros for making weak and strong aliases for symbols, and for using symbol sets and linker warnings with GNU ld. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIBC_SYMBOLS_H #define _LIBC_SYMBOLS_H 1 @@ -421,7 +421,14 @@ for linking") # define _default_symbol_version(real, name, version) \ __asm__ (".symver " #real "," #name "@@" #version) # endif -#else + +/* Evalutes to a string literal for VERSION in LIB. */ +# define symbol_version_string(lib, version) \ + _symbol_version_stringify_1 (VERSION_##lib##_##version) +# define _symbol_version_stringify_1(arg) _symbol_version_stringify_2 (arg) +# define _symbol_version_stringify_2(arg) #arg + +#else /* !SHARED */ # define symbol_version(real, name, version) # define default_symbol_version(real, name, version) \ strong_alias(real, name) @@ -618,12 +625,7 @@ for linking") # define libc_hidden_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs) # define libc_hidden_def(name) hidden_def (name) # define libc_hidden_weak(name) hidden_weak (name) -# ifdef LINK_OBSOLETE_RPC - /* libc_hidden_nolink_sunrpc should only get used in sunrpc code. */ -# define libc_hidden_nolink_sunrpc(name, version) hidden_def (name) -# else -# define libc_hidden_nolink_sunrpc(name, version) hidden_nolink (name, libc, version) -# endif +# define libc_hidden_nolink_sunrpc(name, version) hidden_nolink (name, libc, version) # define libc_hidden_ver(local, name) hidden_ver (local, name) # define libc_hidden_data_def(name) hidden_data_def (name) # define libc_hidden_tls_def(name) hidden_tls_def (name) @@ -730,6 +732,29 @@ for linking") # define libresolv_hidden_data_ver(local, name) #endif +#if IS_IN (libpthread) +# define libpthread_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) +# define libpthread_hidden_tls_proto(name, attrs...) \ + hidden_tls_proto (name, ##attrs) +# define libpthread_hidden_def(name) hidden_def (name) +# define libpthread_hidden_weak(name) hidden_weak (name) +# define libpthread_hidden_ver(local, name) hidden_ver (local, name) +# define libpthread_hidden_data_def(name) hidden_data_def (name) +# define libpthread_hidden_tls_def(name) hidden_tls_def (name) +# define libpthread_hidden_data_weak(name) hidden_data_weak (name) +# define libpthread_hidden_data_ver(local, name) hidden_data_ver (local, name) +#else +# define libpthread_hidden_proto(name, attrs...) +# define libpthread_hidden_tls_proto(name, attrs...) +# define libpthread_hidden_def(name) +# define libpthread_hidden_weak(name) +# define libpthread_hidden_ver(local, name) +# define libpthread_hidden_data_def(name) +# define libpthread_hidden_tls_def(name) +# define libpthread_hidden_data_weak(name) +# define libpthread_hidden_data_ver(local, name) +#endif + #if IS_IN (librt) # define librt_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define librt_hidden_tls_proto(name, attrs...) \ @@ -803,13 +828,7 @@ for linking") # define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define libnsl_hidden_tls_proto(name, attrs...) \ hidden_tls_proto (name, ##attrs) -# ifdef LINK_OBSOLETE_NSL - /* libnsl_hidden_nolink should only get used in libnsl code. */ -# define libnsl_hidden_nolink_def(name, version) libnsl_hidden_def (name) -# else -# define libnsl_hidden_nolink_def(name, version) hidden_nolink (name, libnsl, version) -# endif -# define libnsl_hidden_def(name) hidden_def (name) +# define libnsl_hidden_nolink_def(name, version) hidden_nolink (name, libnsl, version) # define libnsl_hidden_weak(name) hidden_weak (name) # define libnsl_hidden_ver(local, name) hidden_ver (local, name) # define libnsl_hidden_data_def(name) hidden_data_def (name) @@ -819,7 +838,6 @@ for linking") #else # define libnsl_hidden_proto(name, attrs...) # define libnsl_hidden_tls_proto(name, attrs...) -# define libnsl_hidden_def(name) # define libnsl_hidden_weak(name) # define libnsl_hidden_ver(local, name) # define libnsl_hidden_data_def(name) @@ -828,33 +846,12 @@ for linking") # define libnsl_hidden_data_ver(local, name) #endif -#if IS_IN (libnss_nisplus) -# define libnss_nisplus_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libnss_nisplus_hidden_tls_proto(name, attrs...) \ - hidden_tls_proto (name, ##attrs) -# define libnss_nisplus_hidden_def(name) hidden_def (name) -# define libnss_nisplus_hidden_weak(name) hidden_weak (name) -# define libnss_nisplus_hidden_ver(local, name) hidden_ver (local, name) -# define libnss_nisplus_hidden_data_def(name) hidden_data_def (name) -# define libnss_nisplus_hidden_tls_def(name) hidden_tls_def (name) -# define libnss_nisplus_hidden_data_weak(name) hidden_data_weak (name) -# define libnss_nisplus_hidden_data_ver(local, name) hidden_data_ver (local, name) -#else -# define libnss_nisplus_hidden_proto(name, attrs...) -# define libnss_nisplus_hidden_tls_proto(name, attrs...) -# define libnss_nisplus_hidden_def(name) -# define libnss_nisplus_hidden_weak(name) -# define libnss_nisplus_hidden_ver(local, name) -# define libnss_nisplus_hidden_data_def(name) -# define libnss_nisplus_hidden_tls_def(name) -# define libnss_nisplus_hidden_data_weak(name) -# define libnss_nisplus_hidden_data_ver(local, name) -#endif - #define libc_hidden_builtin_proto(name, attrs...) libc_hidden_proto (name, ##attrs) #define libc_hidden_builtin_def(name) libc_hidden_def (name) #define libc_hidden_builtin_weak(name) libc_hidden_weak (name) #define libc_hidden_builtin_ver(local, name) libc_hidden_ver (local, name) + +#define libc_hidden_ldbl_proto(name, attrs...) libc_hidden_proto (name, ##attrs) #ifdef __ASSEMBLER__ # define HIDDEN_BUILTIN_JUMPTARGET(name) HIDDEN_JUMPTARGET(name) #endif diff --git a/include/libintl.h b/include/libintl.h index 9a11367ec6..3d63b7abbd 100644 --- a/include/libintl.h +++ b/include/libintl.h @@ -37,17 +37,33 @@ extern char *__bind_textdomain_codeset (const char *__domainname, extern const char _libc_intl_domainname[]; libc_hidden_proto (_libc_intl_domainname) -/* Define the macros `_' and `N_' for conveniently marking translatable - strings in the libc source code. We have to make sure we get the - correct definitions so we undefine the macros first. */ +/* _ marks its argument, a string literal, for translation, and + performs translation at run time if the LC_MESSAGES locale category + has been set. The MSGID argument is extracted, added to the + translation database, and eventually submitted to the translation + team for processing. New translations are periodically + incorporated into the glibc source tree as part of translation + updates. */ +# undef _ +# define _(msgid) __dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES) + +/* N_ marks its argument, a string literal, for translation, so that + it is extracted and added to the translation database (similar to + the _ macro above). It does not translate the string at run time. + The first, primary use case for N_ is a context in which a string + literal is required, such as an initializer. Translation will + happen later, for example using the __gettext function. + The second, historic, use case involves strings which may be + translated in a future version of the library, but cannot be + translated in current releases due to some technical limitation + (e.g., gettext not being available in the dynamic loader). No + translation at run time happens in such cases. In the future, this + historic usage of N_ may become deprecated. Strings which are not + translated create unnecessary work for the translation team. We + continue to use N_ because it helps mark translatable strings. */ # undef N_ # define N_(msgid) msgid -# undef _ -/* This is defined as an optimizing macro, so use it. */ -# define _(msgid) \ - __dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES) - # endif /* !_ISOMAC */ #endif diff --git a/include/limits.h b/include/limits.h index 08bb5248be..8195da78a4 100644 --- a/include/limits.h +++ b/include/limits.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ /* * ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types @@ -142,7 +142,7 @@ /* The integer width macros are not defined by GCC's before GCC 7, or if _GNU_SOURCE rather than __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. */ -#if __GLIBC_USE (IEC_60559_BFP_EXT) +#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) # ifndef CHAR_WIDTH # define CHAR_WIDTH 8 # endif diff --git a/include/link.h b/include/link.h index 736e1d72ae..aea268439c 100644 --- a/include/link.h +++ b/include/link.h @@ -1,6 +1,6 @@ /* Data structure for communication from the run-time dynamic linker for loaded ELF shared objects. - Copyright (C) 1995-2019 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _PRIVATE_LINK_H #define _PRIVATE_LINK_H 1 @@ -79,7 +79,6 @@ struct r_search_path_struct int malloced; }; - /* Structure describing a loaded shared object. The `l_next' and `l_prev' members form a chain of all the shared objects loaded at startup. @@ -203,6 +202,18 @@ struct link_map freed, ie. not allocated with the dummy malloc in ld.so. */ + /* NODELETE status of the map. Only valid for maps of type + lt_loaded. Lazy binding sets l_nodelete_active directly, + potentially from signal handlers. Initial loading of an + DF_1_NODELETE object set l_nodelete_pending. Relocation may + set l_nodelete_pending as well. l_nodelete_pending maps are + promoted to l_nodelete_active status in the final stages of + dlopen, prior to calling ELF constructors. dlclose only + refuses to unload l_nodelete_active maps, the pending status is + ignored. */ + bool l_nodelete_active; + bool l_nodelete_pending; + #include /* Collected information about own RPATH directories. */ @@ -325,16 +336,18 @@ struct link_map size_t l_relro_size; unsigned long long int l_serial; - - /* Audit information. This array apparent must be the last in the - structure. Never add something after it. */ - struct auditstate - { - uintptr_t cookie; - unsigned int bindflags; - } l_audit[0]; }; +/* Information used by audit modules. For most link maps, this data + immediate follows the link map in memory. For the dynamic linker, + it is allocated separately. See link_map_audit_state in + . */ +struct auditstate +{ + uintptr_t cookie; + unsigned int bindflags; +}; + #if __ELF_NATIVE_CLASS == 32 # define symbind symbind32 diff --git a/include/list.h b/include/list.h index 862fb7edcc..4ea22a2d52 100644 --- a/include/list.h +++ b/include/list.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2019 Free Software Foundation, Inc. +/* Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIST_H #define _LIST_H 1 diff --git a/include/list_t.h b/include/list_t.h index a84bd54964..b6f6e7b986 100644 --- a/include/list_t.h +++ b/include/list_t.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2019 Free Software Foundation, Inc. +/* Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIST_T_H #define _LIST_T_H 1 diff --git a/include/loop_unroll.h b/include/loop_unroll.h index d6a84e6c5d..00cf9b9e62 100644 --- a/include/loop_unroll.h +++ b/include/loop_unroll.h @@ -1,5 +1,5 @@ /* Macro for explicit loop unrolling. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LOOP_UNROLL_H #define _LOOP_UNROLL_H diff --git a/include/malloc.h b/include/malloc.h index 70d32c7c84..0765482c51 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -1,7 +1,9 @@ #ifndef _MALLOC_H + #include # ifndef _ISOMAC +# include /* In the GNU libc we rename the global variable `__malloc_initialized' to `__libc_malloc_initialized'. */ diff --git a/include/math-narrow-eval.h b/include/math-narrow-eval.h index 37bbd2eecf..137a35d79c 100644 --- a/include/math-narrow-eval.h +++ b/include/math-narrow-eval.h @@ -1,5 +1,5 @@ /* Narrow floating-point values to their semantic type. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _MATH_NARROW_EVAL_H #define _MATH_NARROW_EVAL_H 1 diff --git a/include/math.h b/include/math.h index 79ebbae359..e1c2a4eb64 100644 --- a/include/math.h +++ b/include/math.h @@ -18,7 +18,8 @@ hidden_proto (__finitef) hidden_proto (__isinff) hidden_proto (__isnanf) -# ifndef __NO_LONG_DOUBLE_MATH +# if !defined __NO_LONG_DOUBLE_MATH \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 hidden_proto (__finitel) hidden_proto (__isinfl) hidden_proto (__isnanl) @@ -28,7 +29,6 @@ hidden_proto (__isnanl) hidden_proto (__finitef128) hidden_proto (__isinff128) hidden_proto (__isnanf128) -hidden_proto (__signbitf128) # endif # endif @@ -40,7 +40,8 @@ libm_hidden_proto (__exp) libm_hidden_proto (__expf) libm_hidden_proto (__roundeven) -# ifndef __NO_LONG_DOUBLE_MATH +# if !defined __NO_LONG_DOUBLE_MATH \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 libm_hidden_proto (__fpclassifyl) libm_hidden_proto (__issignalingl) libm_hidden_proto (__expl) @@ -54,6 +55,59 @@ libm_hidden_proto (__expf128) libm_hidden_proto (__expm1f128) # endif +#include +#include + +/* A union which permits us to convert between a float and a 32 bit + int. */ + +typedef union +{ + float value; + uint32_t word; +} ieee_float_shape_type; + +/* Get a 32 bit int from a float. */ +#ifndef GET_FLOAT_WORD +# define GET_FLOAT_WORD(i,d) \ +do { \ + ieee_float_shape_type gf_u; \ + gf_u.value = (d); \ + (i) = gf_u.word; \ +} while (0) +#endif + +/* Set a float from a 32 bit int. */ +#ifndef SET_FLOAT_WORD +# define SET_FLOAT_WORD(d,i) \ +do { \ + ieee_float_shape_type sf_u; \ + sf_u.word = (i); \ + (d) = sf_u.value; \ +} while (0) +#endif + +extern inline int +__issignalingf (float x) +{ + uint32_t xi; + GET_FLOAT_WORD (xi, x); +#if HIGH_ORDER_BIT_IS_SET_FOR_SNAN + /* We only have to care about the high-order bit of x's significand, because + having it set (sNaN) already makes the significand different from that + used to designate infinity. */ + return (xi & 0x7fc00000) == 0x7fc00000; +#else + /* To keep the following comparison simple, toggle the quiet/signaling bit, + so that it is set for sNaNs. This is inverse to IEEE 754-2008 (as well as + common practice for IEEE 754-1985). */ + xi ^= 0x00400000; + /* We have to compare for greater (instead of greater or equal), because x's + significand being all-zero designates infinity not NaN. */ + return (xi & 0x7fffffff) > 0x7fc00000; +#endif +} + # if __HAVE_DISTINCT_FLOAT128 /* __builtin_isinf_sign is broken in GCC < 7 for float128. */ @@ -87,7 +141,8 @@ fabsf128 (_Float128 x) double (FUNC) (ARGS (double)) asm (PREFIX #FUNC ); \ MATH_REDIRECT_LDBL (FUNC, PREFIX, ARGS) \ MATH_REDIRECT_F128 (FUNC, PREFIX, ARGS) -# ifdef __NO_LONG_DOUBLE_MATH +# if defined __NO_LONG_DOUBLE_MATH \ + || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # define MATH_REDIRECT_LDBL(FUNC, PREFIX, ARGS) # else # define MATH_REDIRECT_LDBL(FUNC, PREFIX, ARGS) \ diff --git a/include/monetary.h b/include/monetary.h index f59bdf9150..5390411d8f 100644 --- a/include/monetary.h +++ b/include/monetary.h @@ -1,3 +1,11 @@ +/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */ +#include +#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3) +# pragma GCC system_header +# endif +#endif + #include #ifndef _ISOMAC #include @@ -15,5 +23,6 @@ __vstrfmon_l_internal (char *s, size_t maxsize, locale_t loc, same format as double, in which case the flag should be set to one, or as another format, otherwise. */ #define STRFMON_LDBL_IS_DBL 0x0001 +#define STRFMON_LDBL_USES_FLOAT128 0x0002 #endif diff --git a/include/mqueue.h b/include/mqueue.h index 3c66f1711e..98e4596c22 100644 --- a/include/mqueue.h +++ b/include/mqueue.h @@ -10,4 +10,21 @@ extern __typeof (mq_timedreceive) __mq_timedreceive __nonnull ((2, 5)); hidden_proto (__mq_timedreceive) hidden_proto (mq_setattr) # endif +#include +#if __TIMESIZE == 64 +# define __mq_timedsend_time64 __mq_timedsend +# define __mq_timedreceive_time64 __mq_timedreceive +#else +extern int __mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, + size_t msg_len, unsigned int msg_prio, + const struct __timespec64 *abs_timeout); +librt_hidden_proto (__mq_timedsend_time64) +extern ssize_t __mq_timedreceive_time64 (mqd_t mqdes, + char *__restrict msg_ptr, + size_t msg_len, + unsigned int *__restrict msg_prio, + const struct __timespec64 *__restrict + abs_timeout); +librt_hidden_proto (__mq_timedreceive_time64) +#endif #endif diff --git a/include/netdb.h b/include/netdb.h index e230b1f4fc..49d63c1338 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -202,23 +202,10 @@ libc_hidden_proto (ruserpass) #include -struct parser_data; -extern int _nss_files_parse_protoent (char *line, struct protoent *result, - struct parser_data *data, - size_t datalen, int *errnop); -extern int _nss_files_parse_servent (char *line, struct servent *result, - struct parser_data *data, - size_t datalen, int *errnop); -extern int _nss_files_parse_netent (char *line, struct netent *result, - struct parser_data *data, - size_t datalen, int *errnop); extern enum nss_status _nss_netgroup_parseline (char **cursor, struct __netgrent *result, char *buffer, size_t buflen, int *errnop); -libnss_files_hidden_proto (_nss_files_parse_protoent) -libnss_files_hidden_proto (_nss_files_parse_servent) -libnss_files_hidden_proto (_nss_files_parse_netent) libnss_files_hidden_proto (_nss_netgroup_parseline) #define DECLARE_NSS_PROTOTYPES(service) \ @@ -279,16 +266,16 @@ extern enum nss_status _nss_ ## service ## _getnetbyname_r \ extern enum nss_status _nss_ ## service ## _getnetbyaddr_r \ (uint32_t addr, int type, struct netent *net, \ char *buffer, size_t buflen, int *errnop, \ - int *herrnop); + int *herrnop); \ +extern enum nss_status _nss_ ## service ## _endspent (void); DECLARE_NSS_PROTOTYPES (compat) DECLARE_NSS_PROTOTYPES (dns) DECLARE_NSS_PROTOTYPES (files) DECLARE_NSS_PROTOTYPES (hesiod) -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES + #endif #endif /* !_NETDB_H */ diff --git a/include/netinet/ether.h b/include/netinet/ether.h index 8bfe7e03ad..1763a7e04c 100644 --- a/include/netinet/ether.h +++ b/include/netinet/ether.h @@ -15,12 +15,6 @@ struct etherent struct ether_addr e_addr; }; -struct parser_data; -extern int _nss_files_parse_etherent (char *line, struct etherent *result, - struct parser_data *data, - size_t datalen, int *errnop); -libnss_files_hidden_proto (_nss_files_parse_etherent) - #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setetherent (int __stayopen); \ extern enum nss_status _nss_ ## service ## _endetherent (void); \ @@ -36,8 +30,6 @@ extern enum nss_status _nss_ ## service ## _getntohost_r \ char *buffer, size_t buflen, int *errnop); DECLARE_NSS_PROTOTYPES (files) -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES diff --git a/include/nss_files.h b/include/nss_files.h new file mode 100644 index 0000000000..f45ea02dc0 --- /dev/null +++ b/include/nss_files.h @@ -0,0 +1,84 @@ +/* Internal routines for nss_files. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _NSS_FILES_H +#define _NSS_FILES_H + +#include + +/* Open PATH for reading, as a data source for nss_files. */ +FILE *__nss_files_fopen (const char *path); +libc_hidden_proto (__nss_files_fopen) + +/* Read a line from FP, storing it BUF. Strip leading blanks and skip + comments. Sets errno and returns error code on failure. Special + failure: ERANGE means the buffer is too small. The function writes + the original offset to *POFFSET (which can be negative in the case + of non-seekable input). */ +int __nss_readline (FILE *fp, char *buf, size_t len, off64_t *poffset); +libc_hidden_proto (__nss_readline) + +/* Seek FP to OFFSET. Sets errno and returns error code on failure. + On success, sets errno to ERANGE and returns ERANGE (to indicate + re-reading of the same input line to the caller). If OFFSET is + negative, fail with ESPIPE without seeking. Intended to be used + after parsing data read by __nss_readline failed with ERANGE. */ +int __nss_readline_seek (FILE *fp, off64_t offset) attribute_hidden; + +/* Handles the result of a parse_line call (as defined by + nss/nss_files/files-parse.c). Adjusts the file offset of FP as + necessary. Returns 0 on success, and updates errno on failure (and + returns that error code). */ +int __nss_parse_line_result (FILE *fp, off64_t offset, int parse_line_result); +libc_hidden_proto (__nss_parse_line_result) + +struct parser_data; + +/* Instances of the parse_line function from + nss/nss_files/files-parse.c. */ +typedef int nss_files_parse_line (char *line, void *result, + struct parser_data *data, + size_t datalen, int *errnop); +extern nss_files_parse_line _nss_files_parse_etherent; +extern nss_files_parse_line _nss_files_parse_grent; +extern nss_files_parse_line _nss_files_parse_netent; +extern nss_files_parse_line _nss_files_parse_protoent; +extern nss_files_parse_line _nss_files_parse_pwent; +extern nss_files_parse_line _nss_files_parse_rpcent; +extern nss_files_parse_line _nss_files_parse_servent; +extern nss_files_parse_line _nss_files_parse_sgent; +extern nss_files_parse_line _nss_files_parse_spent; + +libnss_files_hidden_proto (_nss_files_parse_etherent) +libc_hidden_proto (_nss_files_parse_grent) +libnss_files_hidden_proto (_nss_files_parse_netent) +libnss_files_hidden_proto (_nss_files_parse_protoent) +libc_hidden_proto (_nss_files_parse_pwent) +libnss_files_hidden_proto (_nss_files_parse_rpcent) +libnss_files_hidden_proto (_nss_files_parse_servent) +libc_hidden_proto (_nss_files_parse_sgent) +libc_hidden_proto (_nss_files_parse_spent) + +/* Generic implementation of fget*ent_r. Reads lines from FP until + EOF or a successful parse into *RESULT using PARSER. Returns 0 on + success, ENOENT on EOF, ERANGE on too-small buffer. */ +int __nss_fgetent_r (FILE *fp, void *result, + char *buffer, size_t buffer_length, + nss_files_parse_line parser) attribute_hidden; + +#endif /* _NSS_FILES_H */ diff --git a/include/printf.h b/include/printf.h index d051514119..0ed6e87387 100644 --- a/include/printf.h +++ b/include/printf.h @@ -1,5 +1,13 @@ #ifndef _PRINTF_H +/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */ +#include +#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3) +# pragma GCC system_header +# endif +#endif + #include # ifndef _ISOMAC diff --git a/include/programs/xasprintf.h b/include/programs/xasprintf.h new file mode 100644 index 0000000000..ee154afdb8 --- /dev/null +++ b/include/programs/xasprintf.h @@ -0,0 +1,24 @@ +/* asprintf with out of memory checking + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#ifndef _XASPRINTF_H +#define _XASPRINTF_H 1 + +extern char *xasprintf (const char *format, ...) + __attribute__ ((__format__ (__printf__, 1, 2), __warn_unused_result__)); + +#endif /* xasprintf.h */ diff --git a/include/programs/xmalloc.h b/include/programs/xmalloc.h index 5ee37ae696..fd6cf61730 100644 --- a/include/programs/xmalloc.h +++ b/include/programs/xmalloc.h @@ -1,5 +1,5 @@ /* Memory related definitions for program modules. - Copyright (C) 1998-2019 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _XMALLOC_H #define _XMALLOC_H 1 diff --git a/include/pwd.h b/include/pwd.h index fc995065d9..f8975d4957 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -26,12 +26,6 @@ extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf, #include -struct parser_data; -extern int _nss_files_parse_pwent (char *line, struct passwd *result, - struct parser_data *data, - size_t datalen, int *errnop); -libc_hidden_proto (_nss_files_parse_pwent) - #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setpwent (int); \ extern enum nss_status _nss_ ## service ## _endpwent (void); \ @@ -48,8 +42,6 @@ extern enum nss_status _nss_ ## service ##_getpwent_r \ DECLARE_NSS_PROTOTYPES (compat) DECLARE_NSS_PROTOTYPES (files) DECLARE_NSS_PROTOTYPES (hesiod) -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES #endif diff --git a/include/random-bits.h b/include/random-bits.h index a0651a5a34..7561e55ca6 100644 --- a/include/random-bits.h +++ b/include/random-bits.h @@ -1,5 +1,5 @@ /* Fast pseudo-random bits based on clock_gettime. - Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _RANDOM_BITS_H # define _RANDOM_BITS_H @@ -30,8 +30,8 @@ static inline uint32_t random_bits (void) { - struct timespec tv; - __clock_gettime (CLOCK_MONOTONIC, &tv); + struct __timespec64 tv; + __clock_gettime64 (CLOCK_MONOTONIC, &tv); /* Shuffle the lower bits to minimize the clock bias. */ uint32_t ret = tv.tv_nsec ^ tv.tv_sec; ret ^= (ret << 24) | (ret >> 8); diff --git a/include/rounding-mode.h b/include/rounding-mode.h index 3c0c1bcfc2..24d0b4ad11 100644 --- a/include/rounding-mode.h +++ b/include/rounding-mode.h @@ -1,5 +1,5 @@ /* Handle floating-point rounding mode within libc. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ROUNDING_MODE_H #define _ROUNDING_MODE_H 1 diff --git a/include/rpc/auth.h b/include/rpc/auth.h index 2e55cce11d..86cbd77196 100644 --- a/include/rpc/auth.h +++ b/include/rpc/auth.h @@ -13,17 +13,6 @@ libc_hidden_proto (key_gendes) struct key_netstarg; extern int key_setnet (struct key_netstarg *arg); -#define DECLARE_NSS_PROTOTYPES(service) \ -extern enum nss_status _nss_ ##service ## _netname2user \ - (char netname[MAXNETNAMELEN + 1], uid_t *uidp, \ - gid_t *gidp, int *gidlenp, gid_t *gidlist, \ - int *errnop); - -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) - -#undef DECLARE_NSS_PROTOTYPES - libc_hidden_proto (key_encryptsession_pk) libc_hidden_proto (key_decryptsession_pk) diff --git a/include/rpc/auth_des.h b/include/rpc/auth_des.h index 6afed56b71..31e0742096 100644 --- a/include/rpc/auth_des.h +++ b/include/rpc/auth_des.h @@ -17,19 +17,6 @@ extern enum auth_stat _svcauth_des (struct svc_req *rqst, struct rpc_msg *msg); -#define DECLARE_NSS_PROTOTYPES(service) \ -extern enum nss_status _nss_ ## service ## _getpublickey \ - (const char *netname, char *pkey, int *errnop); \ -extern enum nss_status _nss_ ## service ## _getsecretkey \ - (const char *netname, char *skey, char *passwd, \ - int *errnop); - -DECLARE_NSS_PROTOTYPES (files) -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) - -#undef DECLARE_NSS_PROTOTYPES - libc_hidden_proto (authdes_getucred) libc_hidden_proto (xdr_authdes_cred) libc_hidden_proto (xdr_authdes_verf) diff --git a/include/rpc/clnt.h b/include/rpc/clnt.h index 80be0a9cec..a397023a93 100644 --- a/include/rpc/clnt.h +++ b/include/rpc/clnt.h @@ -28,7 +28,6 @@ libc_hidden_proto (clntudp_create) libc_hidden_proto (get_myaddress) libc_hidden_proto (clntunix_create) libc_hidden_proto (__libc_clntudp_bufcreate) -libc_hidden_proto (rpc_createerr) # endif /* !_ISOMAC */ #endif diff --git a/include/rpc/netdb.h b/include/rpc/netdb.h index eb75f3f58c..c1a936edfd 100644 --- a/include/rpc/netdb.h +++ b/include/rpc/netdb.h @@ -1,5 +1,5 @@ #ifndef _RPC_NETDB_H -#include +#include # ifndef _ISOMAC @@ -24,12 +24,6 @@ extern int __getrpcent_r (struct rpcent *__result_buf, char *__buffer, extern int __old_getrpcent_r (struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result); -struct parser_data; -extern int _nss_files_parse_rpcent (char *line, struct rpcent *result, - struct parser_data *data, - size_t datalen, int *errnop); -libnss_files_hidden_proto (_nss_files_parse_rpcent) - #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setrpcent (int); \ extern enum nss_status _nss_ ## service ## _endrpcent (void); \ @@ -45,8 +39,6 @@ extern enum nss_status _nss_ ## service ## _getrpcbynumber_r \ DECLARE_NSS_PROTOTYPES (files) -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES diff --git a/include/rpc/svc.h b/include/rpc/svc.h index 40ba2546a9..465bf4427d 100644 --- a/include/rpc/svc.h +++ b/include/rpc/svc.h @@ -3,10 +3,6 @@ # ifndef _ISOMAC -libc_hidden_proto (svc_pollfd) -libc_hidden_proto (svc_max_pollfd) -libc_hidden_proto (svc_fdset) - libc_hidden_proto (xprt_register) libc_hidden_proto (xprt_unregister) libc_hidden_proto (svc_register) diff --git a/include/rpcsvc/yp_prot.h b/include/rpcsvc/yp_prot.h deleted file mode 100644 index ab1ca10a28..0000000000 --- a/include/rpcsvc/yp_prot.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/include/rtld-malloc.h b/include/rtld-malloc.h new file mode 100644 index 0000000000..b026a3270c --- /dev/null +++ b/include/rtld-malloc.h @@ -0,0 +1,85 @@ +/* Redirection of malloc inside the dynamic linker. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* The dynamic linker needs to use its own minimal malloc before libc + has been relocated, and the libc malloc afterwards. The active + malloc implementation is reached via the __rtld_* function pointers + declared below. They are initialized to the minimal malloc by + __rtld_malloc_init_stubs, and set to the final implementation by + __rtld_malloc_init_real. */ + +#ifndef _RTLD_MALLOC_H +#define _RTLD_MALLOC_H + +#if IS_IN (rtld) + +extern __typeof (calloc) *__rtld_calloc attribute_hidden; +extern __typeof (free) *__rtld_free attribute_hidden; +extern __typeof (malloc) *__rtld_malloc attribute_hidden; +extern __typeof (realloc) *__rtld_realloc attribute_hidden; + +/* Wrapper functions which call through the function pointers above. + Note that it is not supported to take the address of those + functions. Instead the function pointers must be used + directly. */ + +__extern_inline void * +calloc (size_t a, size_t b) +{ + return __rtld_calloc (a, b); +} + +__extern_inline void +free (void *ptr) +{ + __rtld_free (ptr); +} + +__extern_inline void * +malloc (size_t size) +{ + return __rtld_malloc (size); +} + +__extern_inline void * +realloc (void *ptr, size_t size) +{ + return __rtld_realloc (ptr, size); +} + +/* Called after the first self-relocation to activate the minimal malloc + implementation. */ +void __rtld_malloc_init_stubs (void) attribute_hidden; + +/* Called shortly before the final self-relocation (when RELRO + variables are still writable) to activate the real malloc + implementation. MAIN_MAP is the link map of the executable. */ +struct link_map; +void __rtld_malloc_init_real (struct link_map *main_map) attribute_hidden; + +#else /* !IS_IN (rtld) */ + +/* This allows static/non-rtld builds to get a pointer to the + functions, in the same way that is required inside rtld. */ +# define __rtld_calloc (&calloc) +# define __rtld_free (&free) +# define __rtld_malloc (&malloc) +# define __rtld_realloc (&realloc) + +#endif /* !IS_IN (rtld) */ +#endif /* _RTLD_MALLOC_H */ diff --git a/include/sched.h b/include/sched.h index 4abc440176..b0bf971c93 100644 --- a/include/sched.h +++ b/include/sched.h @@ -7,10 +7,12 @@ extern int __sched_setparam (__pid_t __pid, const struct sched_param *__param); libc_hidden_proto (__sched_setparam) extern int __sched_getparam (__pid_t __pid, struct sched_param *__param); +libc_hidden_proto (__sched_getparam) extern int __sched_setscheduler (__pid_t __pid, int __policy, const struct sched_param *__param); libc_hidden_proto (__sched_setscheduler) extern int __sched_getscheduler (__pid_t __pid); +libc_hidden_proto (__sched_getscheduler) extern int __sched_yield (void); libc_hidden_proto (__sched_yield) extern int __sched_get_priority_max (int __algorithm); diff --git a/include/scratch_buffer.h b/include/scratch_buffer.h index 29af35d457..c39da78629 100644 --- a/include/scratch_buffer.h +++ b/include/scratch_buffer.h @@ -1,5 +1,5 @@ /* Variable-sized buffer with on-stack default allocation. - Copyright (C) 2015-2019 Free Software Foundation, Inc. + Copyright (C) 2015-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SCRATCH_BUFFER_H #define _SCRATCH_BUFFER_H diff --git a/include/set-hooks.h b/include/set-hooks.h index a0c5101e2d..dba382c3a8 100644 --- a/include/set-hooks.h +++ b/include/set-hooks.h @@ -1,5 +1,5 @@ /* Macros for using symbol sets for running lists of functions. - Copyright (C) 1994-2019 Free Software Foundation, Inc. + Copyright (C) 1994-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SET_HOOKS_H #define _SET_HOOKS_H 1 diff --git a/include/setjmp.h b/include/setjmp.h index 263bc64b3d..e13017edd2 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -35,21 +35,21 @@ extern __typeof (__sigsetjmp) __sigsetjmp attribute_hidden; # include # include -# define STR_HELPER(x) #x -# define STR(x) STR_HELPER(x) +# define SJSTR_HELPER(x) #x +# define SJSTR(x) SJSTR_HELPER(x) # define TEST_SIZE(type, size) \ _Static_assert (sizeof (type) == size, \ "size of " #type " != " \ - STR (size)) + SJSTR (size)) # define TEST_ALIGN(type, align) \ _Static_assert (__alignof__ (type) == align , \ "align of " #type " != " \ - STR (align)) + SJSTR (align)) # define TEST_OFFSET(type, member, offset) \ _Static_assert (offsetof (type, member) == offset, \ "offset of " #member " field of " #type " != " \ - STR (offset)) + SJSTR (offset)) /* Check if jmp_buf have the expected sizes. */ TEST_SIZE (jmp_buf, JMP_BUF_SIZE); diff --git a/include/shadow.h b/include/shadow.h index 366ea83482..fb1681909f 100644 --- a/include/shadow.h +++ b/include/shadow.h @@ -25,12 +25,6 @@ extern int __fgetspent_r (FILE *__stream, struct spwd *__result_buf, extern int __lckpwdf (void); extern int __ulckpwdf (void); -struct parser_data; -extern int _nss_files_parse_spent (char *line, struct spwd *result, - struct parser_data *data, - size_t datalen, int *errnop); -libc_hidden_proto (_nss_files_parse_spent) - #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setspent (int); \ extern enum nss_status _nss_ ## service ## _endspent (void); \ @@ -44,8 +38,6 @@ extern enum nss_status _nss_ ## service ## _getspnam_r \ DECLARE_NSS_PROTOTYPES (compat) DECLARE_NSS_PROTOTYPES (files) DECLARE_NSS_PROTOTYPES (hesiod) -DECLARE_NSS_PROTOTYPES (nis) -DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES diff --git a/include/shlib-compat.h b/include/shlib-compat.h index 9d29178f67..b58281857a 100644 --- a/include/shlib-compat.h +++ b/include/shlib-compat.h @@ -1,5 +1,5 @@ /* Macros for managing ABI-compatibility definitions using ELF symbol versions. - Copyright (C) 2000-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SHLIB_COMPAT_H #define _SHLIB_COMPAT_H 1 @@ -64,6 +64,41 @@ # define compat_symbol(lib, local, symbol, version) \ compat_symbol_reference (lib, local, symbol, version) +/* This is similar to compat_symbol, but allows versioning the same symbol + to multiple version without having multiple symbol definitions. For + instance: + + #if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2)) + compat_symbol_unique (libc, old_foo, GLIBC_2_1_2) + #endif + + #if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3)) + compat_symbol_unique (libc, old_foo, GLIBC_2_2_6) + #endif + + Internally it creates a unique strong alias to the input symbol and + creates one compat_symbol on the alias. Using the above example, + it is similar to: + + #if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2)) + strong_alias (old_foo, old_foo__COUNTER__) + compat_symbol (libc, old_foo__COUNTER__, foo, GLIBC_2_2) + #endif. + + With __COUNTER__ being a monotonic number generated by the compiler. */ + +# define __compat_symbol_unique_concat(x, y) x ## y +# define _compat_symbol_unique_concat(x, y) \ + __compat_symbol_unique_concat (x, y) +# define _compat_symbol_unique_alias(name) \ + _compat_symbol_unique_concat (name, __COUNTER__) +# define _compat_symbol_unique(lib, orig_name, name, version) \ + strong_alias (orig_name, name) \ + compat_symbol (lib, name, orig_name, version) +# define compat_symbol_unique(lib, name, version) \ + _compat_symbol_unique (lib, name, _compat_symbol_unique_alias (name), \ + version) + #else /* Not compiling ELF shared libraries at all, so never any old versions. */ @@ -75,6 +110,7 @@ /* This should not appear outside `#if SHLIB_COMPAT (...)'. */ # define compat_symbol(lib, local, symbol, version) ... +# define compat_symbol_unique(lib, name, version) ... #endif @@ -91,15 +127,9 @@ #define compat_symbol_reference_2(local, symbol, name) \ symbol_version_reference (local, symbol, name) -# ifdef LINK_OBSOLETE_RPC -/* Export the symbol for both static and dynamic linking. */ -# define libc_sunrpc_symbol(name, aliasname, version) \ - strong_alias (name, aliasname) -# else /* Export the symbol only for shared-library compatibility. */ -# define libc_sunrpc_symbol(name, aliasname, version) \ +#define libc_sunrpc_symbol(name, aliasname, version) \ compat_symbol (libc, name, aliasname, version); -# endif /* The TEST_COMPAT macro acts just like the SHLIB_COMPAT macro except that it does not check IS_IN. It is used by tests that are testing diff --git a/include/signal.h b/include/signal.h index 293258ad65..b4ee02d153 100644 --- a/include/signal.h +++ b/include/signal.h @@ -2,6 +2,8 @@ # include # ifndef _ISOMAC +# include + libc_hidden_proto (sigemptyset) libc_hidden_proto (sigfillset) libc_hidden_proto (sigaddset) @@ -12,7 +14,10 @@ libc_hidden_proto (__sigpause) libc_hidden_proto (raise) libc_hidden_proto (__libc_current_sigrtmin) libc_hidden_proto (__libc_current_sigrtmax) -libc_hidden_proto (_sys_siglist) +extern const char * const __sys_siglist[_NSIG]; +libc_hidden_proto (__sys_siglist) +extern const char * const __sys_sigabbrev[_NSIG]; +libc_hidden_proto (__sys_sigabbrev) /* Now define the internal interfaces. */ extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler); diff --git a/include/spawn.h b/include/spawn.h index 7fdd965bd7..4a0b1849da 100644 --- a/include/spawn.h +++ b/include/spawn.h @@ -11,6 +11,9 @@ __typeof (posix_spawn_file_actions_addclose) __typeof (posix_spawn_file_actions_adddup2) __posix_spawn_file_actions_adddup2 attribute_hidden; +__typeof (posix_spawn_file_actions_addopen) + __posix_spawn_file_actions_addopen attribute_hidden; + __typeof (posix_spawn_file_actions_destroy) __posix_spawn_file_actions_destroy attribute_hidden; diff --git a/include/stackinfo.h b/include/stackinfo.h index c002cf718b..d0031c14c8 100644 --- a/include/stackinfo.h +++ b/include/stackinfo.h @@ -1,5 +1,5 @@ /* Details about the machine's stack: wrapper header. - Copyright (C) 2014-2019 Free Software Foundation, Inc. + Copyright (C) 2014-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _INCLUDE_STACKINFO_H #define _INCLUDE_STACKINFO_H 1 diff --git a/include/stap-probe.h b/include/stap-probe.h index 85f41c9162..3c24ac640e 100644 --- a/include/stap-probe.h +++ b/include/stap-probe.h @@ -1,5 +1,5 @@ /* Macros for defining Systemtap static probe points. - Copyright (C) 2012-2019 Free Software Foundation, Inc. + Copyright (C) 2012-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _STAP_PROBE_H #define _STAP_PROBE_H 1 diff --git a/include/stdc-predef.h b/include/stdc-predef.h index 5cc5eef22f..eaf0a6aea8 100644 --- a/include/stdc-predef.h +++ b/include/stdc-predef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2019 Free Software Foundation, Inc. +/* Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,7 +13,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _STDC_PREDEF_H #define _STDC_PREDEF_H 1 diff --git a/include/stdio.h b/include/stdio.h index 5302e61024..2e0dc80c16 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -2,18 +2,48 @@ # if !defined _ISOMAC && defined _IO_MTSAFE_IO # include # endif + +/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */ +# include +# if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3) +# pragma GCC system_header +# endif +# endif + # include # ifndef _ISOMAC + # define _LIBC_STDIO_H 1 # include /* Now define the internal interfaces. */ +/* Some libc_hidden_ldbl_proto's do not map to a unique symbol when + redirecting ldouble to _Float128 variants. We can therefore safely + directly alias them to their internal name. */ +# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc) +# define stdio_hidden_ldbl_proto(p, f) \ + extern __typeof (p ## f) p ## f __asm (__ASMNAME ("___ieee128_" #f)); +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# define stdio_hidden_ldbl_proto(p,f) __LDBL_REDIR1_DECL (p ## f, p ## f ## ieee128) +# else +# define stdio_hidden_ldbl_proto(p,f) libc_hidden_proto (p ## f) +# endif + +/* Set the error indicator on FP. */ +static inline void +fseterr_unlocked (FILE *fp) +{ + fp->_flags |= _IO_ERR_SEEN; +} + extern int __fcloseall (void) attribute_hidden; extern int __snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); -libc_hidden_proto (__snprintf) +stdio_hidden_ldbl_proto (__, snprintf) + extern int __vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) @@ -64,6 +94,7 @@ extern int __isoc99_vscanf (const char *__restrict __format, extern int __isoc99_vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __THROW; + libc_hidden_proto (__isoc99_sscanf) libc_hidden_proto (__isoc99_vsscanf) libc_hidden_proto (__isoc99_vfscanf) @@ -77,6 +108,20 @@ libc_hidden_proto (__isoc99_vfscanf) # define sscanf __isoc99_sscanf # endif +# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc) +/* These are implemented as redirects to other public API. + Therefore, the usual redirection fails to avoid PLT. */ +extern __typeof (__isoc99_sscanf) ___ieee128_isoc99_sscanf __THROW; +extern __typeof (__isoc99_vsscanf) ___ieee128_isoc99_vsscanf __THROW; +extern __typeof (__isoc99_vfscanf) ___ieee128_isoc99_vfscanf __THROW; +libc_hidden_proto (___ieee128_isoc99_sscanf) +libc_hidden_proto (___ieee128_isoc99_vsscanf) +libc_hidden_proto (___ieee128_isoc99_vfscanf) +#define __isoc99_sscanf ___ieee128_isoc99_sscanf +#define __isoc99_vsscanf ___ieee128_isoc99_vsscanf +#define __isoc99_vfscanf ___ieee128_isoc99_vfscanf +# endif + /* Prototypes for compatibility functions. */ extern FILE *__new_tmpfile (void); extern FILE *__old_tmpfile (void); @@ -102,7 +147,6 @@ enum __libc_message_action { do_message = 0, /* Print message. */ do_abort = 1 << 0, /* Abort. */ - do_backtrace = 1 << 1 /* Backtrace. */ }; /* Print out MESSAGE (which should end with a newline) on the error output @@ -112,10 +156,7 @@ extern void __libc_fatal (const char *__message) extern void __libc_message (enum __libc_message_action action, const char *__fnt, ...) attribute_hidden; extern void __fortify_fail (const char *msg) __attribute__ ((__noreturn__)); -extern void __fortify_fail_abort (_Bool, const char *msg) - __attribute__ ((__noreturn__)) attribute_hidden; libc_hidden_proto (__fortify_fail) -libc_hidden_proto (__fortify_fail_abort) /* Acquire ownership of STREAM. */ extern void __flockfile (FILE *__stream) attribute_hidden; @@ -138,23 +179,12 @@ int __vfxprintf (FILE *__fp, const char *__fmt, __gnuc_va_list, unsigned int) attribute_hidden; -/* Read the next line from FP into BUFFER, of LENGTH bytes. LINE will - include the line terminator and a NUL terminator. On success, - return the length of the line, including the line terminator, but - excluding the NUL termintor. On EOF, return zero and write a NUL - terminator. On error, return -1 and set errno. If the total byte - count (line and both terminators) exceeds LENGTH, return -1 and set - errno to ERANGE (but do not mark the stream as failed). - - The behavior is undefined if FP is not seekable, or if the stream - is already in an error state. */ -ssize_t __libc_readline_unlocked (FILE *fp, char *buffer, size_t length); -libc_hidden_proto (__libc_readline_unlocked); - extern const char *const _sys_errlist_internal[] attribute_hidden; -extern int _sys_nerr_internal attribute_hidden; +extern const char *__get_errlist (int) attribute_hidden; +extern const char *__get_errname (int) attribute_hidden; + +libc_hidden_ldbl_proto (__asprintf) -libc_hidden_proto (__asprintf) # if IS_IN (libc) extern FILE *_IO_new_fopen (const char*, const char*); # define fopen(fname, mode) _IO_new_fopen (fname, mode) @@ -175,13 +205,13 @@ extern int _IO_new_fgetpos (FILE *, __fpos_t *); # define fgetpos(fp, posp) _IO_new_fgetpos (fp, posp) # endif -libc_hidden_proto (dprintf) extern __typeof (dprintf) __dprintf __attribute__ ((__format__ (__printf__, 2, 3))); -libc_hidden_proto (__dprintf) -libc_hidden_proto (fprintf) -libc_hidden_proto (vfprintf) -libc_hidden_proto (sprintf) +stdio_hidden_ldbl_proto (__, dprintf) +libc_hidden_ldbl_proto (dprintf) +libc_hidden_ldbl_proto (fprintf) +libc_hidden_ldbl_proto (vfprintf) +libc_hidden_ldbl_proto (sprintf) libc_hidden_proto (fwrite) libc_hidden_proto (perror) libc_hidden_proto (remove) diff --git a/include/stdlib.h b/include/stdlib.h index 114e12d255..ffcefd7b85 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -3,12 +3,23 @@ #ifndef _ISOMAC # include #endif + +/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */ +#include +#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3) +# pragma GCC system_header +# endif +#endif + #include /* Now define the internal interfaces. */ #if !defined _ISOMAC # include +# include + extern __typeof (strtol_l) __strtol_l; extern __typeof (strtoul_l) __strtoul_l; extern __typeof (strtoll_l) __strtoll_l; @@ -202,9 +213,12 @@ libc_hidden_proto (____strtoll_l_internal) libc_hidden_proto (____strtoul_l_internal) libc_hidden_proto (____strtoull_l_internal) +#include libc_hidden_proto (strtof) libc_hidden_proto (strtod) +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 libc_hidden_proto (strtold) +#endif libc_hidden_proto (strtol) libc_hidden_proto (strtoll) libc_hidden_proto (strtoul) diff --git a/include/string.h b/include/string.h index 4d622f1c03..f4ce138622 100644 --- a/include/string.h +++ b/include/string.h @@ -4,6 +4,7 @@ /* Some of these are defined as macros in the real string.h, so we must prototype them before including it. */ #include +#include extern void *__memccpy (void *__dest, const void *__src, int __c, size_t __n); @@ -50,8 +51,10 @@ extern int __ffs (int __i) __attribute__ ((const)); extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen); -/* Called as part of the thread shutdown sequence. */ -void __strerror_thread_freeres (void) attribute_hidden; +extern char *__strerror_l (int __errnum, locale_t __loc); + +extern const char *__sigdescr_np (int __errnum); +libc_hidden_proto (__sigdescr_np) /* Get _STRING_ARCH_unaligned. */ #include @@ -113,6 +116,7 @@ libc_hidden_proto (memmem) extern __typeof (memmem) __memmem; libc_hidden_proto (__memmem) libc_hidden_proto (__ffs) +libc_hidden_proto (__strerror_l) #if IS_IN (libc) /* Avoid hidden reference to IFUNC symbol __explicit_bzero_chk. */ diff --git a/include/struct___timespec64.h b/include/struct___timespec64.h new file mode 100644 index 0000000000..9abb25c8f7 --- /dev/null +++ b/include/struct___timespec64.h @@ -0,0 +1,27 @@ +#ifndef _STRUCT_TIMESPEC64_H +#define _STRUCT_TIMESPEC64_H + +#if __TIMESIZE == 64 +# define __timespec64 timespec +#else +#include +/* The glibc Y2038-proof struct __timespec64 structure for a time value. + To keep things Posix-ish, we keep the nanoseconds field a 32-bit + signed long, but since the Linux field is a 64-bit signed int, we + pad our tv_nsec with a 32-bit unnamed bit-field padding. + + As a general rule the Linux kernel is ignoring upper 32 bits of + tv_nsec field. */ +struct __timespec64 +{ + __time64_t tv_sec; /* Seconds */ +# if BYTE_ORDER == BIG_ENDIAN + __int32_t :32; /* Padding */ + __int32_t tv_nsec; /* Nanoseconds */ +# else + __int32_t tv_nsec; /* Nanoseconds */ + __int32_t :32; /* Padding */ +# endif +}; +#endif +#endif /* _STRUCT_TIMESPEC64_H */ diff --git a/include/struct___timeval64.h b/include/struct___timeval64.h new file mode 100644 index 0000000000..05cf2f26fc --- /dev/null +++ b/include/struct___timeval64.h @@ -0,0 +1,17 @@ +#ifndef _STRUCT_TIMEVAL64_H +#define _STRUCT_TIMEVAL64_H + +#if __TIMESIZE == 64 +# define __timeval64 timeval +#else +/* The glibc Y2038-proof struct __timeval64 structure for a time value. + This structure is NOT supposed to be passed to the Linux kernel. + Instead, it shall be converted to struct __timespec64 and time shall + be [sg]et via clock_[sg]ettime (which are now Y2038 safe). */ +struct __timeval64 +{ + __time64_t tv_sec; /* Seconds */ + __suseconds64_t tv_usec; /* Microseconds */ +}; +#endif +#endif /* _STRUCT_TIMEVAL64_H */ diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h index 524fe57a25..6a76160ed4 100644 --- a/include/sys/cdefs.h +++ b/include/sys/cdefs.h @@ -13,6 +13,26 @@ extern void __chk_fail (void) __attribute__ ((__noreturn__)); libc_hidden_proto (__chk_fail) rtld_hidden_proto (__chk_fail) +/* If we are using redirects internally to support long double, + we need to tweak some macros to ensure the PLT bypass tricks + continue to work in libc. */ +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc) && defined SHARED + +# undef __LDBL_REDIR_DECL +# define __LDBL_REDIR_DECL(func) \ + extern __typeof(func) func __asm (__ASMNAME ("__GI____ieee128_" #func)); + +# undef libc_hidden_ldbl_proto +# define libc_hidden_ldbl_proto(func, attrs...) \ + extern __typeof(func) ___ieee128_ ## func; \ + libc_hidden_proto (___ieee128_ ## func, ##attrs); + +# undef __LDBL_REDIR2_DECL +# define __LDBL_REDIR2_DECL(func) \ + extern __typeof(__ ## func) __ ## func __asm (__ASMNAME ("__GI____ieee128___" #func)); + #endif +#endif /* !defined _ISOMAC */ + #endif diff --git a/include/sys/msg.h b/include/sys/msg.h index 43ec5b9472..a092d0e216 100644 --- a/include/sys/msg.h +++ b/include/sys/msg.h @@ -1,11 +1 @@ -#ifndef _SYS_MSG_H -#include - -#ifndef _ISOMAC -extern ssize_t __libc_msgrcv (int msqid, void *msgp, size_t msgsz, - long int msgtyp, int msgflg); -extern int __libc_msgsnd (int msqid, const void *msgp, size_t msgsz, - int msgflg); -#endif - -#endif +#include_next diff --git a/include/sys/poll.h b/include/sys/poll.h index a42bc93873..f904e21f89 100644 --- a/include/sys/poll.h +++ b/include/sys/poll.h @@ -6,6 +6,17 @@ extern int __poll (struct pollfd *__fds, unsigned long int __nfds, int __timeout); libc_hidden_proto (__poll) libc_hidden_proto (ppoll) -#endif +# if __TIMESIZE == 64 +# define __ppoll64 __ppoll +# else +# include +# include + +extern int __ppoll64 (struct pollfd *fds, nfds_t nfds, + const struct __timespec64 *timeout, + const sigset_t *sigmask); +libc_hidden_proto (__ppoll64) +# endif +#endif #endif diff --git a/include/sys/prctl.h b/include/sys/prctl.h index 0920ed642b..d33f3a290e 100644 --- a/include/sys/prctl.h +++ b/include/sys/prctl.h @@ -4,6 +4,7 @@ # ifndef _ISOMAC extern int __prctl (int __option, ...); +libc_hidden_proto (__prctl) # endif /* !_ISOMAC */ #endif diff --git a/include/sys/random.h b/include/sys/random.h index b33d114b74..6aa313d35d 100644 --- a/include/sys/random.h +++ b/include/sys/random.h @@ -1 +1,11 @@ +#ifndef _SYS_RANDOM_H #include + +# ifndef _ISOMAC + +extern ssize_t __getrandom (void *__buffer, size_t __length, + unsigned int __flags) __wur; +libc_hidden_proto (__getrandom) + +# endif /* !_ISOMAC */ +#endif diff --git a/include/sys/resource.h b/include/sys/resource.h index c55d4e63bd..64925f257c 100644 --- a/include/sys/resource.h +++ b/include/sys/resource.h @@ -2,6 +2,116 @@ #include #ifndef _ISOMAC +# include +# include + +/* Internal version of rusage with a 64-bit time_t. */ +#if __TIMESIZE == 64 +# define __rusage64 rusage +#else +struct __rusage64 + { + struct __timeval64 ru_utime; + struct __timeval64 ru_stime; + __extension__ union + { + long int ru_maxrss; + __syscall_slong_t __ru_maxrss_word; + }; + __extension__ union + { + long int ru_ixrss; + __syscall_slong_t __ru_ixrss_word; + }; + __extension__ union + { + long int ru_idrss; + __syscall_slong_t __ru_idrss_word; + }; + __extension__ union + { + long int ru_isrss; + __syscall_slong_t __ru_isrss_word; + }; + __extension__ union + { + long int ru_minflt; + __syscall_slong_t __ru_minflt_word; + }; + __extension__ union + { + long int ru_majflt; + __syscall_slong_t __ru_majflt_word; + }; + __extension__ union + { + long int ru_nswap; + __syscall_slong_t __ru_nswap_word; + }; + __extension__ union + { + long int ru_inblock; + __syscall_slong_t __ru_inblock_word; + }; + __extension__ union + { + long int ru_oublock; + __syscall_slong_t __ru_oublock_word; + }; + __extension__ union + { + long int ru_msgsnd; + __syscall_slong_t __ru_msgsnd_word; + }; + __extension__ union + { + long int ru_msgrcv; + __syscall_slong_t __ru_msgrcv_word; + }; + __extension__ union + { + long int ru_nsignals; + __syscall_slong_t __ru_nsignals_word; + }; + __extension__ union + { + long int ru_nvcsw; + __syscall_slong_t __ru_nvcsw_word; + }; + __extension__ union + { + long int ru_nivcsw; + __syscall_slong_t __ru_nivcsw_word; + }; + }; +#endif + +static inline void +rusage64_to_rusage (const struct __rusage64 *restrict r64, + struct rusage *restrict r) +{ + /* Make sure the entire output structure is cleared, including + padding and reserved fields. */ + memset (r, 0, sizeof *r); + + r->ru_utime = valid_timeval64_to_timeval (r64->ru_utime); + r->ru_stime = valid_timeval64_to_timeval (r64->ru_stime); + r->ru_maxrss = r64->ru_maxrss; + r->ru_ixrss = r64->ru_ixrss; + r->ru_idrss = r64->ru_idrss; + r->ru_isrss = r64->ru_isrss; + r->ru_minflt = r64->ru_minflt; + r->ru_majflt = r64->ru_majflt; + r->ru_nswap = r64->ru_nswap; + r->ru_inblock = r64->ru_inblock; + r->ru_oublock = r64->ru_oublock; + r->ru_msgsnd = r64->ru_msgsnd; + r->ru_msgrcv = r64->ru_msgrcv; + r->ru_nsignals = r64->ru_nsignals; + r->ru_nvcsw = r64->ru_nvcsw; + r->ru_nivcsw = r64->ru_nivcsw; +} + /* Prototypes repeated instead of using __typeof because sys/resource.h is included in C++ tests, and declaring functions with __typeof and __THROW doesn't work for C++. */ @@ -24,5 +134,16 @@ extern int __getrusage (enum __rusage_who __who, struct rusage *__usage) extern int __setrlimit (enum __rlimit_resource __resource, const struct rlimit *__rlimits); libc_hidden_proto (__setrlimit); + +#if __TIMESIZE == 64 +# define __getrusage64 __getrusage +# define __wait4_time64 __wait4 +#else +extern int __getrusage64 (enum __rusage_who who, struct __rusage64 *usage); +libc_hidden_proto (__getrusage64) +extern pid_t __wait4_time64 (pid_t pid, int *stat_loc, int options, + struct __rusage64 *usage); +libc_hidden_proto (__wait4_time64) +#endif #endif #endif diff --git a/include/sys/sem.h b/include/sys/sem.h index b0fb201bd0..51416e4d71 100644 --- a/include/sys/sem.h +++ b/include/sys/sem.h @@ -1 +1 @@ -#include +#include_next diff --git a/include/sys/shm.h b/include/sys/shm.h index 1878fcc5be..432551da94 100644 --- a/include/sys/shm.h +++ b/include/sys/shm.h @@ -1 +1 @@ -#include +#include_next diff --git a/include/sys/single_threaded.h b/include/sys/single_threaded.h new file mode 100644 index 0000000000..18f6972482 --- /dev/null +++ b/include/sys/single_threaded.h @@ -0,0 +1 @@ +#include diff --git a/include/sys/stat.h b/include/sys/stat.h index b82d452780..92284ca48b 100644 --- a/include/sys/stat.h +++ b/include/sys/stat.h @@ -9,6 +9,7 @@ extern int __lstat (const char *__file, struct stat *__buf); extern int __chmod (const char *__file, __mode_t __mode); libc_hidden_proto (__chmod) extern int __fchmod (int __fd, __mode_t __mode); +libc_hidden_proto (fchmodat) extern __mode_t __umask (__mode_t __mask); extern int __mkdir (const char *__path, __mode_t __mode); libc_hidden_proto (__mkdir) diff --git a/include/sys/sysctl.h b/include/sys/sysctl.h deleted file mode 100644 index fa102aa226..0000000000 --- a/include/sys/sysctl.h +++ /dev/null @@ -1,3 +0,0 @@ -#ifndef _SYS_SYSCTL_H -#include_next -#endif /* _SYS_SYSCTL_H */ diff --git a/include/sys/syslog.h b/include/sys/syslog.h index 89d3479ebc..44422eab13 100644 --- a/include/sys/syslog.h +++ b/include/sys/syslog.h @@ -3,7 +3,7 @@ #include #ifndef _ISOMAC -libc_hidden_proto (syslog) +libc_hidden_ldbl_proto (syslog) /* __vsyslog_internal uses the same mode_flags bits as __v*printf_internal; see libio/libioP.h. */ diff --git a/include/sys/sysmacros.h b/include/sys/sysmacros.h index 5624aa2e72..9844a2b5fc 100644 --- a/include/sys/sysmacros.h +++ b/include/sys/sysmacros.h @@ -1,5 +1,5 @@ /* Definitions of macros to access 'dev_t' values. Internal header. - Copyright (C) 2018-2019 Free Software Foundation, Inc. + Copyright (C) 2018-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _ISOMAC # define __SYSMACROS_NEED_IMPLEMENTATION diff --git a/include/sys/time.h b/include/sys/time.h index 7ba0ca7c2d..567e4b7562 100644 --- a/include/sys/time.h +++ b/include/sys/time.h @@ -1,5 +1,5 @@ /* Time function internal interfaces. - Copyright (C) 1997-2019 Free Software Foundation, Inc. + Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,21 +14,27 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _SYS_TIME_H # include