1 2006-08-28 Jakub Jelinek <jakub@redhat.com>
3 * inet/getnameinfo.c (getnameinfo): For AF_INET, check errno
4 only if herrno is NETDB_INTERNAL. Handle errors other than
5 ERANGE outside of the loops, handle TRY_AGAIN.
7 * locale/programs/ld-ctype.c (translit_flatten): Issue error
8 if other's ctype category was missing.
9 * locale/programs/ld-collate.c (collate_read): Return if
10 copy_locale's collate category is missing.
12 2006-08-27 Ulrich Drepper <drepper@redhat.com>
15 * malloc/malloc.c (public_rEALLOc): Try harder by using other
16 arenas if allocation failed.
17 Patch mostly by Jan Edler <jan.edler@indexengines.com>.
19 2006-08-26 Ulrich Drepper <drepper@redhat.com>
21 * malloc/malloc.c (bin_at): Rewrite to be more clear and to not
23 (malloc_state): Reduce bins size by 2.
24 (_int_malloc): Fix test for large enough buffer for early termination.
25 When no unsorted block matches perfectly and an exiting block has
26 to be split, use full list insert and not shortcut which assumes
29 * locale/programs/ld-ctype.c (ctype_read): Better patch for read
32 2006-08-24 Ulrich Drepper <drepper@redhat.com>
34 * locale/programs/ld-ctype.c (ctype_read): If CTYPE is NULL, don't
37 * sysdeps/generic/ldsodefs.h (DL_ADDR_SYM_MATCH): For undefined
38 symbol require exact match (these are PLTs).
39 * sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h
40 (_dl_ppc64_addr_sym_match): Likewise.
43 * elf/dl-addr.c (_dl_addr): Don't ignore all undefined symbols.
44 If symbol has a value use it.
45 * elf/tst-dladdr1.c: New file.
46 * elf/Makefile: Add rules to build and run tst-addr1.
48 2006-08-24 Jakub Jelinek <jakub@redhat.com>
50 * malloc/malloc.c (sYSMALLOc): Avoid infinite loop if MMAP
51 keeps failing and heap growth or new heap creation isn't
53 * malloc/tst-malloc.c (main): Add new tests.
55 2006-08-24 Ulrich Drepper <drepper@redhat.com>
58 * sysdeps/i386/bits/byteswap.h (__bswap_32): Use same conditions
59 as in the x86-64 code to use bswap.
61 2006-05-21 Joseph S. Myers <joseph@codesourcery.com>
64 * posix/unistd.h (getlogin_r): Condition on __USE_POSIX199506, not
66 * posix/bits/unistd.h: Likewise.
68 2006-05-15 Mike Frysinger <vapier@gentoo.org>
71 * string/strchr.c: Add cast to avoid warning.
73 2006-08-21 Ulrich Drepper <drepper@redhat.com>
75 * malloc/malloc.c (DEFAULT_MMAP_THRESHOLD_MAX): For 32-bit
76 platforms define as 512K. For 64-bit platforms as 32MB. The lower
77 limit is needed to avoid the exploding of the address space
78 requirement for secondary heaps.
79 * malloc/arena.c (HEAP_MAX_SIZE): Define using
80 DEFAULT_MMAP_THRESHOLD_MAX if it is defined.
82 2006-07-30 Joseph S. Myers <joseph@codesourcery.com>
85 * Makerules (depfiles): Handle extra-test-objs the same as
87 (common-mostlyclean): Likewise.
88 * dlfcn/Makefile (extra-objs): Add modules to extra-test-objs
90 * elf/Makefile (extra-objs): Likewise.
91 * stdlib/Makefile (extra-objs): Likewise.
93 2006-08-14 Eric Blake <ebb9@byu.net>
96 * misc/error.h: Assume C89 or better.
97 * misc/error.c: Likewise.
99 2006-08-21 Ulrich Drepper <drepper@redhat.com>
102 * sysdeps/unix/sysv/linux/openat.c: Fix compilation if
103 __ASSUME_ATFCTS is defined.
105 2006-08-19 Ulrich Drepper <drepper@redhat.com>
107 * malloc/malloc.c (_int_malloc): Limit number of unsorted blocks
108 to sort in each call.
110 * nis/nss_nis/nis-service.c (internal_nis_getservent_r): . If map
111 is empty simply return and use next service.
112 * nis/nss_nis/nis-rpc.c (internal_nis_getrpcent_r): Likewise.
114 * locale/programs/charmap.c (charmap_read): Add new parameter. It
115 tells us when not finding a charmap file is an error.
116 * locale/programs/charmap.h: Adjust charmap_read prototype.
117 * iconv/iconv_prog.c (main): Tell charmap_read it's no error if we
118 cannot find a charmap.
119 * locale/programs/localedef.c (main): Adjust charmap_read call.
121 2006-08-15 Jakub Jelinek <jakub@redhat.com>
123 * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Use
124 sysdeps/posix/pause.c implementation instead.
126 2006-08-09 Jakub Jelinek <jakub@redhat.com>
128 * sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority
131 2006-08-13 Andreas Schwab <schwab@suse.de>
133 * sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve):
134 Don't clobber caller's LRSAVE.
135 (_dl_prof_resolve): Likewise.
137 2006-08-14 Ulrich Drepper <drepper@redhat.com>
140 * libio/memstream.c (open_memstream): Allocate initial buffer with
142 * libio/wmemstream.c (open_wmemstream): Likewise.
143 * libio/strops.c: Pretty printing.
144 (_IO_str_overflow): Clear uninitialized part of the new buffer.
145 (enlarge_userbuf): New function.
146 (_IO_str_seekoff): Call it if seek position is larger than current
148 * libio/wstrops.c: Likewise.
149 * libio/vasprintf.c: Add comment as to why we do not have to use
150 calloc instead of malloc to allocate initial buffer.
151 * libio/Makefile (tests): Add bug-memstream1 and bug-wmemstream1.
152 * libio/bug-memstream1.c: New file.
153 * libio/bug-wmemstream1.c: New file.
155 2006-08-13 Ulrich Drepper <drepper@redhat.com>
157 * libio/wstrops.c: Remove dead macro definitions and comments.
158 * libio/strops.c: Likewise.
161 * login/utmpname.c (__utmpname): Remove unnecessary test.
163 2006-06-08 Joseph Myers <jsm28@gcc.gnu.org>
166 * math/gen-libm-test.pl (clean_up_number): Do not remove trailing
169 2006-08-13 Ulrich Drepper <drepper@redhat.com>
172 * sysdeps/unix/sysv/linux/clock_settime.c: Add code to use syscall
174 * sysdeps/unix/clock_settime.c: Add support for platform-specific
175 setting of CPU clocks.
177 2006-06-23 Paul Eggert <eggert@cs.ucla.edu>
180 * sysdeps/generic/stdint.h (UINT8_C, UINT16_C): Don't append 'U',
181 since C99 requires the result to promote to 'int' when uint_least8_t
182 and uint_least16_t promote to 'int'.
184 2006-08-12 Ulrich Drepper <drepper@redhat.com>
187 * locale/programs/ld-ctype.c (ctype_output): Adjust alignments, fix
188 lenght of one output field, correct bitmask creation.
189 * locale/programs/ld-time.c: Add alignment.
192 * misc/error.c: Add space between program name and message if file
195 2006-08-03 Eric Blake <ebb9@byu.net>
198 * misc/error.c (error_tail) [_LIBC]: Avoid invalid free.
200 2006-08-09 Ulrich Drepper <drepper@redhat.com>
202 * malloc/memusagestat.c: Silence warnings.
204 * malloc/malloc.c: Dynamically size mmap treshold if the program
206 Patch by Valerie Henson and Arjan van de Ven.
208 2006-08-08 Jakub Jelinek <jakub@redhat.com>
210 * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_DIRECT): Protect with
213 * stdlib/strtol_l.c (__strtol_ul_max_tab, __strtol_ul_rem_tab,
214 __strtol_ull_max_tab, __strtol_ull_rem_tab): Declare.
215 (DEF): Don't put the var into .gnu.linkonce.r.* section.
216 Only provide var definitions in strtol_l (or for *ull*
219 * stdio-common/bug16.c (tests): New array.
220 (do_tests): Allow the first hexadecimal digit
221 to be 1, 2, 4 or 8. Do 3 additional tests.
223 * sysdeps/s390/fpu/libm-test-ulps: Update.
225 * sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c (fchownat): Use
226 fchownat syscall if available.
227 * sysdeps/unix/sysv/linux/powerpc/fchownat.c (fchownat): Likewise.
228 * sysdeps/unix/sysv/linux/sh/fchownat.c (fchownat): Likewise.
229 * sysdeps/unix/sysv/linux/i386/fchownat.c (fchownat): Likewise.
231 2006-08-07 Ulrich Drepper <drepper@redhat.com>
233 * nis/nis_xdr.c: Avoid some function calls.
235 2006-08-07 Jakub Jelinek <jakub@redhat.com>
236 Ulrich Drepper <drepper@redhat.com>
238 * nis/nis_call.c (rec_dirsearch) [case LOWER_NAME]: Don't take
239 short cut if only one name component is stripped away.
241 2006-08-07 Ulrich Drepper <drepper@redhat.com>
243 * nis/nis_call.c: Minor cleanups throughout.
244 (rec_dirsearch) [case HIGHER_NAME]: Correctly size ndomain array.
245 (first_shoot): Add search_parent_first parameter. Only if it is set
246 search parent server first.
247 If directory for table found through cold start cache is not the same
248 as referenced in the cache, don't use it.
249 (__nisfind_server): Take additional parameter. Pass it on to
251 (__prepare_niscall): Adjust __nisfind_server call.
252 * nis/rpcsvc/nislib.h: Adjust __nisfind_server prototype.
253 * nis/nis_table.c: Adjust __nisfind_server call.
254 * nis/nis_lookup.c: Likewise.
255 (nis_lookup): Don't loop endlessly if name is reduced to ".".
257 2006-08-03 Ulrich Drepper <drepper@redhat.com>
260 * math/s_cacosh.c: Return values from positive branch.
261 * math/s_cacoshf.c: Likewise.
262 * math/s_cacoshl.c: Likewise.
265 * sysvipc/sys/msg.h: Change return value to ssize_t.
266 * sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
267 * sysvipc/msgrcv.c: Likewise.
268 * include/sys/msg.h: Likewise.
270 * grp/initgroups.c (internal_getgrouplist): Remove unnecessary
271 test introduced in patch for bz #661.
272 (getgrouplist): Simplify code a bit. Don't allocate one additional
273 element for NEWGROUPS.
276 * stdio-common/printf_fphex.c (__printf_fphex): When rounding up
277 'f', use '1' as leading digit not '\1'.
278 * stdio-common/Makefile (tests): Add bug16.
279 * stdio-common/bug16.c: New file.
282 * sysdeps/unix/sysv/linux/gethostid.c: Don't define OLD_HOSTIDFILE
283 and don't try to open it. The patch introducing the macro
284 contained a bug and used the same file name as the new file
285 instead of using /var/adm/hostid. Nobody complaint so I'm taking
289 * assert/assert.h: Move cast to void inside ?: to quiet gcc.
290 Patch by Jerry James <Jerry.James@usu.edu>.
292 * rt/Makefile (tests): Add tst-clock2.
293 * rt/tst-clock2.c: New file.
296 * resolv/gai_notify.c (__gai_notify_only): Copy memory for thread
297 function and its parameters and pass it to new thread.
298 (__gai_notify): Add support for alternative waiting for completion.
299 * resolv/gai_suspend.c (gai_suspend): Add support for alternative
300 waiting for completion.
301 * resolv/getaddrinfo_a.c: Likewise.
302 * resolv/gai_misc.h (struct waitlist): Don't add cond if alternative
303 waiting for completion is used.
304 * resolv/gai_misc.c: Allow overwriting code to start helper thread.
305 * resolv/gai_cancel.c: Include <gai_misc.h> not "gai_misc.h".
306 * resolv/gai_error.c: Likewise.
307 * resolv/gai_sigqueue.c: Likewise.
309 2006-08-02 Thomas Schwinge <tschwinge@gnu.org>
311 * hurd/getdport.c (__getdport): Don't return EBADF; instead set
312 errno to EBADF and return MACH_PORT_NULL.
314 2006-06-23 Joseph Myers <joseph@codesourcery.com>
317 * posix/Makefile (CFLAGS-waitid.c): Add -fasynchronous-unwind-tables.
319 2006-08-02 Ulrich Drepper <drepper@redhat.com>
321 * elf/dl-addr.c (_dl_addr): If GNU-style hash tables are present,
322 walk them instead of the symbol table.
324 2006-08-01 Ulrich Drepper <drepper@redhat.com>
327 * nscd/initgrcache.c (addinitgroupsX): Judge successful lookups by
328 status of NSS calls, not the number of returned entries.
330 * sysdeps/unix/sysv/linux/syscalls.list: Remove add_key,
333 2006-07-31 Ulrich Drepper <drepper@redhat.com>
335 * sysdeps/unix/sysv/linux/dl-osinfo.h: Remove unnecessary include.
337 2006-07-16 Jeff Bailey <jbailey@ubuntu.com>
339 * elf/tst-auditmod1.c: Fix typo in #error.
341 2006-07-31 Ulrich Drepper <drepper@redhat.com>
343 * elf/tst-auditmod1.c: Remove code for unsupported architectures.
345 * iconvdata/run-iconv-test.sh: Run cmp in C locale.
347 2006-07-20 Adam Nemet <anemet@caviumnetworks.com>
349 * stdlib/test-canon.c (do_test): Close fd before unlinking file so
350 that the directory is empty even on non-POSIX filesystems.
352 2006-07-31 Ulrich Drepper <drepper@redhat.com>
354 * elf/dl-open.c (dl_open_worker): Add branch prediction.
356 * nis/nss_compat/compat-grp.c: Avoid unnecessary setgrent calls into
357 the backend NSS module. If backend setgrent call failed, don't have
358 internal_setgrent fail. Just remember this until it is needed.
359 * nis/nss_compat/compat-pwd.c: Likewise.
360 * nis/nss_compat/compat-spwd.c: Likewise.
362 2006-07-30 Roland McGrath <roland@redhat.com>
364 * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: File removed.
365 * sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: File removed.
366 * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: File removed.
367 * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: File removed.
369 * sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): New macro.
370 (nanosleep_not_cancel): New macro.
371 (sigsuspend_not_cancel): new macro.
372 * sysdeps/unix/sysv/linux/sigsuspend.c [__ASSUME_REALTIME_SIGNALS]
373 (do_sigsuspend): Define as inline.
374 (__sigsuspend): Always use do_sigsuspend.
375 [! NO_CANCELLATION] (__sigsuspend_nocancel): New function.
376 * include/signal.h: Declare __sigsuspend_nocancel.
377 * sysdeps/posix/pause.c
378 [! NO_CANCELLATION] (__pause_nocancel): New function.
380 * include/unistd.h (__pause_nocancel): Add attribute_hidden.
381 * include/time.h (__nanosleep_nocancel): Likewise.
383 2006-07-30 Ulrich Drepper <drepper@redhat.com>
385 * locale/programs/localedef.c (add_to_readlist): Rename local
386 variables to avoid confusion.
388 * locale/programs/charmap.c (charmap_read): Emit error message if
389 charmap couldn't be found or read.
391 2006-07-28 Ulrich Drepper <drepper@redhat.com>
393 * sysdeps/unix/sysv/linux/kernel-features.h: Define
394 __ASSUME_FUTEX_LOCK_PI.
395 * include/time.h: Declare __nanosleep_nocancel.
396 * include/unistd.h: Declare __pause_nocancel.
398 * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Use this instead of
399 LDFLAGS. Add -lgcc_eh and libc_nonshared (again) to make sure we
400 get the __stack_chk_fail_local definition when it's needed.
402 2006-07-26 Ulrich Drepper <drepper@redhat.com>
404 * dlfcn/Makefile: Add rules to build and run bug-atexit3.
405 * dlfcn/bug-atexit3.c: New file.
406 * dlfcn/bug-atexit3-lib.cc: New file.
408 * dlfcn/dlmopen.c (dlmopen_doit): Don't allow RTLD_GLOBAL to be
409 used when the namespace is not the base namespace.
411 2006-07-26 Gavin Romig-Koch <gavin@redhat.com>
413 * stdlib/cxa_atexit.c (__new_exitfn_called): New variable.
414 (__new_exitfn): Bump it in every successful call.
415 * stdlib/cxa_finalize.c (__cxa_finalize): If destructor registered
416 more exit handlers, call them right away.
417 * stdlib/exit.h: Declare __new_exitfn_called.
419 2006-07-25 Ulrich Drepper <drepper@redhat.com>
421 * stdlib/cxa_finalize.c (__cxa_finalize): Fix race condition when
422 calling registered handler.
424 * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Fix comment.
425 * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
426 * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
427 * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
428 * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
429 * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
430 * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
431 * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
433 2006-07-10 Ulrich Drepper <drepper@redhat.com>
435 * elf/dl-lookup.c (dl_new_hash): New functions.
436 (_dl_lookup_symbol_x): Rename hash to old_hash and don't compute
437 value here. Compute new-style hash value. Pass new hash value
438 and reference to variable with the old value to do_lookup_x.
439 (_dl_setup_hash): If DT_GNU_HASH is defined, use it and not
440 old-style hash table.
441 (_dl_debug_bindings): Pass new hash value and reference to variable
442 with the old value to do_lookup_x.
443 * elf/do-lookup.h (do_lookup_x): Accept additional parameter with
444 new-style hash value and change old-style hash value parameter to
445 be a reference. Reoganize functions to determine whether
446 new-style hash table is available. Only fall back on old-style
447 table. If old-style hash value is needed, compute it here.
448 * elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_GNU_HASH
450 * elf/elf.h: Define SHT_GNU_HASH, DT_GNU_HASH, DT_TLSDEC_PLT,
451 DT_TLSDEC_GOT. Adjust DT_ADDRNUM.
452 * include/link.h (struct link_map): Add l_gnu_bitmask_idxbits,
453 l_gnu_shift, l_gnu_bitmask, l_gnu_buckets and l_gnu_chain_zero.
454 * Makeconfig: If linker supports --hash-style option add it to all
455 linker command lines to build DSOs.
456 * config.make.in: Define have-hash-style.
457 * configure.in: Test whether linker supports --hash-style option.
459 * elf/dl-misc.c (_dl_name_match_p): Make MAP parameter const.
460 * sysdeps/generic/ldsodefs.h: Adjust prototype.
462 2006-06-27 Ulrich Drepper <drepper@redhat.com>
464 * elf/dl-load.c (open_path): Fix test to determine whether DSO is
467 * elf/dl-load.c (_dl_map_object): Try harder to avoid looking at
468 RPATH of main map twice.
470 2006-06-22 Ulrich Drepper <drepper@redhat.com>
472 * intl/dcigettext.c (DCIGETTEXT): If _nl_find_msg returns -1 don't
473 look further, return original strings.
474 (_nl_find_msg): Do not return found translation if the conversion
475 failed. Either signal the string is unusable or that something went
476 wrong and the original should be used.
478 2006-06-21 Ulrich Drepper <drepper@redhat.com>
480 * string/_strerror.c (__strerror_r): Add __builtin_expect.
482 2006-06-14 Jakub Jelinek <jakub@redhat.com>
485 * misc/insremque.c (insque): Handle prev == NULL.
486 * misc/Makefile (tests): Add tst-insremque.
487 * misc/tst-insremque.c: New test.
489 2006-06-17 Ulrich Drepper <drepper@redhat.com>
492 * elf/dl-deps.c (expand_dst): Rename __cnt variable to not
493 conflict with DL_DST_REQUIRED.
495 2006-06-16 Ulrich Drepper <drepper@redhat.com>
497 * nis/nis_subr.c (nis_getnames): Fix the implementation to better
498 match what Solaris does.
500 2006-06-04 Ulrich Drepper <drepper@redhat.com>
502 * sysdeps/posix/spawni.c (__spawni): Use local_seteuid and
503 local_setegid instead of seteuid and setegid.
504 * sysdeps/generic/local-setxid.h: New file.
505 * sysdeps/unix/sysv/linux/local-setxid.h: New file.
507 * sysdeps/posix/spawni.c (__spawni): Use non-cancelable interfaces.
509 * string/Makefile (tests): Add bug-envz1.
510 * string/bug-envz1.c: New file.
512 2006-06-02 Jakub Jelinek <jakub@redhat.com>
514 * posix/regex_internal.c (re_string_skip_chars): If no character has
515 been converted at all, set *last_wc to WEOF. If mbrtowc failed, set wc
516 to the byte which couldn't be converted.
517 (re_string_reconstruct): Don't clear valid_raw_len before calling
518 re_string_skip_chars. If wc is WEOF after re_string_skip_chars, set
519 tip_context using re_string_context_at.
520 * posix/Makefile: Add rules to build and run bug-regex25 test.
521 * posix/bug-regex25.c: New test.
523 2006-06-02 Ryan S. Arnold <rsa@us.ibm.com>
526 * string/envz.c (envz_strip): Correct erroneously reversed src
527 and dest parameters to memmove() invocation.
529 2006-05-30 Jakub Jelinek <jakub@redhat.com>
531 * nscd/nscd.h (prune_cache): Add fd argument to prototype.
532 * nscd/nscd.c (parse_opt): Read response from INVALIDATE request
533 to make sure the database has been already invalidated.
534 * nscd/cache.c (prune_cache): Add fd argument. Write response to fd
535 after the cache has been invalidated. Use pthread_mutex_lock rather
536 than pthread_mutex_trylock if fd != -1.
537 * nscd/connections.c (invalidate_cache): Add fd argument, write
538 response to fd if not calling prune_cache, pass fd to prune_cache.
539 (handle_request): Adjust invalidate_cache caller.
540 (nscd_run): Pass -1 as fd to prune_cache.
542 2006-05-30 Ulrich Drepper <drepper@redhat.com>
544 * sysdeps/posix/getaddrinfo.c (gaiconf_init): Initialize bits in
547 2006-05-29 Ulrich Drepper <drepper@redhat.com>
549 * nscd/nscd.h (struct database_dyn): Add prunelock field.
550 * nscd/cache.c (prune_cache): Take prunelock before starting the
551 work. Just return in case it is already taken.
552 * nscd/connections.c (dbs): Initialize .prunelock.
554 2006-05-25 Ulrich Drepper <drepper@redhat.com>
556 * nis/nis_removemember.c (nis_removemember): Avoid unnecessary
557 copying. No need to allocate new array for group members. Just
558 move the pointers and update the size.
560 * nis/nis_addmember.c (nis_addmember): Avoid unnecessary copying.
561 Avoid memory leak in case realloc fails. Simplification for
562 better code generation.
564 Avoid deprecation warning because of libc_hidden_proto for
566 * inet/inet6_option.c (option_alloc): Renamed from
567 inet6_option_alloc. Made static.
568 (inet6_option_alloc): Now a simple wrapper around option_alloc.
569 (inet6_option_append): Call option_alloc.
570 * include/netinet/in.h: Remove libc_hidden_proto for
573 * nis/nis_callback.c (__nis_create_callback): Always call xdr_free
574 for cleanup when cb!=NULL [Coverity CID 233].
576 2006-05-24 Ulrich Drepper <drepper@redhat.com>
579 * inet/Makefile (routines): Add inet6_opt and inet6_rth.
580 * inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
581 inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
582 inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
583 inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
584 and inet6_rth_getaddr.
585 * inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
587 * inet/netinet/in.h (struct ip6_mtuinfo): Define.
588 Mark inet6_option_* interfaces as deprecated.
589 Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
590 inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
591 inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
592 inet6_rth_segments, and inet6_rth_getaddr.
593 * inet/inet6_opt.c: New file.
594 * inet/inet6_rth.c: New file.
596 * inet/netinet/icmp6.h: Pretty printing.
599 * elf/dl-addr.c (_dl_addr): Don't match undefined references.
601 2006-05-23 Ulrich Drepper <drepper@redhat.com>
603 * nis/nis_lookup.c (nis_lookup): Use __prepare_niscall instead of
604 doing it all here. When server does not know the answer do not
605 fail immediate, try parent first.
607 * nis/nis_domain_of_r.c (nis_domain_of_r): Add missing buffer
610 2006-05-20 Ulrich Drepper <drepper@redhat.com>
612 * nis/nis_call.c (__prepare_niscall): New function. Split out
614 * nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
616 (__follow_path): New function. Split out from nis_list.
617 * nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
619 * nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
621 * nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
623 * nis/Versions: Export __prepare_niscall, __create_ib_request,
624 __follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
625 from libnsl for version GLIBC_PRIVATE.
626 * nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
627 Remove entry parameter from _nss_nisplus_parse_pwent and
628 _nss_nisplus_parse_grent.
629 * nis/nss_nisplus/nisplus-parser.c: Likewise.
630 * nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
631 again. Rewrite getpwent handling to not use nis_first_entry and
632 nis_next_entry. Roll out own niscall handling.
633 * nis/nss_nisplus/nisplus-grp.c: Likewise.
635 * sunrpc/xdr_rec.c: Fix typo in comment.
637 2006-05-19 Ulrich Drepper <drepper@redhat.com>
639 * nis/nis_call.c (__do_niscall3): Avoid code duplication in error
642 * nis/nis_callback.c (internal_nis_do_callback): Don't use malloc
643 to allocate memory for my_pollfd. Better initialization of
644 cb_is_running. Use TEMP_FAILURE_RETRY.
646 * malloc/memusage.sh (memusageso): Add quotes.
647 (memusagestat): Likewise.
648 * debug/xtrace.sh (pcprofileso): Likewise.
649 (pcprofiledump): Likewise.
650 * debug/Makefile ($(objpfx)xtrace): Use $LIB in SLIBDIR
652 * malloc/Makefile ($(objpfx)memusage): Likewise.
654 * nis/nis_callback.c (__nis_create_callback): Calls to
655 svcudp_bufcreate and svctcp_create can fail. Free ->xprt if
658 * sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_sendreq): Make sure
659 no uninitialized memory is passed to sendto.
661 2006-05-18 Ulrich Drepper <drepper@redhat.com>
663 * nis/nis_callback.c (__nis_create_callback): Use asprinf instead
664 of snprintf+strdup. Handle OOM.
665 * nis/nis_callback.c (__nis_create_callback): Allocate cb and
666 cb->serv together. Remove now obsolete free calls.
667 (__nis_destroy_callback): Remove now obsolete free call.
669 2006-05-18 David Woodhouse <dwmw2@redhat.com>
671 * sysdeps/posix/getaddrinfo.c: Add unique labels to the default
672 RFC3484 precedence table for fec0::/10 and fc00::/7 (site-local
673 and ULA respectively). Set precedence for IPv4 address to 10 as
674 defined in RFC3484 for preferring IPv6.
675 * posix/gai.conf: Update to match the new default tables.
677 2006-05-18 Jakub Jelinek <jakub@redhat.com>
679 * nis/nss_compat/compat-pwd.c (internal_setpwent): If nss_set*ent
680 returned NSS_STATUS_UNAVAIL, still return NSS_STATUS_SUCCESS.
681 * nis/nss_compat/compat-spwd.c (internal_setspent): Likewise.
682 * nis/nss_compat/compat-grp.c (internal_setgrent): Likewise.
684 * nis/nss_compat/compat-initgroups.c (nss_setgrent, nss_endgrent):
686 (init_nss_interface): Remove initialization of these variables.
688 2006-05-18 Ulrich Drepper <drepper@redhat.com>
690 * nis/nis_call.c (rec_dirsearch): Little optimization: pull
691 nis_free_directory forward to avoid duplication.
693 2006-05-17 Ulrich Drepper <drepper@redhat.com>
695 * nis/nis_call.c (rec_dirsearch): Handle __nis_finddirectory and
696 rec_dirsearch returning NULL.
697 (first_shoot): Handle __nis_finddirectory returning NULL.
698 (__nisfind_server): Fix leak when rec_dirsearch returns NULL.
700 * sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOSE, IN_MOVE,
701 IN_ONLYDIR, IN_DONT_FOLLOW, and IN_MASK_ADD.
703 2006-05-17 Jakub Jelinek <jakub@redhat.com>
705 * sunrpc/key_call.c (getkeyserv_handle): Call auth_destroy if
708 2006-05-15 Ulrich Drepper <drepper@redhat.com>
710 * include/rpc/pmap_prot.h: Mark all functions as hidden.
712 * nscd/nscd_initgroups.c: Mark __gr_map_handle as hidden.
713 * nscd/nscd_getgr_r.c: Likewise.
715 * include/rpc/pmap_rmt.h: Mark all functions as hidden.
717 * nscd/nscd_getai.c (__hst_map_handle): Mark as hidden.
718 * nscd/nscd_gethst_r.c (__hst_map_handle): Likewise.
720 * stdlib/longlong.h (__clz_tab): Mark as hidden.
722 * iconv/gconv_int.h: Mark __gconv_lock as hidden.
724 * include/rpc/key_prot.h: Mark all _internal functions as hidden.
726 * include/rpc/auth.h: Mark xdr_des_block_internal and
727 xdr_opaque_auth_internal as hidden.
729 * sysdeps/unix/sysv/linux/getdents.c: Mark __have_no_getdents64 as
732 * include/rpc/xdr.h: Mark all _internal functions as hidden.
734 * misc/getusershell.c (okshells): Don't use static initializers,
737 * stdlib/fmtmsg.c (keywords): Change type of len element to
738 uint32_t to not waste space on 64bit machines.
740 * locale/setlocale.c: Change _nl_category_names into a string.
741 Add new _nl_category_name_idxs. Change all users.
742 * locale/localeinfo.h: Adjust declaration of _nl_category_names.
743 Declare _nl_category_name_idxs.
744 * locale/findlocale.c: Adjust for _nl_category_names change.
745 * locale/loadlocale.c: Likewise.
746 * locale/newlocale.c: Likewise.
747 * intl/dcigettext.c: Likewise.
749 * iconv/gconv_conf.c (add_alias): Move actual alias handling to...
750 (add_alias2): ...here. New function.
751 (__gconv_read_conf): Simplify builtin alias handling.
752 (builtin_aliases): Convert to string to avoid relocations.
753 * iconv/gconv_builtin.h: Add comment about correct formatting.
755 2006-05-15 Jakub Jelinek <jakub@redhat.com>
757 * resolv/res_debug.c (loc_ntoa): Make error const.
759 2006-05-14 Andreas Schwab <schwab@suse.de>
761 * math/complex.h [__LDBL_COMPAT]: Use __REDIRECT_NTH.
763 2006-05-12 Jakub Jelinek <jakub@redhat.com>
765 * sysdeps/unix/sysv/linux/sched_getaffinity.c: Include sys/param.h.
766 (__sched_getaffinity_new): Don't crash if cpusetsize is smaller than
769 2006-05-11 Ulrich Drepper <drepper@redhat.com>
771 * resolv/res_debug.c (loc_ntoa): Define error as array, not pointer.
773 * include/arpa/nameser.h: Declare _ns_flagdata as hidden.
775 * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_master.
776 * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_master.
778 * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypbind_resp.
779 * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypbind_resp.
781 * nis/nis_xdr.c: Add libnsl_hidden_def for xdr_cback_data.
782 * include/rpcsvc/nis_callback.h: Add libnsl_hidden_proto for
785 * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypupdate_args.
786 * include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
789 * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_order.
790 * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_order.
792 * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_maplist.
793 * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_maplist.
795 * nis/nis_xdr.c: Add libnsl_hidden_def for xdr_obj_p.
796 * include/rpcsvc/nis_callback.h: New file.
798 * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_val.
799 * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_val.
801 * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
802 * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.
804 * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypmaplist.
805 * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypmaplist.
807 * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
808 * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.
810 * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypdelete_args.
811 * include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
814 * nis/nis_xdr.h: Mark all functions as hidden. Remove
815 __BEGIN_DECLS and __END_DECLS, the header is not installed.
817 * nis/nis_error.c: Remove table of strings. Use position
818 independent mechanism.
819 * nis/nis_error.h: New file.
821 2006-05-11 Jakub Jelinek <jakub@redhat.com>
823 * locale/programs/ld-time.c (time_finish): If wide era name or
824 format aren't provided, set both wname and wformat to L"".
826 2006-05-10 Ulrich Drepper <drepper@redhat.com>
828 * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Only store
829 results if the call was succesful.
831 * nis/nss-nis.h: Mark __yperr2nss_tab and __yperr2nss_count as hidden.
833 * nis/nss-nisplus.h: Mark __niserr2nss_tab and __niserr2nss_count
836 2006-05-10 Jakub Jelinek <jakub@redhat.com>
838 * misc/sys/queue.h: Remove uses of all QUEUEDEBUG_* macros.
840 2006-05-10 Ulrich Drepper <drepper@redhat.com>
842 * posix/wordexp.c (parse_glob): No need to check ifs for NULL, the
843 caller makes sure this is not the case.
844 (wordexp): Simplify ifs_white creation. [Coverity CID 231]
846 2006-05-09 Ulrich Drepper <drepper@redhat.com>
848 * posix/wordexp.c: Remove numerous NULL pointer tests before FREE
851 * io/ftw.c (open_dir_stream): Return right away if REALLOC fails.
852 [Coverity CID 229, 230]
854 * argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and
856 (hol_help): Likewise. [Coverity CID 226, 227]
858 * string/argz-replace.c (__argz_replace): Unconditionally call
859 free on SRC. [Coverity CID 225]
861 * nis/nis_creategroup.c (nis_creategroup): No need to duplicate
862 the return value of __nis_default_owner and __nis_default_group,
863 it has been especially allocated. [Coverity CID 224]
865 * nis/nis_defaults.c (searchXYX): New functions. Used by both
866 searchgroup and searchowner. Significantly simplified.
867 (__nis_default_owner): Remove duplication. Do not locally copy the
868 string before duplicating it.
869 (__nis_default_group): Likewise.
871 * nis/nis_lookup.c (nis_lookup): After calling nis_free_directory,
872 we must clear the variable before calling __nisfind_server.
874 * nis/nis_lookup.c (nis_lookup): Always free memory allocated with
875 nis_getnames. [Coverity CID 223]
877 * locale/programs/locfile.c (locfile_read): Use alloca instead of
878 xmalloc to allocate local repertoire name. [Coverity CID 222]
880 * iconv/iconv_charmap.c (use_to_charmap): No need to dynamically
881 allocate memory for the input to add_bytes. [Coverity CID 221]
883 * posix/wordexp.c (w_addword): Free word if realloc fails and it
884 was allocated here. [Coverity CID 219, 220]
886 * posix/getconf.c (print_all): Free confstr data after printing.
889 * sysdeps/posix/getaddrinfo.c (gaih_inet): Free canon string if
890 list allocation fails. [Coverity CID 215]
892 * nss/nsswitch.c (__nss_configure_lookup): Fix loop end condition.
895 * argp/argp-help.c (hol_entry_cmp): Don't call canon_doc_option if
896 string is NULL. [Coverity CID 212]
897 * argp/Makefile: Add rules to build and run bug-argp1.
898 * argp/bug-argp1.c: New file.
900 * io/ftw.c (ftw_dir): Use __rawmemchr instead of strchr to find
902 * stdlib/canonicalize.c (__realpath): Likewise.
904 * locale/programs/ld-time.c (time_finish): Don't dereference NULL
905 pointer. [Coverity CID 206]
907 * elf/dl-dst.h (DL_DST_REQUIRED): Be prepared for missing link map
908 in statically linked code.
909 * elf/dl-load.c (_dl_dst_substitute): When replacing ORIGIN in
910 statically built code, be prepared to have no link map.
913 * argp/argp-help.c (fill_in_uparams): Handle STATE==NULL in
914 dgettext calls. [Coverity CID 204]
916 * argp/argp-help.c (struct uparams): Remove valid member. Change
918 (uparam_names): Reduce size. Avoid relative relocations.
919 Moved to read-only segment.
920 (fill_in_uparams): Update for new layout.
922 * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Parameter can be
923 assumed to always be != NULL. [Coverity CID 202]
925 * argp/argp-help.c (hol_entry_help): Remove some dead code
928 * nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Optimize
929 away a few more unconditional yperr2nss calls.
930 (_nss_nis_getservbyname_r): Likewise.
932 2006-05-06 Ulrich Drepper <drepper@redhat.com>
934 * sysdeps/generic/ldsodefs.h: Remove support for non-core
937 * sysdeps/unix/sysv/linux/check_pf.c (make_request): Make sure
938 that unused memory passed to sendto is nevertheless initialized.
941 * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Avoid
942 possibly unaligned memory accesses.
944 * include/arpa/nameser.h: Also optimize NS_PUT16 and NS_PUT32.
945 * resolv/res_mkquery.c: Use NS_PUT16 and NS_PUT32 instead of __putshort
946 and __putlong respectively. Correct buffer overflow check for
949 * resolv/res_send.c (send_vc): Use ns_put16 instead of putshort.
951 * resolv/res_send.c (res_queriesmatch): Fix typo in comment.
952 (send_dg): Rewrite error handling to be more compact and avoid
953 double recomputation of timeouts. Pass MSG_NOSIGNAL to send.
955 * include/arpa/nameser.h: Add optimizations for NS_GET16 and NS_GET32.
957 * resolv/res_send.c (res_nameinquery): Use NS_GET16 directly
959 (res_queriesmatch): Likewise. Minor optimization.
962 * resolv/res_query.c (__libc_res_nquery): If answerp != NULL,
963 __libc_res_nsend might reallocate the buffer for the answer. In
964 this case we have to reload the HP pointer.
966 2006-05-05 Ulrich Drepper <drepper@redhat.com>
968 * stdio-common/vfscanf.c (memory_error): Remove definition. Add
969 some branch prediction hints.
971 * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Define SPLICE_F_*.
972 * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
973 * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
974 * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
975 * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
976 * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
977 * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
978 * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
980 2006-05-05 Martin Schwidefsky <schwidefsky@de.ibm.com>
982 * sysdeps/s390/s390-32/elf/start.S: Replace pc relative relocation
983 by a GOT relocation to make Scrt1.o position independent.
984 * sysdeps/s390/s390-64/elf/start.S: Likewise.
986 * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Add support for
987 six system call parameters.
988 * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
990 2006-05-05 Ulrich Drepper <drepper@redhat.com>
992 * sunrpc/svcauth_des.c (cache_init): Use calloc instead of
995 * sunrpc/svc_udp.c (BZERO): Remove definition.
997 (svc_enablecache): Use CALLOC instead of ALLOC&BZERO.
999 * sunrpc/des_impl.c: Remove ALT_ECB support. We never used it.
1000 (des_SPtrans): Use uint32_t type.
1001 (des_skb): Likewise.
1003 * sunrpc/xdr_ref.c (xdr_reference): Use calloc instead of malloc&bzero.
1005 2006-05-05 Jakub Jelinek <jakub@redhat.com>
1008 * stdio-common/tst-printf.sh: Adjust for tst-printf.c change even
1011 2006-05-05 Ulrich Drepper <drepper@redhat.com>
1013 * locale/programs/ld-address.c (address_finish): Fix one more
1014 place where the iso639 array might be accessed beyond the limits.
1016 2006-05-04 Ulrich Drepper <drepper@redhat.com>
1018 * nis/nis_table.c (nis_list): Avoid clearing res twice before
1019 filling it for the first time.
1021 * nis/nis_table.c (get_tablepath): Renamed from __get_tablepath.
1023 Free res object content before returning.
1025 * sunrpc/xdr_array.c (xdr_array): Use calloc instead of malloc&bzero.
1027 * sunrpc/key_call.c (__rpc_thread_key_cleanup): Also free
1030 * sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire
1031 cleanup for initial thread, just the free call on TVP.
1033 * nscd/gai.c (__getline): Define.
1036 See ChangeLog.16 for earlier changes.