mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 21:10:07 +00:00
809 lines
30 KiB
Plaintext
809 lines
30 KiB
Plaintext
2010-08-31 Andreas Schwab <schwab@redhat.com>
|
|
|
|
[BZ #7066]
|
|
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix array overflow when
|
|
shifting retval into place.
|
|
|
|
2010-09-01 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* nis/rpcsvc/nis.h: Update copyright notice.
|
|
* nis/rpcsvc/nis.x: Likewise.
|
|
* nis/rpcsvc/nis_callback.h: Likewise.
|
|
* nis/rpcsvc/nis_callback.x: Likewise.
|
|
* nis/rpcsvc/nis_object.x: Likewise.
|
|
* nis/rpcsvc/nis_tags.h: Likewise.
|
|
* nis/rpcsvc/yp.h: Likewise.
|
|
* nis/rpcsvc/yp.x: Likewise.
|
|
* nis/rpcsvc/ypupd.h: Likewise.
|
|
* nis/yp_xdr.c: Likewise.
|
|
* nis/ypupdate_xdr.c: Likewise.
|
|
|
|
* sunrpc/pm_getport.c (__libc_rpc_getport): New function. This is
|
|
mainly the body of pmap_getport. Add parameters to specify timeouts.
|
|
(pmap_getport): Use __libc_rpc_getport.
|
|
* sunrpc/Versions: Export __libc_rpc_getport with GLIBC_PRIVATE.
|
|
* include/rpc/pmap_clnt.h: Declare __libc_rpc_getport.
|
|
* nis/nis_findserv.c: Remove pmap_getport copy. Use __libc_rpc_getport.
|
|
|
|
2010-08-31 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Add
|
|
fanotify_mark.
|
|
|
|
2010-08-27 Roland McGrath <roland@redhat.com>
|
|
|
|
* sysdeps/i386/i686/multiarch/Makefile
|
|
(CFLAGS-varshift.c): New variable.
|
|
|
|
2010-08-27 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/i386/i686/multiarch/varshift.S: File removed.
|
|
* sysdeps/i386/i686/multiarch/varshift.c: New file.
|
|
|
|
* sysdeps/x86_64/multiarch/strlen-no-bsf.S: Move to .text.slow section.
|
|
|
|
* sysdeps/x86_64/strlen.S: Minimal code improvement.
|
|
|
|
2010-08-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* sysdeps/x86_64/strlen.S: Unroll the loop.
|
|
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
|
|
strlen-sse2 strlen-sse2-bsf.
|
|
* sysdeps/x86_64/multiarch/strlen.S ((strlen): Return
|
|
__strlen_no_bsf if bit_Slow_BSF is set.
|
|
(__strlen_sse42): Removed.
|
|
* sysdeps/x86_64/multiarch/strlen-no-bsf.S: New file.
|
|
* sysdeps/x86_64/multiarch/strlen-sse4.S: New file.
|
|
|
|
2010-08-25 Roland McGrath <roland@redhat.com>
|
|
|
|
* sysdeps/x86_64/multiarch/varshift.S: File removed.
|
|
* sysdeps/x86_64/multiarch/varshift.c: New file.
|
|
* sysdeps/x86_64/multiarch/Makefile (CFLAGS-varshift.c): New variable.
|
|
* sysdeps/x86_64/multiarch/varshift.h: Clean up decls, fix a cast.
|
|
* sysdeps/x86_64/multiarch/memmove.c: Move decls around.
|
|
* sysdeps/x86_64/multiarch/memmove_chk.c: Likewise.
|
|
|
|
2010-08-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
|
|
strlen-sse2 strlen-sse2-bsf.
|
|
* sysdeps/i386/i686/multiarch/strlen.S (strlen): Return
|
|
__strlen_sse2_bsf if bit_Slow_BSF is unset.
|
|
(__strlen_sse2): Removed.
|
|
* sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: New file.
|
|
* sysdeps/i386/i686/multiarch/strlen-sse2.S: New file.
|
|
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Set
|
|
bit_Slow_BSF for Atom.
|
|
* sysdeps/x86_64/multiarch/init-arch.h (bit_Slow_BSF): Define.
|
|
(index_Slow_BSF): Define.
|
|
(HAS_SLOW_BSF): Define.
|
|
|
|
2010-08-25 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
[BZ #10851]
|
|
* resolv/res_init.c (__res_vinit): When no server address at all
|
|
is given default to loopback.
|
|
|
|
2010-08-24 Roland McGrath <roland@redhat.com>
|
|
|
|
* configure.in: Remove config-name.h generation.
|
|
* configure: Regenerated.
|
|
* config-name.in: File removed.
|
|
* scripts/config-uname.sh: New file.
|
|
* posix/Makefile (uname.c): Depend on $(objdir)config-name.h.
|
|
($(objdir)config-name.h): New target.
|
|
|
|
* sunrpc/rpc_parse.h: Avoid nested comment.
|
|
|
|
2010-08-24 Richard Henderson <rth@redhat.com>
|
|
Ulrich Drepper <drepper@redhat.com>
|
|
H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add varshift.
|
|
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Likewise.
|
|
* sysdeps/x86_64/multiarch/strcspn-c.c: Include "varshift.h".
|
|
Replace _mm_srli_si128 with __m128i_shift_right. Replace
|
|
_mm_alignr_epi8 with _mm_loadu_si128.
|
|
* sysdeps/x86_64/multiarch/strspn-c.c: Likewise.
|
|
* sysdeps/x86_64/multiarch/strstr.c: Include "varshift.h".
|
|
(__m128i_shift_right): Removed.
|
|
* sysdeps/i386/i686/multiarch/varshift.h: New file.
|
|
* sysdeps/i386/i686/multiarch/varshift.S: New file.
|
|
* sysdeps/x86_64/multiarch/varshift.h: New file.
|
|
* sysdeps/x86_64/multiarch/varshift.S: New file.
|
|
|
|
2010-08-21 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
* configure.in: Move assembler checks to before sysdep dir checking.
|
|
|
|
2010-08-20 Petr Baudis <pasky@suse.cz>
|
|
|
|
* LICENSES: Sync the sunrpc license.
|
|
|
|
2010-08-19 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sunrpc/auth_des.c: Update copyright notice once again.
|
|
* sunrpc/auth_none.c: Likewise.
|
|
* sunrpc/auth_unix.c: Likewise.
|
|
* sunrpc/authdes_prot.c: Likewise.
|
|
* sunrpc/authuxprot.c: Likewise.
|
|
* sunrpc/bindrsvprt.c: Likewise.
|
|
* sunrpc/clnt_gen.c: Likewise.
|
|
* sunrpc/clnt_perr.c: Likewise.
|
|
* sunrpc/clnt_raw.c: Likewise.
|
|
* sunrpc/clnt_simp.c: Likewise.
|
|
* sunrpc/clnt_tcp.c: Likewise.
|
|
* sunrpc/clnt_udp.c: Likewise.
|
|
* sunrpc/clnt_unix.c: Likewise.
|
|
* sunrpc/des_crypt.c: Likewise.
|
|
* sunrpc/des_soft.c: Likewise.
|
|
* sunrpc/get_myaddr.c: Likewise.
|
|
* sunrpc/getrpcport.c: Likewise.
|
|
* sunrpc/key_call.c: Likewise.
|
|
* sunrpc/key_prot.c: Likewise.
|
|
* sunrpc/openchild.c: Likewise.
|
|
* sunrpc/pm_getmaps.c: Likewise.
|
|
* sunrpc/pm_getport.c: Likewise.
|
|
* sunrpc/pmap_clnt.c: Likewise.
|
|
* sunrpc/pmap_prot.c: Likewise.
|
|
* sunrpc/pmap_prot2.c: Likewise.
|
|
* sunrpc/pmap_rmt.c: Likewise.
|
|
* sunrpc/rpc/auth.h: Likewise.
|
|
* sunrpc/rpc/auth_unix.h: Likewise.
|
|
* sunrpc/rpc/clnt.h: Likewise.
|
|
* sunrpc/rpc/des_crypt.h: Likewise.
|
|
* sunrpc/rpc/key_prot.h: Likewise.
|
|
* sunrpc/rpc/netdb.h: Likewise.
|
|
* sunrpc/rpc/pmap_clnt.h: Likewise.
|
|
* sunrpc/rpc/pmap_prot.h: Likewise.
|
|
* sunrpc/rpc/pmap_rmt.h: Likewise.
|
|
* sunrpc/rpc/rpc.h: Likewise.
|
|
* sunrpc/rpc/rpc_des.h: Likewise.
|
|
* sunrpc/rpc/rpc_msg.h: Likewise.
|
|
* sunrpc/rpc/svc.h: Likewise.
|
|
* sunrpc/rpc/svc_auth.h: Likewise.
|
|
* sunrpc/rpc/types.h: Likewise.
|
|
* sunrpc/rpc/xdr.h: Likewise.
|
|
* sunrpc/rpc_clntout.c: Likewise.
|
|
* sunrpc/rpc_cmsg.c: Likewise.
|
|
* sunrpc/rpc_common.c: Likewise.
|
|
* sunrpc/rpc_cout.c: Likewise.
|
|
* sunrpc/rpc_dtable.c: Likewise.
|
|
* sunrpc/rpc_hout.c: Likewise.
|
|
* sunrpc/rpc_main.c: Likewise.
|
|
* sunrpc/rpc_parse.c: Likewise.
|
|
* sunrpc/rpc_parse.h: Likewise.
|
|
* sunrpc/rpc_prot.c: Likewise.
|
|
* sunrpc/rpc_sample.c: Likewise.
|
|
* sunrpc/rpc_scan.c: Likewise.
|
|
* sunrpc/rpc_scan.h: Likewise.
|
|
* sunrpc/rpc_svcout.c: Likewise.
|
|
* sunrpc/rpc_tblout.c: Likewise.
|
|
* sunrpc/rpc_util.c: Likewise.
|
|
* sunrpc/rpc_util.h: Likewise.
|
|
* sunrpc/rpcinfo.c: Likewise.
|
|
* sunrpc/rpcsvc/bootparam_prot.x: Likewise.
|
|
* sunrpc/rpcsvc/key_prot.x: Likewise.
|
|
* sunrpc/rpcsvc/klm_prot.x: Likewise.
|
|
* sunrpc/rpcsvc/mount.x: Likewise.
|
|
* sunrpc/rpcsvc/nfs_prot.x: Likewise.
|
|
* sunrpc/rpcsvc/nlm_prot.x: Likewise.
|
|
* sunrpc/rpcsvc/rex.x: Likewise.
|
|
* sunrpc/rpcsvc/rstat.x: Likewise.
|
|
* sunrpc/rpcsvc/rusers.x: Likewise.
|
|
* sunrpc/rpcsvc/sm_inter.x: Likewise.
|
|
* sunrpc/rpcsvc/spray.x: Likewise.
|
|
* sunrpc/rpcsvc/yppasswd.x: Likewise.
|
|
* sunrpc/rtime.c: Likewise.
|
|
* sunrpc/svc.c: Likewise.
|
|
* sunrpc/svc_auth.c: Likewise.
|
|
* sunrpc/svc_authux.c: Likewise.
|
|
* sunrpc/svc_raw.c: Likewise.
|
|
* sunrpc/svc_run.c: Likewise.
|
|
* sunrpc/svc_simple.c: Likewise.
|
|
* sunrpc/svc_tcp.c: Likewise.
|
|
* sunrpc/svc_udp.c: Likewise.
|
|
* sunrpc/svc_unix.c: Likewise.
|
|
* sunrpc/svcauth_des.c: Likewise.
|
|
* sunrpc/xcrypt.c: Likewise.
|
|
* sunrpc/xdr.c: Likewise.
|
|
* sunrpc/xdr_array.c: Likewise.
|
|
* sunrpc/xdr_float.c: Likewise.
|
|
* sunrpc/xdr_mem.c: Likewise.
|
|
* sunrpc/xdr_rec.c: Likewise.
|
|
* sunrpc/xdr_ref.c: Likewise.
|
|
* sunrpc/xdr_sizeof.c: Likewise.
|
|
* sunrpc/xdr_stdio.c: Likewise.
|
|
|
|
* sysdeps/x86_64/multiarch/strcmp.S: Fix two typos in strncasecmp
|
|
handling.
|
|
|
|
2010-08-19 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* sysdeps/i386/i686/multiarch/strspn.S [!SHARED]: Fix SSE4.2 check.
|
|
|
|
2010-08-19 Luis Machado <luisgpm@br.ibm.com>
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/memchr.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power7/memrchr.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power7/rawmemchr.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power7/strchr.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power7/strchrnul.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power7/strlen.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power7/strnlen.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/memchr.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/memrchr.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/rawmemchr.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/strchr.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/strchrnul.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/strlen.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/strnlen.S: New file.
|
|
|
|
2010-07-26 Anton Blanchard <anton@samba.org>
|
|
|
|
* malloc/malloc.c (sYSTRIm): Replace divide and multiply with mask.
|
|
* malloc/arena.c (heap_trim): Likewise.
|
|
|
|
2010-08-16 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/syscalls.list: Add entry for fanotify_init
|
|
here. Not...
|
|
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: ...here...
|
|
* sysdeps/unix/sysv/linux/i386/syscalls.list: ... orhere.
|
|
|
|
2010-08-12 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* sysdeps/i386/elf/Makefile: New file.
|
|
|
|
2010-08-14 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* sysdeps/unix/sysv/linux/sys/fanotify.h: Remove third argument
|
|
from fanotify_init.
|
|
* sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise.
|
|
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
|
|
|
|
2010-08-15 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/x86_64/strcmp.S: Use correct register for fourth parameter
|
|
of strncasecmp_l.
|
|
* sysdeps/multiarch/strcmp.S: Likewise.
|
|
|
|
2010-08-14 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
|
|
strncase_l-nonascii.
|
|
* sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
|
|
Add strncase_l-ssse3.
|
|
* sysdeps/x86_64/multiarch/strcmp.S: Prepare for use as strncasecmp.
|
|
* sysdeps/x86_64/strcmp.S: Likewise.
|
|
* sysdeps/x86_64/multiarch/strncase_l-ssse3.S: New file.
|
|
* sysdeps/x86_64/multiarch/strncase_l.S: New file.
|
|
* sysdeps/x86_64/strncase.S: New file.
|
|
* sysdeps/x86_64/strncase_l-nonascii.c: New file.
|
|
* sysdeps/x86_64/strncase_l.S: New file.
|
|
* string/Makefile (strop-tests): Add strncasecmp.
|
|
* string/test-strncasecmp.c: New file.
|
|
|
|
* sysdeps/x86_64/strcasecmp_l-nonascii.c: Add prototype to avoid
|
|
warning.
|
|
|
|
* sysdeps/x86_64/strcmp.S: Move definition of NO_NOLOCALE_ALIAS to...
|
|
* sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: ... here.
|
|
|
|
2010-08-14 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* sysdeps/unix/sysv/linux/prlimit.c: Make it compile.
|
|
|
|
2010-08-12 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/bits/termios.h: Define EXTPROC.
|
|
* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
|
|
* sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
|
|
|
|
2010-05-01 Alan Modra <amodra@gmail.com>
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/memcmp.S: Correct cfi for r24.
|
|
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Move contents..
|
|
* sysdeps/powerpc/powerpc64/bsd-setjmp.S: ..and these too..
|
|
* sysdeps/powerpc/powerpc64/setjmp.S: ..to here..
|
|
* sysdeps/powerpc/powerpc64/setjmp-common.S: ..and here, with some
|
|
tidying. Don't tail-call __sigjmp_save for static lib.
|
|
* sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): Correct
|
|
save location.
|
|
(CFI_SAVE_ARG, CFI_REST_ARG): New macros.
|
|
(CALL_MCOUNT): Add eh info, and nop after bl.
|
|
(TAIL_CALL_SYSCALL_ERROR): New macro.
|
|
(PSEUDO_RET): Use it.
|
|
* sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_runtime_resolve):
|
|
Correct save location of integer regs and cr.
|
|
(_dl_profile_resolve): Correct cr save location. Delete nops
|
|
after bl when SHARED. Reduce cfi size a little by better
|
|
placement of cfi directives.
|
|
* sysdeps/powerpc/powerpc64/fpu/s_copysign.S (__copysign): Don't
|
|
make a stack frame. Instead use parm save area as a temp.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Don't
|
|
make a stack frame. Use TAIL_CALL_SYSCALL_ERROR.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone):
|
|
Don't make a stack frame for parent, use parm save area.
|
|
Increase child stack frame to 112 bytes. Don't save unused reg,
|
|
and adjust reg usage. Set up cfi on error recovery and
|
|
epilogue of parent, and use TAIL_CALL_SYSCALL_ERROR, PSEUDO_RET.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
|
|
(__makecontext): Add dummy nop after jump to exit.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S (__socket):
|
|
Use correct parm save area and cr save, reduce stack frame.
|
|
Correct cfi for possible PSEUDO_RET frame setup.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S (__vfork):
|
|
Branch to local label emitted by PSEUDO_RET rather than
|
|
__syscall_error.
|
|
|
|
2010-08-12 Andreas Schwab <schwab@redhat.com>
|
|
|
|
[BZ #11904]
|
|
* locale/programs/locale.c (print_assignment): New function.
|
|
(show_locale_vars): Use it.
|
|
|
|
2010-08-11 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_flags
|
|
field.
|
|
(struct statfs64): Likewise.
|
|
(_STATFS_F_FLAGS): Define.
|
|
* sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise.
|
|
* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
|
|
Don't define if __ASSUME_STATFS_F_FLAGS is defined.
|
|
(ST_VALID): Define locally.
|
|
(INTERNAL_STATVFS): If f_flags has ST_VALID set don't call
|
|
__statvfs_getflags, use the provided value.
|
|
* sysdeps/unix/sysv/linux/kernel-features.h: Define
|
|
__ASSUME_STATFS_F_FLAGS.
|
|
|
|
* sysdeps/unix/sysv/linux/sys/inotify.h (IN_EXCL_UNLINK): Define.
|
|
|
|
* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
|
|
Add sys/fanotify.h.
|
|
* sysdeps/unix/sysv/linux/Versions [libc]: Export fanotify_init and
|
|
fanotify_mask for GLIBC_2.13.
|
|
* sysdeps/unix/sysv/linux/i386/syscalls.list: Add entries for
|
|
fanotify_init and fanotify_mark.
|
|
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
|
|
* sysdeps/unix/sysv/linux/sys/fanotify.h: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_routines):
|
|
Add prlimit.
|
|
* sysdeps/unix/sysv/linux/Versions [libc]: Export prlimit and
|
|
prlimit64 for GLIBC_2.13.
|
|
* sysdeps/unix/sysv/linux/bits/resource.h: Declare prlimit and
|
|
prlimit64.
|
|
* sysdeps/unix/sysv/linux/i386/syscalls.list: Add entry for prlimit64
|
|
syscall.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Likewise.
|
|
* sysdeps/unix/sysv/linux/sh/syscalls.list: Likewise.
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.lis: Likewise.
|
|
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. Also
|
|
add prlimit alias.
|
|
* sysdeps/unix/sysv/linux/prlimit.c: New file.
|
|
|
|
[BZ #11903]
|
|
* sysdeps/generic/netinet/ip.h (IPTOS_CLASS): Fix definition.
|
|
Patch by Evgeni Bikov <bikovevg@iitp.ru>.
|
|
|
|
* nss/Makefile: Add rules to build and run tst-nss-test1.
|
|
* shlib-versions: Add entry for libnss_test1.
|
|
* nss/nss_test1.c: New file.
|
|
* nss/tst-nss-test1.c: New file.
|
|
|
|
* nss/nsswitch.c (__nss_database_custom): Define new variable.
|
|
(__nss_configure_lookup): Set appropriate entry in
|
|
__nss_configure_lookup to true.
|
|
* nss/nsswitch.h: Define enum with indeces of databases in
|
|
databases and __nss_database_custom arrays. Declare
|
|
__nss_database_custom.
|
|
* grp/initgroups.c (internal_getgrouplist): Use __nss_database_custom
|
|
to avoid using nscd when custom rules are installed.
|
|
* nss/getXXbyYY_r.c: Likewise.
|
|
* sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
|
|
|
|
* nss/nss_files/files-parse.c: Whitespace fixes.
|
|
|
|
2010-08-09 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
[BZ #11883]
|
|
* posix/fnmatch.c: Keep track of alloca use and fall back on malloc.
|
|
* posix/fnmatch_loop.c: Likewise.
|
|
|
|
2010-07-17 Andi Kleen <ak@linux.intel.com>
|
|
|
|
* sysdeps/i386/i386-mcount.S (__fentry__): Define.
|
|
* sysdeps/x86_64/_mcount.S (__fentry__): Define.
|
|
* stdlib/Versions (__fentry__): Add for GLIBC 2.13
|
|
* Versions.def [GLIBC_2.13]: Add.
|
|
|
|
2010-08-06 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
|
|
Also fail if tpwd after pwuid call is NULL.
|
|
|
|
2010-07-31 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
* hurd/hurdselect.c (_hurd_select): Round timeout up instead of down
|
|
when converting to ms.
|
|
|
|
2010-06-06 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
* sysdeps/mach/hurd/ttyname.c (ttyname): Replace MIG_BAD_ID and
|
|
EOPNOTSUPP errors with ENOTTY.
|
|
* sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Replace MIG_BAD_ID and
|
|
EOPNOTSUPP errors with ENOTTY.
|
|
|
|
2010-07-31 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
|
|
Add strcasecmp_l-ssse3.
|
|
* sysdeps/x86_64/multiarch/strcmp.S: Add support to compile for
|
|
strcasecmp.
|
|
* sysdeps/x86_64/strcmp.S: Allow more flexible compiling of strcasecmp.
|
|
* sysdeps/x86_64/multiarch/strcasecmp_l.S: New file.
|
|
* sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: New file.
|
|
|
|
2010-07-30 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/x86_64/multiarch/strcmp.S: Pretty printing.
|
|
|
|
* string/Makefile (strop-tests): Add strcasecmp.
|
|
* sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
|
|
strcasecmp_l-nonascii.
|
|
(gen-as-const-headers): Add locale-defines.sym.
|
|
* sysdeps/x86_64/strcmp.S: Add support for strcasecmp implementation.
|
|
* sysdeps/x86_64/strcasecmp.S: New file.
|
|
* sysdeps/x86_64/strcasecmp_l.S: New file.
|
|
* sysdeps/x86_64/strcasecmp_l-nonascii.c: New file.
|
|
* sysdeps/x86_64/locale-defines.sym: New file.
|
|
* string/test-strcasecmp.c: New file.
|
|
|
|
* string/test-strcasestr.c: Test both ends of the range of characters.
|
|
* sysdeps/x86_64/multiarch/strstr.c: Fix UCHIGH definition.
|
|
|
|
2010-07-29 Roland McGrath <roland@redhat.com>
|
|
|
|
[BZ #11856]
|
|
* manual/locale.texi (Yes-or-No Questions): Fix example code.
|
|
|
|
2010-07-27 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/x86_64/multiarch/strcmp-ssse3.S: Avoid compiling the file
|
|
for ld.so.
|
|
|
|
2010-07-27 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* manual/memory.texi (Malloc Tunable Parameters): Document
|
|
M_PERTURB.
|
|
|
|
2010-07-26 Roland McGrath <roland@redhat.com>
|
|
|
|
[BZ #11840]
|
|
* configure.in (-fgnu89-inline check): Set and substitute
|
|
gnu89_inline, not libc_cv_gnu89_inline.
|
|
* configure: Regenerated.
|
|
* config.make.in (gnu89-inline-CFLAGS): Use @gnu89_inline@.
|
|
|
|
2010-07-26 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* string/test-strnlen.c: New file.
|
|
* string/Makefile (strop-tests): Add strnlen.
|
|
* string/tester.c (test_strnlen): Add a few more test cases.
|
|
* string/tst-strlen.c: Better error reporting.
|
|
|
|
* sysdeps/x86_64/strnlen.S: New file.
|
|
|
|
2010-07-24 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use
|
|
lower-latency instructions.
|
|
|
|
2010-07-23 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* string/test-strcasestr.c: New file.
|
|
* string/test-strstr.c: New file.
|
|
* string/Makefile (strop-tests): Add strstr and strcasestr.
|
|
* string/str-two-way.h: Don't undefine MAX.
|
|
* string/strcasestr.c: Don't define alias if NO_ALIAS is defined.
|
|
|
|
2010-07-21 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
|
|
strcasestr-nonascii.
|
|
(CFLAGS-strcasestr-nonascii.c): Define.
|
|
* sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file.
|
|
* sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42):
|
|
Remove unused attribute.
|
|
|
|
2010-07-20 Roland McGrath <roland@redhat.com>
|
|
|
|
* elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to
|
|
dl_hwcap_mask as well as dl_hwcap. Without this, dsocaps matching in
|
|
ld.so.cache was broken. With it, there is no way to disable dsocaps
|
|
like LD_HWCAP_MASK can disable hwcaps.
|
|
|
|
2010-06-02 Emilio Pozuelo Monfort <pochu27@gmail.com>
|
|
|
|
* sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Fix memory leaks.
|
|
|
|
2010-07-16 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function
|
|
call in strcasestr.
|
|
* sysdeps/x86_64/multiarch/strcasestr.c: Declare
|
|
__strcasestr_sse42_nonascii.
|
|
* sysdeps/x86_64/multiarch/Makefile: Add rules to build
|
|
strcasestr-nonascii.c.
|
|
* sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file.
|
|
|
|
2010-06-15 Luis Machado <luisgpm@br.ibm.com>
|
|
|
|
* sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: New file.
|
|
|
|
2010-07-09 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use __fcntl not
|
|
fcntl.
|
|
|
|
2010-07-06 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* elf/dl-version.c (match_symbol): Don't pass NULL occation to
|
|
dl_signal_cerror.
|
|
|
|
2010-07-06 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Implement
|
|
_PC_PIPE_BUF using F_GETPIPE_SZ.
|
|
|
|
2010-07-05 Roland McGrath <roland@redhat.com>
|
|
|
|
* manual/arith.texi (Rounding Functions): Fix rint description
|
|
implicit in round description.
|
|
|
|
2010-07-02 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* elf/Makefile: Fix linking for a few tests to make recent linker
|
|
happy.
|
|
|
|
2010-06-30 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd
|
|
$(common-objpfx)libc_nonshared.a.
|
|
|
|
2010-06-21 Luis Machado <luisgpm@br.ibm.com>
|
|
|
|
* sysdeps/powerpc/powerpc32/970/fpu/Implies: Remove.
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/Implies: Remove.
|
|
* sysdeps/powerpc/powerpc32/power5+/fpu/Implies: Remove.
|
|
* sysdeps/powerpc/powerpc32/power6x/fpu/Implies: Remove.
|
|
* sysdeps/powerpc/powerpc64/970/fpu/Implies: Remove.
|
|
* sysdeps/powerpc/powerpc64/power5/fpu/Implies: Remove.
|
|
* sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove.
|
|
* sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies: Remove.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Remove.
|
|
* sysdeps/powerpc/powerpc32/970/Implies: Point to power4.
|
|
* sysdeps/powerpc/powerpc32/power5/Implies: Point to power4.
|
|
* sysdeps/powerpc/powerpc32/power5+/Implies: Point to power5.
|
|
* sysdeps/powerpc/powerpc32/power6/Implies: Point to power5+.
|
|
* sysdeps/powerpc/powerpc32/power6x/Implies: Point to power6.
|
|
* sysdeps/powerpc/powerpc64/970/Implies: Point to power4.
|
|
* sysdeps/powerpc/powerpc64/power5/Implies: Point to power4.
|
|
* sysdeps/powerpc/powerpc64/power5+/Implies: Point to power5.
|
|
* sysdeps/powerpc/powerpc64/power6/Implies: Point to power5+.
|
|
* sysdeps/powerpc/powerpc64/power6x/Implies: Point to power6.
|
|
* sysdeps/powerpc/powerpc32/power7/Implies: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/Implies: New file.
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/Implies: New file.
|
|
|
|
2010-06-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* debug/memmove_chk.c (__memmove_chk): Renamed to ...
|
|
(MEMMOVE_CHK): ...this. Default to __memmove_chk.
|
|
* string/memmove.c (memmove): Renamed to ...
|
|
(MEMMOVE): ...this. Default to memmove.
|
|
* sysdeps/x86_64/memcpy.S: Use ENTRY_CHK and END_CHK.
|
|
* sysdeps/x86_64/sysdep.h (ENTRY_CHK): Define.
|
|
(END_CHK): Define.
|
|
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
|
|
memcpy-ssse3 mempcpy-ssse3 memmove-ssse3 memcpy-ssse3-back
|
|
mempcpy-ssse3-back memmove-ssse3-back.
|
|
* sysdeps/x86_64/multiarch/bcopy.S: New file .
|
|
* sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: New file.
|
|
* sysdeps/x86_64/multiarch/memcpy-ssse3.S: New file.
|
|
* sysdeps/x86_64/multiarch/memcpy.S: New file.
|
|
* sysdeps/x86_64/multiarch/memcpy_chk.S: New file.
|
|
* sysdeps/x86_64/multiarch/memmove-ssse3-back.S: New file.
|
|
* sysdeps/x86_64/multiarch/memmove-ssse3.S: New file.
|
|
* sysdeps/x86_64/multiarch/memmove.c: New file.
|
|
* sysdeps/x86_64/multiarch/memmove_chk.c: New file.
|
|
* sysdeps/x86_64/multiarch/mempcpy-ssse3-back.S: New file.
|
|
* sysdeps/x86_64/multiarch/mempcpy-ssse3.S: New file.
|
|
* sysdeps/x86_64/multiarch/mempcpy.S: New file.
|
|
* sysdeps/x86_64/multiarch/mempcpy_chk.S: New file.
|
|
* sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Copy_Backward):
|
|
Define.
|
|
(index_Fast_Copy_Backward): Define.
|
|
(HAS_ARCH_FEATURE): Define.
|
|
(HAS_FAST_REP_STRING): Define.
|
|
(HAS_FAST_COPY_BACKWARD): Define.
|
|
|
|
2010-06-21 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
|
|
Restore proper fallback handling.
|
|
|
|
2010-06-19 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
[BZ #11701]
|
|
* posix/group_member.c (__group_member): Correct checking loop.
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
|
|
OOM in getpwuid_r correctly. Return error number when the caller
|
|
should return, otherwise -1.
|
|
(getlogin_r): Adjust to return also for result of __getlogin_r_loginuid
|
|
call returning > 0 value.
|
|
* sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise.
|
|
|
|
2010-06-07 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* dlfcn/Makefile: Remove explicit dependencies on libc.so and
|
|
libc_nonshared.a from targets in modules-names.
|
|
|
|
2010-06-02 Kirill A. Shutemov <kirill@shutemov.name>
|
|
|
|
* elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch
|
|
requires it.
|
|
|
|
2010-06-10 Luis Machado <luisgpm@br.ibm.com>
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/memcmp.S: New file
|
|
* sysdeps/powerpc/powerpc64/power7/memcmp.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power7/strncmp.S: New file.
|
|
* sysdeps/powerpc/powerpc64/power7/strncmp.S: New file.
|
|
|
|
2010-06-02 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer.
|
|
|
|
2010-06-14 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Define F_SETPIPE_SZ
|
|
and F_GETPIPE_SZ.
|
|
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
|
|
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
|
|
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
|
|
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
|
|
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
|
|
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise
|
|
|
|
2010-06-14 Roland McGrath <roland@redhat.com>
|
|
|
|
* manual/libc.texinfo (@copying): Change to GFDL v1.3.
|
|
|
|
2010-06-07 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* libio/stdio.h (sscanf, vsscanf): Use __REDIRECT_NTH instead of
|
|
__REDIRECT followed by __THROW.
|
|
* wcsmbs/wchar.h (swscanf, vswscanf): Likewise.
|
|
* posix/getopt.h (getopt): Likewise.
|
|
|
|
2010-06-02 Emilio Pozuelo Monfort <pochu27@gmail.com>
|
|
|
|
* hurd/lookup-at.c (__file_name_lookup_at): Accept
|
|
AT_SYMLINK_FOLLOW in AT_FLAGS. Fail with EINVAL if both
|
|
AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW are present
|
|
in AT_FLAGS.
|
|
* hurd/hurd/fd.h (__file_name_lookup_at): Update comment.
|
|
* sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS.
|
|
|
|
2010-05-28 Luis Machado <luisgpm@br.ibm.com>
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi.
|
|
|
|
2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
[BZ #11640]
|
|
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
|
|
Properly check family and model.
|
|
|
|
2010-05-26 Takashi Yoshii <takashi.yoshii.zj@renesas.com>
|
|
|
|
* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size.
|
|
|
|
2010-05-24 Luis Machado <luisgpm@br.ibm.com>
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix.
|
|
|
|
2010-05-21 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak
|
|
symbol reference.
|
|
|
|
2010-05-19 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak
|
|
symbol reference.
|
|
|
|
2010-05-21 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
|
|
and internal_recvmmsg.
|
|
* sysdeps/unix/sysv/linux/recvmmsg.c: New file.
|
|
* sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file.
|
|
* sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define.
|
|
* sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove.
|
|
|
|
* sunrpc/clnt_tcp.c (clnttcp_control): Add missing break.
|
|
* sunrpc/clnt_udp.c (clntudp_control): Likewise.
|
|
* sunrpc/clnt_unix.c (clntunix_control): Likewise.
|
|
|
|
2010-05-20 Andreas Schwab <schwab@redhat.com>
|
|
|
|
* sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH.
|
|
|
|
2010-05-17 Luis Machado <luisgpm@br.ibm.com>
|
|
|
|
POWER7 optimizations.
|
|
* sysdeps/powerpc/powerpc64/power7/memset.S: New file.
|
|
* sysdeps/powerpc/powerpc32/power7/memset.S: New file.
|
|
|
|
2010-05-19 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* version.h: Update for 2.13 development version.
|
|
|
|
2010-05-12 Andrew Stubbs <ams@codesourcery.com>
|
|
|
|
* sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Really disable all
|
|
exceptions. Return 0.
|
|
|
|
2010-05-07 Roland McGrath <roland@redhat.com>
|
|
|
|
* elf/ldconfig.c (main): Add a const.
|
|
|
|
2010-05-06 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
* nss/getent.c (idn_flags): Default to AI_IDN|AI_CANONIDN.
|
|
(args_options): Add no-idn option.
|
|
(ahosts_keys_int): Add idn_flags to ai_flags.
|
|
(parse_option): Handle 'i' option to clear idn_flags.
|
|
|
|
* malloc/malloc.c (_int_free): Possible race in the most recently
|
|
added check. Only act on the data if no current modification
|
|
happened.
|
|
|
|
See ChangeLog.17 for earlier changes.
|