[BZ #2821]
[platform/upstream/glibc.git] / ChangeLog
1 2006-09-09  Ulrich Drepper  <drepper@redhat.com>
2
3         [BZ #2821]
4         * time/mktime.c (guess_time_tm): Fix overflow detection.
5         * time/Makefile (tests): Add bug-mktime1.
6         * time/bug-mktime1.c: New file.
7
8         [BZ #3189, #3188]
9         * misc/sys/mman.h (remap_file_pages): Make available for _GNU_SOURCE.
10         (mremap): Likewise.
11
12 2006-09-07  Jakub Jelinek  <jakub@redhat.com>
13
14         [BZ #1006]
15         * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela):
16         Ensure relocation doesn't clobber any bits outside of the
17         immediate field for R_SPARC_TLS_LE_HIX22, R_SPARC_WDISP30,
18         R_SPARC_HI22 and R_SPARC_H44.
19
20         [BZ #2775]
21         * malloc/malloc.c (sYSMALLOc): Only call grow_heap if
22         (long) (MINSIZE + nb - old_size) is positive.
23
24         * malloc/arena.c (grow_heap): When growing bail even if new_size
25         is negative.
26
27         [BZ #3155]
28         * sysdeps/powerpc/powerpc32/fpu/s_lrint.S (__lrint): Don't access
29         stack below r1.
30
31 2006-09-06  Jakub Jelinek  <jakub@redhat.com>
32
33         * posix/regex_internal.c (re_string_reconstruct): Handle
34         offset < pstr->valid_raw_len && pstr->offsets_needed case.
35         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
36         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
37         re_string_context_at.
38         * posix/Makefile: Add rules to build and run bug-regex26 test.
39         * posix/bug-regex26.c: New test.
40
41         * locale/programs/ld-collate.c (collate_read): Goto sym_equiv_free
42         rather than col_sym_free.  Move seqp declaration earlier.
43
44         * resolv/gai_suspend.c (gai_suspend): Make sure result is initialized.
45
46 2006-09-05  Jakub Jelinek  <jakub@redhat.com>
47
48         * nscd/initgrcache.c (addinitgroupsX): Move any_success
49         decl before first goto out.
50
51 2006-09-04  Jakub Jelinek  <jakub@redhat.com>
52
53         * Makerules (shlib.lds): If have-hash-style, put .hash section
54         at the end of the RO segment.
55
56 2006-09-04  Ulrich Drepper  <drepper@redhat.com>
57
58         * elf/do-lookup.h (do_lookup_x): Initialize symidx in case the new
59         style hash table format is used.
60
61 2006-09-04  Jakub Jelinek  <jakub@redhat.com>
62
63         * resolv/res_mkquery.c (res_nmkquery): Set hp->id to statp->id after
64         randomization rather than before.
65         * resolv/res_init.c (res_randomid): Don't call gettimeofday here.
66
67 2006-08-31  Jakub Jelinek  <jakub@redhat.com>
68
69         * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Add ld.so.
70
71         * malloc/malloc.c (_int_malloc): Use full list insert and not
72         shortcut which assumes the list is empty for large requests
73         too.
74
75         * elf/tst-addr1.c (do_test): Allow i.dli_sname "_IO_printf".
76
77 2006-08-30  Jakub Jelinek  <jakub@redhat.com>
78
79         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (splice): Add offin
80         and offout arguments to the prototype.
81         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (splice): Likewise.
82         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (splice): Likewise.
83         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (splice): Likewise.
84         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (splice): Likewise.
85         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (splice): Likewise.
86         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (splice): Likewise.
87         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (splice): Likewise.
88         * sysdeps/unix/sysv/linux/syscalls.list (splice): Adjust args string.
89
90 2006-08-28  Ulrich Drepper  <drepper@redhat.com>
91
92         * elf/dl-load.c (_dl_init_paths): Expand DSTs.
93
94         * elf/dl-open.c (dl_open_worker): Allow $LIB and $PLATFORM in
95         dlopen parameters.
96
97 2006-08-28  Jakub Jelinek  <jakub@redhat.com>
98
99         * inet/getnameinfo.c (getnameinfo): For AF_INET, check errno
100         only if herrno is NETDB_INTERNAL.  Handle errors other than
101         ERANGE outside of the loops, handle TRY_AGAIN.
102
103         * locale/programs/ld-ctype.c (translit_flatten): Issue error
104         if other's ctype category was missing.
105         * locale/programs/ld-collate.c (collate_read): Return if
106         copy_locale's collate category is missing.
107
108 2006-08-27  Ulrich Drepper  <drepper@redhat.com>
109
110         [BZ #2684]
111         * malloc/malloc.c (public_rEALLOc): Try harder by using other
112         arenas if allocation failed.
113         Patch mostly by Jan Edler <jan.edler@indexengines.com>.
114
115 2006-08-26  Ulrich Drepper  <drepper@redhat.com>
116
117         * malloc/malloc.c (bin_at): Rewrite to be more clear and to not
118         waste bins[0..1].
119         (malloc_state): Reduce bins size by 2.
120         (_int_malloc): Fix test for large enough buffer for early termination.
121         When no unsorted block matches perfectly and an exiting block has
122         to be split, use full list insert and not shortcut which assumes
123         the list is empty.
124
125         * locale/programs/ld-ctype.c (ctype_read): Better patch for read
126         failure.
127
128 2006-08-24  Ulrich Drepper  <drepper@redhat.com>
129
130         * locale/programs/ld-ctype.c (ctype_read): If CTYPE is NULL, don't
131         do anything.
132
133         * sysdeps/generic/ldsodefs.h (DL_ADDR_SYM_MATCH): For undefined
134         symbol require exact match (these are PLTs).
135         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h
136         (_dl_ppc64_addr_sym_match): Likewise.
137
138         [BZ #2683]
139         * elf/dl-addr.c (_dl_addr): Don't ignore all undefined symbols.
140         If symbol has a value use it.
141         * elf/tst-dladdr1.c: New file.
142         * elf/Makefile: Add rules to build and run tst-addr1.
143
144 2006-08-24  Jakub Jelinek  <jakub@redhat.com>
145
146         * malloc/malloc.c (sYSMALLOc): Avoid infinite loop if MMAP
147         keeps failing and heap growth or new heap creation isn't
148         successful either.
149         * malloc/tst-malloc.c (main): Add new tests.
150
151 2006-08-24  Ulrich Drepper  <drepper@redhat.com>
152
153         [BZ #2734]
154         * sysdeps/i386/bits/byteswap.h (__bswap_32): Use same conditions
155         as in the x86-64 code to use bswap.
156
157 2006-05-21  Joseph S. Myers  <joseph@codesourcery.com>
158
159         [BZ #2680]
160         * posix/unistd.h (getlogin_r): Condition on __USE_POSIX199506, not
161         __USE_UNIX98.
162         * posix/bits/unistd.h: Likewise.
163
164 2006-05-15  Mike Frysinger  <vapier@gentoo.org>
165
166         [BZ #2751]
167         * string/strchr.c: Add cast to avoid warning.
168
169 2006-08-21  Ulrich Drepper  <drepper@redhat.com>
170
171         * malloc/malloc.c (DEFAULT_MMAP_THRESHOLD_MAX): For 32-bit
172         platforms define as 512K.  For 64-bit platforms as 32MB.  The lower
173         limit is needed to avoid the exploding of the address space
174         requirement for secondary heaps.
175         * malloc/arena.c (HEAP_MAX_SIZE): Define using
176         DEFAULT_MMAP_THRESHOLD_MAX if it is defined.
177
178 2006-07-30  Joseph S. Myers  <joseph@codesourcery.com>
179
180         [BZ #3018]
181         * Makerules (depfiles): Handle extra-test-objs the same as
182         extra-objs.
183         (common-mostlyclean): Likewise.
184         * dlfcn/Makefile (extra-objs): Add modules to extra-test-objs
185         instead.
186         * elf/Makefile (extra-objs): Likewise.
187         * stdlib/Makefile (extra-objs): Likewise.
188
189 2006-08-14  Eric Blake  <ebb9@byu.net>
190
191         [BZ #3044]
192         * misc/error.h: Assume C89 or better.
193         * misc/error.c: Likewise.
194
195 2006-08-21  Ulrich Drepper  <drepper@redhat.com>
196
197         [BZ #3040]
198         * sysdeps/unix/sysv/linux/openat.c: Fix compilation if
199         __ASSUME_ATFCTS is defined.
200
201 2006-08-19  Ulrich Drepper  <drepper@redhat.com>
202
203         * malloc/malloc.c (_int_malloc): Limit number of unsorted blocks
204         to sort in each call.
205
206         * nis/nss_nis/nis-service.c (internal_nis_getservent_r): . If map
207         is empty simply return and use next service.
208         * nis/nss_nis/nis-rpc.c (internal_nis_getrpcent_r): Likewise.
209
210         * locale/programs/charmap.c (charmap_read): Add new parameter.  It
211         tells us when not finding a charmap file is an error.
212         * locale/programs/charmap.h: Adjust charmap_read prototype.
213         * iconv/iconv_prog.c (main): Tell charmap_read it's no error if we
214         cannot find a charmap.
215         * locale/programs/localedef.c (main): Adjust charmap_read call.
216
217 2006-08-15  Jakub Jelinek  <jakub@redhat.com>
218
219         * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Use
220         sysdeps/posix/pause.c implementation instead.
221
222 2006-08-09  Jakub Jelinek  <jakub@redhat.com>
223
224         * sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority
225         to EPERM.
226
227 2006-08-13  Andreas Schwab  <schwab@suse.de>
228
229         * sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve):
230         Don't clobber caller's LRSAVE.
231         (_dl_prof_resolve): Likewise.
232
233 2006-08-14  Ulrich Drepper  <drepper@redhat.com>
234
235         [BZ #1996]
236         * libio/memstream.c (open_memstream): Allocate initial buffer with
237         calloc.
238         * libio/wmemstream.c (open_wmemstream): Likewise.
239         * libio/strops.c: Pretty printing.
240         (_IO_str_overflow): Clear uninitialized part of the new buffer.
241         (enlarge_userbuf): New function.
242         (_IO_str_seekoff): Call it if seek position is larger than current
243         buffer.
244         * libio/wstrops.c: Likewise.
245         * libio/vasprintf.c: Add comment as to why we do not have to use
246         calloc instead of malloc to allocate initial buffer.
247         * libio/Makefile (tests): Add bug-memstream1 and bug-wmemstream1.
248         * libio/bug-memstream1.c: New file.
249         * libio/bug-wmemstream1.c: New file.
250
251 2006-08-13  Ulrich Drepper  <drepper@redhat.com>
252
253         * libio/wstrops.c: Remove dead macro definitions and comments.
254         * libio/strops.c: Likewise.
255
256         [BZ #2764]
257         * login/utmpname.c (__utmpname): Remove unnecessary test.
258
259 2006-06-08  Joseph Myers  <jsm28@gcc.gnu.org>
260
261         [BZ #2832]
262         * math/gen-libm-test.pl (clean_up_number): Do not remove trailing
263         0s from integers.
264
265 2006-08-13  Ulrich Drepper  <drepper@redhat.com>
266
267         [BZ #2987]
268         * sysdeps/unix/sysv/linux/clock_settime.c: Add code to use syscall
269         for CPU clocks.
270         * sysdeps/unix/clock_settime.c: Add support for platform-specific
271         setting of CPU clocks.
272
273 2006-06-23  Paul Eggert  <eggert@cs.ucla.edu>
274
275         [BZ #2841]
276         * sysdeps/generic/stdint.h (UINT8_C, UINT16_C): Don't append 'U',
277         since C99 requires the result to promote to 'int' when uint_least8_t
278         and uint_least16_t promote to 'int'.
279
280 2006-08-12  Ulrich Drepper  <drepper@redhat.com>
281
282         [BZ #3013]
283         * locale/programs/ld-ctype.c (ctype_output): Adjust alignments, fix
284         lenght of one output field, correct bitmask creation.
285         * locale/programs/ld-time.c: Add alignment.
286
287         [BZ #2997]
288         * misc/error.c: Add space between program name and message if file
289         name is missing.
290
291 2006-08-03  Eric Blake  <ebb9@byu.net>
292
293         [BZ #2998]
294         * misc/error.c (error_tail) [_LIBC]: Avoid invalid free.
295
296 2006-08-09  Ulrich Drepper  <drepper@redhat.com>
297
298         * malloc/memusagestat.c: Silence warnings.
299
300         * malloc/malloc.c: Dynamically size mmap treshold if the program
301         frees mmaped blocks.
302         Patch by Valerie Henson and Arjan van de Ven.
303
304 2006-08-08  Jakub Jelinek  <jakub@redhat.com>
305
306         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_DIRECT): Protect with
307         __USE_GNU.
308
309         * stdlib/strtol_l.c (__strtol_ul_max_tab, __strtol_ul_rem_tab,
310         __strtol_ull_max_tab, __strtol_ull_rem_tab): Declare.
311         (DEF): Don't put the var into .gnu.linkonce.r.* section.
312         Only provide var definitions in strtol_l (or for *ull*
313         in strtoll_l).
314
315         * stdio-common/bug16.c (tests): New array.
316         (do_tests): Allow the first hexadecimal digit
317         to be 1, 2, 4 or 8.  Do 3 additional tests.
318
319         * sysdeps/s390/fpu/libm-test-ulps: Update.
320
321         * sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c (fchownat): Use
322         fchownat syscall if available.
323         * sysdeps/unix/sysv/linux/powerpc/fchownat.c (fchownat): Likewise.
324         * sysdeps/unix/sysv/linux/sh/fchownat.c (fchownat): Likewise.
325         * sysdeps/unix/sysv/linux/i386/fchownat.c (fchownat): Likewise.
326
327 2006-08-07  Ulrich Drepper  <drepper@redhat.com>
328
329         * nis/nis_xdr.c: Avoid some function calls.
330
331 2006-08-07  Jakub Jelinek  <jakub@redhat.com>
332             Ulrich Drepper  <drepper@redhat.com>
333
334         * nis/nis_call.c (rec_dirsearch) [case LOWER_NAME]: Don't take
335         short cut if only one name component is stripped away.
336
337 2006-08-07  Ulrich Drepper  <drepper@redhat.com>
338
339         * nis/nis_call.c: Minor cleanups throughout.
340         (rec_dirsearch) [case HIGHER_NAME]: Correctly size ndomain array.
341         (first_shoot): Add search_parent_first parameter.  Only if it is set
342         search parent server first.
343         If directory for table found through cold start cache is not the same
344         as referenced in the cache, don't use it.
345         (__nisfind_server): Take additional parameter.  Pass it on to
346         first_shoot.
347         (__prepare_niscall): Adjust __nisfind_server call.
348         * nis/rpcsvc/nislib.h: Adjust __nisfind_server prototype.
349         * nis/nis_table.c: Adjust __nisfind_server call.
350         * nis/nis_lookup.c: Likewise.
351         (nis_lookup): Don't loop endlessly if name is reduced to ".".
352
353 2006-08-03  Ulrich Drepper  <drepper@redhat.com>
354
355         [BZ #2182]
356         * math/s_cacosh.c: Return values from positive branch.
357         * math/s_cacoshf.c: Likewise.
358         * math/s_cacoshl.c: Likewise.
359
360         [BZ #2883]
361         * sysvipc/sys/msg.h: Change return value to ssize_t.
362         * sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
363         * sysvipc/msgrcv.c: Likewise.
364         * include/sys/msg.h: Likewise.
365
366         * grp/initgroups.c (internal_getgrouplist): Remove unnecessary
367         test introduced in patch for bz #661.
368         (getgrouplist): Simplify code a bit.  Don't allocate one additional
369         element for NEWGROUPS.
370
371         [BZ #2908]
372         * stdio-common/printf_fphex.c (__printf_fphex): When rounding up
373         'f', use '1' as leading digit not '\1'.
374         * stdio-common/Makefile (tests): Add bug16.
375         * stdio-common/bug16.c: New file.
376
377         [BZ #2914]
378         * sysdeps/unix/sysv/linux/gethostid.c: Don't define OLD_HOSTIDFILE
379         and don't try to open it.  The patch introducing the macro
380         contained a bug and used the same file name as the new file
381         instead of using /var/adm/hostid.  Nobody complaint so I'm taking
382         this out completely.
383
384         [BZ #2926]
385         * assert/assert.h: Move cast to void inside ?: to quiet gcc.
386         Patch by Jerry James <Jerry.James@usu.edu>.
387
388         * rt/Makefile (tests): Add tst-clock2.
389         * rt/tst-clock2.c: New file.
390
391         [BZ #2978]
392         * resolv/gai_notify.c (__gai_notify_only): Copy memory for thread
393         function and its parameters and pass it to new thread.
394         (__gai_notify): Add support for alternative waiting for completion.
395         * resolv/gai_suspend.c (gai_suspend): Add support for alternative
396         waiting for completion.
397         * resolv/getaddrinfo_a.c: Likewise.
398         * resolv/gai_misc.h (struct waitlist): Don't add cond if alternative
399         waiting for completion is used.
400         * resolv/gai_misc.c: Allow overwriting code to start helper thread.
401         * resolv/gai_cancel.c: Include <gai_misc.h> not "gai_misc.h".
402         * resolv/gai_error.c: Likewise.
403         * resolv/gai_sigqueue.c: Likewise.
404
405 2006-08-02  Thomas Schwinge  <tschwinge@gnu.org>
406
407         * hurd/getdport.c (__getdport): Don't return EBADF; instead set
408         errno to EBADF and return MACH_PORT_NULL.
409
410 2006-06-23  Joseph Myers  <joseph@codesourcery.com>
411
412         [BZ #2980]
413         * posix/Makefile (CFLAGS-waitid.c): Add -fasynchronous-unwind-tables.
414
415 2006-08-02  Ulrich Drepper  <drepper@redhat.com>
416
417         * elf/dl-addr.c (_dl_addr): If GNU-style hash tables are present,
418         walk them instead of the symbol table.
419
420 2006-08-01  Ulrich Drepper  <drepper@redhat.com>
421
422         [BZ #2098]
423         * nscd/initgrcache.c (addinitgroupsX): Judge successful lookups by
424         status of NSS calls, not the number of returned entries.
425
426         * sysdeps/unix/sysv/linux/syscalls.list: Remove add_key,
427         request_key, keyctl.
428
429 2006-07-31  Ulrich Drepper  <drepper@redhat.com>
430
431         * sysdeps/unix/sysv/linux/dl-osinfo.h: Remove unnecessary include.
432
433 2006-07-16  Jeff Bailey  <jbailey@ubuntu.com>
434
435         * elf/tst-auditmod1.c: Fix typo in #error.
436
437 2006-07-31  Ulrich Drepper  <drepper@redhat.com>
438
439         * elf/tst-auditmod1.c: Remove code for unsupported architectures.
440
441         * iconvdata/run-iconv-test.sh: Run cmp in C locale.
442
443 2006-07-20  Adam Nemet  <anemet@caviumnetworks.com>
444
445         * stdlib/test-canon.c (do_test): Close fd before unlinking file so
446         that the directory is empty even on non-POSIX filesystems.
447
448 2006-07-31  Ulrich Drepper  <drepper@redhat.com>
449
450         * elf/dl-open.c (dl_open_worker): Add branch prediction.
451
452         * nis/nss_compat/compat-grp.c: Avoid unnecessary setgrent calls into
453         the backend NSS module.  If backend setgrent call failed, don't have
454         internal_setgrent fail.  Just remember this until it is needed.
455         * nis/nss_compat/compat-pwd.c: Likewise.
456         * nis/nss_compat/compat-spwd.c: Likewise.
457
458 2006-07-30  Roland McGrath  <roland@redhat.com>
459
460         * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: File removed.
461         * sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: File removed.
462         * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: File removed.
463         * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: File removed.
464
465         * sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): New macro.
466         (nanosleep_not_cancel): New macro.
467         (sigsuspend_not_cancel): new macro.
468         * sysdeps/unix/sysv/linux/sigsuspend.c [__ASSUME_REALTIME_SIGNALS]
469         (do_sigsuspend): Define as inline.
470         (__sigsuspend): Always use do_sigsuspend.
471         [! NO_CANCELLATION] (__sigsuspend_nocancel): New function.
472         * include/signal.h: Declare __sigsuspend_nocancel.
473         * sysdeps/posix/pause.c
474         [! NO_CANCELLATION] (__pause_nocancel): New function.
475
476         * include/unistd.h (__pause_nocancel): Add attribute_hidden.
477         * include/time.h (__nanosleep_nocancel): Likewise.
478
479 2006-07-30  Ulrich Drepper  <drepper@redhat.com>
480
481         * locale/programs/localedef.c (add_to_readlist): Rename local
482         variables to avoid confusion.
483
484         * locale/programs/charmap.c (charmap_read): Emit error message if
485         charmap couldn't be found or read.
486
487 2006-07-28  Ulrich Drepper  <drepper@redhat.com>
488
489         * sysdeps/unix/sysv/linux/kernel-features.h: Define
490         __ASSUME_FUTEX_LOCK_PI.
491         * include/time.h: Declare __nanosleep_nocancel.
492         * include/unistd.h: Declare __pause_nocancel.
493
494         * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Use this instead of
495         LDFLAGS.  Add -lgcc_eh and libc_nonshared (again) to make sure we
496         get the __stack_chk_fail_local definition when it's needed.
497
498 2006-07-26  Ulrich Drepper  <drepper@redhat.com>
499
500         * dlfcn/Makefile: Add rules to build and run bug-atexit3.
501         * dlfcn/bug-atexit3.c: New file.
502         * dlfcn/bug-atexit3-lib.cc: New file.
503
504         * dlfcn/dlmopen.c (dlmopen_doit): Don't allow RTLD_GLOBAL to be
505         used when the namespace is not the base namespace.
506
507 2006-07-26  Gavin Romig-Koch  <gavin@redhat.com>
508
509         * stdlib/cxa_atexit.c (__new_exitfn_called): New variable.
510         (__new_exitfn): Bump it in every successful call.
511         * stdlib/cxa_finalize.c (__cxa_finalize): If destructor registered
512         more exit handlers, call them right away.
513         * stdlib/exit.h: Declare __new_exitfn_called.
514
515 2006-07-25  Ulrich Drepper  <drepper@redhat.com>
516
517         * stdlib/cxa_finalize.c (__cxa_finalize): Fix race condition when
518         calling registered handler.
519
520         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Fix comment.
521         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
522         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
523         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
524         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
525         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
526         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
527         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
528
529 2006-07-10  Ulrich Drepper  <drepper@redhat.com>
530
531         * elf/dl-lookup.c (dl_new_hash): New functions.
532         (_dl_lookup_symbol_x): Rename hash to old_hash and don't compute
533         value here.  Compute new-style hash value.  Pass new hash value
534         and reference to variable with the old value to do_lookup_x.
535         (_dl_setup_hash): If DT_GNU_HASH is defined, use it and not
536         old-style hash table.
537         (_dl_debug_bindings): Pass new hash value and reference to variable
538         with the old value to do_lookup_x.
539         * elf/do-lookup.h (do_lookup_x): Accept additional parameter with
540         new-style hash value and change old-style hash value parameter to
541         be a reference.  Reoganize functions to determine whether
542         new-style hash table is available.  Only fall back on old-style
543         table.  If old-style hash value is needed, compute it here.
544         * elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_GNU_HASH
545         entry.
546         * elf/elf.h: Define SHT_GNU_HASH, DT_GNU_HASH, DT_TLSDEC_PLT,
547         DT_TLSDEC_GOT.  Adjust DT_ADDRNUM.
548         * include/link.h (struct link_map): Add l_gnu_bitmask_idxbits,
549         l_gnu_shift, l_gnu_bitmask, l_gnu_buckets and l_gnu_chain_zero.
550         * Makeconfig: If linker supports --hash-style option add it to all
551         linker command lines to build DSOs.
552         * config.make.in: Define have-hash-style.
553         * configure.in: Test whether linker supports --hash-style option.
554
555         * elf/dl-misc.c (_dl_name_match_p): Make MAP parameter const.
556         * sysdeps/generic/ldsodefs.h: Adjust prototype.
557
558 2006-06-27  Ulrich Drepper  <drepper@redhat.com>
559
560         * elf/dl-load.c (open_path): Fix test to determine whether DSO is
561         auditing.
562
563         * elf/dl-load.c (_dl_map_object): Try harder to avoid looking at
564         RPATH of main map twice.
565
566 2006-06-22  Ulrich Drepper  <drepper@redhat.com>
567
568         * intl/dcigettext.c (DCIGETTEXT): If _nl_find_msg returns -1 don't
569         look further, return original strings.
570         (_nl_find_msg): Do not return found translation if the conversion
571         failed.  Either signal the string is unusable or that something went
572         wrong and the original should be used.
573
574 2006-06-21  Ulrich Drepper  <drepper@redhat.com>
575
576         * string/_strerror.c (__strerror_r): Add __builtin_expect.
577
578 2006-06-14  Jakub Jelinek  <jakub@redhat.com>
579
580         [BZ #2766]
581         * misc/insremque.c (insque): Handle prev == NULL.
582         * misc/Makefile (tests): Add tst-insremque.
583         * misc/tst-insremque.c: New test.
584
585 2006-06-17  Ulrich Drepper  <drepper@redhat.com>
586
587         [BZ #2792]
588         * elf/dl-deps.c (expand_dst): Rename __cnt variable to not
589         conflict with DL_DST_REQUIRED.
590
591 2006-06-16  Ulrich Drepper  <drepper@redhat.com>
592
593         * nis/nis_subr.c (nis_getnames): Fix the implementation to better
594         match what Solaris does.
595
596 2006-06-04  Ulrich Drepper  <drepper@redhat.com>
597
598         * sysdeps/posix/spawni.c (__spawni): Use local_seteuid and
599         local_setegid instead of seteuid and setegid.
600         * sysdeps/generic/local-setxid.h: New file.
601         * sysdeps/unix/sysv/linux/local-setxid.h: New file.
602
603         * sysdeps/posix/spawni.c (__spawni): Use non-cancelable interfaces.
604
605         * string/Makefile (tests): Add bug-envz1.
606         * string/bug-envz1.c: New file.
607
608 2006-06-02  Jakub Jelinek  <jakub@redhat.com>
609
610         * posix/regex_internal.c (re_string_skip_chars): If no character has
611         been converted at all, set *last_wc to WEOF.  If mbrtowc failed, set wc
612         to the byte which couldn't be converted.
613         (re_string_reconstruct): Don't clear valid_raw_len before calling
614         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
615         tip_context using re_string_context_at.
616         * posix/Makefile: Add rules to build and run bug-regex25 test.
617         * posix/bug-regex25.c: New test.
618
619 2006-06-02  Ryan S. Arnold  <rsa@us.ibm.com>
620
621         [BZ #2703]
622         * string/envz.c (envz_strip): Correct erroneously reversed src
623         and dest parameters to memmove() invocation.
624
625 2006-05-30  Jakub Jelinek  <jakub@redhat.com>
626
627         * nscd/nscd.h (prune_cache): Add fd argument to prototype.
628         * nscd/nscd.c (parse_opt): Read response from INVALIDATE request
629         to make sure the database has been already invalidated.
630         * nscd/cache.c (prune_cache): Add fd argument.  Write response to fd
631         after the cache has been invalidated.  Use pthread_mutex_lock rather
632         than pthread_mutex_trylock if fd != -1.
633         * nscd/connections.c (invalidate_cache): Add fd argument, write
634         response to fd if not calling prune_cache, pass fd to prune_cache.
635         (handle_request): Adjust invalidate_cache caller.
636         (nscd_run): Pass -1 as fd to prune_cache.
637
638 2006-05-30  Ulrich Drepper  <drepper@redhat.com>
639
640         * sysdeps/posix/getaddrinfo.c (gaiconf_init): Initialize bits in
641         the correct place.
642
643 2006-05-29  Ulrich Drepper  <drepper@redhat.com>
644
645         * nscd/nscd.h (struct database_dyn): Add prunelock field.
646         * nscd/cache.c (prune_cache): Take prunelock before starting the
647         work.  Just return in case it is already taken.
648         * nscd/connections.c (dbs): Initialize .prunelock.
649
650 2006-05-25  Ulrich Drepper  <drepper@redhat.com>
651
652         * nis/nis_removemember.c (nis_removemember): Avoid unnecessary
653         copying.  No need to allocate new array for group members.  Just
654         move the pointers and update the size.
655
656         * nis/nis_addmember.c (nis_addmember): Avoid unnecessary copying.
657         Avoid memory leak in case realloc fails.  Simplification for
658         better code generation.
659
660         Avoid deprecation warning because of libc_hidden_proto for
661         inet6_option_alloc.
662         * inet/inet6_option.c (option_alloc): Renamed from
663         inet6_option_alloc.  Made static.
664         (inet6_option_alloc): Now a simple wrapper around option_alloc.
665         (inet6_option_append): Call option_alloc.
666         * include/netinet/in.h: Remove libc_hidden_proto for
667         inet6_option_alloc.
668
669         * nis/nis_callback.c (__nis_create_callback): Always call xdr_free
670         for cleanup when cb!=NULL [Coverity CID 233].
671
672 2006-05-24  Ulrich Drepper  <drepper@redhat.com>
673
674         [BZ #2693]
675         * inet/Makefile (routines): Add inet6_opt and inet6_rth.
676         * inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
677         inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
678         inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
679         inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
680         and inet6_rth_getaddr.
681         * inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
682         array.
683         * inet/netinet/in.h (struct ip6_mtuinfo): Define.
684         Mark inet6_option_* interfaces as deprecated.
685         Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
686         inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
687         inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
688         inet6_rth_segments, and inet6_rth_getaddr.
689         * inet/inet6_opt.c: New file.
690         * inet/inet6_rth.c: New file.
691
692         * inet/netinet/icmp6.h: Pretty printing.
693
694         [BZ #2683]
695         * elf/dl-addr.c (_dl_addr): Don't match undefined references.
696
697 2006-05-23  Ulrich Drepper  <drepper@redhat.com>
698
699         * nis/nis_lookup.c (nis_lookup): Use __prepare_niscall instead of
700         doing it all here.  When server does not know the answer do not
701         fail immediate, try parent first.
702
703         * nis/nis_domain_of_r.c (nis_domain_of_r): Add missing buffer
704         overflow test.
705
706 2006-05-20  Ulrich Drepper  <drepper@redhat.com>
707
708         * nis/nis_call.c (__prepare_niscall): New function.  Split out
709         from __do_niscall.
710         * nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
711         and exported.
712         (__follow_path): New function.  Split out from nis_list.
713         * nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
714         _xdr_nis_result.
715         * nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
716         _xdr_nis_result.
717         * nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
718         and __follow_path.
719         * nis/Versions: Export __prepare_niscall, __create_ib_request,
720         __follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
721         from libnsl for version GLIBC_PRIVATE.
722         * nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
723         Remove entry parameter from _nss_nisplus_parse_pwent and
724         _nss_nisplus_parse_grent.
725         * nis/nss_nisplus/nisplus-parser.c: Likewise.
726         * nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
727         again.  Rewrite getpwent handling to not use nis_first_entry and
728         nis_next_entry.  Roll out own niscall handling.
729         * nis/nss_nisplus/nisplus-grp.c: Likewise.
730
731         * sunrpc/xdr_rec.c: Fix typo in comment.
732
733 2006-05-19  Ulrich Drepper  <drepper@redhat.com>
734
735         * nis/nis_call.c (__do_niscall3): Avoid code duplication in error
736         handling.
737
738         * nis/nis_callback.c (internal_nis_do_callback): Don't use malloc
739         to allocate memory for my_pollfd.  Better initialization of
740         cb_is_running.  Use TEMP_FAILURE_RETRY.
741
742         * malloc/memusage.sh (memusageso): Add quotes.
743         (memusagestat): Likewise.
744         * debug/xtrace.sh (pcprofileso): Likewise.
745         (pcprofiledump): Likewise.
746         * debug/Makefile ($(objpfx)xtrace): Use $LIB in SLIBDIR
747         replacement.
748         * malloc/Makefile ($(objpfx)memusage): Likewise.
749
750         * nis/nis_callback.c (__nis_create_callback): Calls to
751         svcudp_bufcreate and svctcp_create can fail.  Free ->xprt if
752         asprintf call fails.
753
754         * sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_sendreq): Make sure
755         no uninitialized memory is passed to sendto.
756
757 2006-05-18  Ulrich Drepper  <drepper@redhat.com>
758
759         * nis/nis_callback.c (__nis_create_callback): Use asprinf instead
760         of snprintf+strdup.  Handle OOM.
761         * nis/nis_callback.c (__nis_create_callback): Allocate cb and
762         cb->serv together.  Remove now obsolete free calls.
763         (__nis_destroy_callback): Remove now obsolete free call.
764
765 2006-05-18  David Woodhouse  <dwmw2@redhat.com>
766
767         * sysdeps/posix/getaddrinfo.c: Add unique labels to the default
768         RFC3484 precedence table for fec0::/10 and fc00::/7 (site-local
769         and ULA respectively). Set precedence for IPv4 address to 10 as
770         defined in RFC3484 for preferring IPv6.
771         * posix/gai.conf: Update to match the new default tables.
772
773 2006-05-18  Jakub Jelinek  <jakub@redhat.com>
774
775         * nis/nss_compat/compat-pwd.c (internal_setpwent): If nss_set*ent
776         returned NSS_STATUS_UNAVAIL, still return NSS_STATUS_SUCCESS.
777         * nis/nss_compat/compat-spwd.c (internal_setspent): Likewise.
778         * nis/nss_compat/compat-grp.c (internal_setgrent): Likewise.
779
780         * nis/nss_compat/compat-initgroups.c (nss_setgrent, nss_endgrent):
781         Removed.
782         (init_nss_interface): Remove initialization of these variables.
783
784 2006-05-18  Ulrich Drepper  <drepper@redhat.com>
785
786         * nis/nis_call.c (rec_dirsearch): Little optimization: pull
787         nis_free_directory forward to avoid duplication.
788
789 2006-05-17  Ulrich Drepper  <drepper@redhat.com>
790
791         * nis/nis_call.c (rec_dirsearch): Handle __nis_finddirectory and
792         rec_dirsearch returning NULL.
793         (first_shoot): Handle __nis_finddirectory returning NULL.
794         (__nisfind_server): Fix leak when rec_dirsearch returns NULL.
795
796         * sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOSE, IN_MOVE,
797         IN_ONLYDIR, IN_DONT_FOLLOW, and IN_MASK_ADD.
798
799 2006-05-17  Jakub Jelinek  <jakub@redhat.com>
800
801         * sunrpc/key_call.c (getkeyserv_handle): Call auth_destroy if
802         pid changed.
803
804 2006-05-15  Ulrich Drepper  <drepper@redhat.com>
805
806         * include/rpc/pmap_prot.h: Mark all functions as hidden.
807
808         * nscd/nscd_initgroups.c: Mark __gr_map_handle as hidden.
809         * nscd/nscd_getgr_r.c: Likewise.
810
811         * include/rpc/pmap_rmt.h: Mark all functions as hidden.
812
813         * nscd/nscd_getai.c (__hst_map_handle): Mark as hidden.
814         * nscd/nscd_gethst_r.c (__hst_map_handle): Likewise.
815
816         * stdlib/longlong.h (__clz_tab): Mark as hidden.
817
818         * iconv/gconv_int.h: Mark __gconv_lock as hidden.
819
820         * include/rpc/key_prot.h: Mark all _internal functions as hidden.
821
822         * include/rpc/auth.h: Mark xdr_des_block_internal and
823         xdr_opaque_auth_internal as hidden.
824
825         * sysdeps/unix/sysv/linux/getdents.c: Mark __have_no_getdents64 as
826         hidden.
827
828         * include/rpc/xdr.h: Mark all _internal functions as hidden.
829
830         * misc/getusershell.c (okshells): Don't use static initializers,
831         do it dynamically.
832
833         * stdlib/fmtmsg.c (keywords): Change type of len element to
834         uint32_t to not waste space on 64bit machines.
835
836         * locale/setlocale.c: Change _nl_category_names into a string.
837         Add new _nl_category_name_idxs.  Change all users.
838         * locale/localeinfo.h: Adjust declaration of _nl_category_names.
839         Declare _nl_category_name_idxs.
840         * locale/findlocale.c: Adjust for _nl_category_names change.
841         * locale/loadlocale.c: Likewise.
842         * locale/newlocale.c: Likewise.
843         * intl/dcigettext.c: Likewise.
844
845         * iconv/gconv_conf.c (add_alias): Move actual alias handling to...
846         (add_alias2): ...here.  New function.
847         (__gconv_read_conf): Simplify builtin alias handling.
848         (builtin_aliases): Convert to string to avoid relocations.
849         * iconv/gconv_builtin.h: Add comment about correct formatting.
850
851 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
852
853         * resolv/res_debug.c (loc_ntoa): Make error const.
854
855 2006-05-14  Andreas Schwab  <schwab@suse.de>
856
857         * math/complex.h [__LDBL_COMPAT]: Use __REDIRECT_NTH.
858
859 2006-05-12  Jakub Jelinek  <jakub@redhat.com>
860
861         * sysdeps/unix/sysv/linux/sched_getaffinity.c: Include sys/param.h.
862         (__sched_getaffinity_new): Don't crash if cpusetsize is smaller than
863         sizeof (cpu_set_t).
864
865 2006-05-11  Ulrich Drepper  <drepper@redhat.com>
866
867         * resolv/res_debug.c (loc_ntoa): Define error as array, not pointer.
868
869         * include/arpa/nameser.h: Declare _ns_flagdata as hidden.
870
871         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_master.
872         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_master.
873
874         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypbind_resp.
875         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypbind_resp.
876
877         * nis/nis_xdr.c: Add libnsl_hidden_def for xdr_cback_data.
878         * include/rpcsvc/nis_callback.h: Add libnsl_hidden_proto for
879         xdr_cback_data.
880
881         * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypupdate_args.
882         * include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
883         xdr_ypupdate_args.
884
885         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_order.
886         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_order.
887
888         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_maplist.
889         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_maplist.
890
891         * nis/nis_xdr.c: Add libnsl_hidden_def for xdr_obj_p.
892         * include/rpcsvc/nis_callback.h: New file.
893
894         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_val.
895         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_val.
896
897         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
898         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.
899
900         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypmaplist.
901         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypmaplist.
902
903         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
904         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.
905
906         * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypdelete_args.
907         * include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
908         xdr_ypdelete_args.
909
910         * nis/nis_xdr.h: Mark all functions as hidden.  Remove
911         __BEGIN_DECLS and __END_DECLS, the header is not installed.
912
913         * nis/nis_error.c: Remove table of strings.  Use position
914         independent mechanism.
915         * nis/nis_error.h: New file.
916
917 2006-05-11  Jakub Jelinek  <jakub@redhat.com>
918
919         * locale/programs/ld-time.c (time_finish): If wide era name or
920         format aren't provided, set both wname and wformat to L"".
921
922 2006-05-10  Ulrich Drepper  <drepper@redhat.com>
923
924         * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Only store
925         results if the call was succesful.
926
927         * nis/nss-nis.h: Mark __yperr2nss_tab and __yperr2nss_count as hidden.
928
929         * nis/nss-nisplus.h: Mark __niserr2nss_tab and __niserr2nss_count
930         as hidden.
931
932 2006-05-10  Jakub Jelinek  <jakub@redhat.com>
933
934         * misc/sys/queue.h: Remove uses of all QUEUEDEBUG_* macros.
935
936 2006-05-10  Ulrich Drepper  <drepper@redhat.com>
937
938         * posix/wordexp.c (parse_glob): No need to check ifs for NULL, the
939         caller makes sure this is not the case.
940         (wordexp): Simplify ifs_white creation.  [Coverity CID 231]
941
942 2006-05-09  Ulrich Drepper  <drepper@redhat.com>
943
944         * posix/wordexp.c: Remove numerous NULL pointer tests before FREE
945         calls.
946
947         * io/ftw.c (open_dir_stream): Return right away if REALLOC fails.
948         [Coverity CID 229, 230]
949
950         * argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and
951         DGETTEXT calls.
952         (hol_help): Likewise.  [Coverity CID 226, 227]
953
954         * string/argz-replace.c (__argz_replace): Unconditionally call
955         free on SRC.  [Coverity CID 225]
956
957         * nis/nis_creategroup.c (nis_creategroup): No need to duplicate
958         the return value of __nis_default_owner and __nis_default_group,
959         it has been especially allocated.  [Coverity CID 224]
960
961         * nis/nis_defaults.c (searchXYX): New functions.  Used by both
962         searchgroup and searchowner.  Significantly simplified.
963         (__nis_default_owner): Remove duplication.  Do not locally copy the
964         string before duplicating it.
965         (__nis_default_group): Likewise.
966
967         * nis/nis_lookup.c (nis_lookup): After calling nis_free_directory,
968         we must clear the variable before calling __nisfind_server.
969
970         * nis/nis_lookup.c (nis_lookup): Always free memory allocated with
971         nis_getnames.  [Coverity CID 223]
972
973         * locale/programs/locfile.c (locfile_read): Use alloca instead of
974         xmalloc to allocate local repertoire name.  [Coverity CID 222]
975
976         * iconv/iconv_charmap.c (use_to_charmap): No need to dynamically
977         allocate memory for the input to add_bytes.  [Coverity CID 221]
978
979         * posix/wordexp.c (w_addword): Free word if realloc fails and it
980         was allocated here.  [Coverity CID 219, 220]
981
982         * posix/getconf.c (print_all): Free confstr data after printing.
983         [Coverity CID 218]
984
985         * sysdeps/posix/getaddrinfo.c (gaih_inet): Free canon string if
986         list allocation fails.  [Coverity CID 215]
987
988         * nss/nsswitch.c (__nss_configure_lookup): Fix loop end condition.
989         [Coverity CID 213]
990
991         * argp/argp-help.c (hol_entry_cmp): Don't call canon_doc_option if
992         string is NULL.  [Coverity CID 212]
993         * argp/Makefile: Add rules to build and run bug-argp1.
994         * argp/bug-argp1.c: New file.
995
996         * io/ftw.c (ftw_dir): Use __rawmemchr instead of strchr to find
997         end of string.
998         * stdlib/canonicalize.c (__realpath): Likewise.
999
1000         * locale/programs/ld-time.c (time_finish): Don't dereference NULL
1001         pointer.  [Coverity CID 206]
1002
1003         * elf/dl-dst.h (DL_DST_REQUIRED): Be prepared for missing link map
1004         in statically linked code.
1005         * elf/dl-load.c (_dl_dst_substitute): When replacing ORIGIN in
1006         statically built code, be prepared to have no link map.
1007         [Coverity CID 205]
1008
1009         * argp/argp-help.c (fill_in_uparams): Handle STATE==NULL in
1010         dgettext calls. [Coverity CID 204]
1011
1012         * argp/argp-help.c (struct uparams): Remove valid member.  Change
1013         the one user.
1014         (uparam_names): Reduce size.  Avoid relative relocations.
1015         Moved to read-only segment.
1016         (fill_in_uparams): Update for new layout.
1017
1018         * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Parameter can be
1019         assumed to always be != NULL. [Coverity CID 202]
1020
1021         * argp/argp-help.c (hol_entry_help): Remove some dead code
1022         [Coverity CID 200].
1023
1024         * nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Optimize
1025         away a few more unconditional yperr2nss calls.
1026         (_nss_nis_getservbyname_r): Likewise.
1027
1028 2006-05-06  Ulrich Drepper  <drepper@redhat.com>
1029
1030         * sysdeps/generic/ldsodefs.h: Remove support for non-core
1031         architectures.
1032
1033         * sysdeps/unix/sysv/linux/check_pf.c (make_request): Make sure
1034         that unused memory passed to sendto is nevertheless initialized.
1035
1036         [BZ #2499]
1037         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Avoid
1038         possibly unaligned memory accesses.
1039
1040         * include/arpa/nameser.h: Also optimize NS_PUT16 and NS_PUT32.
1041         * resolv/res_mkquery.c: Use NS_PUT16 and NS_PUT32 instead of __putshort
1042         and __putlong respectively.  Correct buffer overflow check for
1043         NS_NOTIFY_OP.
1044
1045         * resolv/res_send.c (send_vc): Use ns_put16 instead of putshort.
1046
1047         * resolv/res_send.c (res_queriesmatch): Fix typo in comment.
1048         (send_dg): Rewrite error handling to be more compact and avoid
1049         double recomputation of timeouts.  Pass MSG_NOSIGNAL to send.
1050
1051         * include/arpa/nameser.h: Add optimizations for NS_GET16 and NS_GET32.
1052
1053         * resolv/res_send.c (res_nameinquery): Use NS_GET16 directly
1054         instead of ns_get16.
1055         (res_queriesmatch): Likewise.  Minor optimization.
1056
1057         [BZ #2499]
1058         * resolv/res_query.c (__libc_res_nquery): If answerp != NULL,
1059         __libc_res_nsend might reallocate the buffer for the answer.  In
1060         this case we have to reload the HP pointer.
1061
1062 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
1063
1064         * stdio-common/vfscanf.c (memory_error): Remove definition.  Add
1065         some branch prediction hints.
1066
1067         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Define SPLICE_F_*.
1068         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
1069         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
1070         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
1071         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
1072         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
1073         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
1074         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
1075
1076 2006-05-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1077
1078         * sysdeps/s390/s390-32/elf/start.S: Replace pc relative relocation
1079         by a GOT relocation to make Scrt1.o position independent.
1080         * sysdeps/s390/s390-64/elf/start.S: Likewise.
1081
1082         * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Add support for
1083         six system call parameters.
1084         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
1085
1086 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
1087
1088         * sunrpc/svcauth_des.c (cache_init): Use calloc instead of
1089         malloc&bzero.
1090
1091         * sunrpc/svc_udp.c (BZERO): Remove definition.
1092         (CALLOC): Define.
1093         (svc_enablecache): Use CALLOC instead of ALLOC&BZERO.
1094
1095         * sunrpc/des_impl.c: Remove ALT_ECB support.  We never used it.
1096         (des_SPtrans): Use uint32_t type.
1097         (des_skb): Likewise.
1098
1099         * sunrpc/xdr_ref.c (xdr_reference): Use calloc instead of malloc&bzero.
1100
1101 2006-05-05  Jakub Jelinek  <jakub@redhat.com>
1102
1103         [BZ #2509]
1104         * stdio-common/tst-printf.sh: Adjust for tst-printf.c change even
1105         on 32-bit arches.
1106
1107 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
1108
1109         * locale/programs/ld-address.c (address_finish): Fix one more
1110         place where the iso639 array might be accessed beyond the limits.
1111
1112 2006-05-04  Ulrich Drepper  <drepper@redhat.com>
1113
1114         * nis/nis_table.c (nis_list): Avoid clearing res twice before
1115         filling it for the first time.
1116
1117         * nis/nis_table.c (get_tablepath): Renamed from __get_tablepath.
1118         Adjust all callers.
1119         Free res object content before returning.
1120
1121         * sunrpc/xdr_array.c (xdr_array): Use calloc instead of malloc&bzero.
1122
1123         * sunrpc/key_call.c (__rpc_thread_key_cleanup): Also free
1124         client->cl_auth.
1125
1126         * sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire
1127         cleanup for initial thread, just the free call on TVP.
1128
1129         * nscd/gai.c (__getline): Define.
1130
1131
1132 See ChangeLog.16 for earlier changes.