1 2010-09-30 Andreas Jaeger <aj@suse.de>
3 * sysdeps/unix/sysv/linux_fsinfo.h (BTRFS_SUPER_MAGIC): Define.
4 (CGROUP_SUPER_MAGIC): Define.
5 * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
6 Handle btrfs and cgroup file systems.
7 * sysdeps/unix/sysv/linux/pathconf.c (__statfs_filesize_max):
10 2010-09-27 Luis Machado <luisgpm@br.ibm.com>
12 * sysdeps/powerpc/powerpc32/rtld-memset.c: New file.
13 * sysdeps/powerpc/powerpc64/rtld-memset.c: New file.
15 2010-09-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
18 * sysdeps/s390/s390-32/elf/start.S: Fix address calculation when
19 trying to locate the ELF header.
21 2010-09-27 Andreas Schwab <schwab@redhat.com>
24 * sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS):
25 Mask out sign-bit copies when constructing f_fsid.
27 2010-09-24 Petr Baudis <pasky@suse.cz>
29 * debug/stack_chk_fail_local.c: Add missing licence exception.
30 * debug/warning-nop.c: Likewise.
32 2010-09-15 Joseph Myers <joseph@codesourcery.com>
34 * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): When
35 implementing getdents64 using getdents syscall, set d_type if
36 __ASSUME_GETDENTS32_D_TYPE.
38 2010-09-16 Andreas Schwab <schwab@redhat.com>
40 * elf/dl-close.c (free_slotinfo, free_mem): Move to...
41 * elf/dl-libc.c (free_slotinfo, free_mem): ... here.
43 2010-09-21 Ulrich Drepper <drepper@redhat.com>
46 * posix/unistd.h: Undo change of feature selection for ftruncate from
49 2010-09-20 Ulrich Drepper <drepper@redhat.com>
51 * sysdeps/x86_64/strcmp.S: Fix another typo in x86-64 strncasecmp limit
54 2010-09-20 Andreas Schwab <schwab@redhat.com>
56 * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add
58 * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Likewise.
60 2010-09-14 Andreas Schwab <schwab@redhat.com>
62 * sysdeps/s390/s390-32/__longjmp.c (__longjmp): Define register
63 variables after CHECK_SP call.
64 * sysdeps/s390/s390-64/__longjmp.c (__longjmp): Likewise.
66 2010-09-13 Andreas Schwab <schwab@redhat.com>
67 Ulrich Drepper <drepper@redhat.com>
69 * elf/rtld.c (dl_main): Set GLRO(dl_init_all_dirs) just before
71 * elf/dl-support.c (_dl_non_dynamic_init): And here after the
73 * elf/dl-load.c (_dl_init_paths). Don't set GLRO(dl_init_all_dirs)
76 2010-09-14 Ulrich Drepper <drepper@redhat.com>
78 * resolv/res_init.c (__res_vinit): Count the default server we added.
80 2010-09-08 Chung-Lin Tang <cltang@codesourcery.com>
81 Ulrich Drepper <drepper@redhat.com>
84 * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
85 (____longjmp_chk): Use %ebx for saving value across system call.
88 2010-09-06 Andreas Schwab <schwab@redhat.com>
90 * manual/Makefile: Don't mix pattern rules with normal rules.
92 2010-09-05 Andreas Schwab <schwab@linux-m68k.org>
94 * debug/vdprintf_chk.c (__vdprintf_chk): Remove undefined
96 * libio/iofdopen.c (_IO_new_fdopen): Likewise.
97 * libio/iofopncook.c (_IO_cookie_init): Likewise.
98 * libio/iovdprintf.c (_IO_vdprintf): Likewise.
99 * libio/oldiofdopen.c (_IO_old_fdopen): Likewise.
100 * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela):
103 2010-09-04 Ulrich Drepper <drepper@redhat.com>
106 * iconvdata/gconv-modules: Remove EBCDIC-CP-AR2 alias from
107 IBM-930, IBM-933, IBM-935, IBM-937, and IBM-939.
109 2010-09-02 Ulrich Drepper <drepper@redhat.com>
111 * sysdeps/x86_64/add_n.S: Update from GMP 5.0.1.
112 * sysdeps/x86_64/addmul_1.S: Likewise.
113 * sysdeps/x86_64/lshift.S: Likewise.
114 * sysdeps/x86_64/mul_1.S: Likewise.
115 * sysdeps/x86_64/rshift.S: Likewise.
116 * sysdeps/x86_64/sub_n.S: Likewise.
117 * sysdeps/x86_64/submul_1.S: Likewise.
119 2010-09-01 Samuel Thibault <samuel.thibault@ens-lyon.org>
121 This aligns bits/sched.h onto sysdeps/unix/sysv/linux/bits/sched.h:
122 Define __sched_param instead of SCHED_* and sched_param when
123 <bits/sched.h> is included with __need_schedparam defined.
124 * bits/sched.h [__need_schedparam]
125 (SCHED_OTHER, SCHED_FIFO, SCHED_RR, sched_param): Do not define.
126 [!__defined_schedparam && (__need_schedparam || _SCHED_H)]
127 (__defined_schedparam): Define to 1.
128 (__sched_param): New structure, identical to sched_param.
129 (__need_schedparam): Undefine.
131 2010-08-31 Mike Frysinger <vapier@gentoo.org>
133 * sysdeps/unix/sysv/linux/sparc/sys/epoll.h (epoll_create2): Delete.
134 (epoll_create1): Declare.
136 * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Fix typo.
138 2010-08-31 Andreas Schwab <schwab@redhat.com>
141 * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix array overflow when
142 shifting retval into place.
144 2010-09-01 Ulrich Drepper <drepper@redhat.com>
146 * nis/rpcsvc/nis.h: Update copyright notice.
147 * nis/rpcsvc/nis.x: Likewise.
148 * nis/rpcsvc/nis_callback.h: Likewise.
149 * nis/rpcsvc/nis_callback.x: Likewise.
150 * nis/rpcsvc/nis_object.x: Likewise.
151 * nis/rpcsvc/nis_tags.h: Likewise.
152 * nis/rpcsvc/yp.h: Likewise.
153 * nis/rpcsvc/yp.x: Likewise.
154 * nis/rpcsvc/ypupd.h: Likewise.
155 * nis/yp_xdr.c: Likewise.
156 * nis/ypupdate_xdr.c: Likewise.
158 * sunrpc/pm_getport.c (__libc_rpc_getport): New function. This is
159 mainly the body of pmap_getport. Add parameters to specify timeouts.
160 (pmap_getport): Use __libc_rpc_getport.
161 * sunrpc/Versions: Export __libc_rpc_getport with GLIBC_PRIVATE.
162 * include/rpc/pmap_clnt.h: Declare __libc_rpc_getport.
163 * nis/nis_findserv.c: Remove pmap_getport copy. Use __libc_rpc_getport.
165 2010-08-31 Andreas Schwab <schwab@linux-m68k.org>
167 * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Add
170 2010-08-27 Roland McGrath <roland@redhat.com>
172 * sysdeps/i386/i686/multiarch/Makefile
173 (CFLAGS-varshift.c): New variable.
175 2010-08-27 Ulrich Drepper <drepper@redhat.com>
177 * sysdeps/i386/i686/multiarch/varshift.S: File removed.
178 * sysdeps/i386/i686/multiarch/varshift.c: New file.
180 * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Move to .text.slow section.
182 * sysdeps/x86_64/strlen.S: Minimal code improvement.
184 2010-08-26 H.J. Lu <hongjiu.lu@intel.com>
186 * sysdeps/x86_64/strlen.S: Unroll the loop.
187 * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
188 strlen-sse2 strlen-sse2-bsf.
189 * sysdeps/x86_64/multiarch/strlen.S ((strlen): Return
190 __strlen_no_bsf if bit_Slow_BSF is set.
191 (__strlen_sse42): Removed.
192 * sysdeps/x86_64/multiarch/strlen-no-bsf.S: New file.
193 * sysdeps/x86_64/multiarch/strlen-sse4.S: New file.
195 2010-08-25 Roland McGrath <roland@redhat.com>
197 * sysdeps/x86_64/multiarch/varshift.S: File removed.
198 * sysdeps/x86_64/multiarch/varshift.c: New file.
199 * sysdeps/x86_64/multiarch/Makefile (CFLAGS-varshift.c): New variable.
200 * sysdeps/x86_64/multiarch/varshift.h: Clean up decls, fix a cast.
201 * sysdeps/x86_64/multiarch/memmove.c: Move decls around.
202 * sysdeps/x86_64/multiarch/memmove_chk.c: Likewise.
204 2010-08-25 H.J. Lu <hongjiu.lu@intel.com>
206 * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
207 strlen-sse2 strlen-sse2-bsf.
208 * sysdeps/i386/i686/multiarch/strlen.S (strlen): Return
209 __strlen_sse2_bsf if bit_Slow_BSF is unset.
210 (__strlen_sse2): Removed.
211 * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: New file.
212 * sysdeps/i386/i686/multiarch/strlen-sse2.S: New file.
213 * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Set
214 bit_Slow_BSF for Atom.
215 * sysdeps/x86_64/multiarch/init-arch.h (bit_Slow_BSF): Define.
216 (index_Slow_BSF): Define.
217 (HAS_SLOW_BSF): Define.
219 2010-08-25 Ulrich Drepper <drepper@redhat.com>
222 * resolv/res_init.c (__res_vinit): When no server address at all
223 is given default to loopback.
225 2010-08-24 Roland McGrath <roland@redhat.com>
227 * configure.in: Remove config-name.h generation.
228 * configure: Regenerated.
229 * config-name.in: File removed.
230 * scripts/config-uname.sh: New file.
231 * posix/Makefile (uname.c): Depend on $(objdir)config-name.h.
232 ($(objdir)config-name.h): New target.
234 * sunrpc/rpc_parse.h: Avoid nested comment.
236 2010-08-24 Richard Henderson <rth@redhat.com>
237 Ulrich Drepper <drepper@redhat.com>
238 H.J. Lu <hongjiu.lu@intel.com>
240 * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add varshift.
241 * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Likewise.
242 * sysdeps/x86_64/multiarch/strcspn-c.c: Include "varshift.h".
243 Replace _mm_srli_si128 with __m128i_shift_right. Replace
244 _mm_alignr_epi8 with _mm_loadu_si128.
245 * sysdeps/x86_64/multiarch/strspn-c.c: Likewise.
246 * sysdeps/x86_64/multiarch/strstr.c: Include "varshift.h".
247 (__m128i_shift_right): Removed.
248 * sysdeps/i386/i686/multiarch/varshift.h: New file.
249 * sysdeps/i386/i686/multiarch/varshift.S: New file.
250 * sysdeps/x86_64/multiarch/varshift.h: New file.
251 * sysdeps/x86_64/multiarch/varshift.S: New file.
253 2010-08-21 Mike Frysinger <vapier@gentoo.org>
255 * configure.in: Move assembler checks to before sysdep dir checking.
257 2010-08-20 Petr Baudis <pasky@suse.cz>
259 * LICENSES: Sync the sunrpc license.
261 2010-08-19 Ulrich Drepper <drepper@redhat.com>
263 * sunrpc/auth_des.c: Update copyright notice once again.
264 * sunrpc/auth_none.c: Likewise.
265 * sunrpc/auth_unix.c: Likewise.
266 * sunrpc/authdes_prot.c: Likewise.
267 * sunrpc/authuxprot.c: Likewise.
268 * sunrpc/bindrsvprt.c: Likewise.
269 * sunrpc/clnt_gen.c: Likewise.
270 * sunrpc/clnt_perr.c: Likewise.
271 * sunrpc/clnt_raw.c: Likewise.
272 * sunrpc/clnt_simp.c: Likewise.
273 * sunrpc/clnt_tcp.c: Likewise.
274 * sunrpc/clnt_udp.c: Likewise.
275 * sunrpc/clnt_unix.c: Likewise.
276 * sunrpc/des_crypt.c: Likewise.
277 * sunrpc/des_soft.c: Likewise.
278 * sunrpc/get_myaddr.c: Likewise.
279 * sunrpc/getrpcport.c: Likewise.
280 * sunrpc/key_call.c: Likewise.
281 * sunrpc/key_prot.c: Likewise.
282 * sunrpc/openchild.c: Likewise.
283 * sunrpc/pm_getmaps.c: Likewise.
284 * sunrpc/pm_getport.c: Likewise.
285 * sunrpc/pmap_clnt.c: Likewise.
286 * sunrpc/pmap_prot.c: Likewise.
287 * sunrpc/pmap_prot2.c: Likewise.
288 * sunrpc/pmap_rmt.c: Likewise.
289 * sunrpc/rpc/auth.h: Likewise.
290 * sunrpc/rpc/auth_unix.h: Likewise.
291 * sunrpc/rpc/clnt.h: Likewise.
292 * sunrpc/rpc/des_crypt.h: Likewise.
293 * sunrpc/rpc/key_prot.h: Likewise.
294 * sunrpc/rpc/netdb.h: Likewise.
295 * sunrpc/rpc/pmap_clnt.h: Likewise.
296 * sunrpc/rpc/pmap_prot.h: Likewise.
297 * sunrpc/rpc/pmap_rmt.h: Likewise.
298 * sunrpc/rpc/rpc.h: Likewise.
299 * sunrpc/rpc/rpc_des.h: Likewise.
300 * sunrpc/rpc/rpc_msg.h: Likewise.
301 * sunrpc/rpc/svc.h: Likewise.
302 * sunrpc/rpc/svc_auth.h: Likewise.
303 * sunrpc/rpc/types.h: Likewise.
304 * sunrpc/rpc/xdr.h: Likewise.
305 * sunrpc/rpc_clntout.c: Likewise.
306 * sunrpc/rpc_cmsg.c: Likewise.
307 * sunrpc/rpc_common.c: Likewise.
308 * sunrpc/rpc_cout.c: Likewise.
309 * sunrpc/rpc_dtable.c: Likewise.
310 * sunrpc/rpc_hout.c: Likewise.
311 * sunrpc/rpc_main.c: Likewise.
312 * sunrpc/rpc_parse.c: Likewise.
313 * sunrpc/rpc_parse.h: Likewise.
314 * sunrpc/rpc_prot.c: Likewise.
315 * sunrpc/rpc_sample.c: Likewise.
316 * sunrpc/rpc_scan.c: Likewise.
317 * sunrpc/rpc_scan.h: Likewise.
318 * sunrpc/rpc_svcout.c: Likewise.
319 * sunrpc/rpc_tblout.c: Likewise.
320 * sunrpc/rpc_util.c: Likewise.
321 * sunrpc/rpc_util.h: Likewise.
322 * sunrpc/rpcinfo.c: Likewise.
323 * sunrpc/rpcsvc/bootparam_prot.x: Likewise.
324 * sunrpc/rpcsvc/key_prot.x: Likewise.
325 * sunrpc/rpcsvc/klm_prot.x: Likewise.
326 * sunrpc/rpcsvc/mount.x: Likewise.
327 * sunrpc/rpcsvc/nfs_prot.x: Likewise.
328 * sunrpc/rpcsvc/nlm_prot.x: Likewise.
329 * sunrpc/rpcsvc/rex.x: Likewise.
330 * sunrpc/rpcsvc/rstat.x: Likewise.
331 * sunrpc/rpcsvc/rusers.x: Likewise.
332 * sunrpc/rpcsvc/sm_inter.x: Likewise.
333 * sunrpc/rpcsvc/spray.x: Likewise.
334 * sunrpc/rpcsvc/yppasswd.x: Likewise.
335 * sunrpc/rtime.c: Likewise.
336 * sunrpc/svc.c: Likewise.
337 * sunrpc/svc_auth.c: Likewise.
338 * sunrpc/svc_authux.c: Likewise.
339 * sunrpc/svc_raw.c: Likewise.
340 * sunrpc/svc_run.c: Likewise.
341 * sunrpc/svc_simple.c: Likewise.
342 * sunrpc/svc_tcp.c: Likewise.
343 * sunrpc/svc_udp.c: Likewise.
344 * sunrpc/svc_unix.c: Likewise.
345 * sunrpc/svcauth_des.c: Likewise.
346 * sunrpc/xcrypt.c: Likewise.
347 * sunrpc/xdr.c: Likewise.
348 * sunrpc/xdr_array.c: Likewise.
349 * sunrpc/xdr_float.c: Likewise.
350 * sunrpc/xdr_mem.c: Likewise.
351 * sunrpc/xdr_rec.c: Likewise.
352 * sunrpc/xdr_ref.c: Likewise.
353 * sunrpc/xdr_sizeof.c: Likewise.
354 * sunrpc/xdr_stdio.c: Likewise.
356 * sysdeps/x86_64/multiarch/strcmp.S: Fix two typos in strncasecmp
359 2010-08-19 Andreas Schwab <schwab@redhat.com>
361 * sysdeps/i386/i686/multiarch/strspn.S [!SHARED]: Fix SSE4.2 check.
363 2010-08-19 Luis Machado <luisgpm@br.ibm.com>
365 * sysdeps/powerpc/powerpc32/power7/memchr.S: New file.
366 * sysdeps/powerpc/powerpc32/power7/memrchr.S: New file.
367 * sysdeps/powerpc/powerpc32/power7/rawmemchr.S: New file.
368 * sysdeps/powerpc/powerpc32/power7/strchr.S: New file.
369 * sysdeps/powerpc/powerpc32/power7/strchrnul.S: New file.
370 * sysdeps/powerpc/powerpc32/power7/strlen.S: New file.
371 * sysdeps/powerpc/powerpc32/power7/strnlen.S: New file.
372 * sysdeps/powerpc/powerpc64/power7/memchr.S: New file.
373 * sysdeps/powerpc/powerpc64/power7/memrchr.S: New file.
374 * sysdeps/powerpc/powerpc64/power7/rawmemchr.S: New file.
375 * sysdeps/powerpc/powerpc64/power7/strchr.S: New file.
376 * sysdeps/powerpc/powerpc64/power7/strchrnul.S: New file.
377 * sysdeps/powerpc/powerpc64/power7/strlen.S: New file.
378 * sysdeps/powerpc/powerpc64/power7/strnlen.S: New file.
380 2010-07-26 Anton Blanchard <anton@samba.org>
382 * malloc/malloc.c (sYSTRIm): Replace divide and multiply with mask.
383 * malloc/arena.c (heap_trim): Likewise.
385 2010-08-16 Ulrich Drepper <drepper@redhat.com>
387 * sysdeps/unix/sysv/linux/syscalls.list: Add entry for fanotify_init
389 * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: ...here...
390 * sysdeps/unix/sysv/linux/i386/syscalls.list: ... orhere.
392 2010-08-12 H.J. Lu <hongjiu.lu@intel.com>
394 * sysdeps/i386/elf/Makefile: New file.
396 2010-08-14 Andreas Schwab <schwab@linux-m68k.org>
398 * sysdeps/unix/sysv/linux/sys/fanotify.h: Remove third argument
400 * sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise.
401 * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
403 2010-08-15 Ulrich Drepper <drepper@redhat.com>
405 * sysdeps/x86_64/strcmp.S: Use correct register for fourth parameter
407 * sysdeps/multiarch/strcmp.S: Likewise.
409 2010-08-14 Ulrich Drepper <drepper@redhat.com>
411 * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
413 * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
414 Add strncase_l-ssse3.
415 * sysdeps/x86_64/multiarch/strcmp.S: Prepare for use as strncasecmp.
416 * sysdeps/x86_64/strcmp.S: Likewise.
417 * sysdeps/x86_64/multiarch/strncase_l-ssse3.S: New file.
418 * sysdeps/x86_64/multiarch/strncase_l.S: New file.
419 * sysdeps/x86_64/strncase.S: New file.
420 * sysdeps/x86_64/strncase_l-nonascii.c: New file.
421 * sysdeps/x86_64/strncase_l.S: New file.
422 * string/Makefile (strop-tests): Add strncasecmp.
423 * string/test-strncasecmp.c: New file.
425 * sysdeps/x86_64/strcasecmp_l-nonascii.c: Add prototype to avoid
428 * sysdeps/x86_64/strcmp.S: Move definition of NO_NOLOCALE_ALIAS to...
429 * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: ... here.
431 2010-08-14 Andreas Schwab <schwab@linux-m68k.org>
433 * sysdeps/unix/sysv/linux/prlimit.c: Make it compile.
435 2010-08-12 Ulrich Drepper <drepper@redhat.com>
437 * sysdeps/unix/sysv/linux/bits/termios.h: Define EXTPROC.
438 * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
439 * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
441 2010-05-01 Alan Modra <amodra@gmail.com>
443 * sysdeps/powerpc/powerpc32/power4/memcmp.S: Correct cfi for r24.
444 * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Move contents..
445 * sysdeps/powerpc/powerpc64/bsd-setjmp.S: ..and these too..
446 * sysdeps/powerpc/powerpc64/setjmp.S: ..to here..
447 * sysdeps/powerpc/powerpc64/setjmp-common.S: ..and here, with some
448 tidying. Don't tail-call __sigjmp_save for static lib.
449 * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): Correct
451 (CFI_SAVE_ARG, CFI_REST_ARG): New macros.
452 (CALL_MCOUNT): Add eh info, and nop after bl.
453 (TAIL_CALL_SYSCALL_ERROR): New macro.
454 (PSEUDO_RET): Use it.
455 * sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_runtime_resolve):
456 Correct save location of integer regs and cr.
457 (_dl_profile_resolve): Correct cr save location. Delete nops
458 after bl when SHARED. Reduce cfi size a little by better
459 placement of cfi directives.
460 * sysdeps/powerpc/powerpc64/fpu/s_copysign.S (__copysign): Don't
461 make a stack frame. Instead use parm save area as a temp.
462 * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Don't
463 make a stack frame. Use TAIL_CALL_SYSCALL_ERROR.
464 * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone):
465 Don't make a stack frame for parent, use parm save area.
466 Increase child stack frame to 112 bytes. Don't save unused reg,
467 and adjust reg usage. Set up cfi on error recovery and
468 epilogue of parent, and use TAIL_CALL_SYSCALL_ERROR, PSEUDO_RET.
469 * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
470 (__makecontext): Add dummy nop after jump to exit.
471 * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S (__socket):
472 Use correct parm save area and cr save, reduce stack frame.
473 Correct cfi for possible PSEUDO_RET frame setup.
474 * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S (__vfork):
475 Branch to local label emitted by PSEUDO_RET rather than
478 2010-08-12 Andreas Schwab <schwab@redhat.com>
481 * locale/programs/locale.c (print_assignment): New function.
482 (show_locale_vars): Use it.
484 2010-08-11 Ulrich Drepper <drepper@redhat.com>
486 * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_flags
488 (struct statfs64): Likewise.
489 (_STATFS_F_FLAGS): Define.
490 * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise.
491 * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
492 Don't define if __ASSUME_STATFS_F_FLAGS is defined.
493 (ST_VALID): Define locally.
494 (INTERNAL_STATVFS): If f_flags has ST_VALID set don't call
495 __statvfs_getflags, use the provided value.
496 * sysdeps/unix/sysv/linux/kernel-features.h: Define
497 __ASSUME_STATFS_F_FLAGS.
499 * sysdeps/unix/sysv/linux/sys/inotify.h (IN_EXCL_UNLINK): Define.
501 * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
503 * sysdeps/unix/sysv/linux/Versions [libc]: Export fanotify_init and
504 fanotify_mask for GLIBC_2.13.
505 * sysdeps/unix/sysv/linux/i386/syscalls.list: Add entries for
506 fanotify_init and fanotify_mark.
507 * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
508 * sysdeps/unix/sysv/linux/sys/fanotify.h: New file.
510 * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_routines):
512 * sysdeps/unix/sysv/linux/Versions [libc]: Export prlimit and
513 prlimit64 for GLIBC_2.13.
514 * sysdeps/unix/sysv/linux/bits/resource.h: Declare prlimit and
516 * sysdeps/unix/sysv/linux/i386/syscalls.list: Add entry for prlimit64
518 * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
519 * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Likewise.
520 * sysdeps/unix/sysv/linux/sh/syscalls.list: Likewise.
521 * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.lis: Likewise.
522 * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. Also
524 * sysdeps/unix/sysv/linux/prlimit.c: New file.
527 * sysdeps/generic/netinet/ip.h (IPTOS_CLASS): Fix definition.
528 Patch by Evgeni Bikov <bikovevg@iitp.ru>.
530 * nss/Makefile: Add rules to build and run tst-nss-test1.
531 * shlib-versions: Add entry for libnss_test1.
532 * nss/nss_test1.c: New file.
533 * nss/tst-nss-test1.c: New file.
535 * nss/nsswitch.c (__nss_database_custom): Define new variable.
536 (__nss_configure_lookup): Set appropriate entry in
537 __nss_configure_lookup to true.
538 * nss/nsswitch.h: Define enum with indeces of databases in
539 databases and __nss_database_custom arrays. Declare
540 __nss_database_custom.
541 * grp/initgroups.c (internal_getgrouplist): Use __nss_database_custom
542 to avoid using nscd when custom rules are installed.
543 * nss/getXXbyYY_r.c: Likewise.
544 * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
546 * nss/nss_files/files-parse.c: Whitespace fixes.
548 2010-08-09 Ulrich Drepper <drepper@redhat.com>
551 * posix/fnmatch.c: Keep track of alloca use and fall back on malloc.
552 * posix/fnmatch_loop.c: Likewise.
554 2010-07-17 Andi Kleen <ak@linux.intel.com>
556 * sysdeps/i386/i386-mcount.S (__fentry__): Define.
557 * sysdeps/x86_64/_mcount.S (__fentry__): Define.
558 * stdlib/Versions (__fentry__): Add for GLIBC 2.13
559 * Versions.def [GLIBC_2.13]: Add.
561 2010-08-06 Ulrich Drepper <drepper@redhat.com>
563 * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
564 Also fail if tpwd after pwuid call is NULL.
566 2010-07-31 Samuel Thibault <samuel.thibault@ens-lyon.org>
568 * hurd/hurdselect.c (_hurd_select): Round timeout up instead of down
569 when converting to ms.
571 2010-06-06 Samuel Thibault <samuel.thibault@ens-lyon.org>
573 * sysdeps/mach/hurd/ttyname.c (ttyname): Replace MIG_BAD_ID and
574 EOPNOTSUPP errors with ENOTTY.
575 * sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Replace MIG_BAD_ID and
576 EOPNOTSUPP errors with ENOTTY.
578 2010-07-31 Ulrich Drepper <drepper@redhat.com>
580 * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
581 Add strcasecmp_l-ssse3.
582 * sysdeps/x86_64/multiarch/strcmp.S: Add support to compile for
584 * sysdeps/x86_64/strcmp.S: Allow more flexible compiling of strcasecmp.
585 * sysdeps/x86_64/multiarch/strcasecmp_l.S: New file.
586 * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: New file.
588 2010-07-30 Ulrich Drepper <drepper@redhat.com>
590 * sysdeps/x86_64/multiarch/strcmp.S: Pretty printing.
592 * string/Makefile (strop-tests): Add strcasecmp.
593 * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
594 strcasecmp_l-nonascii.
595 (gen-as-const-headers): Add locale-defines.sym.
596 * sysdeps/x86_64/strcmp.S: Add support for strcasecmp implementation.
597 * sysdeps/x86_64/strcasecmp.S: New file.
598 * sysdeps/x86_64/strcasecmp_l.S: New file.
599 * sysdeps/x86_64/strcasecmp_l-nonascii.c: New file.
600 * sysdeps/x86_64/locale-defines.sym: New file.
601 * string/test-strcasecmp.c: New file.
603 * string/test-strcasestr.c: Test both ends of the range of characters.
604 * sysdeps/x86_64/multiarch/strstr.c: Fix UCHIGH definition.
606 2010-07-29 Roland McGrath <roland@redhat.com>
609 * manual/locale.texi (Yes-or-No Questions): Fix example code.
611 2010-07-27 Ulrich Drepper <drepper@redhat.com>
613 * sysdeps/x86_64/multiarch/strcmp-ssse3.S: Avoid compiling the file
616 2010-07-27 Andreas Schwab <schwab@redhat.com>
618 * manual/memory.texi (Malloc Tunable Parameters): Document
621 2010-07-26 Roland McGrath <roland@redhat.com>
624 * configure.in (-fgnu89-inline check): Set and substitute
625 gnu89_inline, not libc_cv_gnu89_inline.
626 * configure: Regenerated.
627 * config.make.in (gnu89-inline-CFLAGS): Use @gnu89_inline@.
629 2010-07-26 Ulrich Drepper <drepper@redhat.com>
631 * string/test-strnlen.c: New file.
632 * string/Makefile (strop-tests): Add strnlen.
633 * string/tester.c (test_strnlen): Add a few more test cases.
634 * string/tst-strlen.c: Better error reporting.
636 * sysdeps/x86_64/strnlen.S: New file.
638 2010-07-24 Ulrich Drepper <drepper@redhat.com>
640 * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use
641 lower-latency instructions.
643 2010-07-23 Ulrich Drepper <drepper@redhat.com>
645 * string/test-strcasestr.c: New file.
646 * string/test-strstr.c: New file.
647 * string/Makefile (strop-tests): Add strstr and strcasestr.
648 * string/str-two-way.h: Don't undefine MAX.
649 * string/strcasestr.c: Don't define alias if NO_ALIAS is defined.
651 2010-07-21 Andreas Schwab <schwab@redhat.com>
653 * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
655 (CFLAGS-strcasestr-nonascii.c): Define.
656 * sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file.
657 * sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42):
658 Remove unused attribute.
660 2010-07-20 Roland McGrath <roland@redhat.com>
662 * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to
663 dl_hwcap_mask as well as dl_hwcap. Without this, dsocaps matching in
664 ld.so.cache was broken. With it, there is no way to disable dsocaps
665 like LD_HWCAP_MASK can disable hwcaps.
667 2010-06-02 Emilio Pozuelo Monfort <pochu27@gmail.com>
669 * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Fix memory leaks.
671 2010-07-16 Ulrich Drepper <drepper@redhat.com>
673 * sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function
675 * sysdeps/x86_64/multiarch/strcasestr.c: Declare
676 __strcasestr_sse42_nonascii.
677 * sysdeps/x86_64/multiarch/Makefile: Add rules to build
678 strcasestr-nonascii.c.
679 * sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file.
681 2010-06-15 Luis Machado <luisgpm@br.ibm.com>
683 * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: New file.
684 * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: New file.
685 * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: New file.
686 * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: New file.
688 2010-07-09 Ulrich Drepper <drepper@redhat.com>
690 * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use __fcntl not
693 2010-07-06 Andreas Schwab <schwab@redhat.com>
695 * elf/dl-version.c (match_symbol): Don't pass NULL occation to
698 2010-07-06 Ulrich Drepper <drepper@redhat.com>
700 * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Implement
701 _PC_PIPE_BUF using F_GETPIPE_SZ.
703 2010-07-05 Roland McGrath <roland@redhat.com>
705 * manual/arith.texi (Rounding Functions): Fix rint description
706 implicit in round description.
708 2010-07-02 Ulrich Drepper <drepper@redhat.com>
710 * elf/Makefile: Fix linking for a few tests to make recent linker
713 2010-06-30 Andreas Schwab <schwab@redhat.com>
715 * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd
716 $(common-objpfx)libc_nonshared.a.
718 2010-06-21 Luis Machado <luisgpm@br.ibm.com>
720 * sysdeps/powerpc/powerpc32/970/fpu/Implies: Remove.
721 * sysdeps/powerpc/powerpc32/power5/fpu/Implies: Remove.
722 * sysdeps/powerpc/powerpc32/power5+/fpu/Implies: Remove.
723 * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: Remove.
724 * sysdeps/powerpc/powerpc64/970/fpu/Implies: Remove.
725 * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Remove.
726 * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove.
727 * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Remove.
728 * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: Remove.
729 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies: Remove.
730 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies: Remove.
731 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies: Remove.
732 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies: Remove.
733 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies: Remove.
734 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Remove.
735 * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: Remove.
736 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies: Remove.
737 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies: Remove.
738 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies: Remove.
739 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies: Remove.
740 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies: Remove.
741 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Remove.
742 * sysdeps/powerpc/powerpc32/970/Implies: Point to power4.
743 * sysdeps/powerpc/powerpc32/power5/Implies: Point to power4.
744 * sysdeps/powerpc/powerpc32/power5+/Implies: Point to power5.
745 * sysdeps/powerpc/powerpc32/power6/Implies: Point to power5+.
746 * sysdeps/powerpc/powerpc32/power6x/Implies: Point to power6.
747 * sysdeps/powerpc/powerpc64/970/Implies: Point to power4.
748 * sysdeps/powerpc/powerpc64/power5/Implies: Point to power4.
749 * sysdeps/powerpc/powerpc64/power5+/Implies: Point to power5.
750 * sysdeps/powerpc/powerpc64/power6/Implies: Point to power5+.
751 * sysdeps/powerpc/powerpc64/power6x/Implies: Point to power6.
752 * sysdeps/powerpc/powerpc32/power7/Implies: New file.
753 * sysdeps/powerpc/powerpc64/power7/Implies: New file.
754 * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies: New file.
755 * sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies: New file.
756 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/Implies: New file.
757 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/Implies: New file.
758 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/Implies: New file.
759 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/Implies: New file.
760 * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/Implies: New file.
761 * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: New file.
762 * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: New file.
763 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/Implies: New file.
764 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/Implies: New file.
765 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/Implies: New file.
766 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/Implies: New file.
767 * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/Implies: New file.
769 2010-06-25 H.J. Lu <hongjiu.lu@intel.com>
771 * debug/memmove_chk.c (__memmove_chk): Renamed to ...
772 (MEMMOVE_CHK): ...this. Default to __memmove_chk.
773 * string/memmove.c (memmove): Renamed to ...
774 (MEMMOVE): ...this. Default to memmove.
775 * sysdeps/x86_64/memcpy.S: Use ENTRY_CHK and END_CHK.
776 * sysdeps/x86_64/sysdep.h (ENTRY_CHK): Define.
778 * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
779 memcpy-ssse3 mempcpy-ssse3 memmove-ssse3 memcpy-ssse3-back
780 mempcpy-ssse3-back memmove-ssse3-back.
781 * sysdeps/x86_64/multiarch/bcopy.S: New file .
782 * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: New file.
783 * sysdeps/x86_64/multiarch/memcpy-ssse3.S: New file.
784 * sysdeps/x86_64/multiarch/memcpy.S: New file.
785 * sysdeps/x86_64/multiarch/memcpy_chk.S: New file.
786 * sysdeps/x86_64/multiarch/memmove-ssse3-back.S: New file.
787 * sysdeps/x86_64/multiarch/memmove-ssse3.S: New file.
788 * sysdeps/x86_64/multiarch/memmove.c: New file.
789 * sysdeps/x86_64/multiarch/memmove_chk.c: New file.
790 * sysdeps/x86_64/multiarch/mempcpy-ssse3-back.S: New file.
791 * sysdeps/x86_64/multiarch/mempcpy-ssse3.S: New file.
792 * sysdeps/x86_64/multiarch/mempcpy.S: New file.
793 * sysdeps/x86_64/multiarch/mempcpy_chk.S: New file.
794 * sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Copy_Backward):
796 (index_Fast_Copy_Backward): Define.
797 (HAS_ARCH_FEATURE): Define.
798 (HAS_FAST_REP_STRING): Define.
799 (HAS_FAST_COPY_BACKWARD): Define.
801 2010-06-21 Andreas Schwab <schwab@redhat.com>
803 * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
804 Restore proper fallback handling.
806 2010-06-19 Ulrich Drepper <drepper@redhat.com>
809 * posix/group_member.c (__group_member): Correct checking loop.
811 * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
812 OOM in getpwuid_r correctly. Return error number when the caller
813 should return, otherwise -1.
814 (getlogin_r): Adjust to return also for result of __getlogin_r_loginuid
815 call returning > 0 value.
816 * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise.
818 2010-06-07 Andreas Schwab <schwab@redhat.com>
820 * dlfcn/Makefile: Remove explicit dependencies on libc.so and
821 libc_nonshared.a from targets in modules-names.
823 2010-06-02 Kirill A. Shutemov <kirill@shutemov.name>
825 * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch
828 2010-06-10 Luis Machado <luisgpm@br.ibm.com>
830 * sysdeps/powerpc/powerpc32/power7/memcmp.S: New file
831 * sysdeps/powerpc/powerpc64/power7/memcmp.S: New file.
832 * sysdeps/powerpc/powerpc32/power7/strncmp.S: New file.
833 * sysdeps/powerpc/powerpc64/power7/strncmp.S: New file.
835 2010-06-02 Andreas Schwab <schwab@redhat.com>
837 * nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer.
839 2010-06-14 Ulrich Drepper <drepper@redhat.com>
841 * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Define F_SETPIPE_SZ
843 * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
844 * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
845 * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
846 * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
847 * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
848 * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise
850 2010-06-14 Roland McGrath <roland@redhat.com>
852 * manual/libc.texinfo (@copying): Change to GFDL v1.3.
854 2010-06-07 Jakub Jelinek <jakub@redhat.com>
856 * libio/stdio.h (sscanf, vsscanf): Use __REDIRECT_NTH instead of
857 __REDIRECT followed by __THROW.
858 * wcsmbs/wchar.h (swscanf, vswscanf): Likewise.
859 * posix/getopt.h (getopt): Likewise.
861 2010-06-02 Emilio Pozuelo Monfort <pochu27@gmail.com>
863 * hurd/lookup-at.c (__file_name_lookup_at): Accept
864 AT_SYMLINK_FOLLOW in AT_FLAGS. Fail with EINVAL if both
865 AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW are present
867 * hurd/hurd/fd.h (__file_name_lookup_at): Update comment.
868 * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS.
870 2010-05-28 Luis Machado <luisgpm@br.ibm.com>
872 * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi.
874 2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
877 * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
878 Properly check family and model.
880 2010-05-26 Takashi Yoshii <takashi.yoshii.zj@renesas.com>
882 * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size.
884 2010-05-24 Luis Machado <luisgpm@br.ibm.com>
886 * sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix.
888 2010-05-21 Ulrich Drepper <drepper@redhat.com>
890 * elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak
893 2010-05-19 Andreas Schwab <schwab@redhat.com>
895 * elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak
898 2010-05-21 Andreas Schwab <schwab@redhat.com>
900 * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
901 and internal_recvmmsg.
902 * sysdeps/unix/sysv/linux/recvmmsg.c: New file.
903 * sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file.
904 * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define.
905 * sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove.
907 * sunrpc/clnt_tcp.c (clnttcp_control): Add missing break.
908 * sunrpc/clnt_udp.c (clntudp_control): Likewise.
909 * sunrpc/clnt_unix.c (clntunix_control): Likewise.
911 2010-05-20 Andreas Schwab <schwab@redhat.com>
913 * sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH.
915 2010-05-17 Luis Machado <luisgpm@br.ibm.com>
917 POWER7 optimizations.
918 * sysdeps/powerpc/powerpc64/power7/memset.S: New file.
919 * sysdeps/powerpc/powerpc32/power7/memset.S: New file.
921 2010-05-19 Ulrich Drepper <drepper@redhat.com>
923 * version.h: Update for 2.13 development version.
925 2010-05-12 Andrew Stubbs <ams@codesourcery.com>
927 * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Really disable all
928 exceptions. Return 0.
930 2010-05-07 Roland McGrath <roland@redhat.com>
932 * elf/ldconfig.c (main): Add a const.
934 2010-05-06 Ulrich Drepper <drepper@redhat.com>
936 * nss/getent.c (idn_flags): Default to AI_IDN|AI_CANONIDN.
937 (args_options): Add no-idn option.
938 (ahosts_keys_int): Add idn_flags to ai_flags.
939 (parse_option): Handle 'i' option to clear idn_flags.
941 * malloc/malloc.c (_int_free): Possible race in the most recently
942 added check. Only act on the data if no current modification
945 See ChangeLog.17 for earlier changes.