2.12.90-10
[glibc.git] / ChangeLog
blob26e427c10f6eeaf01f5dc7c51ed5b2eac6b0cfff
1 2010-09-06  Andreas Schwab  <schwab@redhat.com>
3         * manual/Makefile: Don't mix pattern rules with normal rules.
5 2010-09-05  Andreas Schwab  <schwab@linux-m68k.org>
7         * debug/vdprintf_chk.c (__vdprintf_chk): Remove undefined
8         operation.
9         * libio/iofdopen.c (_IO_new_fdopen): Likewise.
10         * libio/iofopncook.c (_IO_cookie_init): Likewise.
11         * libio/iovdprintf.c (_IO_vdprintf): Likewise.
12         * libio/oldiofdopen.c (_IO_old_fdopen): Likewise.
13         * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela):
14         Likewise.
16 2010-09-04  Ulrich Drepper  <drepper@redhat.com>
18         [BZ #11979]
19         * iconvdata/gconv-modules: Remove EBCDIC-CP-AR2 alias from
20         IBM-930, IBM-933, IBM-935, IBM-937, and IBM-939.
22 2010-09-02  Ulrich Drepper  <drepper@redhat.com>
24         * sysdeps/x86_64/add_n.S: Update from GMP 5.0.1.
25         * sysdeps/x86_64/addmul_1.S: Likewise.
26         * sysdeps/x86_64/lshift.S: Likewise.
27         * sysdeps/x86_64/mul_1.S: Likewise.
28         * sysdeps/x86_64/rshift.S: Likewise.
29         * sysdeps/x86_64/sub_n.S: Likewise.
30         * sysdeps/x86_64/submul_1.S: Likewise.
32 2010-09-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>
34         This aligns bits/sched.h onto sysdeps/unix/sysv/linux/bits/sched.h:
35         Define __sched_param instead of SCHED_* and sched_param when
36         <bits/sched.h> is included with __need_schedparam defined.
37         * bits/sched.h [__need_schedparam]
38         (SCHED_OTHER, SCHED_FIFO, SCHED_RR, sched_param): Do not define.
39         [!__defined_schedparam && (__need_schedparam || _SCHED_H)]
40         (__defined_schedparam): Define to 1.
41         (__sched_param): New structure, identical to sched_param.
42         (__need_schedparam): Undefine.
44 2010-08-31  Mike Frysinger  <vapier@gentoo.org>
46         * sysdeps/unix/sysv/linux/sparc/sys/epoll.h (epoll_create2): Delete.
47         (epoll_create1): Declare.
49         * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Fix typo.
51 2010-08-31  Andreas Schwab  <schwab@redhat.com>
53         [BZ #7066]
54         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix array overflow when
55         shifting retval into place.
57 2010-09-01  Ulrich Drepper  <drepper@redhat.com>
59         * nis/rpcsvc/nis.h: Update copyright notice.
60         * nis/rpcsvc/nis.x: Likewise.
61         * nis/rpcsvc/nis_callback.h: Likewise.
62         * nis/rpcsvc/nis_callback.x: Likewise.
63         * nis/rpcsvc/nis_object.x: Likewise.
64         * nis/rpcsvc/nis_tags.h: Likewise.
65         * nis/rpcsvc/yp.h: Likewise.
66         * nis/rpcsvc/yp.x: Likewise.
67         * nis/rpcsvc/ypupd.h: Likewise.
68         * nis/yp_xdr.c: Likewise.
69         * nis/ypupdate_xdr.c: Likewise.
71         * sunrpc/pm_getport.c (__libc_rpc_getport): New function.  This is
72         mainly the body of pmap_getport.  Add parameters to specify timeouts.
73         (pmap_getport): Use __libc_rpc_getport.
74         * sunrpc/Versions: Export __libc_rpc_getport with GLIBC_PRIVATE.
75         * include/rpc/pmap_clnt.h: Declare __libc_rpc_getport.
76         * nis/nis_findserv.c: Remove pmap_getport copy. Use __libc_rpc_getport.
78 2010-08-31  Andreas Schwab  <schwab@linux-m68k.org>
80         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Add
81         fanotify_mark.
83 2010-08-27  Roland McGrath  <roland@redhat.com>
85         * sysdeps/i386/i686/multiarch/Makefile
86         (CFLAGS-varshift.c): New variable.
88 2010-08-27  Ulrich Drepper  <drepper@redhat.com>
90         * sysdeps/i386/i686/multiarch/varshift.S: File removed.
91         * sysdeps/i386/i686/multiarch/varshift.c: New file.
93         * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Move to .text.slow section.
95         * sysdeps/x86_64/strlen.S: Minimal code improvement.
97 2010-08-26  H.J. Lu  <hongjiu.lu@intel.com>
99         * sysdeps/x86_64/strlen.S: Unroll the loop.
100         * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
101         strlen-sse2 strlen-sse2-bsf.
102         * sysdeps/x86_64/multiarch/strlen.S ((strlen): Return
103         __strlen_no_bsf if bit_Slow_BSF is set.
104         (__strlen_sse42): Removed.
105         * sysdeps/x86_64/multiarch/strlen-no-bsf.S: New file.
106         * sysdeps/x86_64/multiarch/strlen-sse4.S: New file.
108 2010-08-25  Roland McGrath  <roland@redhat.com>
110         * sysdeps/x86_64/multiarch/varshift.S: File removed.
111         * sysdeps/x86_64/multiarch/varshift.c: New file.
112         * sysdeps/x86_64/multiarch/Makefile (CFLAGS-varshift.c): New variable.
113         * sysdeps/x86_64/multiarch/varshift.h: Clean up decls, fix a cast.
114         * sysdeps/x86_64/multiarch/memmove.c: Move decls around.
115         * sysdeps/x86_64/multiarch/memmove_chk.c: Likewise.
117 2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
119         * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
120         strlen-sse2 strlen-sse2-bsf.
121         * sysdeps/i386/i686/multiarch/strlen.S (strlen): Return
122         __strlen_sse2_bsf if bit_Slow_BSF is unset.
123         (__strlen_sse2): Removed.
124         * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: New file.
125         * sysdeps/i386/i686/multiarch/strlen-sse2.S: New file.
126         * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Set
127         bit_Slow_BSF for Atom.
128         * sysdeps/x86_64/multiarch/init-arch.h (bit_Slow_BSF): Define.
129         (index_Slow_BSF): Define.
130         (HAS_SLOW_BSF): Define.
132 2010-08-25  Ulrich Drepper  <drepper@redhat.com>
134         [BZ #10851]
135         * resolv/res_init.c (__res_vinit): When no server address at all
136         is given default to loopback.
138 2010-08-24  Roland McGrath  <roland@redhat.com>
140         * configure.in: Remove config-name.h generation.
141         * configure: Regenerated.
142         * config-name.in: File removed.
143         * scripts/config-uname.sh: New file.
144         * posix/Makefile (uname.c): Depend on $(objdir)config-name.h.
145         ($(objdir)config-name.h): New target.
147         * sunrpc/rpc_parse.h: Avoid nested comment.
149 2010-08-24  Richard Henderson  <rth@redhat.com>
150             Ulrich Drepper  <drepper@redhat.com>
151             H.J. Lu  <hongjiu.lu@intel.com>
153         * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add varshift.
154         * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Likewise.
155         * sysdeps/x86_64/multiarch/strcspn-c.c: Include "varshift.h".
156         Replace _mm_srli_si128 with __m128i_shift_right.  Replace
157         _mm_alignr_epi8 with _mm_loadu_si128.
158         * sysdeps/x86_64/multiarch/strspn-c.c: Likewise.
159         * sysdeps/x86_64/multiarch/strstr.c: Include "varshift.h".
160         (__m128i_shift_right): Removed.
161         * sysdeps/i386/i686/multiarch/varshift.h: New file.
162         * sysdeps/i386/i686/multiarch/varshift.S: New file.
163         * sysdeps/x86_64/multiarch/varshift.h: New file.
164         * sysdeps/x86_64/multiarch/varshift.S: New file.
166 2010-08-21  Mike Frysinger  <vapier@gentoo.org>
168         * configure.in: Move assembler checks to before sysdep dir checking.
170 2010-08-20  Petr Baudis  <pasky@suse.cz>
172         * LICENSES: Sync the sunrpc license.
174 2010-08-19  Ulrich Drepper  <drepper@redhat.com>
176         * sunrpc/auth_des.c: Update copyright notice once again.
177         * sunrpc/auth_none.c: Likewise.
178         * sunrpc/auth_unix.c: Likewise.
179         * sunrpc/authdes_prot.c: Likewise.
180         * sunrpc/authuxprot.c: Likewise.
181         * sunrpc/bindrsvprt.c: Likewise.
182         * sunrpc/clnt_gen.c: Likewise.
183         * sunrpc/clnt_perr.c: Likewise.
184         * sunrpc/clnt_raw.c: Likewise.
185         * sunrpc/clnt_simp.c: Likewise.
186         * sunrpc/clnt_tcp.c: Likewise.
187         * sunrpc/clnt_udp.c: Likewise.
188         * sunrpc/clnt_unix.c: Likewise.
189         * sunrpc/des_crypt.c: Likewise.
190         * sunrpc/des_soft.c: Likewise.
191         * sunrpc/get_myaddr.c: Likewise.
192         * sunrpc/getrpcport.c: Likewise.
193         * sunrpc/key_call.c: Likewise.
194         * sunrpc/key_prot.c: Likewise.
195         * sunrpc/openchild.c: Likewise.
196         * sunrpc/pm_getmaps.c: Likewise.
197         * sunrpc/pm_getport.c: Likewise.
198         * sunrpc/pmap_clnt.c: Likewise.
199         * sunrpc/pmap_prot.c: Likewise.
200         * sunrpc/pmap_prot2.c: Likewise.
201         * sunrpc/pmap_rmt.c: Likewise.
202         * sunrpc/rpc/auth.h: Likewise.
203         * sunrpc/rpc/auth_unix.h: Likewise.
204         * sunrpc/rpc/clnt.h: Likewise.
205         * sunrpc/rpc/des_crypt.h: Likewise.
206         * sunrpc/rpc/key_prot.h: Likewise.
207         * sunrpc/rpc/netdb.h: Likewise.
208         * sunrpc/rpc/pmap_clnt.h: Likewise.
209         * sunrpc/rpc/pmap_prot.h: Likewise.
210         * sunrpc/rpc/pmap_rmt.h: Likewise.
211         * sunrpc/rpc/rpc.h: Likewise.
212         * sunrpc/rpc/rpc_des.h: Likewise.
213         * sunrpc/rpc/rpc_msg.h: Likewise.
214         * sunrpc/rpc/svc.h: Likewise.
215         * sunrpc/rpc/svc_auth.h: Likewise.
216         * sunrpc/rpc/types.h: Likewise.
217         * sunrpc/rpc/xdr.h: Likewise.
218         * sunrpc/rpc_clntout.c: Likewise.
219         * sunrpc/rpc_cmsg.c: Likewise.
220         * sunrpc/rpc_common.c: Likewise.
221         * sunrpc/rpc_cout.c: Likewise.
222         * sunrpc/rpc_dtable.c: Likewise.
223         * sunrpc/rpc_hout.c: Likewise.
224         * sunrpc/rpc_main.c: Likewise.
225         * sunrpc/rpc_parse.c: Likewise.
226         * sunrpc/rpc_parse.h: Likewise.
227         * sunrpc/rpc_prot.c: Likewise.
228         * sunrpc/rpc_sample.c: Likewise.
229         * sunrpc/rpc_scan.c: Likewise.
230         * sunrpc/rpc_scan.h: Likewise.
231         * sunrpc/rpc_svcout.c: Likewise.
232         * sunrpc/rpc_tblout.c: Likewise.
233         * sunrpc/rpc_util.c: Likewise.
234         * sunrpc/rpc_util.h: Likewise.
235         * sunrpc/rpcinfo.c: Likewise.
236         * sunrpc/rpcsvc/bootparam_prot.x: Likewise.
237         * sunrpc/rpcsvc/key_prot.x: Likewise.
238         * sunrpc/rpcsvc/klm_prot.x: Likewise.
239         * sunrpc/rpcsvc/mount.x: Likewise.
240         * sunrpc/rpcsvc/nfs_prot.x: Likewise.
241         * sunrpc/rpcsvc/nlm_prot.x: Likewise.
242         * sunrpc/rpcsvc/rex.x: Likewise.
243         * sunrpc/rpcsvc/rstat.x: Likewise.
244         * sunrpc/rpcsvc/rusers.x: Likewise.
245         * sunrpc/rpcsvc/sm_inter.x: Likewise.
246         * sunrpc/rpcsvc/spray.x: Likewise.
247         * sunrpc/rpcsvc/yppasswd.x: Likewise.
248         * sunrpc/rtime.c: Likewise.
249         * sunrpc/svc.c: Likewise.
250         * sunrpc/svc_auth.c: Likewise.
251         * sunrpc/svc_authux.c: Likewise.
252         * sunrpc/svc_raw.c: Likewise.
253         * sunrpc/svc_run.c: Likewise.
254         * sunrpc/svc_simple.c: Likewise.
255         * sunrpc/svc_tcp.c: Likewise.
256         * sunrpc/svc_udp.c: Likewise.
257         * sunrpc/svc_unix.c: Likewise.
258         * sunrpc/svcauth_des.c: Likewise.
259         * sunrpc/xcrypt.c: Likewise.
260         * sunrpc/xdr.c: Likewise.
261         * sunrpc/xdr_array.c: Likewise.
262         * sunrpc/xdr_float.c: Likewise.
263         * sunrpc/xdr_mem.c: Likewise.
264         * sunrpc/xdr_rec.c: Likewise.
265         * sunrpc/xdr_ref.c: Likewise.
266         * sunrpc/xdr_sizeof.c: Likewise.
267         * sunrpc/xdr_stdio.c: Likewise.
269         * sysdeps/x86_64/multiarch/strcmp.S: Fix two typos in strncasecmp
270         handling.
272 2010-08-19  Andreas Schwab  <schwab@redhat.com>
274         * sysdeps/i386/i686/multiarch/strspn.S [!SHARED]: Fix SSE4.2 check.
276 2010-08-19  Luis Machado  <luisgpm@br.ibm.com>
278         * sysdeps/powerpc/powerpc32/power7/memchr.S: New file.
279         * sysdeps/powerpc/powerpc32/power7/memrchr.S: New file.
280         * sysdeps/powerpc/powerpc32/power7/rawmemchr.S: New file.
281         * sysdeps/powerpc/powerpc32/power7/strchr.S: New file.
282         * sysdeps/powerpc/powerpc32/power7/strchrnul.S: New file.
283         * sysdeps/powerpc/powerpc32/power7/strlen.S: New file.
284         * sysdeps/powerpc/powerpc32/power7/strnlen.S: New file.
285         * sysdeps/powerpc/powerpc64/power7/memchr.S: New file.
286         * sysdeps/powerpc/powerpc64/power7/memrchr.S: New file.
287         * sysdeps/powerpc/powerpc64/power7/rawmemchr.S: New file.
288         * sysdeps/powerpc/powerpc64/power7/strchr.S: New file.
289         * sysdeps/powerpc/powerpc64/power7/strchrnul.S: New file.
290         * sysdeps/powerpc/powerpc64/power7/strlen.S: New file.
291         * sysdeps/powerpc/powerpc64/power7/strnlen.S: New file.
293 2010-07-26  Anton Blanchard  <anton@samba.org>
295         * malloc/malloc.c (sYSTRIm): Replace divide and multiply with mask.
296         * malloc/arena.c (heap_trim): Likewise.
298 2010-08-16  Ulrich Drepper  <drepper@redhat.com>
300         * sysdeps/unix/sysv/linux/syscalls.list: Add entry for fanotify_init
301         here.  Not...
302         * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: ...here...
303         * sysdeps/unix/sysv/linux/i386/syscalls.list: ... orhere.
305 2010-08-12  H.J. Lu  <hongjiu.lu@intel.com>
307         * sysdeps/i386/elf/Makefile: New file.
309 2010-08-14  Andreas Schwab  <schwab@linux-m68k.org>
311         * sysdeps/unix/sysv/linux/sys/fanotify.h: Remove third argument
312         from fanotify_init.
313         * sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise.
314         * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
316 2010-08-15  Ulrich Drepper  <drepper@redhat.com>
318         * sysdeps/x86_64/strcmp.S: Use correct register for fourth parameter
319         of strncasecmp_l.
320         * sysdeps/multiarch/strcmp.S: Likewise.
322 2010-08-14  Ulrich Drepper  <drepper@redhat.com>
324         * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
325         strncase_l-nonascii.
326         * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
327         Add strncase_l-ssse3.
328         * sysdeps/x86_64/multiarch/strcmp.S: Prepare for use as strncasecmp.
329         * sysdeps/x86_64/strcmp.S: Likewise.
330         * sysdeps/x86_64/multiarch/strncase_l-ssse3.S: New file.
331         * sysdeps/x86_64/multiarch/strncase_l.S: New file.
332         * sysdeps/x86_64/strncase.S: New file.
333         * sysdeps/x86_64/strncase_l-nonascii.c: New file.
334         * sysdeps/x86_64/strncase_l.S: New file.
335         * string/Makefile (strop-tests): Add strncasecmp.
336         * string/test-strncasecmp.c: New file.
338         * sysdeps/x86_64/strcasecmp_l-nonascii.c: Add prototype to avoid
339         warning.
341         * sysdeps/x86_64/strcmp.S: Move definition of NO_NOLOCALE_ALIAS to...
342         * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: ... here.
344 2010-08-14  Andreas Schwab  <schwab@linux-m68k.org>
346         * sysdeps/unix/sysv/linux/prlimit.c: Make it compile.
348 2010-08-12  Ulrich Drepper  <drepper@redhat.com>
350         * sysdeps/unix/sysv/linux/bits/termios.h: Define EXTPROC.
351         * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
352         * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
354 2010-05-01  Alan Modra  <amodra@gmail.com>
356         * sysdeps/powerpc/powerpc32/power4/memcmp.S: Correct cfi for r24.
357         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Move contents..
358         * sysdeps/powerpc/powerpc64/bsd-setjmp.S: ..and these too..
359         * sysdeps/powerpc/powerpc64/setjmp.S: ..to here..
360         * sysdeps/powerpc/powerpc64/setjmp-common.S: ..and here, with some
361         tidying.  Don't tail-call __sigjmp_save for static lib.
362         * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): Correct
363         save location.
364         (CFI_SAVE_ARG, CFI_REST_ARG): New macros.
365         (CALL_MCOUNT): Add eh info, and nop after bl.
366         (TAIL_CALL_SYSCALL_ERROR): New macro.
367         (PSEUDO_RET): Use it.
368         * sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_runtime_resolve):
369         Correct save location of integer regs and cr.
370         (_dl_profile_resolve): Correct cr save location.  Delete nops
371         after bl when SHARED.  Reduce cfi size a little by better
372         placement of cfi directives.
373         * sysdeps/powerpc/powerpc64/fpu/s_copysign.S (__copysign): Don't
374         make a stack frame.  Instead use parm save area as a temp.
375         * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Don't
376         make a stack frame.  Use TAIL_CALL_SYSCALL_ERROR.
377         * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone):
378         Don't make a stack frame for parent, use parm save area.
379         Increase child stack frame to 112 bytes.  Don't save unused reg,
380         and adjust reg usage.  Set up cfi on error recovery and
381         epilogue of parent, and use TAIL_CALL_SYSCALL_ERROR, PSEUDO_RET.
382         * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
383         (__makecontext): Add dummy nop after jump to exit.
384         * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S (__socket):
385         Use correct parm save area and cr save, reduce stack frame.
386         Correct cfi for possible PSEUDO_RET frame setup.
387         * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S (__vfork):
388         Branch to local label emitted by PSEUDO_RET rather than
389         __syscall_error.
391 2010-08-12  Andreas Schwab  <schwab@redhat.com>
393         [BZ #11904]
394         * locale/programs/locale.c (print_assignment): New function.
395         (show_locale_vars): Use it.
397 2010-08-11  Ulrich Drepper  <drepper@redhat.com>
399         * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_flags
400         field.
401         (struct statfs64): Likewise.
402         (_STATFS_F_FLAGS): Define.
403         * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise.
404         * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
405         Don't define if __ASSUME_STATFS_F_FLAGS is defined.
406         (ST_VALID): Define locally.
407         (INTERNAL_STATVFS): If f_flags has ST_VALID set don't call
408         __statvfs_getflags, use the provided value.
409         * sysdeps/unix/sysv/linux/kernel-features.h: Define
410         __ASSUME_STATFS_F_FLAGS.
412         * sysdeps/unix/sysv/linux/sys/inotify.h (IN_EXCL_UNLINK): Define.
414         * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
415         Add sys/fanotify.h.
416         * sysdeps/unix/sysv/linux/Versions [libc]: Export fanotify_init and
417         fanotify_mask for GLIBC_2.13.
418         * sysdeps/unix/sysv/linux/i386/syscalls.list: Add entries for
419         fanotify_init and fanotify_mark.
420         * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
421         * sysdeps/unix/sysv/linux/sys/fanotify.h: New file.
423         * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_routines):
424         Add prlimit.
425         * sysdeps/unix/sysv/linux/Versions [libc]: Export prlimit and
426         prlimit64 for GLIBC_2.13.
427         * sysdeps/unix/sysv/linux/bits/resource.h: Declare prlimit and
428         prlimit64.
429         * sysdeps/unix/sysv/linux/i386/syscalls.list: Add entry for prlimit64
430         syscall.
431         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
432         * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Likewise.
433         * sysdeps/unix/sysv/linux/sh/syscalls.list: Likewise.
434         * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.lis: Likewise.
435         * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.  Also
436         add prlimit alias.
437         * sysdeps/unix/sysv/linux/prlimit.c: New file.
439         [BZ #11903]
440         * sysdeps/generic/netinet/ip.h (IPTOS_CLASS): Fix definition.
441         Patch by Evgeni Bikov <bikovevg@iitp.ru>.
443         * nss/Makefile: Add rules to build and run tst-nss-test1.
444         * shlib-versions: Add entry for libnss_test1.
445         * nss/nss_test1.c: New file.
446         * nss/tst-nss-test1.c: New file.
448         * nss/nsswitch.c (__nss_database_custom): Define new variable.
449         (__nss_configure_lookup): Set appropriate entry in
450         __nss_configure_lookup to true.
451         * nss/nsswitch.h: Define enum with indeces of databases in
452         databases and __nss_database_custom arrays.  Declare
453         __nss_database_custom.
454         * grp/initgroups.c (internal_getgrouplist): Use __nss_database_custom
455         to avoid using nscd when custom rules are installed.
456         * nss/getXXbyYY_r.c: Likewise.
457         * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
459         * nss/nss_files/files-parse.c: Whitespace fixes.
461 2010-08-09  Ulrich Drepper  <drepper@redhat.com>
463         [BZ #11883]
464         * posix/fnmatch.c: Keep track of alloca use and fall back on malloc.
465         * posix/fnmatch_loop.c: Likewise.
467 2010-07-17  Andi Kleen  <ak@linux.intel.com>
469         * sysdeps/i386/i386-mcount.S (__fentry__): Define.
470         * sysdeps/x86_64/_mcount.S (__fentry__): Define.
471         * stdlib/Versions (__fentry__): Add for GLIBC 2.13
472         * Versions.def [GLIBC_2.13]: Add.
474 2010-08-06  Ulrich Drepper  <drepper@redhat.com>
476         * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
477         Also fail if tpwd after pwuid call is NULL.
479 2010-07-31  Samuel Thibault  <samuel.thibault@ens-lyon.org>
481         * hurd/hurdselect.c (_hurd_select): Round timeout up instead of down
482         when converting to ms.
484 2010-06-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>
486         * sysdeps/mach/hurd/ttyname.c (ttyname): Replace MIG_BAD_ID and
487         EOPNOTSUPP errors with ENOTTY.
488         * sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Replace MIG_BAD_ID and
489         EOPNOTSUPP errors with ENOTTY.
491 2010-07-31  Ulrich Drepper  <drepper@redhat.com>
493         * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
494         Add strcasecmp_l-ssse3.
495         * sysdeps/x86_64/multiarch/strcmp.S: Add support to compile for
496         strcasecmp.
497         * sysdeps/x86_64/strcmp.S: Allow more flexible compiling of strcasecmp.
498         * sysdeps/x86_64/multiarch/strcasecmp_l.S: New file.
499         * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: New file.
501 2010-07-30  Ulrich Drepper  <drepper@redhat.com>
503         * sysdeps/x86_64/multiarch/strcmp.S: Pretty printing.
505         * string/Makefile (strop-tests): Add strcasecmp.
506         * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
507         strcasecmp_l-nonascii.
508         (gen-as-const-headers): Add locale-defines.sym.
509         * sysdeps/x86_64/strcmp.S: Add support for strcasecmp implementation.
510         * sysdeps/x86_64/strcasecmp.S: New file.
511         * sysdeps/x86_64/strcasecmp_l.S: New file.
512         * sysdeps/x86_64/strcasecmp_l-nonascii.c: New file.
513         * sysdeps/x86_64/locale-defines.sym: New file.
514         * string/test-strcasecmp.c: New file.
516         * string/test-strcasestr.c: Test both ends of the range of characters.
517         * sysdeps/x86_64/multiarch/strstr.c: Fix UCHIGH definition.
519 2010-07-29  Roland McGrath  <roland@redhat.com>
521         [BZ #11856]
522         * manual/locale.texi (Yes-or-No Questions): Fix example code.
524 2010-07-27  Ulrich Drepper  <drepper@redhat.com>
526         * sysdeps/x86_64/multiarch/strcmp-ssse3.S: Avoid compiling the file
527         for ld.so.
529 2010-07-27  Andreas Schwab  <schwab@redhat.com>
531         * manual/memory.texi (Malloc Tunable Parameters): Document
532         M_PERTURB.
534 2010-07-26  Roland McGrath  <roland@redhat.com>
536         [BZ #11840]
537         * configure.in (-fgnu89-inline check): Set and substitute
538         gnu89_inline, not libc_cv_gnu89_inline.
539         * configure: Regenerated.
540         * config.make.in (gnu89-inline-CFLAGS): Use @gnu89_inline@.
542 2010-07-26  Ulrich Drepper  <drepper@redhat.com>
544         * string/test-strnlen.c: New file.
545         * string/Makefile (strop-tests): Add strnlen.
546         * string/tester.c (test_strnlen): Add a few more test cases.
547         * string/tst-strlen.c: Better error reporting.
549         * sysdeps/x86_64/strnlen.S: New file.
551 2010-07-24  Ulrich Drepper  <drepper@redhat.com>
553         * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use
554         lower-latency instructions.
556 2010-07-23  Ulrich Drepper  <drepper@redhat.com>
558         * string/test-strcasestr.c: New file.
559         * string/test-strstr.c: New file.
560         * string/Makefile (strop-tests): Add strstr and strcasestr.
561         * string/str-two-way.h: Don't undefine MAX.
562         * string/strcasestr.c: Don't define alias if NO_ALIAS is defined.
564 2010-07-21  Andreas Schwab  <schwab@redhat.com>
566         * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
567         strcasestr-nonascii.
568         (CFLAGS-strcasestr-nonascii.c): Define.
569         * sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file.
570         * sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42):
571         Remove unused attribute.
573 2010-07-20  Roland McGrath  <roland@redhat.com>
575         * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to
576         dl_hwcap_mask as well as dl_hwcap.  Without this, dsocaps matching in
577         ld.so.cache was broken.  With it, there is no way to disable dsocaps
578         like LD_HWCAP_MASK can disable hwcaps.
580 2010-06-02  Emilio Pozuelo Monfort  <pochu27@gmail.com>
582         * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Fix memory leaks.
584 2010-07-16  Ulrich Drepper  <drepper@redhat.com>
586         * sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function
587         call in strcasestr.
588         * sysdeps/x86_64/multiarch/strcasestr.c: Declare
589         __strcasestr_sse42_nonascii.
590         * sysdeps/x86_64/multiarch/Makefile: Add rules to build
591         strcasestr-nonascii.c.
592         * sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file.
594 2010-06-15  Luis Machado  <luisgpm@br.ibm.com>
596         * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: New file.
597         * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: New file.
598         * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: New file.
599         * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: New file.
601 2010-07-09  Ulrich Drepper  <drepper@redhat.com>
603         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use __fcntl not
604         fcntl.
606 2010-07-06  Andreas Schwab  <schwab@redhat.com>
608         * elf/dl-version.c (match_symbol): Don't pass NULL occation to
609         dl_signal_cerror.
611 2010-07-06  Ulrich Drepper  <drepper@redhat.com>
613         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Implement
614         _PC_PIPE_BUF using F_GETPIPE_SZ.
616 2010-07-05  Roland McGrath  <roland@redhat.com>
618         * manual/arith.texi (Rounding Functions): Fix rint description
619         implicit in round description.
621 2010-07-02  Ulrich Drepper  <drepper@redhat.com>
623         * elf/Makefile: Fix linking for a few tests to make recent linker
624         happy.
626 2010-06-30  Andreas Schwab  <schwab@redhat.com>
628         * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd
629         $(common-objpfx)libc_nonshared.a.
631 2010-06-21  Luis Machado  <luisgpm@br.ibm.com>
633         * sysdeps/powerpc/powerpc32/970/fpu/Implies: Remove.
634         * sysdeps/powerpc/powerpc32/power5/fpu/Implies: Remove.
635         * sysdeps/powerpc/powerpc32/power5+/fpu/Implies: Remove.
636         * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: Remove.
637         * sysdeps/powerpc/powerpc64/970/fpu/Implies: Remove.
638         * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Remove.
639         * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove.
640         * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Remove.
641         * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: Remove.
642         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies: Remove.
643         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies: Remove.
644         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies: Remove.
645         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies: Remove.
646         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies: Remove.
647         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Remove.
648         * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: Remove.
649         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies: Remove.
650         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies: Remove.
651         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies: Remove.
652         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies: Remove.
653         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies: Remove.
654         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Remove.
655         * sysdeps/powerpc/powerpc32/970/Implies: Point to power4.
656         * sysdeps/powerpc/powerpc32/power5/Implies: Point to power4.
657         * sysdeps/powerpc/powerpc32/power5+/Implies: Point to power5.
658         * sysdeps/powerpc/powerpc32/power6/Implies: Point to power5+.
659         * sysdeps/powerpc/powerpc32/power6x/Implies: Point to power6.
660         * sysdeps/powerpc/powerpc64/970/Implies: Point to power4.
661         * sysdeps/powerpc/powerpc64/power5/Implies: Point to power4.
662         * sysdeps/powerpc/powerpc64/power5+/Implies: Point to power5.
663         * sysdeps/powerpc/powerpc64/power6/Implies: Point to power5+.
664         * sysdeps/powerpc/powerpc64/power6x/Implies: Point to power6.
665         * sysdeps/powerpc/powerpc32/power7/Implies: New file.
666         * sysdeps/powerpc/powerpc64/power7/Implies: New file.
667         * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies: New file.
668         * sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies: New file.
669         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/Implies: New file.
670         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/Implies: New file.
671         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/Implies: New file.
672         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/Implies: New file.
673         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/Implies: New file.
674         * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: New file.
675         * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: New file.
676         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/Implies: New file.
677         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/Implies: New file.
678         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/Implies: New file.
679         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/Implies: New file.
680         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/Implies: New file.
682 2010-06-25  H.J. Lu  <hongjiu.lu@intel.com>
684         * debug/memmove_chk.c (__memmove_chk): Renamed to ...
685         (MEMMOVE_CHK): ...this.  Default to __memmove_chk.
686         * string/memmove.c (memmove): Renamed to ...
687         (MEMMOVE): ...this.  Default to memmove.
688         * sysdeps/x86_64/memcpy.S: Use ENTRY_CHK and END_CHK.
689         * sysdeps/x86_64/sysdep.h (ENTRY_CHK): Define.
690         (END_CHK): Define.
691         * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
692         memcpy-ssse3 mempcpy-ssse3 memmove-ssse3 memcpy-ssse3-back
693         mempcpy-ssse3-back memmove-ssse3-back.
694         * sysdeps/x86_64/multiarch/bcopy.S: New file .
695         * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: New file.
696         * sysdeps/x86_64/multiarch/memcpy-ssse3.S: New file.
697         * sysdeps/x86_64/multiarch/memcpy.S: New file.
698         * sysdeps/x86_64/multiarch/memcpy_chk.S: New file.
699         * sysdeps/x86_64/multiarch/memmove-ssse3-back.S: New file.
700         * sysdeps/x86_64/multiarch/memmove-ssse3.S: New file.
701         * sysdeps/x86_64/multiarch/memmove.c: New file.
702         * sysdeps/x86_64/multiarch/memmove_chk.c: New file.
703         * sysdeps/x86_64/multiarch/mempcpy-ssse3-back.S: New file.
704         * sysdeps/x86_64/multiarch/mempcpy-ssse3.S: New file.
705         * sysdeps/x86_64/multiarch/mempcpy.S: New file.
706         * sysdeps/x86_64/multiarch/mempcpy_chk.S: New file.
707         * sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Copy_Backward):
708         Define.
709         (index_Fast_Copy_Backward): Define.
710         (HAS_ARCH_FEATURE): Define.
711         (HAS_FAST_REP_STRING): Define.
712         (HAS_FAST_COPY_BACKWARD): Define.
714 2010-06-21  Andreas Schwab  <schwab@redhat.com>
716         * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
717         Restore proper fallback handling.
719 2010-06-19  Ulrich Drepper  <drepper@redhat.com>
721         [BZ #11701]
722         * posix/group_member.c (__group_member): Correct checking loop.
724         * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
725         OOM in getpwuid_r correctly.  Return error number when the caller
726         should return, otherwise -1.
727         (getlogin_r): Adjust to return also for result of __getlogin_r_loginuid
728         call returning > 0 value.
729         * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise.
731 2010-07-01  Andreas Schwab  <schwab@redhat.com>
733         * include/sys/resource.h (__getrlimit): Add hidden proto.
734         * sysdeps/unix/sysv/linux/i386/getrlimit.c: Add libc_hidden_weak.
735         * sysdeps/mach/hurd/getrlimit.c: Add libc_hidden_def.
736         * resource/getrlimit.c: Likewise.
738 2010-06-28  Andreas Schwab  <schwab@redhat.com>
740         * allocatestack.c (setxid_mark_thread): Ensure that the exiting
741         thread is woken up.
743         * elf/Makefile: Add rules to build and run unload8 test.
744         * elf/unload8.c: New file.
745         * elf/unload8mod1.c: New file.
746         * elf/unload8mod1x.c: New file.
747         * elf/unload8mod2.c: New file.
748         * elf/unload8mod3.c: New file.
750         * elf/dl-close.c (_dl_close_worker): Reset private search list if
751         it wasn't used.
753 2010-06-21  Andreas Schwab  <schwab@redhat.com>
755         * sysdeps/i386/i686/Makefile: Don't pass -mtune to assembler.
757 2010-06-07  Andreas Schwab  <schwab@redhat.com>
759         * dlfcn/Makefile: Remove explicit dependencies on libc.so and
760         libc_nonshared.a from targets in modules-names.
762 2010-06-02  Kirill A. Shutemov  <kirill@shutemov.name>
764         * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch
765         requires it.
767 2010-06-10  Luis Machado  <luisgpm@br.ibm.com>
769         * sysdeps/powerpc/powerpc32/power7/memcmp.S: New file
770         * sysdeps/powerpc/powerpc64/power7/memcmp.S: New file.
771         * sysdeps/powerpc/powerpc32/power7/strncmp.S: New file.
772         * sysdeps/powerpc/powerpc64/power7/strncmp.S: New file.
774 2010-06-02  Andreas Schwab  <schwab@redhat.com>
776         * nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer.
778 2010-06-14  Ulrich Drepper  <drepper@redhat.com>
780         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Define F_SETPIPE_SZ
781         and F_GETPIPE_SZ.
782         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
783         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
784         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
785         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
786         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
787         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise
789 2010-06-14  Roland McGrath  <roland@redhat.com>
791         * manual/libc.texinfo (@copying): Change to GFDL v1.3.
793 2010-06-07  Jakub Jelinek  <jakub@redhat.com>
795         * libio/stdio.h (sscanf, vsscanf): Use __REDIRECT_NTH instead of
796         __REDIRECT followed by __THROW.
797         * wcsmbs/wchar.h (swscanf, vswscanf): Likewise.
798         * posix/getopt.h (getopt): Likewise.
800 2010-06-02  Emilio Pozuelo Monfort  <pochu27@gmail.com>
802         * hurd/lookup-at.c (__file_name_lookup_at): Accept
803         AT_SYMLINK_FOLLOW in AT_FLAGS.  Fail with EINVAL if both
804         AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW are present
805         in AT_FLAGS.
806         * hurd/hurd/fd.h (__file_name_lookup_at): Update comment.
807         * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS.
809 2010-06-11  Andreas Schwab  <schwab@redhat.com>
811         * elf/rtld.c (_dl_starting_up): Always define.
812         (dl_main): Always set _dl_starting_up.
813         * elf/dl-support.c (_dl_starting_up): Always define.
814         * elf/dl-init.c (_dl_init): Always clear _dl_starting_up.
816 2010-06-10  Andreas Schwab  <schwab@redhat.com>
818         * sysdeps/unix/sysv/linux/getpagesize.c: Don't assume AT_PAGESIZE
819         is always available.
821         * sysdeps/unix/sysv/linux/i386/Versions: Export __uname under
822         GLIBC_PRIVATE.
823         * nptl/Versions: Export __getrlimit under GLIBC_PRIVATE.
824         * sysdeps/unix/sysv/linux/i386/smp.h: Call __uname instead of uname.
825         * nptl/nptl-init.c: Call __getrlimit instead of getrlimit.
827 2010-05-28  Luis Machado  <luisgpm@br.ibm.com>
829         * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi.
831 2010-05-26  H.J. Lu  <hongjiu.lu@intel.com>
833         [BZ #11640]
834         * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
835         Properly check family and model.
837 2010-05-26  Takashi Yoshii  <takashi.yoshii.zj@renesas.com>
839         * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size.
841 2010-05-24  Luis Machado  <luisgpm@br.ibm.com>
843         * sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix.
845 2010-05-21  Ulrich Drepper  <drepper@redhat.com>
847         * elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak
848         symbol reference.
850 2010-05-19  Andreas Schwab  <schwab@redhat.com>
852         * elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak
853         symbol reference.
855 2010-05-21  Andreas Schwab  <schwab@redhat.com>
857         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
858         and internal_recvmmsg.
859         * sysdeps/unix/sysv/linux/recvmmsg.c: New file.
860         * sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file.
861         * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define.
862         * sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove.
864         * sunrpc/clnt_tcp.c (clnttcp_control): Add missing break.
865         * sunrpc/clnt_udp.c (clntudp_control): Likewise.
866         * sunrpc/clnt_unix.c (clntunix_control): Likewise.
868 2010-05-20  Andreas Schwab  <schwab@redhat.com>
870         * sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH.
872 2010-05-17  Luis Machado  <luisgpm@br.ibm.com>
874         POWER7 optimizations.
875         * sysdeps/powerpc/powerpc64/power7/memset.S: New file.
876         * sysdeps/powerpc/powerpc32/power7/memset.S: New file.
878 2010-05-19  Ulrich Drepper  <drepper@redhat.com>
880         * version.h: Update for 2.13 development version.
882 2010-05-12  Andrew Stubbs  <ams@codesourcery.com>
884         * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Really disable all
885         exceptions.  Return 0.
887 2010-05-07  Roland McGrath  <roland@redhat.com>
889         * elf/ldconfig.c (main): Add a const.
891 2010-05-06  Ulrich Drepper  <drepper@redhat.com>
893         * nss/getent.c (idn_flags): Default to AI_IDN|AI_CANONIDN.
894         (args_options): Add no-idn option.
895         (ahosts_keys_int): Add idn_flags to ai_flags.
896         (parse_option): Handle 'i' option to clear idn_flags.
898         * malloc/malloc.c (_int_free): Possible race in the most recently
899         added check.  Only act on the data if no current modification
900         happened.
902 See ChangeLog.17 for earlier changes.