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