Add more checks for valid ld.so.cache file (bug 18093)
[platform/upstream/glibc.git] / ChangeLog
index f102bcc..d6c5be9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,384 @@
+2018-10-24  Andreas Schwab  <schwab@suse.de>
+
+       [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 <albert.aribaud@3adev.fr>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <adhemerval.zanella@linaro.org>
+
+       * 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  <fweimer@redhat.com>
+
+       * 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  <schwab@suse.de>
+
+       * sysdeps/unix/sysv/linux/riscv/setcontext.S (__setcontext)
+       (__start_context): Use END instead of PSEUDO_END.
+
+2018-10-22  Joseph Myers  <joseph@codesourcery.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86/hp-timing.h: Don't include <x86intrin.h>.
+       (HP_TIMING_NOW): Replace _rdtsc with __builtin_ia32_rdtsc.
+
+2018-10-19  Joseph Myers  <joseph@codesourcery.com>
+
+       [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  <malakhov@mcst.ru>
+
+       [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  <fweimer@redhat.com>
+
+       [BZ #23689]
+       * resource/bits/types/struct_rusage.h (struct rusage): Update
+       comment on struct.  Remove extraneous field comment.
+
+2018-10-18  David S. Miller  <davem@davemloft.net>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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 <isa.h>.
+
+2018-10-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * math/libm-test-pow.inc (pow_test_data): Do not allow
+       divide-by-zero exception for pow(+/- 0, -Inf).
+
+2018-10-17  Zack Weinberg  <zackw@panix.com>
+
+       * 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  <arjun@redhat.com>
+
+       [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  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
+       bits/shm-pad.h.
+       * sysdeps/unix/sysv/linux/bits/shm.h: Include <bits/shm-pad.h>.
+       (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 <bits/shmlba.h>.
+       (SHMLBA): Remove macro.
+       (__getpagesize): Remove function declaration.
+       * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Include
+       <bits/shmlba.h>.
+       (SHMLBA): Remove macro.
+       * sysdeps/unix/sysv/linux/mips/bits/shm.h: Include
+       <bits/shmlba.h>.
+       (SHMLBA): Remove macro.
+       * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Include
+       <bits/shmlba.h>.
+       (SHMLBA): Remove macro.
+       (__getpagesize): Remove function declaration.
+       * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Include
+       <bits/shmlba.h>.
+       (SHMLBA): Remove macro.
+       (__getshmlba): Remove function declaration.
+       * sysdeps/unix/sysv/linux/x86/bits/shm.h: Include <bits/shmlba.h>.
+       (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  <stli@linux.ibm.com>
+
+       [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  <schwab@suse.de>
+
+       * 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 <anton.youdkevitch@bell-sw.com>
+
+       * sysdeps/aarch64/multiarch/memcpy_thunderx.S: Remove thunderx2 code.
+       * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: New implementation
+       for thunderX2.
+
+2018-10-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
+       bits/sem-pad.h.
+       * sysdeps/unix/sysv/linux/bits/sem.h: Include <bits/sem-pad.h>
+       instead of <bits/wordsize.h>.
+       (__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  <eggert@cs.ucla.edu>
+
+       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  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add