* sysdeps/i386/i486/bits/atomic.h: Add catomic_* support.
[glibc.git] / ChangeLog
blob44ab28c669696d43fe73fc35557d339cb6f78a8e
1 2006-10-11  Ulrich Drepper  <drepper@redhat.com>
3         * sysdeps/i386/i486/bits/atomic.h: Add catomic_* support.
5 2006-10-11  Jakub Jelinek  <jakub@redhat.com>
7         * malloc/malloc.c (_int_malloc): Remove unused any_larger variable.
9         * nis/nis_defaults.c (__nis_default_access): Don't call getenv twice.
11         * nis/nis_subr.c (nis_getnames): Use __secure_getenv instead of getenv.
12         * sysdeps/generic/unsecvars.h: Add NIS_PATH.
14 2006-10-11  Ulrich Drepper  <drepper@redhat.com>
16         * include/atomic.c: Define catomic_* operations.
17         * sysdeps/x86_64/bits/atomic.h: Likewise.  Fix a few minor problems.
18         * stdlib/cxa_finalize.c: Use catomic_* operations instead of atomic_*.
19         * malloc/memusage.c: Likewise.
20         * gmon/mcount.c: Likewise.
21         * elf/dl-close.c: Likewise.
22         * elf/dl-open.c: Likewise.
23         * elf/dl-profile.c: Likewise.
24         * elf/dl-sym.c: Likewise.
25         * elf/dl-runtime.c: Likewise.
26         * elf/dl-fptr.c: Likewise.
27         * resolv/res_libc.c: Likewise.
29 2006-10-10  Ulrich Drepper  <drepper@redhat.com>
31         * nis/nis_subr.c (nis_getnames): Add trailing dot to NIS_PATH
32         components which lack them.
34         * nis/nis_subr.c (nis_getnames): Make sure that we always return
35         at least one entry consisting of the parameter concatenated with
36         the domain.
38 2006-10-10  Roland McGrath  <roland@frob.com>
40         * sysdeps/mach/hurd/utimes.c: Use a union to avoid an improper cast.
41         * sysdeps/mach/hurd/futimes.c: Likewise.
42         * sysdeps/mach/hurd/lutimes.c: Likewise.
44 2006-10-09  Ulrich Drepper  <drepper@redhat.com>
45             Jakub Jelinek  <jakub@redhat.com>
47         Implement reference counting of scope records.
48         * elf/dl-close.c (_dl_close): Remove all scopes from removed objects
49         from the list in objects which remain.  Always allocate new scope
50         record.
51         * elf/dl-open.c (dl_open_worker): When growing array for scopes,
52         don't resize, allocate a new one.
53         * elf/dl-runtime.c: Update reference counters before using a scope
54         array.
55         * elf/dl-sym.c: Likewise.
56         * elf/dl-libc.c: Adjust for l_scope name change.
57         * elf/dl-load.c: Likewise.
58         * elf/dl-object.c: Likewise.
59         * elf/rtld.c: Likewise.
60         * include/link.h: Inlcude <rtld-lowlevel.h>.  Define struct
61         r_scoperec.  Replace r_scope with pointer to r_scoperec structure.
62         Add l_scoperec_lock.
63         * sysdeps/generic/ldsodefs.h: Include <rtld-lowlevel.h>.
64         * sysdeps/generic/rtld-lowlevel.h: New file.
66         * include/atomic.h: Rename atomic_and to atomic_and_val and
67         atomic_or to atomic_or_val.  Define new macros atomic_and and
68         atomic_or which do not return values.
69         * sysdeps/x86_64/bits/atomic.h: Define atomic_and and atomic_or.
70         Various cleanups.
71         * sysdeps/i386/i486/bits/atomic.h: Likewise.
73         * po/sv.po: Update from translation team.
75 2006-10-07  Ulrich Drepper  <drepper@redhat.com>
77         * Versions.def: Add GLIBC_2.6 to libpthread.
79         * include/shlib-compat.h (SHLIB_COMPAT): Expand parameters before use.
80         (versioned_symbol): Likewise.
81         (compat_symbol): Likewise.
83         * po/tr.po: Update from translation team.
85 2006-10-06  Ulrich Drepper  <drepper@redhat.com>
87         * nis/Banner: Removed.  It's been integral part forever and the
88         author info is incomplete anyway.
89         * libio/Banner: Likewise.
91         * nis/nis_table.c (nis_list): If __follow_path fails in the new
92         code, make sure the nis_freeresult call doesn't crash and that the
93         result is reported correctly.
95 2006-09-27  Jakub Jelinek  <jakub@redhat.com>
97         * nis/nis_table.c (nis_list): Handle FOLLOW_PATH | ALL_RESULTS
98         when callback is NULL.
100         * nis/Versions (libnss_nisplus): Add
101         _nss_nisplus_initgroups_dyn@@GLIBC_PRIVATE.
102         * nis/Makefile (libnss_nisplus-routines): Add nisplus-initgroups.
103         * nis/nss_nisplus/nisplus-grp.c (tablename_val, tablename_len,
104         _nss_create_tablename): Rename to...
105         (grp_tablename_val, grp_tablename_len, _nss_grp_create_tablename):
106         ... these.  No longer static.
107         (internal_setgrent): Adjust users.
108         (_nss_nisplus_getgrnam_r, _nss_nisplus_getgrgid_r): Likewise.
109         Don't use locking around _nss_grp_create_tablename call.
110         * nis/nss_nisplus/nisplus-initgroups.c: New file.
112 2006-10-06  Ulrich Drepper  <drepper@redhat.com>
114         * version.h (VERSION): Bump to 2.5.90 for new development tree.
116 2006-10-06  Andreas Jaeger  <aj@suse.de>
118         * include/features.h (__GLIBC_MINOR__): It's glibc 2.5 now.
120 2006-10-06  Ulrich Drepper  <drepper@redhat.com>
122         * po/pl.po: Update from translation team.
124         * nscd/nscd.c (main): Fix typo in message.
125         Patch by Jakub Bogsz <qboosh@pld-linux.org>.
127 2006-10-02  Jakub Jelinek  <jakub@redhat.com>
129         [BZ #3291]
130         * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Include
131         errno.h, signal.h, unistd.h and sysdep-cancel.h.
132         (__sigprocmask): Define.
134 2006-10-02  Ulrich Drepper  <drepper@redhat.com>
136         * elf/rtld.c (dl_main): Don't use prelinking if LD_DYNAMIC_WEAK is
137         used.
139 2006-10-02  Jakub Jelinek  <jakub@redhat.com>
141         * nscd/mem.c (mempool_alloc): Round array size to 16 bytes
142         in oldtotal and newtotal calculation.
143         * nscd/nscd-client.h (struct mapped_database): Add datasize
144         field.
145         * nscd/nscd_helper.c (get_mapping): Initialize datasize field.
146         (__nscd_get_map_ref): Get a new mapping even if mapping's data_size
147         increased.
148         (__nscd_cache_search): Add checks to make sure we never reference
149         data beyond the current mapping.
151 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
153         * sysdeps/posix/getaddrinfo.c (match_prefix): Make mask and val
154         variables const to avoid compiler warnings.
156         * io/fts.c (fts_close): Remove redundant checks.
157         (fts_build): Likewise.
158         (fts_palloc): Likewise.
160         * manual/message.texi (Advanced gettext functions,
161         Using gettextized software): Fix typos.
163 2006-09-30  Ulrich Drepper  <drepper@redhat.com>
165         * posix/glob.c (glob_in_dir): Add some comments and asserts to
166         explain why there are no leaks.
168 2006-09-29  Ulrich Drepper  <drepper@redhat.com>
170         * libio/wmemstream.c: Include <wchar.h>.
171         * libio/bug-wmemstream1.c: Likewise.
172         * libio/tst-wmemstream1.c: Likewise.
173         * libio/tst-wmemstream2.c: Likewise.
175         * version.h (RELEASE): Bump to 2.5.
176         * README: Regenerated.
178         * locale/iso-3166.def: Add Aaland Islands and Montenegro.
180         [BZ #3273]
181         * nscd/nscd_initgroups.c (__nscd_getgrouplist): It is OK to have
182         found no group members.
183         Patch by Petr Baudis.
185 2006-09-29  Jakub Jelinek  <jakub@redhat.com>
187         * elf/rtld.c (_dl_start_final): If not USE___THREAD, don't
188         assert bootstrap_map.l_tls_modid is zero.
189         (_dl_start): Initialize bootstrap_map.l_tls_modid to 0
190         if USE___THREAD.
192 2006-09-27  Ulrich Drepper  <drepper@redhat.com>
194         * libio/stdio.h: Move open_wmemstream prototype to ...
195         * wcsmbs/wchar.h: ... here.
197 2006-09-25  Jakub Jelinek  <jakub@redhat.com>
199         [BZ #3252]
200         * sysdeps/unix/sysv/linux/powerpc/fchownat.c (fchownat): Handle only
201         fchownat syscall and __ASSUME_LCHOWN_SYSCALL case inline, call
202         __{,l}chown to handle the rest.
203         * sysdeps/unix/sysv/linux/i386/fchownat.c (fchownat): Handle only
204         fchownat syscall and __ASSUME_32BITUIDS case inline, call
205         __{,l}chown to handle the rest.
206         * sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: Include
207         i386/fchownat.c.
208         * sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: Likewise.
209         * sysdeps/unix/sysv/linux/sh/fchownat.c: Likewise.
211         [BZ #3253]
212         * posix/glob.c (glob_in_dir): Don't alloca one struct globlink at a
213         time, rather allocate increasingly bigger arrays of pointers, if
214         possible with alloca, if too large with malloc.
216 2006-09-24  Jakub Jelinek  <jakub@redhat.com>
218         * sysdeps/powerpc/fpu/libm-test-ulps: Updated.
220         * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Fix 2 typos.
222 2006-09-24  Ulrich Drepper  <drepper@redhat.com>
224         * sysdeps/posix/getaddrinfo.c (rfc3484_sort): Implement rule 4,
225         home addresses.
226         * sysdeps/unix/sysv/linux/check_pf.c (make_request): Recognize
227         IFA_F_HOMEADDRESS flag for interfaces.
228         * include/ifaddrs.h (struct in6addrinfo): Define
229         in6ai_homeaddress.
231 2006-09-21  Jakub Jelinek  <jakub@redhat.com>
233         [BZ #3225]
234         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (PTR_MANGLE3,
235         PTR_DEMANGLE3): Define.
236         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (PTR_MANGLE3,
237         PTR_DEMANGLE3): Likewise.
238         * sysdeps/powerpc/powerpc32/__longjmp-common.S (__longjmp): Use them.
239         * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp):
240         Likewise.
241         * sysdeps/powerpc/powerpc64/__longjmp-common.S (__longjmp): Likewise.
243 2006-09-20  Jakub Jelinek  <jakub@redhat.com>
245         * po/libc.pot: Regenerated.
246         * po/be.po: Updated.
247         * po/ca.po: Likewise.
248         * po/cs.po: Likewise.
249         * po/da.po: Likewise.
250         * po/de.po: Likewise.
251         * po/el.po: Likewise.
252         * po/en_GB.po: Likewise.
253         * po/es.po: Likewise.
254         * po/fi.po: Likewise.
255         * po/fr.po: Likewise.
256         * po/gl.po: Likewise.
257         * po/hr.po: Likewise.
258         * po/hu.po: Likewise.
259         * po/ja.po: Likewise.
260         * po/ko.po: Likewise.
261         * po/nb.po: Likewise.
262         * po/nl.po: Likewise.
263         * po/pl.po: Likewise.
264         * po/pt_BR.po: Likewise.
265         * po/ru.po: Likewise.
266         * po/rw.po: Likewise.
267         * po/sk.po: Likewise.
268         * po/sv.po: Likewise.
269         * po/tr.po: Likewise.
270         * po/zh_CN.po: Likewise.
271         * po/zh_TW.po: Likewise.
273         [BZ #3137]
274         * iconv/iconv_prog.c (main): Fix spelling in error message.
275         * iconv/iconvconfig.c (main): Likewise.
276         * locale/programs/ld-collate.c (handle_ellipsis): Likewise.
277         * locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Likewise.
278         * locale/programs/localedef.c (main): Likewise.
279         * locale/programs/repertoire.c (repertoire_read): Likewise.
280         * timezone/zdump.c (main): Likewise.
281         * nscd/connections.c (handle_request): Fix spelling in log message.
282         Patch by Malcolm Parsons <malcolm.parsons@gmail.com>.
284 2006-09-20  Ulrich Drepper  <drepper@redhat.com>
286         * inet/inet6_option.c: Also emit linker warnings for the RFC 2292
287         interfaces.
289 2006-09-20  Andreas Jaeger  <aj@suse.de>
291         * math/libm-test.inc (lrint_test_upward): Fix typo.
293 2006-06-17  Joseph S. Myers  <joseph@codesourcery.com>
295         [BZ #2592]
296         * math/libm-test.inc (lrint_test_tonearest): New function.
297         (lrint_test_towardzero): New function.
298         (lrint_test_downward): New function.
299         (lrint_test_upward): New function.
300         (main): Run these new tests.
301         * sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Correct rounding
302         of values near to 0.
303         (two52): Use double not long double.
304         * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
305         * sysdeps/ieee754/flt-32/s_llrintf.c (__llrintf): Likewise.
306         (two23): Use float not double.
307         * sysdeps/ieee754/flt-32/s_lrintf.c (__lrintf): Likewise.
308         (two23): Use float not double.
309         * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Likewise.
310         * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
311         * sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Likewise.
312         * sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.
314 2006-09-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
316         * sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c (__makecontext):
317         Cast sp to unsigned long to avoid compiler warning.
318         Use __makecontext_ret function instead of a trampoline on the stack.
319         (__makecontext_ret): New function.
320         * sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c: Likewise.
322 2006-09-19  Jakub Jelinek  <jakub@redhat.com>
324         * elf/dl-cache.c (HWCAP_CHECK): If _DL_PLATFORMS_COUNT, but
325         platform == -1, reject any libs with non-zero _DL_HWCAP_PLATFORM
326         bits.
328 2006-09-19  Ulrich Drepper  <drepper@redhat.com>
330         * elf/dl-close.c (_dl_close): If dependency is not unloaded make
331         sure no reference to the unloaded map's search list remains in the
332         dependency's scope.
334 2006-09-16  Jakub Jelinek  <jakub@redhat.com>
336         * elf/Makefile: Add rules to build and run unload7 test.
337         * elf/unload7.c: New test.
338         * elf/unload7mod1.c: New file.
339         * elf/unload7mod2.c: New file.
341 2006-09-18  Jakub Jelinek  <jakub@redhat.com>
343         * sysdeps/unix/sysv/linux/sys/ptrace.h (PT_GETEVENTMSG): Fix pasto.
344         * sysdeps/unix/sysv/linux/s390/sys/ptrace.h (PTRACE_SETOPTIONS,
345         PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
346         * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (PTRACE_SETOPTIONS,
347         PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Likewise.
348         * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h (PTRACE_SETOPTIONS,
349         PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Likewise.
350         * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h (PTRACE_SETOPTIONS,
351         PTRACE_GETEVENTMSG): Likewise.
352         (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Change to the arch independent
353         values.
355 2006-09-17  Mike Frysinger  <vapier@gentoo.org>
357         * sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_SETOPTIONS,
358         PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
359         * sysdeps/unix/sysv/linux/ptrace.c (ptrace): Check PTRACE_SETOPTIONS,
360         PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO and PTRACE_SETSIGINFO.
362 2006-09-16  Jakub Jelinek  <jakub@redhat.com>
364         * sysdeps/powerpc/powerpc32/register-dump.h (register_dump): Don't
365         write '\0' to the fd.
366         * sysdeps/mach/hurd/powerpc/register-dump.h (register_dump): Likewise.
367         * sysdeps/powerpc/powerpc64/register-dump.h (register_dump): Likewise.
368         Change regs to unsigned long pointer from unsigned int, fix fscr
369         offset.
371 2006-09-14  Jakub Jelinek  <jakub@redhat.com>
373         * io/Makefile (CFLAGS-fstatat.c): Set.
374         (CFLAGS-fstatat64.c): Likewise.
375         (CFLAGS-mknodat.c): Likewise.
377         * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c: Comment fixes.
378         * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c: Likewise.
379         * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c: Rewritten.
380         * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c: Rewritten.
382 2006-09-14  Jakub Jelinek  <jakub@redhat.com>
383             Steven Munroe  <sjmunroe@us.ibm.com>
385         * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 4 new cap
386         names to the beginning.  Rename "cell" to "cellbe".
387         (_dl_powerpc_platforms): New.
388         * sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
389         (HWCAP_IMPORTANT): Remove power{4,5,5+} and cell.
390         (_DL_PLATFORMS_COUNT, _DL_FIRST_PLATFORM): Define.
391         (_DL_HWCAP_PLATFORM): Define to new mask.
392         (_dl_platform_string, _dl_string_platform): New functions.
393         * sysdeps/powerpc/sysdep.h (PPC_FEATURE_BOOKE, PPC_FEATURE_SMT,
394         PPC_FEATURE_ICACHE_SNOOP, PPC_FEATURE_ARCH_2_05): Define.
396 2006-09-12  Jakub Jelinek  <jakub@redhat.com>
398         [BZ #2526]
399         * README.libm: Fix a thinko in sqrt algorithm description.
401         [BZ #3143]
402         * manual/string.texi (argz_delete): Fix prototype.
403         Patch by <alpt@freaknet.org>.
405 2006-08-26  Joseph Myers  <joseph@codesourcery.com>
407         [BZ #3138]
408         * io/test-lfs.c (do_prepare): Give name_len type size_t.
409         * io/tst-fcntl.c (do_prepare): Likewise.
410         * posix/tst-exec.c (do_prepare): Likewise.
411         * posix/tst-preadwrite.c (do_prepare): Likewise.
412         * posix/tst-spawn.c (do_prepare): Likewise.
413         * posix/tst-truncate.c (do_prepare): Likewise.
414         * rt/tst-aio.c (do_prepare): Likewise.
415         * rt/tst-aio64.c (do_prepare): Likewise.
416         * stdlib/test-canon2.c (do_prepare): Give test_dir_len type
417         size_t.
419 2006-09-09  Ulrich Drepper  <drepper@redhat.com>
421         [BZ #2821]
422         * time/mktime.c (guess_time_tm): Fix overflow detection.
423         * time/Makefile (tests): Add bug-mktime1.
424         * time/bug-mktime1.c: New file.
426         [BZ #3189, #3188]
427         * misc/sys/mman.h (remap_file_pages): Make available for _GNU_SOURCE.
428         (mremap): Likewise.
430 2006-09-07  Jakub Jelinek  <jakub@redhat.com>
432         [BZ #1006]
433         * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela):
434         Ensure relocation doesn't clobber any bits outside of the
435         immediate field for R_SPARC_TLS_LE_HIX22, R_SPARC_WDISP30,
436         R_SPARC_HI22 and R_SPARC_H44.
438         [BZ #2775]
439         * malloc/malloc.c (sYSMALLOc): Only call grow_heap if
440         (long) (MINSIZE + nb - old_size) is positive.
442         * malloc/arena.c (grow_heap): When growing bail even if new_size
443         is negative.
445         [BZ #3155]
446         * sysdeps/powerpc/powerpc32/fpu/s_lrint.S (__lrint): Don't access
447         stack below r1.
449 2006-09-06  Jakub Jelinek  <jakub@redhat.com>
451         * posix/regex_internal.c (re_string_reconstruct): Handle
452         offset < pstr->valid_raw_len && pstr->offsets_needed case.
453         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
454         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
455         re_string_context_at.
456         * posix/Makefile: Add rules to build and run bug-regex26 test.
457         * posix/bug-regex26.c: New test.
459         * locale/programs/ld-collate.c (collate_read): Goto sym_equiv_free
460         rather than col_sym_free.  Move seqp declaration earlier.
462         * resolv/gai_suspend.c (gai_suspend): Make sure result is initialized.
464 2006-09-05  Jakub Jelinek  <jakub@redhat.com>
466         * nscd/initgrcache.c (addinitgroupsX): Move any_success
467         decl before first goto out.
469 2006-09-04  Jakub Jelinek  <jakub@redhat.com>
471         * Makerules (shlib.lds): If have-hash-style, put .hash section
472         at the end of the RO segment.
474 2006-09-04  Ulrich Drepper  <drepper@redhat.com>
476         * elf/do-lookup.h (do_lookup_x): Initialize symidx in case the new
477         style hash table format is used.
479 2006-09-04  Jakub Jelinek  <jakub@redhat.com>
481         * resolv/res_mkquery.c (res_nmkquery): Set hp->id to statp->id after
482         randomization rather than before.
483         * resolv/res_init.c (res_randomid): Don't call gettimeofday here.
485 2006-08-31  Jakub Jelinek  <jakub@redhat.com>
487         * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Add ld.so.
489         * malloc/malloc.c (_int_malloc): Use full list insert and not
490         shortcut which assumes the list is empty for large requests
491         too.
493         * elf/tst-addr1.c (do_test): Allow i.dli_sname "_IO_printf".
495 2006-08-30  Jakub Jelinek  <jakub@redhat.com>
497         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (splice): Add offin
498         and offout arguments to the prototype.
499         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (splice): Likewise.
500         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (splice): Likewise.
501         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (splice): Likewise.
502         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (splice): Likewise.
503         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (splice): Likewise.
504         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (splice): Likewise.
505         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (splice): Likewise.
506         * sysdeps/unix/sysv/linux/syscalls.list (splice): Adjust args string.
508 2006-08-28  Ulrich Drepper  <drepper@redhat.com>
510         * elf/dl-load.c (_dl_init_paths): Expand DSTs.
512         * elf/dl-open.c (dl_open_worker): Allow $LIB and $PLATFORM in
513         dlopen parameters.
515 2006-08-28  Jakub Jelinek  <jakub@redhat.com>
517         * inet/getnameinfo.c (getnameinfo): For AF_INET, check errno
518         only if herrno is NETDB_INTERNAL.  Handle errors other than
519         ERANGE outside of the loops, handle TRY_AGAIN.
521         * locale/programs/ld-ctype.c (translit_flatten): Issue error
522         if other's ctype category was missing.
523         * locale/programs/ld-collate.c (collate_read): Return if
524         copy_locale's collate category is missing.
526 2006-08-27  Ulrich Drepper  <drepper@redhat.com>
528         [BZ #2684]
529         * malloc/malloc.c (public_rEALLOc): Try harder by using other
530         arenas if allocation failed.
531         Patch mostly by Jan Edler <jan.edler@indexengines.com>.
533 2006-08-26  Ulrich Drepper  <drepper@redhat.com>
535         * malloc/malloc.c (bin_at): Rewrite to be more clear and to not
536         waste bins[0..1].
537         (malloc_state): Reduce bins size by 2.
538         (_int_malloc): Fix test for large enough buffer for early termination.
539         When no unsorted block matches perfectly and an exiting block has
540         to be split, use full list insert and not shortcut which assumes
541         the list is empty.
543         * locale/programs/ld-ctype.c (ctype_read): Better patch for read
544         failure.
546 2006-08-24  Ulrich Drepper  <drepper@redhat.com>
548         * locale/programs/ld-ctype.c (ctype_read): If CTYPE is NULL, don't
549         do anything.
551         * sysdeps/generic/ldsodefs.h (DL_ADDR_SYM_MATCH): For undefined
552         symbol require exact match (these are PLTs).
553         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h
554         (_dl_ppc64_addr_sym_match): Likewise.
556         [BZ #2683]
557         * elf/dl-addr.c (_dl_addr): Don't ignore all undefined symbols.
558         If symbol has a value use it.
559         * elf/tst-dladdr1.c: New file.
560         * elf/Makefile: Add rules to build and run tst-addr1.
562 2006-08-24  Jakub Jelinek  <jakub@redhat.com>
564         * malloc/malloc.c (sYSMALLOc): Avoid infinite loop if MMAP
565         keeps failing and heap growth or new heap creation isn't
566         successful either.
567         * malloc/tst-malloc.c (main): Add new tests.
569 2006-08-24  Ulrich Drepper  <drepper@redhat.com>
571         [BZ #2734]
572         * sysdeps/i386/bits/byteswap.h (__bswap_32): Use same conditions
573         as in the x86-64 code to use bswap.
575 2006-05-21  Joseph S. Myers  <joseph@codesourcery.com>
577         [BZ #2680]
578         * posix/unistd.h (getlogin_r): Condition on __USE_POSIX199506, not
579         __USE_UNIX98.
580         * posix/bits/unistd.h: Likewise.
582 2006-05-15  Mike Frysinger  <vapier@gentoo.org>
584         [BZ #2751]
585         * string/strchr.c: Add cast to avoid warning.
587 2006-08-21  Ulrich Drepper  <drepper@redhat.com>
589         * malloc/malloc.c (DEFAULT_MMAP_THRESHOLD_MAX): For 32-bit
590         platforms define as 512K.  For 64-bit platforms as 32MB.  The lower
591         limit is needed to avoid the exploding of the address space
592         requirement for secondary heaps.
593         * malloc/arena.c (HEAP_MAX_SIZE): Define using
594         DEFAULT_MMAP_THRESHOLD_MAX if it is defined.
596 2006-07-30  Joseph S. Myers  <joseph@codesourcery.com>
598         [BZ #3018]
599         * Makerules (depfiles): Handle extra-test-objs the same as
600         extra-objs.
601         (common-mostlyclean): Likewise.
602         * dlfcn/Makefile (extra-objs): Add modules to extra-test-objs
603         instead.
604         * elf/Makefile (extra-objs): Likewise.
605         * stdlib/Makefile (extra-objs): Likewise.
607 2006-08-14  Eric Blake  <ebb9@byu.net>
609         [BZ #3044]
610         * misc/error.h: Assume C89 or better.
611         * misc/error.c: Likewise.
613 2006-08-21  Ulrich Drepper  <drepper@redhat.com>
615         [BZ #3040]
616         * sysdeps/unix/sysv/linux/openat.c: Fix compilation if
617         __ASSUME_ATFCTS is defined.
619 2006-08-19  Ulrich Drepper  <drepper@redhat.com>
621         * malloc/malloc.c (_int_malloc): Limit number of unsorted blocks
622         to sort in each call.
624         * nis/nss_nis/nis-service.c (internal_nis_getservent_r): . If map
625         is empty simply return and use next service.
626         * nis/nss_nis/nis-rpc.c (internal_nis_getrpcent_r): Likewise.
628         * locale/programs/charmap.c (charmap_read): Add new parameter.  It
629         tells us when not finding a charmap file is an error.
630         * locale/programs/charmap.h: Adjust charmap_read prototype.
631         * iconv/iconv_prog.c (main): Tell charmap_read it's no error if we
632         cannot find a charmap.
633         * locale/programs/localedef.c (main): Adjust charmap_read call.
635 2006-08-15  Jakub Jelinek  <jakub@redhat.com>
637         * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Use
638         sysdeps/posix/pause.c implementation instead.
640 2006-08-09  Jakub Jelinek  <jakub@redhat.com>
642         * sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority
643         to EPERM.
645 2006-08-13  Andreas Schwab  <schwab@suse.de>
647         * sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve):
648         Don't clobber caller's LRSAVE.
649         (_dl_prof_resolve): Likewise.
651 2006-08-14  Ulrich Drepper  <drepper@redhat.com>
653         [BZ #1996]
654         * libio/memstream.c (open_memstream): Allocate initial buffer with
655         calloc.
656         * libio/wmemstream.c (open_wmemstream): Likewise.
657         * libio/strops.c: Pretty printing.
658         (_IO_str_overflow): Clear uninitialized part of the new buffer.
659         (enlarge_userbuf): New function.
660         (_IO_str_seekoff): Call it if seek position is larger than current
661         buffer.
662         * libio/wstrops.c: Likewise.
663         * libio/vasprintf.c: Add comment as to why we do not have to use
664         calloc instead of malloc to allocate initial buffer.
665         * libio/Makefile (tests): Add bug-memstream1 and bug-wmemstream1.
666         * libio/bug-memstream1.c: New file.
667         * libio/bug-wmemstream1.c: New file.
669 2006-08-13  Ulrich Drepper  <drepper@redhat.com>
671         * libio/wstrops.c: Remove dead macro definitions and comments.
672         * libio/strops.c: Likewise.
674         [BZ #2764]
675         * login/utmpname.c (__utmpname): Remove unnecessary test.
677 2006-06-08  Joseph Myers  <jsm28@gcc.gnu.org>
679         [BZ #2832]
680         * math/gen-libm-test.pl (clean_up_number): Do not remove trailing
681         0s from integers.
683 2006-08-13  Ulrich Drepper  <drepper@redhat.com>
685         [BZ #2987]
686         * sysdeps/unix/sysv/linux/clock_settime.c: Add code to use syscall
687         for CPU clocks.
688         * sysdeps/unix/clock_settime.c: Add support for platform-specific
689         setting of CPU clocks.
691 2006-06-23  Paul Eggert  <eggert@cs.ucla.edu>
693         [BZ #2841]
694         * sysdeps/generic/stdint.h (UINT8_C, UINT16_C): Don't append 'U',
695         since C99 requires the result to promote to 'int' when uint_least8_t
696         and uint_least16_t promote to 'int'.
698 2006-08-12  Ulrich Drepper  <drepper@redhat.com>
700         [BZ #3013]
701         * locale/programs/ld-ctype.c (ctype_output): Adjust alignments, fix
702         lenght of one output field, correct bitmask creation.
703         * locale/programs/ld-time.c: Add alignment.
705         [BZ #2997]
706         * misc/error.c: Add space between program name and message if file
707         name is missing.
709 2006-08-03  Eric Blake  <ebb9@byu.net>
711         [BZ #2998]
712         * misc/error.c (error_tail) [_LIBC]: Avoid invalid free.
714 2006-08-09  Ulrich Drepper  <drepper@redhat.com>
716         * malloc/memusagestat.c: Silence warnings.
718         * malloc/malloc.c: Dynamically size mmap treshold if the program
719         frees mmaped blocks.
720         Patch by Valerie Henson and Arjan van de Ven.
722 2006-08-08  Jakub Jelinek  <jakub@redhat.com>
724         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_DIRECT): Protect with
725         __USE_GNU.
727         * stdlib/strtol_l.c (__strtol_ul_max_tab, __strtol_ul_rem_tab,
728         __strtol_ull_max_tab, __strtol_ull_rem_tab): Declare.
729         (DEF): Don't put the var into .gnu.linkonce.r.* section.
730         Only provide var definitions in strtol_l (or for *ull*
731         in strtoll_l).
733         * stdio-common/bug16.c (tests): New array.
734         (do_tests): Allow the first hexadecimal digit
735         to be 1, 2, 4 or 8.  Do 3 additional tests.
737         * sysdeps/s390/fpu/libm-test-ulps: Update.
739         * sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c (fchownat): Use
740         fchownat syscall if available.
741         * sysdeps/unix/sysv/linux/powerpc/fchownat.c (fchownat): Likewise.
742         * sysdeps/unix/sysv/linux/sh/fchownat.c (fchownat): Likewise.
743         * sysdeps/unix/sysv/linux/i386/fchownat.c (fchownat): Likewise.
745 2006-08-07  Ulrich Drepper  <drepper@redhat.com>
747         * nis/nis_xdr.c: Avoid some function calls.
749 2006-08-07  Jakub Jelinek  <jakub@redhat.com>
750             Ulrich Drepper  <drepper@redhat.com>
752         * nis/nis_call.c (rec_dirsearch) [case LOWER_NAME]: Don't take
753         short cut if only one name component is stripped away.
755 2006-08-07  Ulrich Drepper  <drepper@redhat.com>
757         * nis/nis_call.c: Minor cleanups throughout.
758         (rec_dirsearch) [case HIGHER_NAME]: Correctly size ndomain array.
759         (first_shoot): Add search_parent_first parameter.  Only if it is set
760         search parent server first.
761         If directory for table found through cold start cache is not the same
762         as referenced in the cache, don't use it.
763         (__nisfind_server): Take additional parameter.  Pass it on to
764         first_shoot.
765         (__prepare_niscall): Adjust __nisfind_server call.
766         * nis/rpcsvc/nislib.h: Adjust __nisfind_server prototype.
767         * nis/nis_table.c: Adjust __nisfind_server call.
768         * nis/nis_lookup.c: Likewise.
769         (nis_lookup): Don't loop endlessly if name is reduced to ".".
771 2006-08-03  Ulrich Drepper  <drepper@redhat.com>
773         [BZ #2182]
774         * math/s_cacosh.c: Return values from positive branch.
775         * math/s_cacoshf.c: Likewise.
776         * math/s_cacoshl.c: Likewise.
778         [BZ #2883]
779         * sysvipc/sys/msg.h: Change return value to ssize_t.
780         * sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
781         * sysvipc/msgrcv.c: Likewise.
782         * include/sys/msg.h: Likewise.
784         * grp/initgroups.c (internal_getgrouplist): Remove unnecessary
785         test introduced in patch for bz #661.
786         (getgrouplist): Simplify code a bit.  Don't allocate one additional
787         element for NEWGROUPS.
789         [BZ #2908]
790         * stdio-common/printf_fphex.c (__printf_fphex): When rounding up
791         'f', use '1' as leading digit not '\1'.
792         * stdio-common/Makefile (tests): Add bug16.
793         * stdio-common/bug16.c: New file.
795         [BZ #2914]
796         * sysdeps/unix/sysv/linux/gethostid.c: Don't define OLD_HOSTIDFILE
797         and don't try to open it.  The patch introducing the macro
798         contained a bug and used the same file name as the new file
799         instead of using /var/adm/hostid.  Nobody complaint so I'm taking
800         this out completely.
802         [BZ #2926]
803         * assert/assert.h: Move cast to void inside ?: to quiet gcc.
804         Patch by Jerry James <Jerry.James@usu.edu>.
806         * rt/Makefile (tests): Add tst-clock2.
807         * rt/tst-clock2.c: New file.
809         [BZ #2978]
810         * resolv/gai_notify.c (__gai_notify_only): Copy memory for thread
811         function and its parameters and pass it to new thread.
812         (__gai_notify): Add support for alternative waiting for completion.
813         * resolv/gai_suspend.c (gai_suspend): Add support for alternative
814         waiting for completion.
815         * resolv/getaddrinfo_a.c: Likewise.
816         * resolv/gai_misc.h (struct waitlist): Don't add cond if alternative
817         waiting for completion is used.
818         * resolv/gai_misc.c: Allow overwriting code to start helper thread.
819         * resolv/gai_cancel.c: Include <gai_misc.h> not "gai_misc.h".
820         * resolv/gai_error.c: Likewise.
821         * resolv/gai_sigqueue.c: Likewise.
823 2006-08-02  Thomas Schwinge  <tschwinge@gnu.org>
825         * hurd/getdport.c (__getdport): Don't return EBADF; instead set
826         errno to EBADF and return MACH_PORT_NULL.
828 2006-06-23  Joseph Myers  <joseph@codesourcery.com>
830         [BZ #2980]
831         * posix/Makefile (CFLAGS-waitid.c): Add -fasynchronous-unwind-tables.
833 2006-08-02  Ulrich Drepper  <drepper@redhat.com>
835         * elf/dl-addr.c (_dl_addr): If GNU-style hash tables are present,
836         walk them instead of the symbol table.
838 2006-08-01  Ulrich Drepper  <drepper@redhat.com>
840         [BZ #2098]
841         * nscd/initgrcache.c (addinitgroupsX): Judge successful lookups by
842         status of NSS calls, not the number of returned entries.
844         * sysdeps/unix/sysv/linux/syscalls.list: Remove add_key,
845         request_key, keyctl.
847 2006-07-31  Ulrich Drepper  <drepper@redhat.com>
849         * sysdeps/unix/sysv/linux/dl-osinfo.h: Remove unnecessary include.
851 2006-07-16  Jeff Bailey  <jbailey@ubuntu.com>
853         * elf/tst-auditmod1.c: Fix typo in #error.
855 2006-07-31  Ulrich Drepper  <drepper@redhat.com>
857         * elf/tst-auditmod1.c: Remove code for unsupported architectures.
859         * iconvdata/run-iconv-test.sh: Run cmp in C locale.
861 2006-07-20  Adam Nemet  <anemet@caviumnetworks.com>
863         * stdlib/test-canon.c (do_test): Close fd before unlinking file so
864         that the directory is empty even on non-POSIX filesystems.
866 2006-07-31  Ulrich Drepper  <drepper@redhat.com>
868         * elf/dl-open.c (dl_open_worker): Add branch prediction.
870         * nis/nss_compat/compat-grp.c: Avoid unnecessary setgrent calls into
871         the backend NSS module.  If backend setgrent call failed, don't have
872         internal_setgrent fail.  Just remember this until it is needed.
873         * nis/nss_compat/compat-pwd.c: Likewise.
874         * nis/nss_compat/compat-spwd.c: Likewise.
876 2006-07-30  Roland McGrath  <roland@redhat.com>
878         * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: File removed.
879         * sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: File removed.
880         * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: File removed.
881         * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: File removed.
883         * sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): New macro.
884         (nanosleep_not_cancel): New macro.
885         (sigsuspend_not_cancel): new macro.
886         * sysdeps/unix/sysv/linux/sigsuspend.c [__ASSUME_REALTIME_SIGNALS]
887         (do_sigsuspend): Define as inline.
888         (__sigsuspend): Always use do_sigsuspend.
889         [! NO_CANCELLATION] (__sigsuspend_nocancel): New function.
890         * include/signal.h: Declare __sigsuspend_nocancel.
891         * sysdeps/posix/pause.c
892         [! NO_CANCELLATION] (__pause_nocancel): New function.
894         * include/unistd.h (__pause_nocancel): Add attribute_hidden.
895         * include/time.h (__nanosleep_nocancel): Likewise.
897 2006-07-30  Ulrich Drepper  <drepper@redhat.com>
899         * locale/programs/localedef.c (add_to_readlist): Rename local
900         variables to avoid confusion.
902         * locale/programs/charmap.c (charmap_read): Emit error message if
903         charmap couldn't be found or read.
905 2006-07-28  Ulrich Drepper  <drepper@redhat.com>
907         * sysdeps/unix/sysv/linux/kernel-features.h: Define
908         __ASSUME_FUTEX_LOCK_PI.
909         * include/time.h: Declare __nanosleep_nocancel.
910         * include/unistd.h: Declare __pause_nocancel.
912         * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Use this instead of
913         LDFLAGS.  Add -lgcc_eh and libc_nonshared (again) to make sure we
914         get the __stack_chk_fail_local definition when it's needed.
916 2006-07-26  Ulrich Drepper  <drepper@redhat.com>
918         * dlfcn/Makefile: Add rules to build and run bug-atexit3.
919         * dlfcn/bug-atexit3.c: New file.
920         * dlfcn/bug-atexit3-lib.cc: New file.
922         * dlfcn/dlmopen.c (dlmopen_doit): Don't allow RTLD_GLOBAL to be
923         used when the namespace is not the base namespace.
925 2006-07-26  Gavin Romig-Koch  <gavin@redhat.com>
927         * stdlib/cxa_atexit.c (__new_exitfn_called): New variable.
928         (__new_exitfn): Bump it in every successful call.
929         * stdlib/cxa_finalize.c (__cxa_finalize): If destructor registered
930         more exit handlers, call them right away.
931         * stdlib/exit.h: Declare __new_exitfn_called.
933 2006-07-25  Ulrich Drepper  <drepper@redhat.com>
935         * stdlib/cxa_finalize.c (__cxa_finalize): Fix race condition when
936         calling registered handler.
938         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Fix comment.
939         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
940         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
941         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
942         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
943         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
944         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
945         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
947 2006-07-10  Ulrich Drepper  <drepper@redhat.com>
949         * elf/dl-lookup.c (dl_new_hash): New functions.
950         (_dl_lookup_symbol_x): Rename hash to old_hash and don't compute
951         value here.  Compute new-style hash value.  Pass new hash value
952         and reference to variable with the old value to do_lookup_x.
953         (_dl_setup_hash): If DT_GNU_HASH is defined, use it and not
954         old-style hash table.
955         (_dl_debug_bindings): Pass new hash value and reference to variable
956         with the old value to do_lookup_x.
957         * elf/do-lookup.h (do_lookup_x): Accept additional parameter with
958         new-style hash value and change old-style hash value parameter to
959         be a reference.  Reoganize functions to determine whether
960         new-style hash table is available.  Only fall back on old-style
961         table.  If old-style hash value is needed, compute it here.
962         * elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_GNU_HASH
963         entry.
964         * elf/elf.h: Define SHT_GNU_HASH, DT_GNU_HASH, DT_TLSDEC_PLT,
965         DT_TLSDEC_GOT.  Adjust DT_ADDRNUM.
966         * include/link.h (struct link_map): Add l_gnu_bitmask_idxbits,
967         l_gnu_shift, l_gnu_bitmask, l_gnu_buckets and l_gnu_chain_zero.
968         * Makeconfig: If linker supports --hash-style option add it to all
969         linker command lines to build DSOs.
970         * config.make.in: Define have-hash-style.
971         * configure.in: Test whether linker supports --hash-style option.
973         * elf/dl-misc.c (_dl_name_match_p): Make MAP parameter const.
974         * sysdeps/generic/ldsodefs.h: Adjust prototype.
976 2006-06-27  Ulrich Drepper  <drepper@redhat.com>
978         * elf/dl-load.c (open_path): Fix test to determine whether DSO is
979         auditing.
981         * elf/dl-load.c (_dl_map_object): Try harder to avoid looking at
982         RPATH of main map twice.
984 2006-06-22  Ulrich Drepper  <drepper@redhat.com>
986         * intl/dcigettext.c (DCIGETTEXT): If _nl_find_msg returns -1 don't
987         look further, return original strings.
988         (_nl_find_msg): Do not return found translation if the conversion
989         failed.  Either signal the string is unusable or that something went
990         wrong and the original should be used.
992 2006-06-21  Ulrich Drepper  <drepper@redhat.com>
994         * string/_strerror.c (__strerror_r): Add __builtin_expect.
996 2006-06-14  Jakub Jelinek  <jakub@redhat.com>
998         [BZ #2766]
999         * misc/insremque.c (insque): Handle prev == NULL.
1000         * misc/Makefile (tests): Add tst-insremque.
1001         * misc/tst-insremque.c: New test.
1003 2006-06-17  Ulrich Drepper  <drepper@redhat.com>
1005         [BZ #2792]
1006         * elf/dl-deps.c (expand_dst): Rename __cnt variable to not
1007         conflict with DL_DST_REQUIRED.
1009 2006-06-16  Ulrich Drepper  <drepper@redhat.com>
1011         * nis/nis_subr.c (nis_getnames): Fix the implementation to better
1012         match what Solaris does.
1014 2006-06-04  Ulrich Drepper  <drepper@redhat.com>
1016         * sysdeps/posix/spawni.c (__spawni): Use local_seteuid and
1017         local_setegid instead of seteuid and setegid.
1018         * sysdeps/generic/local-setxid.h: New file.
1019         * sysdeps/unix/sysv/linux/local-setxid.h: New file.
1021         * sysdeps/posix/spawni.c (__spawni): Use non-cancelable interfaces.
1023         * string/Makefile (tests): Add bug-envz1.
1024         * string/bug-envz1.c: New file.
1026 2006-06-02  Jakub Jelinek  <jakub@redhat.com>
1028         * posix/regex_internal.c (re_string_skip_chars): If no character has
1029         been converted at all, set *last_wc to WEOF.  If mbrtowc failed, set wc
1030         to the byte which couldn't be converted.
1031         (re_string_reconstruct): Don't clear valid_raw_len before calling
1032         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
1033         tip_context using re_string_context_at.
1034         * posix/Makefile: Add rules to build and run bug-regex25 test.
1035         * posix/bug-regex25.c: New test.
1037 2006-06-02  Ryan S. Arnold  <rsa@us.ibm.com>
1039         [BZ #2703]
1040         * string/envz.c (envz_strip): Correct erroneously reversed src
1041         and dest parameters to memmove() invocation.
1043 2006-05-30  Jakub Jelinek  <jakub@redhat.com>
1045         * nscd/nscd.h (prune_cache): Add fd argument to prototype.
1046         * nscd/nscd.c (parse_opt): Read response from INVALIDATE request
1047         to make sure the database has been already invalidated.
1048         * nscd/cache.c (prune_cache): Add fd argument.  Write response to fd
1049         after the cache has been invalidated.  Use pthread_mutex_lock rather
1050         than pthread_mutex_trylock if fd != -1.
1051         * nscd/connections.c (invalidate_cache): Add fd argument, write
1052         response to fd if not calling prune_cache, pass fd to prune_cache.
1053         (handle_request): Adjust invalidate_cache caller.
1054         (nscd_run): Pass -1 as fd to prune_cache.
1056 2006-05-30  Ulrich Drepper  <drepper@redhat.com>
1058         * sysdeps/posix/getaddrinfo.c (gaiconf_init): Initialize bits in
1059         the correct place.
1061 2006-05-29  Ulrich Drepper  <drepper@redhat.com>
1063         * nscd/nscd.h (struct database_dyn): Add prunelock field.
1064         * nscd/cache.c (prune_cache): Take prunelock before starting the
1065         work.  Just return in case it is already taken.
1066         * nscd/connections.c (dbs): Initialize .prunelock.
1068 2006-05-25  Ulrich Drepper  <drepper@redhat.com>
1070         * nis/nis_removemember.c (nis_removemember): Avoid unnecessary
1071         copying.  No need to allocate new array for group members.  Just
1072         move the pointers and update the size.
1074         * nis/nis_addmember.c (nis_addmember): Avoid unnecessary copying.
1075         Avoid memory leak in case realloc fails.  Simplification for
1076         better code generation.
1078         Avoid deprecation warning because of libc_hidden_proto for
1079         inet6_option_alloc.
1080         * inet/inet6_option.c (option_alloc): Renamed from
1081         inet6_option_alloc.  Made static.
1082         (inet6_option_alloc): Now a simple wrapper around option_alloc.
1083         (inet6_option_append): Call option_alloc.
1084         * include/netinet/in.h: Remove libc_hidden_proto for
1085         inet6_option_alloc.
1087         * nis/nis_callback.c (__nis_create_callback): Always call xdr_free
1088         for cleanup when cb!=NULL [Coverity CID 233].
1090 2006-05-24  Ulrich Drepper  <drepper@redhat.com>
1092         [BZ #2693]
1093         * inet/Makefile (routines): Add inet6_opt and inet6_rth.
1094         * inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
1095         inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
1096         inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
1097         inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
1098         and inet6_rth_getaddr.
1099         * inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
1100         array.
1101         * inet/netinet/in.h (struct ip6_mtuinfo): Define.
1102         Mark inet6_option_* interfaces as deprecated.
1103         Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
1104         inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
1105         inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
1106         inet6_rth_segments, and inet6_rth_getaddr.
1107         * inet/inet6_opt.c: New file.
1108         * inet/inet6_rth.c: New file.
1110         * inet/netinet/icmp6.h: Pretty printing.
1112         [BZ #2683]
1113         * elf/dl-addr.c (_dl_addr): Don't match undefined references.
1115 2006-05-23  Ulrich Drepper  <drepper@redhat.com>
1117         * nis/nis_lookup.c (nis_lookup): Use __prepare_niscall instead of
1118         doing it all here.  When server does not know the answer do not
1119         fail immediate, try parent first.
1121         * nis/nis_domain_of_r.c (nis_domain_of_r): Add missing buffer
1122         overflow test.
1124 2006-05-20  Ulrich Drepper  <drepper@redhat.com>
1126         * nis/nis_call.c (__prepare_niscall): New function.  Split out
1127         from __do_niscall.
1128         * nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
1129         and exported.
1130         (__follow_path): New function.  Split out from nis_list.
1131         * nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
1132         _xdr_nis_result.
1133         * nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
1134         _xdr_nis_result.
1135         * nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
1136         and __follow_path.
1137         * nis/Versions: Export __prepare_niscall, __create_ib_request,
1138         __follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
1139         from libnsl for version GLIBC_PRIVATE.
1140         * nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
1141         Remove entry parameter from _nss_nisplus_parse_pwent and
1142         _nss_nisplus_parse_grent.
1143         * nis/nss_nisplus/nisplus-parser.c: Likewise.
1144         * nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
1145         again.  Rewrite getpwent handling to not use nis_first_entry and
1146         nis_next_entry.  Roll out own niscall handling.
1147         * nis/nss_nisplus/nisplus-grp.c: Likewise.
1149         * sunrpc/xdr_rec.c: Fix typo in comment.
1151 2006-05-19  Ulrich Drepper  <drepper@redhat.com>
1153         * nis/nis_call.c (__do_niscall3): Avoid code duplication in error
1154         handling.
1156         * nis/nis_callback.c (internal_nis_do_callback): Don't use malloc
1157         to allocate memory for my_pollfd.  Better initialization of
1158         cb_is_running.  Use TEMP_FAILURE_RETRY.
1160         * malloc/memusage.sh (memusageso): Add quotes.
1161         (memusagestat): Likewise.
1162         * debug/xtrace.sh (pcprofileso): Likewise.
1163         (pcprofiledump): Likewise.
1164         * debug/Makefile ($(objpfx)xtrace): Use $LIB in SLIBDIR
1165         replacement.
1166         * malloc/Makefile ($(objpfx)memusage): Likewise.
1168         * nis/nis_callback.c (__nis_create_callback): Calls to
1169         svcudp_bufcreate and svctcp_create can fail.  Free ->xprt if
1170         asprintf call fails.
1172         * sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_sendreq): Make sure
1173         no uninitialized memory is passed to sendto.
1175 2006-05-18  Ulrich Drepper  <drepper@redhat.com>
1177         * nis/nis_callback.c (__nis_create_callback): Use asprinf instead
1178         of snprintf+strdup.  Handle OOM.
1179         * nis/nis_callback.c (__nis_create_callback): Allocate cb and
1180         cb->serv together.  Remove now obsolete free calls.
1181         (__nis_destroy_callback): Remove now obsolete free call.
1183 2006-05-18  David Woodhouse  <dwmw2@redhat.com>
1185         * sysdeps/posix/getaddrinfo.c: Add unique labels to the default
1186         RFC3484 precedence table for fec0::/10 and fc00::/7 (site-local
1187         and ULA respectively). Set precedence for IPv4 address to 10 as
1188         defined in RFC3484 for preferring IPv6.
1189         * posix/gai.conf: Update to match the new default tables.
1191 2006-05-18  Jakub Jelinek  <jakub@redhat.com>
1193         * nis/nss_compat/compat-pwd.c (internal_setpwent): If nss_set*ent
1194         returned NSS_STATUS_UNAVAIL, still return NSS_STATUS_SUCCESS.
1195         * nis/nss_compat/compat-spwd.c (internal_setspent): Likewise.
1196         * nis/nss_compat/compat-grp.c (internal_setgrent): Likewise.
1198         * nis/nss_compat/compat-initgroups.c (nss_setgrent, nss_endgrent):
1199         Removed.
1200         (init_nss_interface): Remove initialization of these variables.
1202 2006-05-18  Ulrich Drepper  <drepper@redhat.com>
1204         * nis/nis_call.c (rec_dirsearch): Little optimization: pull
1205         nis_free_directory forward to avoid duplication.
1207 2006-05-17  Ulrich Drepper  <drepper@redhat.com>
1209         * nis/nis_call.c (rec_dirsearch): Handle __nis_finddirectory and
1210         rec_dirsearch returning NULL.
1211         (first_shoot): Handle __nis_finddirectory returning NULL.
1212         (__nisfind_server): Fix leak when rec_dirsearch returns NULL.
1214         * sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOSE, IN_MOVE,
1215         IN_ONLYDIR, IN_DONT_FOLLOW, and IN_MASK_ADD.
1217 2006-05-17  Jakub Jelinek  <jakub@redhat.com>
1219         * sunrpc/key_call.c (getkeyserv_handle): Call auth_destroy if
1220         pid changed.
1222 2006-05-15  Ulrich Drepper  <drepper@redhat.com>
1224         * include/rpc/pmap_prot.h: Mark all functions as hidden.
1226         * nscd/nscd_initgroups.c: Mark __gr_map_handle as hidden.
1227         * nscd/nscd_getgr_r.c: Likewise.
1229         * include/rpc/pmap_rmt.h: Mark all functions as hidden.
1231         * nscd/nscd_getai.c (__hst_map_handle): Mark as hidden.
1232         * nscd/nscd_gethst_r.c (__hst_map_handle): Likewise.
1234         * stdlib/longlong.h (__clz_tab): Mark as hidden.
1236         * iconv/gconv_int.h: Mark __gconv_lock as hidden.
1238         * include/rpc/key_prot.h: Mark all _internal functions as hidden.
1240         * include/rpc/auth.h: Mark xdr_des_block_internal and
1241         xdr_opaque_auth_internal as hidden.
1243         * sysdeps/unix/sysv/linux/getdents.c: Mark __have_no_getdents64 as
1244         hidden.
1246         * include/rpc/xdr.h: Mark all _internal functions as hidden.
1248         * misc/getusershell.c (okshells): Don't use static initializers,
1249         do it dynamically.
1251         * stdlib/fmtmsg.c (keywords): Change type of len element to
1252         uint32_t to not waste space on 64bit machines.
1254         * locale/setlocale.c: Change _nl_category_names into a string.
1255         Add new _nl_category_name_idxs.  Change all users.
1256         * locale/localeinfo.h: Adjust declaration of _nl_category_names.
1257         Declare _nl_category_name_idxs.
1258         * locale/findlocale.c: Adjust for _nl_category_names change.
1259         * locale/loadlocale.c: Likewise.
1260         * locale/newlocale.c: Likewise.
1261         * intl/dcigettext.c: Likewise.
1263         * iconv/gconv_conf.c (add_alias): Move actual alias handling to...
1264         (add_alias2): ...here.  New function.
1265         (__gconv_read_conf): Simplify builtin alias handling.
1266         (builtin_aliases): Convert to string to avoid relocations.
1267         * iconv/gconv_builtin.h: Add comment about correct formatting.
1269 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
1271         * resolv/res_debug.c (loc_ntoa): Make error const.
1273 2006-05-14  Andreas Schwab  <schwab@suse.de>
1275         * math/complex.h [__LDBL_COMPAT]: Use __REDIRECT_NTH.
1277 2006-05-12  Jakub Jelinek  <jakub@redhat.com>
1279         * sysdeps/unix/sysv/linux/sched_getaffinity.c: Include sys/param.h.
1280         (__sched_getaffinity_new): Don't crash if cpusetsize is smaller than
1281         sizeof (cpu_set_t).
1283 2006-05-11  Ulrich Drepper  <drepper@redhat.com>
1285         * resolv/res_debug.c (loc_ntoa): Define error as array, not pointer.
1287         * include/arpa/nameser.h: Declare _ns_flagdata as hidden.
1289         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_master.
1290         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_master.
1292         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypbind_resp.
1293         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypbind_resp.
1295         * nis/nis_xdr.c: Add libnsl_hidden_def for xdr_cback_data.
1296         * include/rpcsvc/nis_callback.h: Add libnsl_hidden_proto for
1297         xdr_cback_data.
1299         * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypupdate_args.
1300         * include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
1301         xdr_ypupdate_args.
1303         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_order.
1304         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_order.
1306         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_maplist.
1307         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_maplist.
1309         * nis/nis_xdr.c: Add libnsl_hidden_def for xdr_obj_p.
1310         * include/rpcsvc/nis_callback.h: New file.
1312         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_val.
1313         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_val.
1315         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
1316         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.
1318         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypmaplist.
1319         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypmaplist.
1321         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
1322         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.
1324         * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypdelete_args.
1325         * include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
1326         xdr_ypdelete_args.
1328         * nis/nis_xdr.h: Mark all functions as hidden.  Remove
1329         __BEGIN_DECLS and __END_DECLS, the header is not installed.
1331         * nis/nis_error.c: Remove table of strings.  Use position
1332         independent mechanism.
1333         * nis/nis_error.h: New file.
1335 2006-05-11  Jakub Jelinek  <jakub@redhat.com>
1337         * locale/programs/ld-time.c (time_finish): If wide era name or
1338         format aren't provided, set both wname and wformat to L"".
1340 2006-05-10  Ulrich Drepper  <drepper@redhat.com>
1342         * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Only store
1343         results if the call was succesful.
1345         * nis/nss-nis.h: Mark __yperr2nss_tab and __yperr2nss_count as hidden.
1347         * nis/nss-nisplus.h: Mark __niserr2nss_tab and __niserr2nss_count
1348         as hidden.
1350 2006-05-10  Jakub Jelinek  <jakub@redhat.com>
1352         * misc/sys/queue.h: Remove uses of all QUEUEDEBUG_* macros.
1354 2006-05-10  Ulrich Drepper  <drepper@redhat.com>
1356         * posix/wordexp.c (parse_glob): No need to check ifs for NULL, the
1357         caller makes sure this is not the case.
1358         (wordexp): Simplify ifs_white creation.  [Coverity CID 231]
1360 2006-05-09  Ulrich Drepper  <drepper@redhat.com>
1362         * posix/wordexp.c: Remove numerous NULL pointer tests before FREE
1363         calls.
1365         * io/ftw.c (open_dir_stream): Return right away if REALLOC fails.
1366         [Coverity CID 229, 230]
1368         * argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and
1369         DGETTEXT calls.
1370         (hol_help): Likewise.  [Coverity CID 226, 227]
1372         * string/argz-replace.c (__argz_replace): Unconditionally call
1373         free on SRC.  [Coverity CID 225]
1375         * nis/nis_creategroup.c (nis_creategroup): No need to duplicate
1376         the return value of __nis_default_owner and __nis_default_group,
1377         it has been especially allocated.  [Coverity CID 224]
1379         * nis/nis_defaults.c (searchXYX): New functions.  Used by both
1380         searchgroup and searchowner.  Significantly simplified.
1381         (__nis_default_owner): Remove duplication.  Do not locally copy the
1382         string before duplicating it.
1383         (__nis_default_group): Likewise.
1385         * nis/nis_lookup.c (nis_lookup): After calling nis_free_directory,
1386         we must clear the variable before calling __nisfind_server.
1388         * nis/nis_lookup.c (nis_lookup): Always free memory allocated with
1389         nis_getnames.  [Coverity CID 223]
1391         * locale/programs/locfile.c (locfile_read): Use alloca instead of
1392         xmalloc to allocate local repertoire name.  [Coverity CID 222]
1394         * iconv/iconv_charmap.c (use_to_charmap): No need to dynamically
1395         allocate memory for the input to add_bytes.  [Coverity CID 221]
1397         * posix/wordexp.c (w_addword): Free word if realloc fails and it
1398         was allocated here.  [Coverity CID 219, 220]
1400         * posix/getconf.c (print_all): Free confstr data after printing.
1401         [Coverity CID 218]
1403         * sysdeps/posix/getaddrinfo.c (gaih_inet): Free canon string if
1404         list allocation fails.  [Coverity CID 215]
1406         * nss/nsswitch.c (__nss_configure_lookup): Fix loop end condition.
1407         [Coverity CID 213]
1409         * argp/argp-help.c (hol_entry_cmp): Don't call canon_doc_option if
1410         string is NULL.  [Coverity CID 212]
1411         * argp/Makefile: Add rules to build and run bug-argp1.
1412         * argp/bug-argp1.c: New file.
1414         * io/ftw.c (ftw_dir): Use __rawmemchr instead of strchr to find
1415         end of string.
1416         * stdlib/canonicalize.c (__realpath): Likewise.
1418         * locale/programs/ld-time.c (time_finish): Don't dereference NULL
1419         pointer.  [Coverity CID 206]
1421         * elf/dl-dst.h (DL_DST_REQUIRED): Be prepared for missing link map
1422         in statically linked code.
1423         * elf/dl-load.c (_dl_dst_substitute): When replacing ORIGIN in
1424         statically built code, be prepared to have no link map.
1425         [Coverity CID 205]
1427         * argp/argp-help.c (fill_in_uparams): Handle STATE==NULL in
1428         dgettext calls. [Coverity CID 204]
1430         * argp/argp-help.c (struct uparams): Remove valid member.  Change
1431         the one user.
1432         (uparam_names): Reduce size.  Avoid relative relocations.
1433         Moved to read-only segment.
1434         (fill_in_uparams): Update for new layout.
1436         * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Parameter can be
1437         assumed to always be != NULL. [Coverity CID 202]
1439         * argp/argp-help.c (hol_entry_help): Remove some dead code
1440         [Coverity CID 200].
1442         * nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Optimize
1443         away a few more unconditional yperr2nss calls.
1444         (_nss_nis_getservbyname_r): Likewise.
1446 2006-05-06  Ulrich Drepper  <drepper@redhat.com>
1448         * sysdeps/generic/ldsodefs.h: Remove support for non-core
1449         architectures.
1451         * sysdeps/unix/sysv/linux/check_pf.c (make_request): Make sure
1452         that unused memory passed to sendto is nevertheless initialized.
1454         [BZ #2499]
1455         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Avoid
1456         possibly unaligned memory accesses.
1458         * include/arpa/nameser.h: Also optimize NS_PUT16 and NS_PUT32.
1459         * resolv/res_mkquery.c: Use NS_PUT16 and NS_PUT32 instead of __putshort
1460         and __putlong respectively.  Correct buffer overflow check for
1461         NS_NOTIFY_OP.
1463         * resolv/res_send.c (send_vc): Use ns_put16 instead of putshort.
1465         * resolv/res_send.c (res_queriesmatch): Fix typo in comment.
1466         (send_dg): Rewrite error handling to be more compact and avoid
1467         double recomputation of timeouts.  Pass MSG_NOSIGNAL to send.
1469         * include/arpa/nameser.h: Add optimizations for NS_GET16 and NS_GET32.
1471         * resolv/res_send.c (res_nameinquery): Use NS_GET16 directly
1472         instead of ns_get16.
1473         (res_queriesmatch): Likewise.  Minor optimization.
1475         [BZ #2499]
1476         * resolv/res_query.c (__libc_res_nquery): If answerp != NULL,
1477         __libc_res_nsend might reallocate the buffer for the answer.  In
1478         this case we have to reload the HP pointer.
1480 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
1482         * stdio-common/vfscanf.c (memory_error): Remove definition.  Add
1483         some branch prediction hints.
1485         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Define SPLICE_F_*.
1486         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
1487         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
1488         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
1489         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
1490         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
1491         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
1492         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
1494 2006-05-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1496         * sysdeps/s390/s390-32/elf/start.S: Replace pc relative relocation
1497         by a GOT relocation to make Scrt1.o position independent.
1498         * sysdeps/s390/s390-64/elf/start.S: Likewise.
1500         * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Add support for
1501         six system call parameters.
1502         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
1504 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
1506         * sunrpc/svcauth_des.c (cache_init): Use calloc instead of
1507         malloc&bzero.
1509         * sunrpc/svc_udp.c (BZERO): Remove definition.
1510         (CALLOC): Define.
1511         (svc_enablecache): Use CALLOC instead of ALLOC&BZERO.
1513         * sunrpc/des_impl.c: Remove ALT_ECB support.  We never used it.
1514         (des_SPtrans): Use uint32_t type.
1515         (des_skb): Likewise.
1517         * sunrpc/xdr_ref.c (xdr_reference): Use calloc instead of malloc&bzero.
1519 2006-05-05  Jakub Jelinek  <jakub@redhat.com>
1521         [BZ #2509]
1522         * stdio-common/tst-printf.sh: Adjust for tst-printf.c change even
1523         on 32-bit arches.
1525 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
1527         * locale/programs/ld-address.c (address_finish): Fix one more
1528         place where the iso639 array might be accessed beyond the limits.
1530 2006-05-04  Ulrich Drepper  <drepper@redhat.com>
1532         * nis/nis_table.c (nis_list): Avoid clearing res twice before
1533         filling it for the first time.
1535         * nis/nis_table.c (get_tablepath): Renamed from __get_tablepath.
1536         Adjust all callers.
1537         Free res object content before returning.
1539         * sunrpc/xdr_array.c (xdr_array): Use calloc instead of malloc&bzero.
1541         * sunrpc/key_call.c (__rpc_thread_key_cleanup): Also free
1542         client->cl_auth.
1544         * sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire
1545         cleanup for initial thread, just the free call on TVP.
1547         * nscd/gai.c (__getline): Define.
1550 See ChangeLog.16 for earlier changes.