.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2007-10-01  Ulrich Drepper  <drepper@redhat.com>
2
3         [BZ #5071]
4         * malloc/malloc.c (mremap_chunk): Avoid resizing of new block has
5         the same number of pages.
6         Patch by Tomash Brechko <tomash.brechko@gmail.com>.
7
8         * locale/programs/ld-collate.c (collate_read): After initial copy
9         statement, continue in state 0.
10
11         * include/stdio_ext.h (__fsetlocking): Define as macro.
12
13 2007-09-30  Ulrich Drepper  <drepper@redhat.com>
14
15         * locale/programs/ld-collate.c (collate_finish): Compare all bytes
16         of section order.
17
18         * po/pt_BR.po: Fix typo.
19
20 2007-09-29  Ulrich Drepper  <drepper@redhat.com>
21
22         * iconvdata/Makefile (modules): Add ISO8859-9E.
23         (distribute): Add iso8859-9e.c.
24         (gen-8bit-gap-modules): Add iso8859-9e.
25         * iconvdata/iso8859-9e.c: New file.
26         * iconvdata/gconv-modules: Add entries for ISO-8859-9E.
27         * iconvdata/TESTS: Likewise.
28         * iconvdata/tst-tables.sh: Likewise.
29
30         * iconvdata/koi8-r.c (HAS_HOLES): Define to 0.
31
32         * locale/iso-639.def: Add several new entries.
33
34 2007-09-24  Jakub Jelinek  <jakub@redhat.com>
35
36         * sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): Store
37         void * pointers instead of struct link_map **.
38         (_dl_scope_free): Change argument type to void *.
39         * include/link.h (struct link_map): Change type of l_reldeps
40         to struct link_map_reldeps, move l_reldepsact into that
41         struct too.
42         * elf/dl-deps.c: Include atomic.h.
43         (_dl_map_object_deps): Only change l->l_initfini when it is
44         fully populated, use _dl_scope_free for freeing it.  Optimize
45         removal of libs from reldeps by using l_reserved flag, when
46         some removal is needed, allocate a new list instead of
47         reallocating and free the old with _dl_scope_free.  Adjust
48         for l_reldeps and l_reldepsact changes.
49         * elf/dl-lookup.c (add_dependency): Likewise.  Reorganize to allow
50         searching in l_initfini and l_reldeps without holding dl_load_lock.
51         * elf/dl-fini.c (_dl_sort_fini): Adjust for l_reldeps and
52         l_reldepsact changes.
53         * elf/dl-close.c (_dl_close_worker): Likewise.
54         * elf/dl-open.c (_dl_scope_free): Change argument type to void *.
55
56 2007-09-28  Ulrich Drepper  <drepper@redhat.com>
57
58         * iconvdata/Makefile (modules): Add KOI8-RU.
59         (distribute): Add koi8-ru.c.
60         (gen-8bit-gap-modules): Add koi8-ru.
61         * iconvdata/koi8-ru.c: New file.
62         * iconvdata/gconv-modules: Add entries for KOI8-RU.
63         * iconvdata/TESTS: Likewise.
64         * iconvdata/tst-tables.sh: Likewise.
65
66         * iconvdata/koi8-r.c (HAS_HOLES): Define to 0.
67
68 2007-09-26  Jakub Jelinek  <jakub@redhat.com>
69
70         * misc/sys/cdefs.h (__warndecl, __errordecl): For GCC 4.3+ define
71         with __warning__/__error__ attributes.
72         (__warnattr): Define.
73         * stdlib/bits/stdlib.h (__realpath_chk_warn, __ptsname_r_chk_warn,
74         __mbstowcs_chk_warn, __wcstombs_chk_warn): New aliases with
75         __warnattr.
76         (realpath, ptsname_r, mbstowcs, wcstombs): Call __*_chk_warn instead
77         of __*_chk if compile time detectable overflow is found.
78         * libio/bits/stdio2.h (__fgets_chk_warn, __fread_chk_warn,
79         __fgets_unlocked_chk_warn, __fread_unlocked_chk_warn): New aliases
80         with __warnattr.
81         (fgets, fread, fgets_unlocked, fread_unlocked): Call __*_chk_warn
82         instead of __*_chk if compile time detectable overflow is found.
83         (__gets_alias): Rename to...
84         (__gets_warn): ... this.  Add __warnattr.
85         (gets): Call __gets_warn instead of __gets_alias.
86         * socket/bits/socket2.h (__recv_chk_warn, __recvfrom_chk_warn): New
87         aliases with __warnattr.
88         (recv, recvfrom): Call __*_chk_warn instead of __*_chk if compile
89         time detectable overflow is found.
90         * posix/bits/unistd.h (__read_chk_warn, __pread_chk_warn,
91         __pread64_chk_warn, __readlink_chk_warn, __readlinkat_chk_warn,
92         __getcwd_chk_warn, __confstr_chk_warn, __getgroups_chk_warn,
93         __ttyname_r_chk_warn, __getlogin_r_chk_warn, __gethostname_chk_warn,
94         __getdomainname_chk_warn): New aliases with __warnattr.
95         (read, pread, pread64, readlink, readlinkat, getcwd, confstr,
96         getgroups, ttyname_r, getlogin_r, gethostname, getdomainname): Call
97         __*_chk_warn instead of __*_chk if compile time detectable overflow
98         is found.
99         (__getgroups_chk): Rename argument to __listlen from listlen.
100         (__getwd_alias): Rename to...
101         (__getwd_warn): ... this.  Add __warnattr.
102         (getwd): Call __getwd_warn instead of __getwd_alias.
103         * wcsmbs/bits/wchar2.h (__wmemcpy_chk_warn, __wmemmove_chk_warn,
104         __wmempcpy_chk_warn, __wmemset_chk_warn, __wcsncpy_chk_warn,
105         __wcpncpy_chk_warn, __fgetws_chk_warn, __fgetws_unlocked_chk_warn,
106         __mbsrtowcs_chk_warn, __wcsrtombs_chk_warn, __mbsnrtowcs_chk_warn,
107         __wcsnrtombs_chk_warn): New aliases with __warnattr.
108         (wmemcpy, wmemmove, wmempcpy, wmemset, mbsrtowcs, wcsrtombs,
109         mbsnrtowcs, wcsnrtombs): Call __*_chk_warn instead of __*_chk if
110         compile time detectable overflow is found.
111         (wcsncpy, wcpncpy): Likewise.  For constant __n fix check whether
112         to use __*_chk or not.
113         (fgetws, fgetws_unlocked): Divide __bos by sizeof (wchar_t), both
114         in comparisons which function should be called and in __*_chk*
115         arguments.  Call __*_chk_warn instead of __*_chk if compile time
116         detectable overflow is found.
117         (swprintf, vswprintf): Divide __bos by sizeof (wchar_t) in
118         __*_chk argument.
119         * debug/tst-chk1.c (do_test): Add a few more tests.
120
121 2007-09-24  Ulrich Drepper  <drepper@redhat.com>
122
123         [BZ #5058]
124         * intl/gettextP.h (struct loaded_domain): Add conversions_lock member.
125         * intl/loadmsgcat.c (_nl_load_domain): Initialize conversions_lock.
126         (_nl_unload_domain): Finalize conversions_lock.
127         * intl/dcigettext.c (_nl_find_msg): Take conversions_lock before
128         handling table of known conversions.
129
130 2007-09-24  Jakub Jelinek  <jakub@redhat.com>
131
132         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Use
133         close_not_cancel_no_status instead of close.
134
135 2007-09-13  Aurelien Jarno  <aurelien@aurel32.net>
136
137         [BZ #5028]
138         * posix/regcomp.c (lookup_collation_sequence_value): Check that
139         nrules != 0 for multibyte chars.
140
141 2007-09-23  Ulrich Drepper  <drepper@redhat.com>
142
143         * resolv/ns_print.c (ns_sprintrrf): Handle ns_t_a6 and ns_t_opt.
144         Provide better error message in case the type is unknown.
145
146         [BZ #4963]
147         * wcsmbs/wcsnlen.c: Don't reference before checking the length.
148         * string/stratcliff.c: Make usable to test wide char functions.
149         * wcsmbs/wcsatcliff.c: New file.
150         * wcsmbs/Makefiel (tests): Add wcsatcliff.
151
152         [BZ #4972]
153         * iconvdata/Makefile (modules): Add MAC-CENTRALEUROPE.
154         (distribute): Add mac-centraleurope.c.
155         (gen-8bit-gap-modules): Add mac-centraleurope.
156         * iconvdata/mac-centraleurope.c: New file.
157         * iconvdata/gconv-modules: Add entries for MAC-CENTRALEUROPE.
158         * iconvdata/TESTS: Likewise.
159         * iconvdata/tst-tables.sh: Likewise.
160
161         [BZ #5043]
162         * iconv/iconv_open.c (iconv_open): For large codeset names use malloc.
163
164 2007-09-21  Ulrich Drepper  <drepper@redhat.com>
165
166         * sysdeps/x86_64/cacheinfo.c (__x86_64_data_cache_size_half): Renamed
167         from __x86_64_core_cache_size_half.
168         (init_cacheinfo): Compute shared cache size for AMD processors with
169         shared L3 correctly.
170         * sysdeps/x86_64/memcpy.S: Adjust for __x86_64_data_cache_size_half
171         name change.
172         Patch in large parts by Evandro Menezes.
173
174 2007-09-19  Ulrich Drepper  <drepper@redhat.com>
175
176         * elf/dl-lookup.c (add_dependency): Handle failing memory
177         allocation for dependency list.  Remove unnecessary check.
178
179         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Avoid unnecessary
180         open/close when determining source addresses.
181
182         * crypt/Makefile (libcrypt-routines): Add sha256-crypt, sha256,
183         sha512-crypt, and sha512.
184         (tests): Add sha256test, sha256c-test, sha512test, and sha512c-test.
185         (distribute): Add sha256.h and sha512.h.
186         * crypt/crypt-entry.c (crypt): Recognize the new $5$ and $6$ prefixes
187         and call the appropriate code.
188         * crypt/sha256-crypt.c: New file.
189         * crypt/sha256.c: New file.
190         * crypt/sha256.h: New file.
191         * crypt/sha256c-test.c: New file.
192         * crypt/sha256test.c: New file.
193         * crypt/sha512-crypt.c: New file.
194         * crypt/sha512.c: New file.
195         * crypt/sha512.h: New file.
196         * crypt/sha512c-test.c: New file.
197         * crypt/sha512test.c: New file.
198
199 2007-09-19  Jakub Jelinek  <jakub@redhat.com>
200
201         * misc/bits/syslog.h (syslog): Remove extraneous argument from
202         the inline, pass __USE_FORTIFY_LEVEL - 1 as second argument to
203         __syslog_chk.
204
205 2007-09-18  Jakub Jelinek  <jakub@redhat.com>
206
207         * locale/programs/charmap-dir.c (charmap_aliases): Use %ms instead of
208         %as in fscanf format strings.
209
210         * sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup.
211         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
212         * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start):
213         Likewise.
214         * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start):
215         Likewise.
216
217         * sysdeps/generic/ldsodefs.h (DL_LOOKUP_GSCOPE_LOCK): New definition.
218         * elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Or in
219         DL_LOOKUP_GSCOPE_LOCK into flags after THREAD_GSCOPE_SET_FLAG ().
220         * elf/dl-sym.c (do_sym): Likewise.
221         * include/link.h (struct link_map): Add l_serial field.
222         * elf/dl-object.c (_dl_new_object): Initialize l_serial.
223         * elf/dl-lookup.c (add_dependency): Add flags argument.
224         Remember map->l_serial, if DL_LOOKUP_GSCOPE_LOCK is among
225         flags, use THREAD_GSCOPE_RESET_FLAG before and
226         THREAD_GSCOPE_SET_FLAG after
227         __rtld_lock_lock_recursive (GL(dl_load_lock)) to avoid deadlock.
228         Don't dereference map until it has been found on some list.
229         If map->l_serial changed, return -1.
230
231 2007-09-17  Jakub Jelinek  <jakub@redhat.com>
232
233         * include/stdio.h (__isoc99_fscanf, __isoc99_scanf,
234         __isoc99_sscanf, __isoc99_vscanf): New prototypes.
235         (__isoc99_vsscanf, __isoc99_vfscanf): New prototypes, add
236         libc_hidden_proto.
237         * include/wchar.h (__isoc99_fwscanf, __isoc99_wscanf,
238         __isoc99_swscanf, __isoc99_vwscanf): New prototypes.
239         (__isoc99_vswscanf, __isoc99_vfwscanf): New prototypes,
240         add libc_hidden_proto.
241         * libio/stdio.h (fscanf, scanf, sscanf, vfscanf, vscanf,
242         vsscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
243         conformance requested.
244         * wcsmbs/wchar.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf,
245         vswscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
246         conformance requested.
247         * libio/bits/stdio-ldbl.h (fscanf, scanf, sscanf, vfscanf, vscanf,
248         vsscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX
249         conformance requested.
250         * wcsmbs/bits/wchar-ldbl.h (fwscanf, wscanf, swscanf, vfwscanf,
251         vwscanf, vswscanf): Redirect to __nldbl___isoc99_* if strict
252         ISO C99 or POSIX conformance requested.
253         * stdio-common/Versions (libc): Export __isoc99_scanf@@GLIBC_2.7,
254         __isoc99_vscanf@@GLIBC_2.7, __isoc99_fscanf@@GLIBC_2.7,
255         __isoc99_vfscanf@@GLIBC_2.7, __isoc99_sscanf@@GLIBC_2.7
256         and __isoc99_vsscanf@@GLIBC_2.7.
257         * stdio-common/Makefile (routines): Add isoc99_scanf, isoc99_vscanf,
258         isoc99_fscanf, isoc99_vfscanf, isoc99_sscanf and isoc99_vsscanf.
259         (tests): Add scanf14.
260         (CFLAGS-vfprintf.c, CFLAGS-fprintf.c, CFLAGS-printf.c,
261         CFLAGS-vfwprintf.c, CFLAGS-vfscanf.c, CFLAGS-vfwscanf.c,
262         CFLAGS-fscanf.c, CFLAGS-scanf.c, CFLAGS-isoc99_vfscanf.c,
263         CFLAGS-isoc99_vscanf.c, CFLAGS-isoc99_fscanf.c,
264         CFLAGS-isoc99_scanf.c): Add $(exceptions).
265         (CFLAGS-scanf15.c): Add various -I paths to prevent the compiler
266         from using internal headers.
267         * wcsmbs/Versions (libc): Export __isoc99_wscanf@@GLIBC_2.7,
268         __isoc99_vwscanf@@GLIBC_2.7, __isoc99_fwscanf@@GLIBC_2.7,
269         __isoc99_vfwscanf@@GLIBC_2.7, __isoc99_swscanf@@GLIBC_2.7
270         and __isoc99_vswscanf@@GLIBC_2.7.
271         * wcsmbs/Makefile (routines): Add isoc99_wscanf, isoc99_vwscanf,
272         isoc99_fwscanf, isoc99_vfwscanf, isoc99_swscanf and isoc99_vswscanf.
273         (CFLAGS-isoc99_wscanf.c, CFLAGS-isoc99_fwscanf.c,
274         CFLAGS-isoc99_vwscanf.c, CFLAGS-isoc99_vfwscanf.c): Add $(exceptions).
275         (CPPFLAGS): Add -D_IO_MTSAFE_IO if needed.
276         * stdio-common/isoc99_scanf.c: New file.
277         * stdio-common/isoc99_vsscanf.c: New file.
278         * stdio-common/isoc99_vscanf.c: New file.
279         * stdio-common/isoc99_vfscanf.c: New file.
280         * stdio-common/isoc99_fscanf.c: New file.
281         * stdio-common/isoc99_sscanf.c: New file.
282         * wcsmbs/isoc99_fwscanf.c: New file.
283         * wcsmbs/isoc99_vswscanf.c: New file.
284         * wcsmbs/isoc99_swscanf.c: New file.
285         * wcsmbs/isoc99_wscanf.c: New file.
286         * wcsmbs/isoc99_vwscanf.c: New file.
287         * wcsmbs/isoc99_vfwscanf.c: New file.
288         * libio/libio.h (_IO_FLAGS2_SCANF_STD): Define.
289         * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Also
290         clear _IO_FLAGS2_SCANF_STD bit from _flags2.
291         * stdio-common/vfscanf.c (_IO_vfscanf_internal): Don't
292         handle %as, %aS and %a[ if _IO_FLAGS2_SCANF_STD is set in _flags2.
293         * stdio-common/scanf14.c: New test.
294         * stdio-common/scanf15.c: New test.
295         * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
296         isoc99_scanf, isoc99_fscanf, isoc99_sscanf,
297         isoc99_vscanf, isoc99_vfscanf, isoc99_vsscanf,
298         isoc99_wscanf, isoc99_fwscanf, isoc99_swscanf,
299         isoc99_vwscanf, isoc99_vfwscanf and isoc99_vswscanf.
300         * sysdeps/ieee754/ldbl-opt/Versions (libc): Export
301         __nldbl___isoc99_scanf@@GLIBC_2.7,
302         __nldbl___isoc99_fscanf@@GLIBC_2.7,
303         __nldbl___isoc99_sscanf@@GLIBC_2.7,
304         __nldbl___isoc99_vscanf@@GLIBC_2.7,
305         __nldbl___isoc99_vfscanf@@GLIBC_2.7,
306         __nldbl___isoc99_vsscanf@@GLIBC_2.7,
307         __nldbl___isoc99_wscanf@@GLIBC_2.7,
308         __nldbl___isoc99_fwscanf@@GLIBC_2.7,
309         __nldbl___isoc99_swscanf@@GLIBC_2.7,
310         __nldbl___isoc99_vwscanf@@GLIBC_2.7,
311         __nldbl___isoc99_vfwscanf@@GLIBC_2.7
312         and __nldbl___isoc99_vswscanf@@GLIBC_2.7.
313         * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__isoc99_scanf,
314         __isoc99_fscanf, __isoc99_sscanf, __isoc99_vscanf,
315         __isoc99_vfscanf, __isoc99_vsscanf, __isoc99_wscanf,
316         __isoc99_fwscanf, __isoc99_swscanf, __isoc99_vwscanf,
317         __isoc99_vfwscanf, __isoc99_vswscanf): Add NLDBL_DECL.
318         * sysdeps/ieee754/ldbl-opt/nldbl-compat.c
319         (__nldbl___isoc99_scanf, __nldbl___isoc99_fscanf,
320         __nldbl___isoc99_sscanf, __nldbl___isoc99_vscanf,
321         __nldbl___isoc99_vfscanf, __nldbl___isoc99_vsscanf,
322         __nldbl___isoc99_wscanf, __nldbl___isoc99_fwscanf,
323         __nldbl___isoc99_swscanf, __nldbl___isoc99_vwscanf,
324         __nldbl___isoc99_vfwscanf, __nldbl___isoc99_vswscanf): New
325         functions.
326         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c: New file.
327         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c: New file.
328         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c: New file.
329         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c: New file.
330         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c: New file.
331         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c: New file.
332         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c: New file.
333         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c: New file.
334         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c: New file.
335         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c: New file.
336         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c: New file.
337         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c: New file.
338
339         * stdio-common/Makefile (tests): Add scanf13.
340         (scanf13-ENV): New.
341         * stdio-common/vfscanf.c (_IO_vfscanf_internal): Handle
342         m modifier followed by l.
343         (STRING_ARG): Add width argument.
344         (_IO_vfscanf_internal) <case L_('c')>: Handle %mc.
345         <case L_('C')>: Handle %mlc and %mC.
346         <case L_('s'), case L_('S'), case L_('[')>: Adjust STRING_ARG
347         arguments.
348         * stdio-common/scanf13.c: New test.
349
350         * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Clear
351         the _IO_FLAGS2_FORTIFY bit from _flags2 rather than _flags.
352
353 2007-09-18  Ulrich Drepper  <drepper@redhat.com>
354
355         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Correct return value
356         type and __THROW marker of splice, vmsplice, and tee.
357         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
358         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
359         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
360         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
361         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
362         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
363         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
364         * sysdeps/unix/sysv/linux/syscalls.list: Mark splice, vmsplice, and tee
365         as cancellation points.
366
367 2003-11-01  Daniel Jacobowitz  <dan@debian.org>
368
369         * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion): Don't
370         parse more than three parts of the version number.
371
372 2007-09-15  Ulrich Drepper  <drepper@redhat.com>
373
374         * stdio-common/vfscanf.c (_IO_vfwscanf): Add support for 'm'
375         modifier.  Patch by Jakub Jelinek.
376
377 2007-08-26  Jakub Jelinek  <jakub@redhat.com>
378
379         * sysdeps/unix/sysv/linux/i386/Makefile (sysdep_routines): Add
380         call_fallocate in misc subdir.
381         * sysdeps/unix/sysv/linux/i386/call_fallocate.S: New file.
382         * sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate64): Remove.
383         * sysdeps/unix/sysv/linux/i386/posix_fallocate.c: Use __call_fallocate
384         instead of __fallocate64.
385         * sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: Likewise.
386
387 2007-09-15  Jakub Jelinek  <jakub@redhat.com>
388
389         * rt/Versions (librt): Export __mq_open_2@@GLIBC_2.7.
390         * rt/Makefile (headers): Add bits/mqueue2.h.
391         * rt/mqueue.h: Include bits/mqueue2.h if -D_FORTIFY_SOURCE=2,
392         optimizing with GCC and __va_arg_pack_len is defined.
393         * rt/bits/mqueue2.h: New file.
394         * rt/mq_open.c (__mq_open): Renamed from mq_open.
395         (mq_open): New strong_alias.
396         (__mq_open_2): New function.
397         * sysdeps/unix/sysv/linux/mq_open.c (__mq_open): Renamed from mq_open.
398         (mq_open): New strong_alias.
399         (__mq_open_2): New function.
400         * debug/Versions (libc): Export __fortify_fail@@GLIBC_PRIVATE.
401         * Versions.def (librt): Add GLIBC_2.7 version.
402         * debug/fortify_fail.c (__fortify_fail): Add libc_hidden_def.
403         * include/stdio.h (__fortify_fail): Add libc_hidden_proto.
404
405         * misc/sys/cdefs.h (__errordecl, __va_arg_pack_len): Define.
406         * io/fcntl.h: Include bits/fcntl2.h when __va_arg_pack_len
407         is defined rather than when not C++.
408         * io/bits/fcntl2.h (__open_alias, __open64_alias, __openat_alias,
409         __openat64_alias): New redirects.
410         (__open_too_many_args, __open_missing_mode, __open64_too_many_args,
411         __open64_missing_mode, __openat_too_many_args, __openat_missing_mode,
412         __openat64_too_many_args, __openat64_missing_mode): New __errordecls.
413         (open, open64, openat, openat64): Rewrite as __extern_always_inline
414         functions instead of function-like macros.
415
416 2007-09-14  H.J. Lu  <hongjiu.lu@intel.com>
417
418         * sysdeps/i386/i586/memcpy.S (__memcpy_chk): New definition.
419         * sysdeps/i386/i586/mempcpy.S (__memcpy_chk): New definition.
420         * sysdeps/i386/i586/memset.S (__memset_chk): New definition.
421
422 2007-09-15  Mike Frysinger  <vapier@gentoo.org>
423
424         * inet/inet_net.c: Reset digit to 0 for inputs starting with "0x".
425         * inet/tst-network.c (tests): Add edge case tests for "0", "0x", "0x0".
426
427 2007-09-14  Mike Frysinger  <vapier@gentoo.org>
428
429         * inet/tst-network.c: Increment ERRORS for failing tests.
430
431 2007-09-07  Jakub Jelinek  <jakub@redhat.com>
432
433         * misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+.
434         * misc/bits/syslog.h (syslog): When __va_arg_pack is defined,
435         implement as __extern_always_inline function.
436         (vsyslog): Define as __extern_always_inline function unconditionally.
437         * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf):
438         When __va_arg_pack is defined, implement as __extern_always_inline
439         functions.
440         (vsprintf, vsnprintf, vprintf, vfprintf): Define as
441         __extern_always_inline functions unconditionally.
442         * libio/bits/stdio.h (vprintf): Ifdef out the inline when
443         bits/stdio2.h will be included.
444         * wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect.
445         (swprintf, wprintf, fwprintf): When __va_arg_pack is defined,
446         implement as __extern_always_inline functions.
447         (vswprintf, vwprintf, vfwprintf): Define as
448         __extern_always_inline functions unconditionally.
449         * debug/tst-chk1.c (do_test): Enable remaining tests for C++.
450
451 2007-09-03  Jakub Jelinek  <jakub@redhat.com>
452
453         * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only
454         define in C++ for GCC 4.3+, in C++ always use __gnu_inline__
455         attribute.
456         * include/features.h (__USE_EXTERN_INLINES): Define only when
457         __extern_inline is defined.
458         * stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline
459         is defined instead of when not __cplusplus.
460         * misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline
461         is defined instead of when not __cplusplus.
462         * socket/sys/socket.h: Include bits/socket2.h when
463         __extern_always_inline is defined instead of when not __cplusplus.
464         * libio/stdio.h: Include bits/stdio2.h when __extern_always_inline
465         is defined instead of when not __cplusplus.
466         * posix/unistd.h: Include bits/unistd.h when __extern_always_inline
467         is defined instead of when not __cplusplus.
468         * string/string.h: Include bits/string3.h when __extern_always_inline
469         is defined instead of when not __cplusplus.
470         * wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline
471         is defined instead of when not __cplusplus.
472         (btowc, wctob): Don't guard the inlines with ifndef __cplusplus.
473         * io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline
474         is not defined.
475         * misc/bits/syslog-ldbl.h: Guard *_chk stuff with
476         defined __extern_always_inline instead of !defined __cplusplus.
477         * libio/bits/stdio-ldbl.h: Likewise.
478         * wcsmbs/bits/wchar-ldbl.h: Likewise.
479         * misc/bits/syslog.h (syslog): Don't define for C++.
480         (vsyslog): Use __extern_always_inline function for C++ instead of
481         a macro.
482         * libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline
483         whenever that macro is defined.
484         (vprintf): Don't provide the inline for C++.
485         (fread_unlocked, fwrite_unlocked): Don't define the macros for C++.
486         * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't
487         define the macros for C++.
488         (vsprintf, vsnprintf, vprintf, vfprintf): Define as
489         __extern_always_inline functions for C++.
490         * io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat,
491         stat64, lstat64, fstat64, fstatat64): Don't define if not
492         __USE_EXTERN_INLINES.
493         * wcsmbs/bits/wchar2.h: Fix #error message.
494         (swprintf, wprintf, fwprintf): Don't define the macros for C++.
495         (vswprintf, vwprintf, vfwprintf): Define using
496         __extern_always_inline functions for C++.
497         * string/bits/string3.h: Don't #undef macros if __cplusplus.
498         (memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy,
499         strncpy, strcat, strncat): Define as __extern_always_inline
500         functions instead of macros for C++.
501         * math/bits/cmathcalls.h: Guard __extern_inline routines with
502         defined __extern_inline.
503         * sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define
504         to __extern_inline whenever that macro is defined.
505         * sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
506         * sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
507         * sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise.
508         * sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise.
509         * sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
510         * sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
511         * sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
512         * sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
513         * sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major,
514         gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from
515         prototypes.  Only provide __extern_inline routines if
516         __USE_EXTERN_INLINES.
517         * debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6}
518         tests.
519         * debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++.
520         For now avoid some *printf tests in C++.  Skip all testing
521         if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro
522         is not.
523         * debug/tst-chk4.cc: New file.
524         * debug/tst-chk5.cc: New file.
525         * debug/tst-chk6.cc: New file.
526         * debug/tst-lfschk4.cc: New file.
527         * debug/tst-lfschk5.cc: New file.
528         * debug/tst-lfschk6.cc: New file.
529         * include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid
530         prototypes in C++.
531         * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
532         __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
533         __vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
534
535 2007-09-13  Ulrich Drepper  <drepper@redhat.com>
536
537         * po/cs.po: Update from translation team.
538
539 2007-09-11  Roland McGrath  <roland@redhat.com>
540
541         * posix/Makefile ($(objpfx)getconf.speclist): Make it empty if cross
542         compiling.
543
544 2007-09-07  Samuel Thibault  <samuel.thibault@ens-lyon.org>
545
546         * sysdeps/mach/hurd/bits/ioctls.h (TAB3): New macro.
547
548 2007-09-05  Roland McGrath  <roland@redhat.com>
549
550         * manual/signal.texi (Signaling Another Process): Typo fix.
551         From Karl Berry <karl@freefriends.org>.
552
553 2007-08-29  Ulrich Drepper  <drepper@redhat.com>
554
555         * sysdeps/unix/sysv/linux/check_pf.c (IFA_F_OPTIMISTIC): Define to
556         zero if not defined.
557         (make_request): Recognize optimistic addresses and treat them like
558         deprecated addresses.
559         Reported by Neil Horman <nhorman@redhat.com>.
560
561 2007-08-28  Ulrich Drepper  <drepper@redhat.com>
562
563         * nscd/connections.c (send_ro_fd): Also transfer file size.
564         * nscd/nscd_helper.c (get_mapping): If nscd also transfers the
565         file size don't call fstat.
566
567         * nscd/nscd_helper.c (get_mapping): Avoid the pread call, just go
568         ahead and map the file.  This should always be correct and we can
569         catch problems later.
570
571 2007-08-28  Jakub Jelinek  <jakub@redhat.com>
572
573         * libio/bits/stdio2.h (__fread_chk, __fread_unlocked_chk): New
574         prototypes.
575         (__fread_alias, __fread_unlocked_alias): New aliases.
576         (fread): New extern inline.
577         (fread_unlocked): Likewise.  Undef macro before definition of
578         the inline function.
579         * debug/Makefile (routines): Add fread_chk and fread_u_chk.
580         (CFLAGS-fread_chk.c, CFLAGS-fread_u_chk.c): Add.
581         * debug/Versions (libc): Export __fread_chk@@GLIBC_2.7
582         and __fread_unlocked_chk@@GLIBC_2.7.
583         * debug/fread_chk.c: New file.
584         * debug/fread_u_chk.c: New file.
585         * debug/tst-chk1.c (do_test): Add fread and fread_unlocked tests.
586
587 2007-08-27  Jakub Jelinek  <jakub@redhat.com>
588
589         * sysdeps/unix/sysv/linux/syscalls.list
590         (personality): Change caller to EXTRA.
591
592 2007-08-25  Ulrich Drepper  <drepper@redhat.com>
593
594         * iconvdata/iso-2022-kr.c (BODY): Fake initialization of array buf
595         to keep gcc quiet.
596         * iconvdata/iso-2022-cn.c (BODY): Likewise.
597
598         * locale/programs/ld-collate.c (collate_output): Avoid warning if
599         NDEBUG is defined.
600
601         * Makerules: Use -p option with mkdir.
602
603         * sunrpc/key_prot.c (xdr_unixcred): Work around gcc alias warning.
604         * nis/nis_xdr.c (_xdr_nis_server): Likewise.
605         (_xdr_directory_obj): Likewise.
606         (xdr_entry_obj): Likewise.
607         (xdr_group_obj): Likewise.
608         (xdr_link_obj): Likewise.
609         (xdr_table_obj): Likewise.
610         (_xdr_nis_result): Likewise.
611         (_xdr_ns_request): Likewise.
612         (_xdr_ib_request): Likewise.
613         (_xdr_nis_taglist): Likewise.
614         (xdr_cback_data): Likewise.
615         * nis/yp_xdr.c (xdr_ypmaplist): Likewise.
616         (xdr_ypresp_maplist): Likewise.
617
618         * stdio-common/Makefile: Avoid format string warning for tst-sprint.
619
620         * posix/regex_internal.h: Prevent some declarations and definitions
621         to be seen when used in tests.
622
623         * posix/tst-rfc3484.c (__idna_to_unicode_lzlz): Initialize *OUTPUT.
624         * posix/tst-rfc3484-2.c (__idna_to_unicode_lzlz): Likewise.
625
626         * debug/Makefile: Disable format checking when compiling tst-chk?.c.
627
628         * config.make.in (datarootdir): Add to shut up configure.
629
630         * sysdeps/x86_64/cacheinfo.c (handle_amd): Fix computation of
631         associativity for fully-associative caches.
632
633         * sysdeps/x86_64/cacheinfo.c (handle_amd): Handle L3 cache
634         requests.  Fill on more associativity values for L2.
635         Patch mostly by Evandro Menezes.
636
637 2007-08-24  Ulrich Drepper  <drepper@redhat.com>
638
639         * sysdeps/unix/sysv/linux/x86_64/init-first.c
640         (_libc_vdso_platform_setup): Avoid using exported variable by using
641         alias.
642
643         * resolv/arpa/nameser.h (NS_OPT_DNSSEC_OK): Define.
644
645         * sysdeps/unix/sysv/linux/i386/syscalls.list: No reason to mark
646         fallocate64 as EXTRA.  It is not referenced if the symbol isn't
647         defined.
648
649 2007-08-23  Ulrich Drepper  <drepper@redhat.com>
650
651         * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Correctly
652         align stack for call if pltexit is to be used.
653
654         [BZ #3924]
655         * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Correctly
656         align for function call in case pltexit has to be called later.
657
658         * sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Avoid
659         implicit atomic operation when storing function pointer.
660         (_dl_runtime_profile): Likewise.
661
662 2007-08-17  Jakub Jelinek  <jakub@redhat.com>
663
664         * nis/nis_table.c (nis_list): Don't fail if __follow_path returned
665         NIS_NOTFOUND.
666
667 2007-08-21  Ulrich Drepper  <drepper@redhat.com>
668
669         [BZ #4566]
670         * string/strtok.c: Fix typo in comment.
671
672         [BZ #4582]
673         * debug/segfault.c: Fix typos in comments.
674
675         [BZ #4588]
676         * stdio-common/tempnam.c: Fix comment, it is not checked that
677         TMPDIR points to a writable directory.
678
679         [BZ #4726]
680         * resolv/res_send.c (__libc_res_nsend): Initialize all of the
681         memory allocated for the name server address.
682
683         [BZ #4946]
684         * nscd/connections.c (handle_request): Using sendfile always
685         requires that mmap is used for the database.
686         Patch by Petr Baudis <pasky@suse.cz>.
687
688         [BZ #4905]
689         * nscd/hstcache.c (cache_addhst): When reloading an entry which
690         suddenly has two or more addresses, ignore it and remove the old
691         entry.
692
693         [BZ #4814]
694         * resolv/res_hconf.c: Prepare for compiling outside libc.
695         * nscd/res_hconf.c: New file.
696         * nscd/Makefile (nscd-modules): Add res_hconf.  Add rules to build
697         the new file.
698         * nscd/gethstbynm2_r.c (NEED__RES_HCONF): Define.
699         * nscd/gethstbyad_r.c (NEED__RES_HCONF): Likewise.
700
701         * nscd/hstcache.c (cache_addhst): Minimal optimization.
702
703         [BZ #4925]
704         * debug/pcprofiledump.c: Turn on internationalization by calling
705         setlocale.  Patch mostly by Benno Schulenberg.
706
707         [BZ #4936]
708         * iconv/gconv.c (__gconv): If flush was successful, clear rest of
709         the state.
710         * iconvdata/Makefile: Add rules to build and run bug-iconv5.
711         * iconvdata/bug-iconv5.c: New file.
712
713 2007-08-04  Carlos O'Donell  <carlos@systemhalted.org>
714
715         [BZ #4896]
716         * elf/elf.h: Define R_PARISC_PLABEL21L, R_PARISC_PLABEL14R,
717         R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT, R_PARISC_TLS_GD21L,
718         R_PARISC_TLS_GD14R, R_PARISC_TLS_GDCALL, R_PARISC_TLS_LDM21L,
719         R_PARISC_TLS_LDM14R, R_PARISC_TLS_LDMCALL, R_PARISC_TLS_LDO21L,
720         R_PARISC_TLS_LDO14R, R_PARISC_TLS_DTPMOD32, R_PARISC_TLS_DTPMOD64,
721         R_PARISC_TLS_DTPOFF32, R_PARISC_TLS_DTPOFF64, R_PARISC_TLS_LE21L,
722         R_PARISC_TLS_LE14R, R_PARISC_TLS_IE21L, R_PARISC_TLS_IE14R,
723         R_PARISC_TLS_TPREL32, R_PARISC_TLS_TPREL64.
724
725 2007-08-21  Ulrich Drepper  <drepper@redhat.com>
726
727         [BZ #4937]
728         * elf/do-lookup.h (do_lookup_x): Minimal improvement in hash
729         lookup loop.  Suggested by John Reiser.
730
731 2007-08-21  Jakub Jelinek  <jakub@redhat.com>
732
733         * sysdeps/unix/sysv/linux/alpha/sysdep.h: Include tls.h.
734
735 2007-08-20  Ulrich Drepper  <drepper@redhat.com>
736
737         * csu/libc-start.c: Don't handle VDSO_SETUP here.
738         * sysdeps/unix/sysv/linux/init-first.c: Handle it here instead.
739         * sysdeps/unix/sysv/linux/x86_64/libc-start.c: Renamed to...
740         * sysdeps/unix/sysv/linux/x86_64/init-first.c: ...this.  New file.
741         * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Move VDSO_SETUP code
742         to...
743         * sysdeps/unix/sysv/linux/x86_64/init-first.c: ...here.  New file.
744
745 2007-08-18  Ulrich Drepper  <drepper@redhat.com>
746
747         * po/nl.po: Update from translation team.
748
749 2007-08-16  Andreas Jaeger  <aj@suse.de>
750
751         * locale/localeinfo.h: Make _nl_category_name_idxs extern.
752         Reported by Peter Festner <peter.festner@ewetel.net>.
753
754 2007-08-17  Jakub Jelinek  <jakub@redhat.com>
755
756         * login/tst-grantpt.c (test_einval): Add 3rd argument to open.
757
758 2007-08-16  Jakub Jelinek  <jakub@redhat.com>
759
760         * elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u
761         to check for undefined symbols.
762
763         * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone):
764         If the syscall fails, set errno to the actual returned error number
765         rather than EINVAL.
766         * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): If
767         arguments are incorrect, set errno to EINVAL, if the syscall
768         fails, set errno to the actual returned error number.
769
770         * stdlib/bits/stdlib-ldbl.h (__strtold_internal): Remove.
771         * wcsmbs/bits/wchar-ldbl.h (__wcstold_internal): Remove.
772
773         * sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to...
774         * sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: ... here.  New
775         file.
776         (ASI_PNF, ASI_BLK_P): Don't define.
777         * sysdeps/sparc/sparc32/sparcv9v/memcpy.S: Moved to...
778         * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: ... here.  New
779         file.
780         * sysdeps/sparc/sparc32/sparcv9v/memset.S: Moved to...
781         * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: ... here.  New
782         file.
783
784 2007-08-15  Jakub Jelinek  <jakub@redhat.com>
785
786         * sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising
787         FE_UNDERFLOW on Niagara CPUs.
788
789         * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all
790         exceptions.
791
792 2007-08-14  Jakub Jelinek  <jakub@redhat.com>
793
794         * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No
795         need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9.
796         (sparc_fixup_plt): Add do_flush argument instead of figuring whether
797         flush should be used or not inside of the function.
798         (elf_machine_fixup_plt, elf_machine_rela): Adjust caller.
799
800         * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone,
801         __thread_start): Use HIDDEN_JUMPTARGET.
802         * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone,
803         __thread_start): Likewise.
804         * sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define.
805
806         * sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare.
807         Add libc_hidden_proto.
808         (STRTOF): Add libc_hidden_proto.
809         (___new_strtold_l, ___new_wcstold_l): New weak aliases.
810         (strtold_l, wcstold_l): Use them as second argument for
811         long_double_symbol.
812
813 2007-08-14  Ulrich Drepper  <drepper@redhat.com>
814
815         * elf/dl-misc.c: Undo last change.  The kernel won't allow it.
816
817 2007-08-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
818
819         * stdlib/strtold_l.c: Include wchar.h if needed.  Add libc_hidden_def.
820
821 2007-08-14  Ulrich Drepper  <drepper@redhat.com>
822
823         * po/bg.po: New file.  From the translation team.
824
825 2007-08-13  Jakub Jelinek  <jakub@redhat.com>
826
827         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PSELECT,
828         __ASSUME_PPOLL, __ASSUME_ATFCTS, __ASSUME_SET_ROBUST_LIST,
829         __ASSUME_UTIMENSAT, __ASSUME_FALLOCATE): Update per-arch conditions
830         when each feature was introduced.
831
832         * sysdeps/unix/sysv/linux/dl-vdso.c: Don't include dl-hash.h.
833         * sysdeps/unix/sysv/linux/dl-vdso.h: Don't include dl-hash.h if NDEBUG.
834         (CHECK_HASH): New macro.
835         (PREPARE_VERSION): Use it.
836
837         * sysdeps/unix/sysv/linux/pselect.c (__generic_pselect): Only provide
838         prototype if not __ASSUME_PSELECT.
839         * sysdeps/unix/sysv/linux/ppoll.c (__generic_ppoll): Only provide
840         prototype if not __ASSUME_PPOLL.
841
842         * sysdeps/unix/sysv/linux/dl-osinfo.h (ROUND): #undef after use.
843
844         * sysdeps/unix/clock_settime.c (freq, __pthread_clock_settime,
845         hp_timing_settime): Don't define or declare if HANDLED_CPUTIME
846         is defined.
847
848 2007-08-13  Ulrich Drepper  <drepper@redhat.com>
849
850         * sysdeps/unix/sysv/linux/x86_64/libc-start.c
851         (_libc_vdso_platform_setup): If vDSO is not available point
852         __vdso_gettimeofday to the vsyscall.
853         * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S [SHARED]: Use
854         __vdso_gettimeofday instead of vsyscall.
855
856 2007-08-13  Jakub Jelinek  <jakub@redhat.com>
857
858         * nscd/servicescache.c: Include kernel-features.h.
859         * nscd/gai.c: Likewise.
860         * sysdeps/unix/sysv/linux/statfs64.c: Likewise.
861         * sysdeps/unix/sysv/linux/fstatfs64.c: Likewise.
862         * sysdeps/unix/sysv/linux/fxstatat.c: Likewise.
863         * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise.
864         * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise.
865         * sysdeps/unix/sysv/linux/xstatconv.c: Likewise.
866         * sysdeps/unix/sysv/linux/if_index.c: Likewise.
867         * sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: Likewise.
868         * sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.
869
870 2007-08-12  Ulrich Drepper  <drepper@redhat.com>
871
872         * elf/dl-dst.h: No need for _dl_dst_count, _dl_dst_substitute,
873         and _dl_get_origin defines anymore.
874
875         * sysdeps/unix/sysv/linux/clock_gettime.c (maybe_syscall_gettime_cpu):
876         Build fix for systems which might lack POSIX timer support.
877
878         * sysdeps/unix/sysv/linux/x86_64/libc-start.c
879         (_libc_vdso_platform_setup): Mangle function pointers before storing
880         them.
881         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INLINE_VSYSCALL):
882         Demangle vdso pointer before use.
883         (INTERNAL_VSYSCALL): Likewise.
884
885         * elf/cache.c (primes): Mark as const.
886         Noted by Roland McGrath.
887
888 2007-08-01  Andreas Jaeger  <aj@suse.de>
889             Jakub Jelinek  <jakub@redhat.com>
890
891         * elf/ldconfig.c (opt_ignore_aux_cache): Add new option.
892         (options): Add option.
893         (parse_opt): Handle option.
894         (manual_link): Adjust process_file caller.  Call implicit_soname.
895         (search_dir): Formatting.  Use and populate auxiliary cache.
896         (main): Load and save auxiliary cache.
897         * elf/readlib.c (process_file): Add stat_buf argument.  Pass struct
898         stat64 from fstat64 to caller.
899         (implicit_soname): New function.
900         * elf/readelflib.c (process_elf_file): If DT_SONAME is not present,
901         leave *soname as NULL.
902         * elf/cache.c: Include libgen.h.
903         (print_entry, print_cache, compare, save_cache, add_to_cache):
904         Formatting and cleanups.
905         (aux_cache_entry_id, aux_cache_entry, aux_cache_file_entry,
906         aux_cache_file): New structures.
907         (AUX_CACHEMAGIC): Define.
908         (primes): New array.
909         (aux_hash_size, aux_hash): New variables.
910         (aux_cache_entry_id_hash, nextprime, init_aux_cache,
911         search_aux_cache, insert_to_aux_cache, add_to_aux_cache,
912         load_aux_cache, save_aux_cache): New functions.
913         * sysdeps/generic/ldconfig.h (_PATH_LDCONFIG_AUX_CACHE): Define.
914         (init_aux_cache, search_aux_cache, add_to_aux_cache,
915         load_aux_cache, save_aux_cache, implicit_soname): New prototypes.
916         (process_file): Adjust prototype.
917
918 2007-08-12  Jakub Jelinek  <jakub@redhat.com>
919
920         * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Include stddef.h
921         with __need_size_t.
922
923 2007-08-12  Ulrich Drepper  <drepper@redhat.com>
924
925         * sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Expect
926         r_found_version structure as second parameter.
927         * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Define.
928         (_dl_vdso_vsym): Change type of second parameter accordingly.
929         * sysdeps/unix/sysv/linux/x86-64/libc-start.c
930         (_libc_vdso_platform_setup): Adjust.
931         * sysdeps/unix/sysv/linux/powerpc/libc-start.c
932         (_libc_vdso_platform_setup): Likewise.
933
934         * sysdeps/unix/sysv/linux/powerpc/dl-vdso.c: Move to...
935         * sysdeps/unix/sysv/linux/dl-vdso.c: ...here.
936         * sysdeps/unix/sysv/linux/powerpc/dl-vdso.h: Move to...
937         * sysdeps/unix/sysv/linux/dl-vdso.h: ...here.
938         * csu/libc-start.c: Pretty printing.
939         Use VDSO_SETUP if defined.
940         * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Define VDSO_SETUP
941         and let generic code call into _libc_vdso_platform_setup.
942         * sysdeps/unix/sysv/linux/x86_64/libc-start.c: New file.
943         * sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: New file.
944         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Pretty printing.
945         Define INLINE_VSYSCALL and INTERNAL_VSYSCALL.
946         * sysdeps/unix/sysv/linux/x86_64/Versions: Export __vdso_clock_gettime
947         for GLIBC_PRIVATE.
948         * sysdeps/unix/sysv/linux/x86_64/Makefile [subdir=elf]
949         (sysdep_rountines): Add dl-vdso.
950
951         * sysdeps/unix/sysv/linux/powerpc/Makefile: Use sysdep_routines instead
952         of routines.
953
954         * sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h: Add
955         attribute_hidden to __vdso_gettimeofday prototype.
956
957 2007-08-12  Roland McGrath  <roland@redhat.com>
958
959         * manual/stdio.texi (Variable Arguments Output): Fix xref to gcc manual.
960         From: Karl Berry <karl@freefriends.org>.
961
962 2007-08-11  Ulrich Drepper  <drepper@redhat.com>
963
964         * elf/dl-misc.c (_dl_sysdep_read_whole_file): We really don't need
965         an atime update for the files we read.
966
967 2007-08-10  Ulrich Drepper  <drepper@redhat.com>
968
969         * shadow/lckpwdf.c (__lckpwdf): Use O_CLOEXEC if possible.
970
971         * nscd/connections.c: Use O_CLOEXEC if possible.  Use mkostemp
972         instead of mkstemp.
973
974         * misc/Makefile (routines): Add mkostemp and mkostemp64.
975         * misc/Versions: Export mkostemp and mkostemp64 for GLIBC_2.7.
976         * misc/mkostemp.c: New file.
977         * misc/mkostemp64.c: New file.
978         * stdlib/stdlib.h: Declare the new functions.
979         * sysdeps/posix/tempname.c: Add new parameter which is added to
980         the flags for open.  Remove __GT_BIGFILE handling.
981         * stdio-common/tempname.c: Likewise.
982         * include/stdio.h: Adjust __gen_tempname prototype.
983         Renumber __GT_* constants.
984         * libio/oldtmpfile.c: Adjust for __gen_tempname interface change.
985         * misc/mkdtemp.c: Likewise.
986         * misc/mkstemp.c: Likewise.
987         * misc/mkstemp64.c: Likewise.
988         * misc/mktemp.c: Likewise.
989         * stdio-common/tempnam.c: Likewise.
990         * stdio-common/tmpfile.c: Likewise.
991         * stdio-common/tmpfile64.c: Likewise.
992         * stdio-common/tmpnam.c: Likewise.
993         * stdio-common/tmpnam_r.c: Likewise.
994
995 2007-08-10  Roland McGrath  <roland@frob.com>
996
997         * sysdeps/mach/hurd/bits/ioctls.h (NLDLY, TABDLY, BSDLY, VTDLY):
998         New macros.
999         (NLDELAY, CRDELAY, TBDELAY, BSDELAY, VTDELAY): Define to those.
1000         Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
1001
1002 2007-08-10  Ulrich Drepper  <drepper@redhat.com>
1003
1004         * nss/nss_files/files-XXX.c (internal_setent): Use O_CLOEXEC if
1005         possible.
1006         * nss/nss_files/files-alias.c (internal_setent): Likewise.
1007         * nss/Makefile (libnss_files-routines): Add files-have_o_cloexec.
1008         * nss/nss_files/files-have_o_cloexec.c: New file.
1009
1010         * sysdeps/unix/sysv/linux/shm_open.c (shm_open): Use O_CLOEXEC if
1011         available.
1012
1013 2007-08-10  Jakub Jelinek  <jakub@redhat.com>
1014
1015         * sysdeps/ieee754/ldbl-128ibm/strtold_l.c (___new_strtold_l,
1016         ___new_wcstold_l): New weak aliases.
1017         (strtold_l, wcstold_l): Use them as second argument for
1018         long_double_symbol.
1019
1020 2007-08-09  Ulrich Drepper  <drepper@redhat.com>
1021
1022         * sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S: Use correct
1023         register in test for error.
1024
1025         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_CLOEXEC): Define.
1026         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_CLOEXEC): Likewise.
1027
1028         * po/sv.po: Update from translation team.
1029
1030 2007-08-06  Roland McGrath  <roland@redhat.com>
1031
1032         * include/stdlib.h: Add libc_hidden_proto for strto*, __strto*_l.
1033         Remove __strto*_l inlines.
1034         * include/wchar.h: Add libc_hidden_proto for wcsto*, __wcsto*_l.
1035         * stdlib/strtod.c: Add libc_hidden_def.
1036         * stdlib/strtod_l.c: Likewise.
1037         * stdlib/strtold.c [__LONG_DOUBLE_MATH_OPTIONAL]: Add libc_hidden_proto
1038         for __new_strtold and __new_wcstold.
1039         * sysdeps/ieee754/ldbl-128ibm/strtold_l.c: Add libc_hidden_proto for
1040         __STRTOF, STRTOF.
1041         * stdlib/strtol.c: Add libc_hidden_def.
1042         * stdlib/strtol_l.c: Likewise.
1043         * sysdeps/wordsize-64/strtol.c: Add libc_hidden_ver for strtoll and
1044         strtoq.
1045
1046         * scripts/data/localplt-powerpc-linux-gnu.data: New file.
1047
1048         * scripts/data/localplt-x86_64-linux-gnu.data: File renamed to ...
1049         * scripts/data/localplt-generic.data: ... here.
1050         * elf/Makefile (check-data): Get generic file if no other.
1051         ($(objpfx)check-localplt.out): Make target unconditional.
1052
1053         * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion):
1054         Use ElfW(Nhdr).
1055
1056 2007-08-05  Ulrich Drepper  <drepper@redhat.com>
1057
1058         * po/zh_CN.po: Updated translation from translation team.
1059
1060 2007-08-05  Jakub Jelinek  <jakub@redhat.com>
1061
1062         * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
1063         Don't use CGOTSETUP and CGOTRESTORE macros.
1064
1065 2007-08-04  Roland McGrath  <roland@redhat.com>
1066
1067         * posix/Makefile ($(objpfx)getconf.speclist): Fix typo.
1068
1069 2007-08-04  Jakub Jelinek  <jakub@redhat.com>
1070
1071         * io/bits/fcntl2.h (open, open64, openat, openat64): Add
1072         __extension__ around the whole statement expression.
1073
1074 2007-08-04  Ulrich Drepper  <drepper@redhat.com>
1075
1076         * sysdeps/unix/opendir.c (__alloc_dir): Correct order of DIR
1077         elements during initialization.
1078
1079         * po/pl.po: Updated translation from translation team.
1080         * po/tr.po: Likewise.
1081         * po/nl.po: Likewise.
1082
1083 2007-08-03  Ulrich Drepper  <drepper@redhat.com>
1084
1085         * rt/aio.h: Add __nonnull attributes.
1086
1087 2007-08-03  Jakub Jelinek  <jakub@redhat.com>
1088
1089         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Properly handle -0.
1090         * stdlib/Makefile (tests): Add tst-strtod5.
1091         (tst-strtod5-ENV): New.
1092         * stdlib/tst-strtod5.c: New file.
1093
1094         * intl/dcigettext.c (_nl_find_msg): Free encoding if __gconv_open
1095         failed.
1096         * intl/finddomain.c (_nl_find_domain): Free normalized_codeset
1097         on failure.
1098
1099         * elf/dl-load.c (decompose_rpath): Free copy if result couldn't be
1100         allocated.
1101
1102 2007-08-03  Jakub Jelinek  <jakub@redhat.com>
1103
1104         * rt/mqueue.h (mq_timedreceive, mq_timedsend): Fix nonnull argument
1105         numbers.
1106
1107 2007-08-02  Ulrich Drepper  <drepper@redhat.com>
1108
1109         * io/Makefile (aux): Add have_o_cloexec.
1110         * include/fcntl.h: Declare __have_o_cloexec.
1111         * io/have_o_cloexec.c: New file.
1112         * sysdeps/unix/opendir.c (__opendir): Use O_CLOEXEC is available.
1113         (__alloc_dir): If O_CLOEXEC has been used, don't duplicate the
1114         fcntl call if not necessary.
1115         * login/utmp_file.c (setutent_file): Use __have_o_cloexec instead
1116         of local variable.
1117
1118         * sysdeps/unix/opendir.c (__alloc_dir): Don't initialize ->data.
1119         Avoid memset, add explicit initialization.
1120         * sysdeps/unix/dirstream.h (struct __dirstream): Move data elemtn
1121         to the end and change into zero-sized array.
1122         Move lock member to fill a hole on 64-bit platforms.
1123
1124         * stdlib/stdlib.h: Remove __strto*_internal prototypes and strto*
1125         inline functions.
1126         * include/stdlib.h: Add __strto*_internal prototypes here.
1127         * wcsmbs/wchar.h: Remove __wcsto*_internal prototypes and wcsto*
1128         inline functions.
1129         * include/wchar.h: Add __wcsto*_internal prototypes.
1130         * sysdeps/generic/inttypes.h: No need to protect the declaration
1131         of the __strto*_internal and __wcsto*_internal members here.
1132
1133         * rt/mqueue.h: Change const to __const and add nonnull attributes.
1134
1135 2007-08-02  Roland McGrath  <roland@redhat.com>
1136
1137         * posix/Makefile ($(inst_libexecdir)/getconf): Make hard links to
1138         $(inst_bindir)/getconf if possible.
1139
1140         * posix/Makefile ($(objpfx)getconf.speclist): New target.
1141         (generated): Add it.
1142         ($(inst_libexecdir)/getconf): Use it.
1143
1144 2007-08-01  Ulrich Drepper  <drepper@redhat.com>
1145
1146         * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Using
1147         /proc is faster and sufficient.  /sys is still needed for
1148         __get_nprocs_conf.
1149
1150 2007-08-01  Jakub Jelinek  <jakub@redhat.com>
1151
1152         * sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate): Add fallocate
1153         syscall as __fallocate64.
1154         * sysdeps/unix/sysv/linux/i386/posix_fallocate.c: New file.
1155         * sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: New file.
1156
1157 2007-07-30  Jakub Jelinek  <jakub@redhat.com>
1158
1159         * stdlib/tst-strtod2.c (do_test): Use %tu in fmt string for ptrdiff_t
1160         value.
1161
1162         * stdio-common/tst-fmemopen2.c (do_test): Avoid fmt string warning
1163         if off_t is different rank from size_t.
1164
1165         * sysdeps/generic/unwind-dw2.c (extract_cie_info, execute_cfa_program,
1166         uw_frame_state_for): Avoid type punning warnings.
1167         * sysdeps/generic/unwind-dw2-fde-glibc.c
1168         (_Unwind_IteratePhdrCallback): Likewise.
1169         * sysdeps/generic/unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
1170         (binary_search_single_encoding_fdes, binary_search_mixed_encoding_fdes,
1171         get_cie_encoding, linear_search_fdes): Don't mix char and unsigned char
1172         pointers.
1173
1174 2007-07-31  Ulrich Drepper  <drepper@redhat.com>
1175
1176         * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): Count
1177         total processors using sysfs.
1178         (__get_nprocs): Use sysfs to determine which processors are online.
1179
1180 2007-07-31  Jakub Jelinek  <jakub@redhat.com>
1181
1182         * sysdeps/unix/sysv/linux/posix_fallocate.c (posix_fallocate): Fix
1183         syscall arguments count.
1184
1185         * stdio-common/tfformat.c (sprint_doubles): Add 12 new tests.
1186
1187 2007-07-30  Roland McGrath  <roland@redhat.com>
1188
1189         * manual/libc.texinfo: Update copyrights, formatting magic, and
1190         @dircategory.  From Karl Berry <karl@freefriends.org>.
1191
1192 2007-07-29  Ulrich Drepper  <drepper@redhat.com>
1193
1194         [BZ #4860]
1195         * io/Makefile (headers): Add bits/fcntl2.h.
1196
1197         * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO_S): Optimize
1198         using gcc builtin.
1199         (__CPU_EQUAL_S): Likewise.
1200
1201         * posix/Makefile (routines): Add sched_cpualloc and sched_cpufree.
1202         (tests): Add tst-cpuset.
1203         * posix/sched_cpualloc.c: New file.
1204         * posix/sched_cpufree.c: New file.
1205         * posix/tst-cpuset.c: New file.
1206         * posix/Versions: Export __sched_cpualloc and __sched_cpufree for
1207         GLIBC_2.7.
1208         * sysdeps/unix/sysv/linux/bits/sched.h: Define __CPU_*_S macros.
1209         * posix/sched.h: Define old CPU_* macros in temers of __CPU_*_S
1210         macros.  Define CPU_*_S macros.
1211
1212 2007-07-28  Ulrich Drepper  <drepper@redhat.com>
1213
1214         * posix/getconf.c (vars): Add missing _SC_LEVEL4_CACHE_LINESIZE
1215         entry.
1216
1217         [BZ #4858]
1218         * stdio-common/printf_fp.c (___printf_fp): Fix special case of
1219         #.0g and value rounded to 1.0.
1220         * stdio-common/tfformat.c (sprint_doubles): Add two new tests.
1221
1222 2007-07-26  Jakub Jelinek  <jakub@redhat.com>
1223
1224         * locale/programs/ld-monetary.c (monetary_finish): Avoid range check
1225         for int_frac_digits and frac_digits.
1226
1227         * login/logout.c (logout): Avoid aliasing violation.
1228         * login/logwtmp.c (logwtmp): Likewise.
1229
1230         * libio/genops.c (_IO_un_link): Avoid aliasing violation.
1231
1232         * nscd/selinux.c (preserve_capabilities): Initialize new_caps
1233         to avoid warning.
1234         * iconv/gconv_open.c (__gconv_open): Initialize ptr to avoid
1235         warning.
1236         * nis/nis_subr.c (nis_getnames): Initialize saveptr to avoid
1237         warning.
1238         * resolv/inet_ntop.c (inet_ntop6): Initialize best.len and cur.len
1239         to avoid warnings.
1240
1241         * nss/nsswitch.c (__nss_lookup_function): Don't cast &ni->known to
1242         void **.
1243         * nss/nsswitch.h (service_user): Use void * type for KNOWN field.
1244
1245         * nss/nss_files/files-hosts.c (LINE_PARSER): Cast host_addr to
1246         char * to avoid warning.
1247         * nis/nss_nis/nis-hosts.c (LINE_PARSER): Likewise.
1248
1249         * timezone/Makefile (CFLAGS-zdump.c): Add -fwrapv.
1250
1251         * locale/programs/ld-ctype.c (ctype_finish, set_class_defaults,
1252         allocate_arrays): Cast second argument to charmap_find_symbol
1253         to char * to avoid warnings.
1254
1255         * locale/programs/repertoire.c (repertoire_new_char): Change
1256         from_nr, to_nr and cnt to unsigned long, adjust printf format
1257         string.
1258
1259         * locale/programs/ld-collate.c (insert_value, handle_ellipsis):
1260         Cast second argument to new_element to char * to avoid warnings.
1261
1262         * locale/weightwc.h (findidx): Cast &extra[-i] to const int32_t *.
1263
1264         * intl/gettextP.h (struct loaded_domain): Change plural to const
1265         struct expression *.
1266         * intl/plural-eval.c (plural_eval): Change first argument to
1267         const struct expression *.
1268         * intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Change first
1269         argument to const struct expression **.
1270         * intl/plural-exp.h (EXTRACT_PLURAL_EXPRESSION, plural_eval): Adjust
1271         prototypes.
1272         * intl/loadmsgcat (_nl_unload_domain): Cast away const
1273         in call to __gettext_free_exp.
1274
1275         * posix/fnmatch.c (fnmatch): Rearrange code to avoid maybe
1276         unitialized wstring/wpattern var warnings.
1277
1278         * posix/runtests.c (struct a_test): Make data field const char *.
1279
1280         * stdio-common/tst-sprintf2.c (main): Don't declere u, v and buf
1281         vars if not LDBL_MANT_DIG >= 106.
1282
1283         * stdio-common/Makefile (CFLAGS-vfwprintf.c): Add -Wno-unitialized.
1284
1285         * stdio-common/vfprintf.c (vfprintf): Cast first arugment to
1286         __find_specmb to avoid warning.
1287
1288         * rt/tst-mqueue1.c (do_one_test): Add casts to avoid warnings.
1289
1290         * debug/test-strcpy_chk.c (do_tests, do_random_tests): Add casts
1291         to avoid warnings.
1292
1293         * sysdeps/ieee754/ldbl-96/s_roundl.c (huge): Add L suffix to
1294         initializer.
1295
1296         * sysdeps/unix/clock_gettime.c (clock_gettime): Only define
1297         tv var when it will be actually used.
1298
1299         * sunrpc/rpc_cmsg.c (xdr_callmsg): Cast IXDR_PUT_* to void
1300         to avoid warnings.
1301
1302         * iconvdata/gbk.c (BODY): Make buf and cp char instead of unsigned
1303         char array resp. pointer.
1304         * iconvdata/iso-2022-kr.c (BODY): Make buf unsigned char instead of
1305         char array.
1306         * iconvdata/cns11643.h (cns11643_to_ucs4): Change first argument
1307         to const unsigned char **.
1308         (ucs4_to_cns11643): Change second argument to unsigned char *.
1309         * iconvdata/euc-tw.c (BODY): Change endp type to
1310         const unsigned char *.
1311         * iconvdata/iso-ir-165.h (ucs4_to_isoir165): Change second argument
1312         to unsigned char *.
1313         * iconvdata/ibm1008_420.c (LOOP_NEED_FLAGS): Don't define.
1314         * iconvdata/iso-2022-cn.c (BODY): Change buf to unsigned char array.
1315         * iconvdata/iso-2022-cn-ext.c (BODY): Change buf, tmpbuf, tmp
1316         types to unsigned char pointers/arrays instead of char.
1317         * iconvdata/jis0201.h (ucs4_to_jisx0201): Change second argument
1318         to unsigned char *.
1319         * iconvdata/jis0208.h (ucs4_to_jisx0208): Likewise.
1320         * iconvdata/jis0212.h: Include assert.h.
1321         (ucs4_to_jisx0212): Change second argument to unsigned char *.
1322         assert that if cp[0] is not '\0', cp[1] is not '\0' either instead
1323         of trying to handle that.
1324         * iconvdata/euc-kr.c (euckr_from_ucs4): Initialize also cp[1] to
1325         shut up a warning.
1326         * iconvdata/euc-jp-ms.c (from_ucs4_lat1, from_ucs4_greek,
1327         from_ucs4_cjk, from_ucs4_cjkcpt, from_ucs4_extra): Change type to
1328         two dimensional const unsigned char arrays.
1329         (BODY): Cast "" to (const unsigned char *) for assignment to cp.
1330         Initialize endp to inptr to shut up a warning.
1331
1332 2007-07-20  Jakub Jelinek  <jakub@redhat.com>
1333
1334         [BZ #4772]
1335         * time/strptime_l.c (__strptime_internal): Silently ignore
1336         strftime modifiers and field width in recursive calls.
1337
1338         * include/time.h (enum ptime_locale_status): Remove.
1339         (__strptime_internal): Remove decided and era_cnt arguments,
1340         add statep argument.
1341         * time/strptime_l.c (__strptime_internal): Remove decided
1342         and era_cnt arguments, add statep argument.  Don't recompute
1343         any fields in recursive calls, only update caller's tm
1344         and state, if recursive call fails, don't change tm nor
1345         any state.
1346         (get_alt_number): Adjust.
1347         (recursive): Adjust caller.
1348         (strptime): Likewise.
1349         * time/strptime.c (strptime): Likewise.
1350
1351 2007-07-19  Jakub Jelinek  <jakub@redhat.com>
1352
1353         * iconv/gconv_int.h (__GCONV_NULCONV): New internal only error code.
1354         * iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV
1355         if from and to charsets are the same.
1356         * iconv/gconv_db.c (__gconv_find_transform): Likewise.
1357         * intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open
1358         returns __GCONV_NOCONV, but not for __GCONV_NULCONV.
1359
1360 2007-07-17  Jakub Jelinek  <jakub@redhat.com>
1361
1362         * wcsmbs/wchar.h: Only define wint_t if __need_wint_t.
1363         Don't define wint_t when __need_mbstate_t unless it
1364         is necessary.
1365         (__mbstate_t): Use __WINT_TYPE__ rather than wint_t
1366         in the typedef if possible.
1367         * wctype/wctype.h (wint_t): Define by including
1368         wchar.h with __need_wint_t instead of including stddef.h
1369         with __need_wint_t and as fallback definining it ourselves.
1370         * iconv/gconv.h (__need_wint_t): Define before including
1371         wchar.h.
1372         * sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC
1373         or _GLIBCPP_USE_WCHAR_T.
1374         (__need_wchar_t): Don't define
1375         if not _LIBC or _GLIBCPP_USE_WCHAR_T.
1376         (__need_wint_t): Don't define before including stddef.h,
1377         define before including wchar.h only if _LIBC or
1378         _GLIBCPP_USE_WCHAR_T.
1379         (_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T.
1380         * sysdeps/mach/hurd/_G_config.h: Likewise.
1381         * sysdeps/generic/_G_config.h: Likewise.
1382         * libio/libio.h (__wunderflow, __wuflow, __woverflow): Only
1383         prototype if _LIBC or _GLIBCPP_USE_WCHAR_T.
1384         (_IO_getwc_unlocked, _IO_putwc_unlocked): Only define
1385         if _LIBC or _GLIBCPP_USE_WCHAR_T.
1386
1387 2007-07-28  Ulrich Drepper  <drepper@redhat.com>
1388
1389         * sysdeps/posix/posix_fallocate64.c: Undefine
1390         __posix_fallocate64_l64 before alias handling.
1391         * sysdeps/unix/sysv/linux/posix_fallocate.c: New file.
1392         * sysdeps/unix/sysv/linux/posix_fallocate64.c: New file.
1393         * sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c: New file.
1394         * sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate64.c: New file.
1395
1396         * io/tst-posix_fallocate.c: Include <fcntl.h>.
1397
1398 2007-07-23  Jakub Jelinek  <jakub@redhat.com>
1399
1400         * locale/programs/ld-collate.c (atwc): New variable.
1401         (add_to_tablewc): New toplevel function, moved from collate_output.
1402         (collate_output): Remove add_to_tablewc nested function.
1403
1404         * iconv/iconvconfig.c (hash_table, hash_size): New toplevel vars.
1405         (name_insert): New function.
1406         (write_output): Remove hash_table and hash_size vars and name_insert
1407         nested function.
1408
1409 2007-07-24  Roland McGrath  <roland@redhat.com>
1410
1411         * Makerules (install-others-programs-nosubdir): New target.
1412         (install-no-libc.a-nosubdir): Depend on it.
1413
1414         * iconv/Makefile (install-others-programs): Set this instead of
1415         install-others.
1416         * login/Makefile (install-others-programs): Likewise.
1417         * posix/Makefile (install-others-programs): Likewise.
1418
1419         * Makerules (install-no-libc.a-nosubdir): Clean up conditional
1420         dependencies.
1421
1422 2007-07-23  Ulrich Drepper  <drepper@redhat.com>
1423
1424         * io/Makefile (tests): Add tst-posix_fallocate.
1425         * io/tst-posix_fallocate.c: New file.
1426
1427         * sysdeps/unix/sysv/linux/kernel-features.h: Define
1428         __ASSUME_FALLOCATE.
1429
1430 2007-07-22  Roland McGrath  <roland@frob.com>
1431
1432         * hurd/getdport.c: Add missing copyright year update.
1433
1434         * sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU] (O_CLOEXEC): New macro.
1435         * hurd/port2fd.c (_hurd_port2fd): Implement O_CLOEXEC.
1436
1437 2007-07-22  Ulrich Drepper  <drepper@redhat.com>
1438
1439         * login/utmp_file.c (setutent_file): Use O_CLOEXEC if possible.
1440
1441         * libio/fileops.c (_IO_new_file_fopen): Recognize 'e' flag and set
1442         O_CLOEXEC is needed.
1443         * nis/nss_compat/compat-grp.c: Use 'e' flag when opening file.
1444         Avoid additional fcntl to set O_CLOEXEC if not needed.
1445         * nis/nss_compat/compat-initgroups.c: Likewise.
1446         * nis/nss_compat/compat-pwd.c: Likewise.
1447         * nis/nss_compat/compat-spwd.c: Likewise.
1448
1449 2007-07-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1450
1451         [BZ #3665]
1452         * manual/errno.texi: Change ECANCELED value to 119.
1453
1454         [BZ #4610]
1455         * mach/lock-intern.h: Include <sys/cdefs.h>.
1456
1457         [BZ #4178]
1458         * sysdeps/mach/hurd/sigaction.c (__sigaction): Check ACT != NULL before
1459         reading A.
1460
1461         [BZ #4126]
1462         * sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Define alias
1463         to __sigsuspend.
1464
1465         * sysdeps/mach/i386/sysdep.h: Include <dl-sysdep.h> and <tls.h>.
1466
1467 2006-06-13  Thomas Schwinge  <tschwinge@gnu.org>
1468
1469         * sysdeps/mach/hurd/tls.h: Change `ASSEMBLER' conditional to
1470         `__ASSEMBLER__'.
1471         * sysdeps/mach/hurd/i386/tls.h: Likewise.
1472
1473 2007-07-21  Ulrich Drepper  <drepper@redhat.com>
1474
1475         * nscd/nscd_helper.c (get_mapping): Use MSG_CMSG_CLOEXEC for
1476         descriptor received from nscd.
1477
1478         * sysdeps/unix/sysv/linux/bits/socket.h: Define MSG_CMSG_CLOEXEC.
1479
1480         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define O_CLOEXEC.
1481         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
1482         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
1483         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
1484         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
1485         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
1486
1487 2007-07-20  Jakub Jelinek  <jakub@redhat.com>
1488
1489         [BZ #4816]
1490         * manual/signal.texi (Non-atomic Example): Make memory var volatile.
1491
1492         [BZ #4813]
1493         * login/forkpty.c (forkpty): Close master and slave fds on
1494         fork failure.  Patch by
1495         Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>.
1496
1497 2007-07-18  Jakub Jelinek  <jakub@redhat.com>
1498
1499         * include/features.h (__USE_ISOC95): New define.
1500         * wcsmbs/wchar.h (fwprintf, fwscanf, wprintf, wscanf, swprintf,
1501         swscanf, vfwprintf, vwprintf, vswprintf, fwide): Define even
1502         for -std=iso9899:199409.
1503         * CONFORMANCE: Remove comments about unsupported AMD1.
1504
1505 2007-07-17  Jakub Jelinek  <jakub@redhat.com>
1506
1507         * sysdeps/ia64/sched_cpucount.c: New file.
1508         * sysdeps/powerpc/sched_cpucount.c: New file.
1509
1510         * sysdeps/unix/sysv/linux/bits/sched.h (__sched_cpucount): Add
1511         __BEGIN_DECLS/__END_DECLS around the prototype.
1512         * bits/sched.h (__sched_cpucount): Likewise.  Make second argument
1513         pointer to const cpu_set_t.
1514
1515         * bits/types.h: Don't include stddef.h, don't define __need_size_t.
1516         * signal/signal.h <__USE_BSD || __USE_XOPEN_EXTENDED>: Define
1517         __need_size_t and include stddef.h.
1518         * sysvipc/sys/msg.h: Likewise.
1519         * posix/sched.h: Likewise.
1520         * hurd/hurd/signal.h (__need_size_t): Define.
1521
1522         * CONFORMANCE: ctype.h and wctype.h no longer define size_t,
1523         neither does signal.h in pedantic ISO C namespaces.  stdio.h
1524         no longer defines wint_t or wchar_t.
1525
1526         * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): New function.
1527         * debug/vfwprintf_chk.c (__vfwprintf_chk): Use
1528         _IO_acquire_lock_clear_flags2 instead of _IO_acquire_lock.
1529         * debug/vprintf_chk.c (__vprintf_chk): Likewise.
1530         * debug/vwprintf_chk.c (__vwprintf_chk): Likewise.
1531         * debug/vfprintf_chk.c (__vfprintf_chk): Likewise.
1532         * debug/fwprintf_chk.c (__fwprintf_chk): Likewise.
1533         * debug/printf_chk.c (__printf_chk): Likewise.
1534         * debug/fprintf_chk.c (__fprintf_chk): Likewise.
1535         * debug/wprintf_chk.c (__wprintf_chk): Likewise.
1536
1537         * sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock_clear_flags2):
1538         Define.
1539
1540         * bits/confname.h (_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS): Define.
1541         * posix/getconf.c (vars): Add POSIX_V6_WIDTH_RESTRICTED_ENVS.
1542
1543 2007-07-16  Jakub Jelinek  <jakub@redhat.com>
1544
1545         [BZ #4792]
1546         * stdlib/stdlib.h (realloc): Remove __attribute_malloc__.
1547         * malloc/malloc.h (realloc): Likewise.
1548
1549         * libio/iopopen.c (_IO_new_proc_open): Don't close child_std_end
1550         if one of proc_file_chain streams has that fileno.
1551         * stdio-common/Makefile (tests): Add tst-popen2.
1552         * stdio-common/tst-popen2.c: New test.
1553
1554 2007-07-14  Jakub Jelinek  <jakub@redhat.com>
1555
1556         * elf/ldconfig.c: Allow GPLv2 or any later version.
1557         * elf/readlib.c: Likewise.
1558         * elf/chroot_canon.c: Likewise.
1559         * elf/cache.c: Likewise.
1560         * nscd/mem.c: Likewise.
1561         * nscd/getpwuid_r.c: Likewise.
1562         * nscd/grpcache.c: Likewise.
1563         * nscd/aicache.c: Likewise.
1564         * nscd/getsrvbynm_r.c: Likewise.
1565         * nscd/nscd.c: Likewise.
1566         * nscd/servicescache.c: Likewise.
1567         * nscd/getsrvbypt_r.c: Likewise.
1568         * nscd/initgrcache.c: Likewise.
1569         * nscd/gethstbyad_r.c: Likewise.
1570         * nscd/gethstbynm2_r.c: Likewise.
1571         * nscd/getgrnam_r.c: Likewise.
1572         * nscd/nscd_setup_thread.c: Likewise.
1573         * nscd/getpwnam_r.c: Likewise.
1574         * nscd/gai.c: Likewise.
1575         * nscd/connections.c: Likewise.
1576         * nscd/dbg_log.c: Likewise.
1577         * nscd/cache.c: Likewise.
1578         * nscd/hstcache.c: Likewise.
1579         * nscd/nscd_conf.c: Likewise.
1580         * nscd/getgrgid_r.c: Likewise.
1581         * nscd/pwdcache.c: Likewise.
1582         * catgets/gencat.c: Likewise.
1583         * locale/programs/linereader.h: Likewise.
1584         * locale/programs/locarchive.c: Likewise.
1585         * locale/programs/ld-paper.c: Likewise.
1586         * locale/programs/locfile-kw.h: Likewise.
1587         * locale/programs/ld-address.c: Likewise.
1588         * locale/programs/xmalloc.c: Likewise.
1589         * locale/programs/ld-time.c: Likewise.
1590         * locale/programs/localedef.c: Likewise.
1591         * locale/programs/simple-hash.c: Likewise.
1592         * locale/programs/xstrdup.c: Likewise.
1593         * locale/programs/ld-numeric.c: Likewise.
1594         * locale/programs/locfile-kw.gperf: Likewise.
1595         * locale/programs/ld-collate.c: Likewise.
1596         * locale/programs/charmap-kw.gperf: Likewise.
1597         * locale/programs/charmap.h: Likewise.
1598         * locale/programs/charmap-kw.h: Likewise.
1599         * locale/programs/config.h: Likewise.
1600         * locale/programs/locfile.c: Likewise.
1601         * locale/programs/ld-ctype.c: Likewise.
1602         * locale/programs/charmap.c: Likewise.
1603         * locale/programs/ld-messages.c: Likewise.
1604         * locale/programs/repertoire.h: Likewise.
1605         * locale/programs/locale.c: Likewise.
1606         * locale/programs/ld-name.c: Likewise.
1607         * locale/programs/linereader.c: Likewise.
1608         * locale/programs/locfile.h: Likewise.
1609         * locale/programs/3level.h: Likewise.
1610         * locale/programs/ld-monetary.c: Likewise.
1611         * locale/programs/ld-measurement.c: Likewise.
1612         * locale/programs/charmap-dir.c: Likewise.
1613         * locale/programs/ld-identification.c: Likewise.
1614         * locale/programs/localedef.h: Likewise.
1615         * locale/programs/charmap-dir.h: Likewise.
1616         * locale/programs/repertoire.c: Likewise.
1617         * locale/programs/simple-hash.h: Likewise.
1618         * locale/programs/ld-telephone.c: Likewise.
1619         * locale/programs/locale-spec.c: Likewise.
1620         * locale/programs/locfile-token.h: Likewise.
1621         * posix/getconf.c: Likewise.
1622         * iconv/dummy-repertoire.c: Likewise.
1623         * iconv/iconv_charmap.c: Likewise.
1624         * iconv/iconvconfig.c: Likewise.
1625         * iconv/iconv_prog.c: Likewise.
1626         * malloc/memusagestat.c: Likewise.
1627         * sysdeps/unix/sysv/linux/nscd_setup_thread.c: Likewise.
1628
1629 2007-07-06  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1630
1631         * sysdeps/sh/bsd-setjmp.S (setjmp): Use correct argument registers.
1632         * sysdeps/sh/bsd-_setjmp.S (_setjmp): Likewise.
1633         * sysdeps/unix/sysv/linux/sh/clone.S (__clone): Do correct sanity
1634         check for the first argument.
1635
1636 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
1637
1638         [BZ #4775]
1639         * math/tgmath.h (__tgmath_real_type_sub): Formatting.
1640         (__tgmath_real_type): Fix if expr is const int or other const
1641         qualified integral type.
1642         (__TGMATH_UNARY_REAL_ONLY): Rewritten to avoid using statement
1643         expressions and handle const qualified arguments.
1644         (__TGMATH_BINARY_FIRST_REAL_ONLY, __TGMATH_UNARY_REAL_IMAG,
1645         __TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise.
1646         (__TGMATH_UNARY_REAL_RET_ONLY): Rewritten to avoid using
1647         statement expressions.
1648         (__TGMATH_BINARY_REAL_ONLY, __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY,
1649         __TGMATH_TERNARY_REAL_ONLY, __TGMATH_BINARY_REAL_IMAG): Likewise.
1650         (__TGMATH_UNARY_IMAG): Define.
1651         (conj, cproj): Use __TGMATH_UNARY_IMAG macro.
1652         * math/Makefile (tests): Add test-tgmath2.
1653         (CFLAGS-test-tgmath2.c): Add.
1654         * math/test-tgmath.c (fy, dy, ly, fz, dz, lz, count_cdouble,
1655         count_cfloat, count_cldouble): New variables.
1656         (NCCALLS): Define.
1657         (main): Check number of complex calls as well.
1658         (F(compile_test)): Add complex tests and tests with const qualified
1659         arguments.
1660         (y, z, ccount): Define.
1661         (F(cacos), F(casin), F(catan), F(ccos), F(csin), F(ctan), F(cacosh),
1662         F(casinh), F(catanh), F(ccosh), F(csinh), F(ctanh), F(cexp), F(clog),
1663         F(csqrt), F(cpow), F(cabs), F(carg), F(creal), F(cimag), F(conj),
1664         F(cproj)): New functions.
1665         * math/test-tgmath2.c: New test.
1666
1667 2007-07-11  Jakub Jelinek  <jakub@redhat.com>
1668
1669         [BZ #4776]
1670         * elf/dl-load.c (_dl_rtld_di_serinfo): Output / in LD_LIBRARY_PATH,
1671         RPATH etc. as "/" rather than "", don't segfault on empty paths,
1672         instead output ".".
1673         * dlfcn/Makefile (distribute): Add glreflib3.c.
1674         (module-names): Add glreflib3.
1675         ($(objpfx)tst-dlinfo.out): Depend on glreflib3.so rather than
1676         glreflib1.so.
1677         (LDFLAGS_glreflib3.so): New.
1678         * dlfcn/tst-dlinfo.c (do_test): Load glreflib3.so instead of
1679         glreflib1.so.
1680         * dlfcn/glreflib3.c: New file.
1681
1682         * intl/finddomain.c (_nl_find_domain): If _nl_explode_name
1683         returned -1, return NULL.
1684         * intl/explodename.c (_nl_explode_name): Return -1 if
1685         _nl_normalize_codeset failed.
1686
1687 2007-07-07  Steven Munroe  <sjmunroe@us.ibm.com>
1688
1689         * sysdeps/powerpc/powerpc32/power6/memset.S: Update comments.
1690         Specify .machine power6 to get ISA-V2.0 branch hints.  Unroll loops
1691         and avoid branch misspredicts for > 31 bytes memset case.
1692         * sysdeps/powerpc/powerpc64/power6/memset.S: Likewise.
1693         Remove toc ref to __cache_line_size.
1694
1695         * sysdeps/powerpc/powerpc32/power4/memcmp.S: Specify .machine power4
1696         to get ISA-V2.0 branch hints.
1697         * sysdeps/powerpc/powerpc32/power4/memcpy.S: Likewise
1698         * sysdeps/powerpc/powerpc32/power4/memset.S: Likewise
1699         * sysdeps/powerpc/powerpc32/power6/memcpy.S: Likewise.
1700         * sysdeps/powerpc/powerpc64/power4/memcmp.S: Likewise.
1701         * sysdeps/powerpc/powerpc64/power4/memcpy.S: Likewise.
1702         * sysdeps/powerpc/powerpc64/power4/memset.S: Likewise.
1703         Remove toc ref to __cache_line_size.
1704
1705         * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S:
1706         Include math_ldbl_opt.h.
1707
1708 2007-07-10  Ulrich Drepper  <drepper@redhat.com>
1709
1710         [BZ #4773]
1711         * time/strptime_l.c (__strptime_internal): Implement greedy
1712         matching of weekday and month names.
1713
1714 2007-07-09  Roland McGrath  <roland@redhat.com>
1715
1716         * elf/elf.h (NT_GNU_ABI_TAG): New macro.
1717         (ELF_NOTE_ABI): Use it.
1718         (NT_GNU_HWCAP, NT_GNU_BUILD_ID): New macros.
1719
1720 2007-07-09  Ulrich Drepper  <drepper@redhat.com>
1721
1722         * sysdeps/x86_64/cacheinfo.c (intel_02_known): Add new entries.
1723         * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Likewise.
1724
1725 2007-07-07  Ulrich Drepper  <drepper@redhat.com>
1726
1727         [BZ #4745]
1728         * stdio-common/vfscanf.c (_IO_vfscanf): Add additional test for EOF
1729         in loop to look for conversion specifier to avoid testing of
1730         wrong errno value.
1731         * stdio-common/Makefile (tests): Add bug18, bug18a, bug19, bug19a.
1732         * stdio-common/bug18.c: New file.
1733         * stdio-common/bug18a.c: New file.
1734         * stdio-common/bug19.c: New file.
1735         * stdio-common/bug19a.c: New file.
1736
1737 2007-07-05  Mike Frysinger  <vapier@gentoo.org>
1738
1739         * Makeconfig ($(common-objpfx)gnu/lib-names.stmp): Use LC_ALL=C when
1740         running awk script.
1741
1742 2007-07-01  Jakub Jelinek  <jakub@redhat.com>
1743
1744         * elf/dl-sysdep.c (_dl_important_hwcaps): Add integer overflow check.
1745         * elf/dl-minimal.c (__libc_memalign): Likewise.  Handle malloc (0).
1746         Return NULL if mmap failed instead of asserting it does not.
1747         (calloc): Check for integer overflow.
1748
1749         * elf/dl-minimal.c (__strtoul_internal): Fix parsing of numbers bigger
1750         than LONG_MAX / 10.
1751
1752 2007-07-03  Jakub Jelinek  <jakub@redhat.com>
1753
1754         [BZ #4702]
1755         * nis/nss-default.c: Include errno.h.
1756         (init): Preserve errno.
1757
1758 2007-07-02  Ulrich Drepper  <drepper@redhat.com>
1759
1760         * sysdeps/unix/sysv/linux/bits/socket.h (PF_UNIX): Update comment.
1761
1762 2007-06-30  Ulrich Drepper  <drepper@redhat.com>
1763
1764         * sysdeps/unix/sysv/linux/bits/socket.h: Add PF_RXRPC and AF_RXRPC.
1765
1766 2007-06-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1767
1768         * sysdeps/unix/sysv/linux/bits/socket.h: Add PF_IUCV and AF_IUCV.
1769
1770 2007-06-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1771
1772         * sysdeps/s390/dl-procinfo.c: New file.
1773         * sysdeps/s390/dl-procinfo.h: New file.
1774         * sysdeps/unix/sysv/linux/s390/dl-procinfo.h: New file.
1775
1776 2007-06-29  Jakub Jelinek  <jakub@redhat.com>
1777
1778         * elf/dl-load.c (open_verify): Find .note.ABI-tag notes even
1779         in PT_NOTE segments with multiple notes.
1780         * elf/readelflib.c (process_elf_file): Likewise.
1781
1782 2007-06-22  Ulrich Drepper  <drepper@redhat.com>
1783
1784         * nis/nis_domain_of.c (__nis_domain_of): Make the code a bit more
1785         ISO C compliant.
1786
1787 2007-06-19  Ulrich Drepper  <drepper@redhat.com>
1788
1789         * elf/dl-close.c (free_mem): Free _dl_scope_free_list.
1790
1791 2007-06-13  Jakub Jelinek  <jakub@redhat.com>
1792
1793         * include/link.h: Don't include rtld-lowlevel.h.
1794         (struct link_map): Remove l_scope_lock.
1795         * sysdeps/generic/ldsodefs.h: Don't include rtld-lowlevel.h.
1796         (_dl_scope_free_list): New field (variable) in _rtld_global.
1797         (DL_LOOKUP_SCOPE_LOCK): Remove.
1798         (_dl_scope_free): New prototype.
1799         * elf/dl-runtime.c (_dl_fixup): Don't use __rtld_mrlock_*lock.
1800         Don't pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x.
1801         (_dl_profile_fixup): Likewise.
1802         * elf/dl-sym.c (do_sym): Likewise.  Use wrapped _dl_lookup_symbol_x
1803         whenever !RTLD_SINGLE_THREAD_P, use THREAD_GSCOPE_SET_FLAG and
1804         THREAD_GSCOPE_RESET_FLAG around it.
1805         * elf/dl-close.c (_dl_close_worker): Don't use
1806         __rtld_mrlock_{change,done}.  Call _dl_scope_free on the old
1807         scope.  Make sure THREAD_GSCOPE_WAIT () happens if any old
1808         scopes were queued or if l_scope_mem has been abandoned.
1809         * elf/dl-open.c (_dl_scope_free): New function.
1810         (dl_open_worker): Use it.  Don't use __rtld_mrlock_{change,done}.
1811         * elf/dl-support.c (_dl_scope_free_list): New variable.
1812         * elf/dl-lookup.c (add_dependency): Remove flags argument.
1813         Remove DL_LOOKUP_SCOPE_LOCK handling.
1814         (_dl_lookup_symbol_x): Adjust caller.  Remove DL_LOOKUP_SCOPE_LOCK
1815         handling.
1816         * elf/dl-object.c (_dl_new_object): Don't use
1817         __rtld_mrlock_initialize.
1818
1819 2007-06-19  Ulrich Drepper  <drepper@redhat.com>
1820
1821         * sysdeps/generic/ldsodefs.h (rtld_global): Reorder some elements
1822         to fill in holes
1823         (rtld_global_ro): Likewise.
1824
1825 2007-06-18  Jakub Jelinek  <jakub@redhat.com>
1826
1827         * elf/dl-addr.c (_dl_addr): Skip PT_LOAD checking if l_contiguous.
1828         Move PT_LOAD checking to...
1829         (_dl_addr_inside_object): ... here, new function.
1830         * elf/dl-sym.c (do_sym): If not l_contiguous,
1831         call _dl_addr_inside_object.
1832         * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise.
1833         * dlfcn/dlinfo.c (dlinfo_doit): Likewise.
1834         * elf/dl-open.c (dl_open_worker): Likewise.
1835         (_dl_addr_inside_object): New function if IS_IN_rtld.
1836         * elf/dl-load.c (_dl_map_object_from_fd): Set l_contiguous if no
1837         holes are present or are PROT_NONE protected.
1838         * include/link.h (struct link_map): Add l_contiguous field.
1839         * sysdeps/generic/ldsodefs.h (_dl_addr_inside_object): New prototype.
1840
1841 2007-06-18  Jakub Jelinek  <jakub@redhat.com>
1842             Tomas Janousek  <tjanouse@redhat.com>
1843             Ulrich Drepper  <drepper@redhat.com>
1844
1845         [BZ #4647]
1846         * resolv/res_send.c (send_dg): Remove socket_pf.  Use ipv6_unavail
1847         member in __res_state, only convaddr4to6 if nssocks[ns] is a PF_INET6
1848         socket.
1849         * resolv/resolv.h (__res_state): Add ipv6_unavail member.  Make
1850         unused member a bitmap.
1851         * resolv/res_init.c (__res_vinit): Reset ipv6_unavail if IPv6
1852         servers are configured.
1853
1854 2007-06-18  Jakub Jelinek  <jakub@redhat.com>
1855
1856         * elf/rtld.c (dl_main): Don't call init_tls more than once.
1857
1858 2007-06-17  Andreas Schwab  <schwab@suse.de>
1859
1860         * sysdeps/generic/initfini.c: Tell gcc about the nonstandard sections.
1861
1862 2007-06-16  Andreas Jaeger  <aj@suse.de>
1863
1864         [BZ #4125]
1865         * sysdeps/unix/sysv/linux/sys/ptrace.h
1866         (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK,
1867         PTRACE_O_TRACEVFORK, PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC,
1868         PTRACE_O_TRACEVFORKDONE, PTRACE_O_TRACEEXIT, PTRACE_O_MASK,
1869         PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK, PTRACE_EVENT_CLONE,
1870         PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE, PTRACE_EVENT_EXIT):
1871         Define.
1872         * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
1873         * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
1874         * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
1875         * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
1876
1877 2007-06-16  Ulrich Drepper  <drepper@redhat.com>
1878
1879         [BZ #4599]
1880         * sysdeps/unix/sysv/linux/check_pf.c (make_request): When
1881         determining whether there are IPv4/IPv6 addresses, ignore loopback
1882         addresses.
1883
1884 2007-06-14 Uros Bizjak <ubizjak@gmail.com>
1885
1886         * soft-fp/soft-fp.h (CMPtype): Define to "int" if undefined.
1887         * soft-fp/eqdf2.c (__eqdf2): Use CMPtype instead of int
1888         as the return type.  Change type of "r" variable to CMPtype.
1889         * soft-fp/eqsf2.c (__eqsf2): Likewise.
1890         * soft-fp/eqtf2.c (__eqtf2): Likewise.
1891         * soft-fp/gedf2.c (__gedf2): Likewise.
1892         * soft-fp/gesf2.c (__gesf2): Likewise.
1893         * soft-fp/getf2.c (__getf2): Likewise.
1894         * soft-fp/ledf2.c (__ledf2): Likewise.
1895         * soft-fp/lesf2.c (__lesf2): Likewise.
1896         * soft-fp/letf2.c (__letf2): Likewise.
1897         * soft-fp/unorddf2 (__unorddf2): Likewise.
1898         * soft-fp/unordsf2 (__unordsf2): Likewise.
1899         * soft-fp/unordtf2 (__unordtf2): Likewise.
1900
1901 2007-06-09  Ulrich Drepper  <drepper@redhat.com>
1902
1903         * elf/do-lookup.h (do_lookup_x): Read r_nlist before r_list and
1904         make sure gcc doesn't mess around with this.
1905
1906 2007-06-08  Ulrich Drepper  <drepper@redhat.com>
1907
1908         * elf/dl-lookup.c (_dl_lookup_symbol_x): Remove use of r_nlist.
1909
1910 2007-06-08  Jakub Jelinek  <jakub@redhat.com>
1911
1912         * elf/dl-close.c (_dl_close_worker): Remove all to be removed
1913         libraries from the global scope at once and call THREAD_GSCOPE_WAIT
1914         at most once per _dl_close_worker.
1915
1916 2007-06-08  Ulrich Drepper  <drepper@redhat.com>
1917
1918         * sysdeps/unix/sysv/linux/bits/sched.h: Make second parameter of
1919         __sched_cpucount as const.
1920         * posix/sched_cpucount.c: Adjust.
1921
1922         * posix/sched_cpucount.c (__sched_cpucount): Allow using special
1923         instruction for counting bits.
1924         * sysdeps/x86_64/sched_cpucount.c: New file.
1925
1926 2007-06-07  Ulrich Drepper  <drepper@redhat.com>
1927
1928         * configure.in: Avoid variable named BASH.
1929         * config.make.in: Likewise.
1930         Patch in part by Mike Frysinger.
1931
1932 2007-06-06  Jakub Jelinek  <jakub@redhat.com>
1933
1934         [BZ #4586]
1935         * sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Treat
1936         pseudo-zeros as zero.
1937         * sysdeps/x86_64/ldbl2mpn.c: New file.
1938         * sysdeps/ia64/ldbl2mpn.c: New file.
1939
1940 2007-06-04  Jakub Jelinek  <jakub@redhat.com>
1941
1942         * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (nextafterl): Remove
1943         unused ily variable.  Fix nextafterl on +-__LDBL_MAX__ and +-Inf.
1944         Remove unreachable code at the end.
1945
1946 2007-06-01  Steven Munroe  <sjmunroe@us.ibm.com>
1947
1948         * sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c: Correct description of
1949         ldbl-128ibm in comment.
1950         (fpclassifyl): Correct classification of denormals.
1951         * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (nextafterl): Correct
1952         return value for MIN denormal. Rewrite using long double math too
1953         correctly handle denormals and canonicalize the results.
1954
1955 2007-06-05  Jakub Jelinek  <jakub@redhat.com>
1956
1957         * sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c
1958         (__mpn_construct_long_double): Fix conversion where result ought
1959         to be smaller than __LDBL_MIN__, or the low double should be
1960         denormal.  Fix decision where to negate low double - honor round
1961         to even rules.
1962         * stdio-common/tst-sprintf2.c: Include string.h.
1963         (COMPARE_LDBL): Define.
1964         (TEST): Also test whether a string hexadecimal float representation
1965         can be parsed back to the number.
1966         (main): Add a couple of further tests.
1967
1968 2007-06-04  Jakub Jelinek  <jakub@redhat.com>
1969
1970         * sysdeps/ieee754/ldbl-128ibm/printf_fphex.c
1971         (PRINT_FPHEX_LONG_DOUBLE): Fix printing numbers where lower double
1972         is non-zero, but smaller than 2 * __DBL_MIN__.
1973         * stdio-common/tst-sprintf2.c: New test.
1974         * stdio-common/Makefile (tests): Add tst-sprintf2.
1975
1976         * math/test-misc.c (main): Don't run last batch of tests with
1977         IBM long double format.
1978
1979 2007-05-31  Steven Munroe  <sjmunroe@us.ibm.com>
1980
1981         * sysdeps/powerpc/powerpc32/970/fpu/Implies: New file.
1982         * sysdeps/powerpc/powerpc32/power5/fpu/Implies: New file.
1983         * sysdeps/powerpc/powerpc32/power5+/fpu/Implies: New file.
1984         * sysdeps/powerpc/powerpc32/power6/fpu/Implies: New file.
1985         * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: New file.
1986         * sysdeps/powerpc/powerpc64/970/fpu/Implies: New file.
1987         * sysdeps/powerpc/powerpc64/power5/fpu/Implies: New file.
1988         * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: New file.
1989         * sysdeps/powerpc/powerpc64/power6/fpu/Implies: New file.
1990         * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: New file.
1991         * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: New file.
1992         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies:
1993         New file.
1994         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies:
1995         New file.
1996         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies:
1997         New file.
1998         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies:
1999         New file.
2000         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies:
2001         New file.
2002         * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: New file.
2003         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies:
2004         New file.
2005         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies:
2006         New file.
2007         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies:
2008         New file.
2009         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies:
2010         New file.
2011         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies:
2012         New file.
2013
2014 2007-05-31  Steven Munroe  <sjmunroe@us.ibm.com>
2015
2016         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S: Move.
2017         * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: To here.
2018         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrintf.S: Move.
2019         * sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: To here.
2020         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llround.S: Move.
2021         * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: To here.
2022         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llroundf.S: Move.
2023         * sysdeps/powerpc/powerpc32/power4/fpu/s_llroundf.S: To here.
2024
2025 2007-05-22  Steven Munroe  <sjmunroe@us.ibm.com>
2026
2027         * sysdeps/powerpc/powerpc32/power5+/fpu/s_round.S
2028         (LONG_DOUBLE_COMPAT): Specify correct version, GLIBC_2_1.
2029         * sysdeps/powerpc/powerpc32/power5+/fpu/s_trunc.S
2030         (LONG_DOUBLE_COMPAT): Specify correct version, GLIBC_2_1.
2031         * sysdeps/powerpc/powerpc64/power5+/fpu/s_round.S
2032         (LONG_DOUBLE_COMPAT): Specify correct version, GLIBC_2_1.
2033         * sysdeps/powerpc/powerpc64/power5+/fpu/s_trunc.S
2034         (LONG_DOUBLE_COMPAT): Specify correct version, GLIBC_2_1.
2035
2036 2007-05-21  Steven Munroe  <sjmunroe@us.ibm.com>
2037
2038         * sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c: New file.
2039         * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.c: New file.
2040         * sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c: New file.
2041         * sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c: New file.
2042
2043 2007-03-15  Steven Munroe  <sjmunroe@us.ibm.com>
2044
2045         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S
2046         [LONG_DOUBLE_COMPAT]: Add compat_symbol for llrintl@@GLIBC_2_1.
2047
2048 2006-02-13  Steven Munroe  <sjmunroe@us.ibm.com>
2049
2050         * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: New File
2051         * sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: New File
2052         * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: New File
2053         * sysdeps/powerpc/powerpc32/power6/fpu/s_llroundf.S: New File
2054
2055 2006-10-20  Steven Munroe  <sjmunroe@us.ibm.com>
2056
2057         * sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c: New file.
2058         * sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c: New file.
2059
2060 2006-10-03  Steven Munroe  <sjmunroe@us.ibm.com>
2061
2062         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llround.S: New file.
2063         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llroundf.S: New file.
2064
2065         * sysdeps/powerpc/powerpc32/powerpc64/fpu/Makefile: Moved.
2066         * sysdeps/powerpc/powerpc32/powerpc64/fpu/mpa.c: Likewise.
2067         * sysdeps/powerpc/powerpc32/power4/fpu/Makefile: To here.
2068         * sysdeps/powerpc/powerpc32/power4/fpu/mpa.c: Likewise.
2069
2070 2006-09-29  Steven Munroe  <sjmunroe@us.ibm.com>
2071
2072         * sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: New file.
2073         * sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: New file.
2074         * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: New file.
2075         * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: New file.
2076
2077 2006-09-28  Steven Munroe  <sjmunroe@us.ibm.com>
2078
2079         * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: New file.
2080         * sysdeps/powerpc/powerpc32/power5+/fpu/s_llroundf.S: New file.
2081         * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: New file.
2082         * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: New file.
2083         * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: New file.
2084         * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: New file.
2085
2086 2006-08-31  Steven Munroe  <sjmunroe@us.ibm.com>
2087
2088         * sysdeps/powerpc/powerpc32/powerpc64/fpu/Makefile: New file.
2089         * sysdeps/powerpc/powerpc32/powerpc64/fpu/mpa.c: New file.
2090         * sysdeps/powerpc/powerpc64/power4/fpu/Makefile: New file.
2091         * sysdeps/powerpc/powerpc64/power4/fpu/mpa.c: New file.
2092
2093 2006-06-15  Steven Munroe  <sjmunroe@us.ibm.com>
2094
2095         * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceil.S: New file.
2096         * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceilf.S: New file.
2097         * sysdeps/powerpc/powerpc32/power5+/fpu/s_floor.S: New file.
2098         * sysdeps/powerpc/powerpc32/power5+/fpu/s_floorf.S: New file.
2099         * sysdeps/powerpc/powerpc32/power5+/fpu/s_round.S: New file.
2100         * sysdeps/powerpc/powerpc32/power5+/fpu/s_roundf.S: New file.
2101         * sysdeps/powerpc/powerpc32/power5+/fpu/s_trunc.S: New file.
2102         * sysdeps/powerpc/powerpc32/power5+/fpu/s_truncf.S: New file.
2103         * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: New file.
2104         * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: New file.
2105         * sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: New file.
2106         * sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: New file.
2107         * sysdeps/powerpc/powerpc64/power5+/fpu/s_round.S: New file.
2108         * sysdeps/powerpc/powerpc64/power5+/fpu/s_roundf.S: New file.
2109         * sysdeps/powerpc/powerpc64/power5+/fpu/s_trunc.S: New file.
2110         * sysdeps/powerpc/powerpc64/power5+/fpu/s_truncf.S: New file.
2111
2112 2006-03-20  Steven Munroe  <sjmunroe@us.ibm.com>
2113
2114         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S: New file.
2115         * sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrintf.S: New file.
2116
2117 2007-06-01  Steven Munroe  <sjmunroe@us.ibm.com>
2118
2119         * sysdeps/powerpc/powerpc32/power6/memset.S: New file.
2120         * sysdeps/powerpc/powerpc64/power6/memset.S: New file.
2121
2122 2007-05-31  Steven Munroe  <sjmunroe@us.ibm.com>
2123
2124         * sysdeps/powerpc/powerpc32/970/Implies: New file.
2125         * sysdeps/powerpc/powerpc32/power5/Implies: New file.
2126         * sysdeps/powerpc/powerpc32/power5+/Implies: New file.
2127         * sysdeps/powerpc/powerpc32/power6/Implies: New file.
2128         * sysdeps/powerpc/powerpc32/power6x/Implies: New file.
2129         * sysdeps/powerpc/powerpc64/970/Implies: New file.
2130         * sysdeps/powerpc/powerpc64/power5/Implies: New file.
2131         * sysdeps/powerpc/powerpc64/power5+/Implies: New file.
2132         * sysdeps/powerpc/powerpc64/power6/Implies: New file.
2133         * sysdeps/powerpc/powerpc64/power6x/Implies: New file.
2134
2135 2007-05-21  Steven Munroe  <sjmunroe@us.ibm.com>
2136
2137         * sysdeps/powerpc/powerpc32/power4/memset.S: New file
2138
2139 2007-03-13  Steven Munroe  <sjmunroe@us.ibm.com>
2140
2141         * sysdeps/powerpc/powerpc64/memcpy.S: Improve aligned loop to minimize
2142         branch miss-predicts. Ensure that cache line crossing does not impact
2143         dispatch grouping.
2144
2145 2006-12-13  Steven Munroe  <sjmunroe@us.ibm.com>
2146
2147         * sysdeps/powerpc/powerpc64/power4/memcopy.h: Replace with include
2148         "../../powerpc32/power4/memcopy.h".
2149         * sysdeps/powerpc/powerpc64/power4/wordcopy.c: Replace with include
2150         "../../powerpc32/power4/wordcopy.c".
2151
2152 2006-10-03  Steven Munroe  <sjmunroe@us.ibm.com>
2153
2154         * sysdeps/powerpc/powerpc32/powerpc64/Makefile: Moved.
2155         * sysdeps/powerpc/powerpc32/powerpc64/memcopy.h: Likewise.
2156         * sysdeps/powerpc/powerpc32/powerpc64/wordcopy.c: Likewise.
2157         * sysdeps/powerpc/powerpc32/power4/Makefile: To here.
2158         * sysdeps/powerpc/powerpc32/power4/memcopy.h: Likewise.
2159         * sysdeps/powerpc/powerpc32/power4/wordcopy.c: Likewise.
2160
2161 2006-09-10  Steven Munroe  <sjmunroe@us.ibm.com>
2162
2163         * sysdeps/powerpc/powerpc32/power6/memcpy.S: New file.
2164
2165 2006-08-31  Steven Munroe  <sjmunroe@us.ibm.com>
2166
2167         * sysdeps/powerpc/powerpc32/power6/wordcopy.c: New file.
2168         * sysdeps/powerpc/powerpc32/powerpc64/Makefile: New file.
2169         * sysdeps/powerpc/powerpc32/powerpc64/memcopy.h: New file.
2170         * sysdeps/powerpc/powerpc32/powerpc64/wordcopy.c: New file.
2171         * sysdeps/powerpc/powerpc64/power4/Makefile: New file.
2172         * sysdeps/powerpc/powerpc64/power4/memcopy.h: New file.
2173         * sysdeps/powerpc/powerpc64/power4/wordcopy.c: New file.
2174         * sysdeps/powerpc/powerpc64/power6/wordcopy.c: New file.
2175
2176 2006-07-06  Steven Munroe  <sjmunroe@us.ibm.com>
2177
2178         * sysdeps/powerpc/powerpc64/power6/memcpy.S: New file.
2179
2180 2006-03-20  Steven Munroe  <sjmunroe@us.ibm.com>
2181
2182         * sysdeps/powerpc/powerpc32/power4/memcmp.S: New file.
2183         * sysdeps/powerpc/powerpc32/power4/memcpy.S: New file.
2184         * sysdeps/powerpc/powerpc32/power4/memset.S: New file.
2185         * sysdeps/powerpc/powerpc32/power4/strncmp.S: New file.
2186         * sysdeps/powerpc/powerpc64/power4/memcmp.S: New file.
2187         * sysdeps/powerpc/powerpc64/power4/memcpy.S: New file.
2188         * sysdeps/powerpc/powerpc64/power4/strncmp.S: New file.
2189
2190 2007-05-29  Roland McGrath  <roland@redhat.com>
2191
2192         * po/Makefile (po-sed-cmd): New variable.
2193         (libc.pot.files): Move sed command text in there, avoid \ inside ''.
2194
2195 2007-05-29  Ulrich Drepper  <drepper@redhat.com>
2196
2197         * crypt/md5-crypt.c: Fix comment.
2198
2199         * nscd/nscd_helper.c (get_mapping): Handle short replies instead
2200         of crashing.  When this is the case or if the reply is malformed,
2201         don't try to close the new file descriptor since it does not
2202         exist.
2203         Patch in part by Guillaume Chazarain <guichaz@yahoo.fr>.
2204
2205 2007-05-28  Jakub Jelinek  <jakub@redhat.com>
2206
2207         * sysdeps/unix/sysv/linux/futimes.c (miss_utimensat): Don't define
2208         if __NR_utimensat is not defined.
2209
2210 2007-05-26  Ulrich Drepper  <drepper@redhat.com>
2211
2212         * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>.
2213
2214 2007-05-25  Jakub Jelinek  <jakub@redhat.com>
2215
2216         * io/bits/fcntl2.h (__open_2): Add nonnull attribute.
2217         (open): Fix comment typos.  Don't call __open_2 if flags
2218         is a compile time constant without O_CREAT.
2219         (__open64_2): Add nonnull attribute.
2220         (open64): Fix comment typos.  Don't call __open64_2 if flags
2221         is a compile time constant without O_CREAT.
2222         (__openat_2): Add nonnull attribute, fix nonnull attribute
2223         on redirect.
2224         (openat): Fix comment typos.  Don't call __openat_2 if flags
2225         is a compile time constant without O_CREAT.
2226         (__openat64_2): Add nonnull attribute, fix nonnull attribute
2227         on redirect.
2228         (openat64): Fix comment typos.  Don't call __openat64_2 if flags
2229         is a compile time constant without O_CREAT.
2230
2231 2007-05-24  Ulrich Drepper  <drepper@redhat.com>
2232
2233         * Makerules (sysd-rules): Define PTW for ptw-* files.
2234         * Versions: Define GLIBC_2.7 for libc.
2235         * include/stdio.h: Declare __fortify_fail.
2236         * debug/fortify_fail.c: New file.
2237         * debug/Makefile (routines): Add fortify_fail.
2238         * debug/chk_fail.c: Use __fortify_fail.
2239         * debug/stack_chk_fail.c: Likewise.
2240         * io/Versions: Export __open_2, __open64_2, __openat_2, and
2241         __openat64_2 for GLIBC_2.7.
2242         * io/fcntl.h: When compiling with fortification, include bits/fcntl2.h.
2243         * io/open.c: Define *_2 variant of function which checks for O_CREAT
2244         and fails if necessary.
2245         * io/open64.c: Likewise.
2246         * io/openat.c: Likewise.
2247         * io/openat64.c: Likewise.
2248         * sysdeps/unix/sysv/linux/open64.c: Likewise.
2249         * sysdeps/unix/sysv/linux/openat.c: Likewise.
2250         * sysdeps/unix/sysv/linux/openat64.c: Likewise.
2251         * io/bits/fcntl2.h: New file.
2252         * include/fcntl.h: Declare __open_2, __open64_2, __openat_2, and
2253         __openat64_2.
2254         * include/bits/fcntl2.h: New file.
2255         * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
2256         Add open_2.
2257         * sysdeps/unix/sysv/linux/open_2.c: New file.
2258
2259 2007-05-21  Ulrich Drepper  <drepper@redhat.com>
2260
2261         * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct value
2262         as second parameter to handle_intel.
2263
2264         * nscd/aicache.c (addhstaiX): If reported TTL is zero don't cache
2265         the entry.
2266
2267         * sysdeps/unix/sysv/linux/x86_64/sysconf.c: Move cache information
2268         handling to ...
2269         * sysdeps/x86_64/cacheinfo.c: ... here.  New file.
2270         * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
2271         cacheinfo.
2272         * sysdeps/x86_64/memcpy.S: Complete rewrite.
2273         * sysdeps/x86_64/mempcpy.S: Adjust appropriately.
2274         Patch by Evandro Menezes <evandro.menezes@amd.com>.
2275
2276         * sysdeps/unix/sysv/linux/i386/epoll_pwait.S: New file.
2277
2278 2007-05-21  Jakub Jelinek  <jakub@redhat.com>
2279
2280         [BZ #4525]
2281         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add epoll_pwait.
2282         * sysdeps/unix/sysv/linux/epoll_pwait.c: New file.
2283         * sysdeps/unix/sysv/linux/syscalls.list (epoll_pwait): Remove.
2284
2285         * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h (epoll_pwait): Declare.
2286
2287         [BZ #4514]
2288         * stdio-common/vfprintf.c (vfprintf): Don't shadow workstart variable,
2289         reinitialize workend at the start of each do_positional format spec
2290         loop, free workstart before do_positional loops.
2291         (printf_unknown): Fix size of work_buffer.
2292         * stdio-common/tst-sprintf.c (main): Add 3 new testcases.
2293
2294         * malloc/hooks.c (MALLOC_STATE_VERSION): Bump.
2295         (public_sET_STATe): If ms->version < 3, put all chunks into
2296         unsorted chunks and clear {fd,bk}_nextsize fields of largebin
2297         chunks.
2298
2299         * malloc/malloc.c [MALLOC_DEBUG]: Revert 2007-05-13 changes.
2300         * malloc/hooks.c: Likewise.
2301         * malloc/arena.c: Likewise.
2302         * malloc/malloc.c (do_check_malloc_state): Don't assert
2303         n_mmaps is not greater than n_mmaps_max.  This removes the need
2304         for the previous change.
2305
2306         * malloc/Makefile (CFLAGS-malloc.c): Revert accidental
2307         2007-05-07 commit.
2308
2309 2007-05-19  Ulrich Drepper  <drepper@redhat.com>
2310
2311         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PRIVATE_FUTEX):
2312         Define for kernel >= 2.6.22.
2313
2314 2007-05-18  Ulrich Drepper  <drepper@redhat.com>
2315
2316         * elf/dl-close.c (_dl_close_worker): When removing object from
2317         global scope, wait for all lookups to finish afterwards.
2318         * elf/dl-open.c (add_to_global): When global scope array must
2319         grow, allocate a new one and free old array only after all
2320         lookups finish.
2321         * elf/dl-runtime.c (_dl_fixup): Protect using global scope.
2322         (_dl_lookup_symbol_x): Likewise.
2323         * elf/dl-support.c: Define _dl_wait_lookup_done.
2324         * sysdeps/generic/ldsodefs.h (struct rtld_global): Add
2325         _dl_wait_lookup_done.
2326
2327         * malloc/malloc.c (do_check_chunk): Correct check for mmaped block
2328         not overlapping with arena.
2329
2330         * malloc/mcheck.c (reallochook): If size==0, free the block.
2331
2332         * rt/tst-shm.c: Use fstat64 instead of fstat.
2333
2334         * sysdeps/unix/sysv/linux/i386/sync_file_range.S: Fix case where
2335         __NR_sync_file_range is not defined.
2336
2337 2007-05-17  Ulrich Drepper  <drepper@redhat.com>
2338
2339         Dummy files to prevent stub versions from being used.
2340         * sysdeps/x86_64/fpu/k_cosl.c: New file.
2341         * sysdeps/x86_64/fpu/k_rem_pio2l.c: New file.
2342         * sysdeps/x86_64/fpu/k_sinl.c: New file.
2343         * sysdeps/x86_64/fpu/k_tanl.c: New file.
2344
2345         * version.h (VERSION): Set to 2.6.90.
2346
2347 2007-05-14  Ulrich Drepper  <drepper@redhat.com>
2348
2349         * version.h (VERSION): Define to 2.6.
2350         * include/features.h (__GLIBC_MINOR__): Define to 6.
2351
2352         * malloc/malloc.c: Use all small bin slots on 64-bit archs.
2353
2354         * malloc/malloc.c (largebin_index): Really have 32 buckets with 64
2355         sizes.
2356
2357 2007-05-13  Ulrich Drepper  <drepper@redhat.com>
2358
2359         * malloc/malloc.c [MALLOC_DEBUG]: Keep track of current maximum
2360         number of mmaps.  n_mmaps_max is the target.
2361         * malloc/hooks.c: Likewise.
2362         * malloc/arena.c: Likewise.
2363
2364 2007-05-12  Andreas Jaeger  <aj@suse.de>
2365
2366         * sysdeps/unix/sysv/linux/tst-getcpu.c: Include <unistd.h> for
2367         getpid.
2368
2369 2007-05-11  Ulrich Drepper  <drepper@redhat.com>
2370
2371         * elf/dl-close.c (_dl_close_worker): Help gcc to optimize by
2372         adding new variables.
2373
2374         * elf/dl-open.c (add_to_global): Introduce variable ns to help gcc
2375         optimize.  Completely extend global scope array before making the
2376         new entries visible.
2377
2378 2007-05-10  Ulrich Drepper  <drepper@redhat.com>
2379
2380         * sysdeps/unix/sysv/linux/tst-getcpu.c: New file.
2381         * sysdeps/unix/sysv/linux/Makefile [subdir=posix] (tests): Add
2382         tst-getcpu.
2383
2384         * include/link.h: Move l_version and l_nversion members around to
2385         fill gaps.
2386
2387         * scripts/check-c++-types.sh: Don't use -fnu89-inline option.
2388
2389         * sysdeps/unix/sysv/linux/sched_setaffinity.c
2390         (__sched_setaffinity_new): If syscall was successful and
2391         RESET_VGETCPU_CACHE is defined, use it before returning.
2392         * sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c: New file.
2393
2394         * io/sys/stat.h: Make sure struct timespec is defined for
2395         __USE_ATFILE.
2396
2397         * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Define UTIME_NOW and
2398         UTIME_OMIT.
2399         * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
2400         * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
2401         * sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise.
2402         * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
2403         * sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
2404         * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
2405         * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_UTIMENSAT.
2406         * io/sys/stat.h: Declare utimensat, futimens.
2407         * io/utimensat.c: New file.
2408         * io/futimens.c: New file.
2409         * sysdeps/unix/sysv/linux/utimensat.c: New file.
2410         * sysdeps/unix/sysv/linux/futimens.c: New file.
2411         * io/Makefile (routines): Add utimensat, futimens.
2412         * io/Versions: Add utimensat, futimens to GLIBC_2.6.
2413         * sysdeps/unix/sysv/linux/lutimes.c: New file.
2414         * sysdeps/unix/sysv/linux/futimes.c: Use utimensat syscall if
2415         available.
2416
2417         * include/sys/cdefs.h: Redefine __nonnull so that test for
2418         incorrect parameters in the libc code itself are not omitted.
2419
2420 2007-05-09  Jakub Jelinek  <jakub@redhat.com>
2421
2422         * sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Don't raise overflow
2423         exception in addition to inexact when asked to raise only FE_INEXACT.
2424
2425         [BZ #3427]
2426         * sysdeps/s390/fpu/feholdexcpt.c (feholdexcept): Don't clear exceptions
2427         in *envp.
2428
2429 2007-05-07  Ulrich Drepper  <drepper@redhat.com>
2430
2431         [BZ #4403]
2432         * string/strfry.c (strfry): Make result more random.
2433
2434 2007-05-07  Richard Henderson  <rth@redhat.com>
2435
2436         * sysdeps/alpha/fpu/bits/mathinline.h (__isnanl): Don't define
2437         if __NO_LONG_DOUBLE_MATH.
2438         * sysdeps/unix/sysv/linux/alpha/ioperm.c: If BWX insns not
2439         available in the compiler, add .arch directive to the assembly.
2440
2441 2007-05-07  Jakub Jelinek  <jakub@redhat.com>
2442
2443         * sysdeps/alpha/fpu/s_nearbyint.c (nearbyintl): Fix version on
2444         compat_symbol to GLIBC_2_1.
2445         * sysdeps/alpha/fpu/s_fmin.S (fminl): Likewise.
2446         * sysdeps/alpha/fpu/s_trunc.c (truncl): Likewise.
2447         * sysdeps/alpha/fpu/s_fmax.S (fmaxl): Likewise.
2448         * sysdeps/alpha/fpu/s_lrint.c (lrintl, llrintl): Likewise.
2449         * sysdeps/alpha/fpu/s_lround.c (lroundl, llroundl): Likewise.
2450         * sysdeps/alpha/fpu/s_round.c (roundl): Likewise.
2451         * sysdeps/alpha/fpu/s_isnan.c (isnanl): Provide compat_symbol in
2452         libc, not libm.
2453         (__isnanl): New compat_symbol.
2454
2455 2007-05-07  Ulrich Drepper  <drepper@redhat.com>
2456             Jakub Jelinek  <jakub@redhat.com>
2457
2458         * malloc/arena.c (heap_info): Add mprotect_size field, adjust pad.
2459         (new_heap): Initialize mprotect_size.
2460         (grow_heap): When growing, only mprotect from mprotect_size till
2461         new_size if mprotect_size is smaller.  When shrinking, use PROT_NONE
2462         MMAP for __libc_enable_secure only, otherwise use MADV_DONTNEED.
2463
2464 2007-04-30  Steven Munroe  <sjmunroe@us.ibm.com>
2465             Peter Bergner  <bergner@us.ibm.com>
2466
2467         * sysdeps/powerpc/bits/fenv.h: Declare __fe_mask_env extern.
2468         Define FE_NOMASK_ENV as FE_EANBLED_ENV.  Define FE_MASK_ENV.
2469         * sysdeps/powerpc/fpu/Makefile: Add fe_mask to libm-support.
2470         * sysdeps/powerpc/fpu/fe_mask.c: New file.
2471         * sysdeps/powerpc/fpu/fe_nomask.c: Correct comment.
2472         * sysdeps/powerpc/fpu/fedisblxcpt.c (fedisableexcept):
2473         Call __fe_mask_env() if all FP exceptions disabled.
2474         * sysdeps/powerpc/fpu/feholdexcpt.c (feholdexcept): Copy high 32-bits
2475         from old FPSCR to new fenv to propagate DFP rounding modes.
2476         Call __fe_mask_env() if FP exceptions previously enabled.
2477         * sysdeps/powerpc/fpu/fesetenv.c (fesetenv): Change mask to merge
2478         exceptions from env.  Use __fe_nomask_env() or __fe_mask_env() when
2479         transitioning from all exceptions disabled to any exception enabled
2480         or visa versa.
2481         * sysdeps/powerpc/fpu/feupdateenv.c (__feupdateenv): Change mask to
2482         merge exceptions from env.  Call __fe_nomask_env or __fe_mask_env
2483         when transitioning from all exceptions disabled to any exception
2484         enabled or visa versa.
2485         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fe_nomask.c: Moved to...
2486         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: ...here.
2487         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: Moved to...
2488         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: ...here.
2489         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c: New file.
2490         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c: New file.
2491
2492 2007-05-06  Ulrich Drepper  <drepper@redhat.com>
2493
2494         [BZ #4465]
2495         * posix/unistd.h: Remove __THROW from fdatasync.
2496
2497 2007-05-06  Mike Frysinger  <vapier@gentoo.org>
2498
2499         [BZ #4465]
2500         * sysdeps/unix/sysv/linux/syscalls.list (fdatasync): Add "C" to args.
2501
2502 2007-05-06  Ulrich Drepper  <drepper@redhat.com>
2503
2504         * stdio-common/vfprintf.c (process_string_arg): Optimize
2505         ridiculous precision in wide char code printing multi-byte string.
2506         Reported by Jim Meyering <jim@meyering.net>.
2507
2508         [BZ #4131]
2509         * elf/dl-addr.c (_dl_addr): Compare address with actual segment
2510         boundaries to work around systems with overlapping binary loading.
2511         Based on a patch by Suzuki <suzuki@in.ibm.com>.
2512
2513 2007-05-04  Ulrich Drepper  <drepper@redhat.com>
2514
2515         * stdio-common/vfprintf.c (process_string_arg): Adjust call to
2516         __mbsnrtowcs after last change.
2517
2518         * locale/programs/linereader.c (get_symname): Fix adding final NUL.
2519         (get_ident): Likewise.
2520
2521 2007-05-03  Jakub Jelinek  <jakub@redhat.com>
2522
2523         * soft-fp/op-common.h (FP_TRUNC): Replace raising of FP_EX_INEXACT
2524         with setting the sticky bit.
2525         * math/test-misc.c (main): Add more truncation tests.
2526
2527 2007-04-14  Uros Bizjak  <ubizjak@gmail.com>
2528
2529         * soft-fp/floatunsidf.c (__floatunsidf): Use DFtype instead of
2530         double in the function declaration.
2531         * soft-fp/floatundidf.c (__floatundidf): Use DFtype instead of
2532         double in the function declaration.
2533         * soft-fp/floatunsisf.c (__floatunsisf): Use SFtype instead of
2534         float in the function declaration.
2535         * soft-fp/floatunsisf.c (__floatunsisf): Use SFtype instead of
2536         float in the function declaration.
2537
2538         * soft-fp/extended.h (FP_UNPACK_RAW_E): Do not increase X##_e for
2539         denormal operands.  Do not generate FP_EX_DENORM exception.
2540         (FP_UNPACK_RAW_EP): Ditto.
2541         (FP_UNPACK_SEMIRAW_E): Use FP_UNPACK_RAW_E instead of
2542         undefined _FP_UNPACK_RAW_E.
2543         (FP_UNPACK_SEMIRAW_EP): Use FP_UNPACK_RAW_EP instead of
2544         undefined _FP_UNPACK_RAW_EP.
2545         (FP_PACK_SEMIRAW_E): Use FP_PACK_RAW_E instead of
2546         undefined _FP_PACK_RAW_E.
2547         (FP_PACK_SEMIRAW_EP): Use FP_PACK_RAW_EP instead of
2548         undefined _FP_PACK_RAW_EP.
2549
2550         * soft-fp/op-2.h (_FP_FRAC_COPY_2_2): Define as alias to
2551         _FP_FRAC_COPY_2.
2552         * soft-fp/op-4.h (_FP_FRAC_COPY_2_2): Define as alias to
2553         _FP_FRAC_COPY_4.
2554
2555 2007-04-16  Uros Bizjak  <ubizjak@gmail.com>
2556             Jakub Jelinek  <jakub@redhat.com>
2557
2558         * soft-fp/op-common.h (FP_EXTEND): Do not abort when
2559         _FP_EXPBIAS_##dfs == _FP_EXPBIAS_##sfs.  Handle denormals for
2560         this case.
2561         * soft-fp/op-common.h (FP_TRUNC): Ditto.
2562
2563 2007-05-03  Jakub Jelinek  <jakub@redhat.com>
2564
2565         * math/test-misc.c (main): Add tests for rounding long double
2566         values close to smallest double denormalized value to double.
2567
2568 2007-04-30  Joseph Myers  <joseph@codesourcery.com>
2569
2570         * soft-fp/op-common.h (FP_TRUNC): Correct off-by-one error in
2571         condition for truncating to 0.  Set sticky bit for such
2572         truncation.
2573
2574 2007-05-02  Jakub Jelinek  <jakub@redhat.com>
2575
2576         * stdio-common/vfprintf.c (process_string_arg): Use a VLA rather than
2577         fixed length array for ignore.
2578
2579 2007-04-30  Ulrich Drepper  <drepper@redhat.com>
2580
2581         [BZ #4438]
2582         * stdio-common/vfprintf.c (process_string_arg): Don't overflow the
2583         stack for large precisions.
2584         * stdio-common/test-vfprintf.c (main): Add test for large
2585         precision.
2586
2587 2007-04-30  Jakub Jelinek  <jakub@redhat.com>
2588
2589         * stdio-common/printf_fp.c (___printf_fp): Don't print negative sign
2590         for exponent 0.
2591         * stdio-common/tfformat.c (sprint_doubles): Add a new test.
2592
2593         [BZ #4439]
2594         * resolv/inet_ntop.c (inet_ntop4): Take terminating '\0' into
2595         account in the size check.
2596         * resolv/tst-inet_ntop.c: New test.
2597         * resolv/Makefile (tests): Add tst-inet_ntop.
2598
2599 2007-04-30  Ulrich Drepper  <drepper@redhat.com>
2600             Jakub Jelinek  <jakub@redhat.com>
2601
2602         [BZ #4349]
2603         * malloc/malloc.c: Keep separate list for first blocks on the bin
2604         lists with a given size.  This helps skipping over list elements
2605         we know won't fit in two places.
2606         Inspired by a patch by Tomash Brechko <tomash.brechko@gmail.com>.
2607
2608 2007-04-28  Ulrich Drepper  <drepper@redhat.com>
2609
2610         [BZ #4102]
2611         * sysdeps/posix/getaddrinfo.c (default_labels): Assign separate
2612         label to Teredo tunnel addresses 2001://32.
2613
2614 2007-04-27  Ulrich Drepper  <drepper@redhat.com>
2615
2616         * locale/programs/ld-collate.c (collate_read): Allow order_start
2617         after copy.
2618
2619         * locale/programs/ld-collate.c (collate_read): Fix printing of
2620         error message.
2621
2622         [BZ #3213]
2623         * locale/C-translit.h.in: Add entry for U2044.
2624
2625         [BZ #4342]
2626         * stdio-common/vfscanf.c (_IO_vfscanf_internal): Allow
2627         hexa-decimal floats without exponent.
2628         * stdio-common/tstscanf.c (main): Adjust Test 8 test for success.
2629
2630 2007-04-25  Ulrich Drepper  <drepper@redhat.com>
2631
2632         * sysdeps/unix/sysv/linux/bits/sched.h: Declare sched_getcpu.
2633         * sysdeps/unix/sysv/linux/sched_getcpu.c: New file.
2634         * sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S: New file.
2635         * sysdeps/unix/sysv/linux/Versions: Export sched_getcpu for
2636         GLIBC_2.6.
2637         * sysdeps/unix/sysv/linux/Makefile [subdir=posix] (sysdep_routines):
2638         Add sched_getcpu.
2639
2640 2007-04-25  Jakub Jelinek  <jakub@redhat.com>
2641
2642         * sysdeps/unix/sysv/linux/check_pf.c (make_request): Return -1 instead
2643         of 0 after the out_fail label.
2644
2645 2007-04-25  Ulrich Drepper  <drepper@redhat.com>
2646
2647         [BZ #4406]
2648         * iconv/gconv_charset.h (strip): Allow ':'.
2649         * iconv/iconv_open.c (iconv_open): Adjust comment.
2650
2651 2007-04-25  Jakub Jelinek  <jakub@redhat.com>
2652
2653         * libio/bits/stdio.h (fgetc_unlocked): Add extern inline optimized
2654         version.
2655
2656 2007-04-23  Jakub Jelinek  <jakub@redhat.com>
2657
2658         [BZ #4381]
2659         * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Ensure sufficient
2660         alignment of buffer and tmp_buffer.
2661         * nis/nss_nis/nis-hosts.c (internal_nis_gethostent_r,
2662         internal_gethostbyname2_r, _nss_nis_gethostbyaddr_r): Ensure sufficient
2663         alignment of buffer.
2664         * resolv/nss_dns/dns-hosts.c (getanswer_r): Likewise.  Handle buflen
2665         bigger than INT_MAX.
2666         * resolv/nss_dns/dns-network.c (getanswer_r): Likewise.  Add errnop and
2667         h_errnop arguments.  Fail if buflen is too small.
2668         (_nss_dns_getnetbyname_r, _nss_dns_getnetbyaddr_r): Adjust callers.
2669
2670 2007-04-23  Jakub Jelinek  <jakub@redhat.com>
2671
2672         [BZ #4405]
2673         * iconvdata/gconv-modules (E13B): Add a missing slash to the alias
2674         name.  Patch by Aurelien Jarno <aurelien@aurel32.net>.
2675
2676 2007-04-22  Roland McGrath  <roland@redhat.com>
2677
2678         * elf/elf.h (NT_PRXFPREG): New macro.
2679
2680 2007-04-19  Andreas Jaeger  <aj@suse.de>
2681
2682         [BZ #3905]
2683         * bits/in.h (IPV6_ROUTER_ALERT, IPV6_MTU_DISCOVER, IPV6_MTU,
2684         IPV6_RECVERR, IPV6_V6ONLY, IPV6_JOIN_ANYCAST, IPV6_LEAVE_ANYCAST):
2685         Added.
2686
2687 2007-04-19  Ulrich Drepper  <drepper@redhat.com>
2688
2689         * include/sys/mman.h: Mark madvise hidden.
2690         * misc/madvise.c: Add libc_hidden_def.
2691
2692 2007-04-06  Jakub Jelinek  <jakub@redhat.com>
2693
2694         * nis/nis_domain_of.c (__nis_domain_of): New function.
2695         * include/rpcsvc/nislib.h (__nis_domain_of): New prototype.
2696         * nis/nis_lookup.c (nis_lookup): Use __nis_domain_of.
2697         * nis/nis_call.c (rec_dirsearch): Likewise.
2698         (first_shoot): Likewise.  Remove search_parent_first argument.
2699         (struct nis_server_cache): Rename search_parent_first field
2700         to search_parent.
2701         (nis_server_cache_search, nis_server_cache_add): Rename
2702         search_parent_first argument to search_parent.
2703         (__nisfind_server): Likewise.  If search_parent, call
2704         __nis_domain_of.
2705
2706 2007-04-18  Ulrich Drepper  <drepper@redhat.com>
2707
2708         * sysdeps/posix/getaddrinfo.c: Remove commented-out code.
2709
2710 2007-04-17  Ulrich Drepper  <drepper@redhat.com>
2711
2712         [BZ #4368]
2713         * stdlib/stdlib.h: Remove obsolete part of comment for realpath.
2714
2715 2007-04-16  Ulrich Drepper  <drepper@redhat.com>
2716
2717         [BZ #4364]
2718         * posix/unistd.h (_XOPEN_VERSION): Define appropriately for SUSv3.
2719
2720 2007-04-15  Jakub Jelinek  <jakub@redhat.com>
2721
2722         * locale/programs/locarchive.c (INITIAL_NUM_NAMES,
2723         INITIAL_SIZE_STRINGS, INITIAL_NUM_LOCREC): Update to accomodate
2724         current number of locales in SUPPORTED.
2725         (create_archive): Initialize serial.
2726         (enlarge_archive): Preserve aliases rather than duplicating
2727         their locrecs.
2728
2729 2007-04-13  Jakub Jelinek  <jakub@redhat.com>
2730
2731         * libio/genops.c (_IO_default_finish): Call _IO_lock_fini
2732         after _IO_un_link, not before it.
2733
2734         * stdio-common/printf_fp.c (___printf_fp): Fix exponent -4
2735         special case handling when wcp == wstartp + 1.  Fix a comment typo.
2736         * stdio-common/tfformat.c (sprint_doubles): Add a new testcase.
2737
2738 2007-03-30  Jakub Jelinek  <jakub@redhat.com>
2739
2740         * libio/libio.h (__underflow, __uflow, __overflow, __wunderflow,
2741         __wuflow, __woverflow, _IO_getc, _IO_putc, _IO_peekc_locked, _IO_padn,
2742         _IO_sgetn, _IO_seekoff, _IO_seekpos, _IO_getwc, _IO_putwc, _IO_wpadn):
2743         Remove __THROW.
2744         * libio/fileops.c (new_do_write, _IO_file_xsgetn_mmap,
2745         _IO_file_xsgetn_maybe_mmap): Likewise.
2746         * libio/oldfileops.c (old_do_write): Likewise.
2747         * libio/libioP.h (_IO_switch_to_get_mode, _IO_switch_to_wget_mode,
2748         _IO_init_marker, _IO_init_wmarker, _IO_default_uflow,
2749         _IO_wdefault_uflow, _IO_default_setbuf, _IO_default_seekpos,
2750         _IO_do_write, _IO_new_do_write, _IO_old_do_write, _IO_wdo_write,
2751         _IO_flush_all_lockp, _IO_flush_all, _IO_cleanup,
2752         _IO_flush_all_linebuffered, _IO_new_fgetpos, _IO_old_fgetpos,
2753         _IO_new_fsetpos, _IO_old_fsetpos, _IO_new_fgetpos64,
2754         _IO_old_fgetpos64, _IO_new_fsetpos64, _IO_old_fsetpos64,
2755         _IO_file_setbuf, _IO_file_seekoff, _IO_file_xsputn, _IO_file_xsgetn,
2756         _IO_file_underflow, _IO_file_underflow_mmap,
2757         _IO_file_underflow_maybe_mmap, _IO_file_overflow, _IO_file_attach,
2758         _IO_file_open, _IO_file_fopen, _IO_file_write, _IO_file_read,
2759         _IO_file_sync, _IO_file_close_it, _IO_file_finish,
2760         _IO_new_file_attach, _IO_new_file_close_it, _IO_new_file_finish,
2761         _IO_new_file_fopen, _IO_new_file_setbuf, _IO_file_setbuf_mmap,
2762         _IO_new_file_sync, _IO_new_file_underflow, _IO_new_file_overflow,
2763         _IO_new_file_seekoff, _IO_new_file_write, _IO_new_file_xsputn,
2764         _IO_old_file_setbuf, _IO_old_file_seekoff, _IO_old_file_xsputn,
2765         _IO_old_file_underflow, _IO_old_file_overflow, _IO_old_file_attach,
2766         _IO_old_file_fopen, _IO_old_file_write, _IO_old_file_sync,
2767         _IO_old_file_close_it, _IO_old_file_finish, _IO_wfile_xsputn,
2768         _IO_wfile_setbuf, _IO_wfile_sync, _IO_wfile_underflow,
2769         _IO_wfile_overflow, _IO_wfile_seekoff, _IO_old_proc_open,
2770         _IO_old_proc_close, _IO_getdelim, _IO_flush_all_internal,
2771         _IO_adjust_column_internal, _IO_default_uflow_internal,
2772         _IO_default_xsgetn_internal, _IO_wdefault_xsputn_internal,
2773         _IO_wdefault_xsgetn_internal, _IO_wdefault_uflow_internal,
2774         _IO_file_setbuf_internal, _IO_file_seekoff_internal,
2775         _IO_file_xsputn_internal, _IO_file_xsgetn_internal,
2776         _IO_file_close_it_internal, _IO_file_underflow_internal,
2777         _IO_file_overflow_internal, _IO_file_attach_internal,
2778         _IO_file_fopen_internal, _IO_file_sync_internal,
2779         _IO_file_finish_internal, _IO_wfile_xsputn_internal,
2780         _IO_wfile_seekoff_internal, _IO_wfile_sync_internal,
2781         _IO_switch_to_wget_mode_internal, _IO_padn_internal,
2782         _IO_switch_to_get_mode_internal, _IO_seekoff_unlocked,
2783         _IO_seekpos_unlocked): Likewise.
2784         (_IO_strtod, _IO_dtoa, _IO_outfloat, _IO_read, _IO_write,
2785         _IO_lseek, _IO_close, _IO_fstat): Remove unused prototypes.
2786
2787 2007-04-16  Jakub Jelinek  <jakub@redhat.com>
2788
2789         * locale/programs/locarchive.c (show_archive_content): Fix sizeof
2790         argument in xmalloc size computation.
2791
2792 2007-04-01  Jakub Jelinek  <jakub@redhat.com>
2793
2794         * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (__nextafterl): Use
2795         math_opt_barrier and math_force_eval macros.
2796
2797 2007-03-27  Jakub Jelinek  <jakub@redhat.com>
2798
2799         [BZ #3306]
2800         * math/math_private.h (math_opt_barrier, math_force_eval): Define.
2801         * sysdeps/i386/fpu/math_private.h: New file.
2802         * sysdeps/x86_64/fpu/math_private.h: New file.
2803         * math/s_nexttowardf.c (__nexttowardf): Use math_opt_barrier and
2804         math_force_eval macros.  Use "+m" constraint on asm rather than
2805         "=m" and "m".
2806         * math/s_nextafter.c (__nextafter): Likewise.
2807         * sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c (__nexttoward):
2808         Likewise.
2809         * sysdeps/ieee754/flt-32/s_nextafterf.c (__nextafterf): Likewise.
2810         * sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward): Likewise.
2811         * sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise.
2812         * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Use
2813         math_opt_barrier and math_force_eval macros.
2814         * sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl): Likewise.
2815         * sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Likewise.
2816         * sysdeps/i386/fpu/s_nexttoward.c: Include float.h.
2817         (__nexttoward): Use math_opt_barrier and
2818         math_force_eval macros.  Use "+m" constraint on asm rather than
2819         "=m" and "m".  Only use asm to force double result if
2820         FLT_EVAL_METHOD is 2.
2821         * sysdeps/i386/fpu/s_nexttowardf.c: Include float.h.
2822         (__nexttowardf): Use math_opt_barrier and
2823         math_force_eval macros.  Use "+m" constraint on asm rather than
2824         "=m" and "m".  Only use asm to force double result if
2825         FLT_EVAL_METHOD is not 0.
2826         * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c: Include float.h.
2827         (__nexttowardf): Use math_opt_barrier and
2828         math_force_eval macros.  If FLT_EVAL_METHOD is not 0, force
2829         x to float using asm.
2830         * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c: Include float.h.
2831         (__nldbl_nexttowardf): Use math_opt_barrier and
2832         math_force_eval macros.  If FLT_EVAL_METHOD is not 0, force
2833         x to float using asm.
2834         * sysdeps/ieee754/ldbl-96/s_nexttowardf.c: Include float.h.
2835         (__nexttowardf): Use math_opt_barrier and math_force_eval
2836         macros.  If FLT_EVAL_METHOD is not 0, force x to float using asm.
2837         * math/bug-nextafter.c (zero, inf): New variables.
2838         (main): Add new tests.
2839         * math/bug-nexttoward.c (zero, inf): New variables.
2840         (main): Add new tests.
2841
2842 2007-03-22  Jakub Jelinek  <jakub@redhat.com>
2843
2844         [BZ #3427]
2845         * sysdeps/x86_64/fpu/feholdexcpt.c (feholdexcept): Clear all
2846         exceptions both in SW and MXCSR.
2847         * sysdeps/x86_64/fpu/feupdateenv.c: New file.
2848         * sysdeps/x86_64/fpu/feenablxcpt.c (feenableexcept): Remove dead code.
2849         * sysdeps/x86_64/fpu/fedisblxcpt.c (fedisableexcept): Likewise.
2850         * sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions
2851         in MXCSR if SSE is available.
2852         * sysdeps/i386/fpu/feupdateenv.c: Include unistd.h, dl-procinfo.h
2853         and ldsodefs.h.
2854         (__feupdateenv): Query exceptions also from MXCSR if SSE is available.
2855         Fix comment typo.
2856         * sysdeps/ia64/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions.
2857         Return 0 rather than 1.
2858         * sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Fix comment typo.
2859         Remove incorrect part of a comment.  Fix argument to feraiseexcept.
2860         * math/test-fenv.c (feholdexcept_tests): New function.
2861         (main): Call it.
2862
2863 2007-01-05  Richard B. Kreckel  <kreckel@ginac.de>
2864
2865         [BZ #3427]
2866         * sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions
2867         in SW.
2868
2869 2007-04-13  Jakub Jelinek  <jakub@redhat.com>
2870
2871         [BZ #4344]
2872         * elf/ldconfig.c (search_dir): Fix 2 off-by-2 errors.
2873         Reported by David Anderson <davea42@earthlink.net>.
2874
2875 2007-04-07  Ulrich Drepper  <drepper@redhat.com>
2876
2877         * posix/sys/wait.h: Remove unnecessary forward declaration.
2878
2879 2007-04-05  Jakub Jelinek  <jakub@redhat.com>
2880
2881         * nis/nis_call.c (__nisfind_server): Replace (*dir)->do_servers
2882         with obj->do_servers after first_shoot.
2883
2884 2007-04-03  Ulrich Drepper  <drepper@redhat.com>
2885
2886         * posix/Makefile (routines): Add sched_cpucount.
2887         (tests): Add tst-cpucount.
2888         * posix/sched_cpucount.c: New file.
2889         * posix/tst-cpucount.c: New file.
2890         * posix/Versions: Export __sched_cpucount with version GLIBC_2.6.
2891         * bits/sched.h: Define __CPU_COUNT.  Declare __sched_cpucount.
2892         * sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
2893         * posix/sched.h: Define CPU_COUNT.
2894
2895 2007-03-27  Jakub Jelinek  <jakub@redhat.com>
2896
2897         * posix/fnmatch.c (STRUCT): Define.
2898         (fnmatch): Pass NULL as last argument to internal_fn{,w}match.
2899         * posix/fnmatch_loop.c (struct STRUCT): New type.
2900         (FCT): Add ends argument.  If ends != NULL and normal * is
2901         seen in the pattern, store current pattern and string pointers
2902         and return.  Adjust recursive calls.
2903         (EXT): Adjust FCT callers.
2904         (STRUCT): Undef at the end of the file.
2905         * posix/Makefile (tests): Add tst-fnmatch2.
2906         * posix/tst-fnmatch2.c: New test.
2907
2908 2007-04-01  Jakub Jelinek  <jakub@redhat.com>
2909
2910         * sysdeps/ia64/fpu/fesetround.c (fesetround): Return 0 on success
2911         and 1 on failure.
2912
2913         * sysdeps/unix/sysv/linux/sync_file_range.c (sync_file_range):
2914         Change last argument to unsigned int.
2915
2916 2007-03-23  Jakub Jelinek  <jakub@redhat.com>
2917
2918         * scripts/check-local-headers.sh: Filter out sys/capability.h.
2919
2920 2007-03-22  Jakub Jelinek  <jakub@redhat.com>
2921
2922         * config.h.in (HAVE_LIBCAP): Add.
2923         * nscd/selinux.h: Include sys/capability.h rather than non-existent
2924         sys/capabilities.h.
2925         * nscd/selinux.c (preserve_capabilities): Use cap_free instead of
2926         free_caps.  Cast away const from 4th cap_set_flag argument.
2927
2928 2007-03-26  Ulrich Drepper  <drepper@redhat.com>
2929
2930         * sysdeps/unix/sysv/linux/Versions: Move sync_file_range to
2931         GLIBC_2.6.
2932         * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
2933         Add sync_file_range.
2934         Reported by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
2935
2936 2007-03-19  Steven Munroe  <sjmunroe@us.ibm.com>
2937
2938         * sysdeps/powerpc/bits/atomic.h
2939         [!MUTEX_HINT_ACQ]: Define MUTEX_HINT_ACQ.
2940         [!MUTEX_HINT_REL]: Define MUTEX_HINT_REL.
2941         (__arch_compare_and_exchange_val_32_acq): Add MUTEX_HINT_ACQ to lwarx.
2942         (__arch_compare_and_exchange_val_32_rel): Add MUTEX_HINT_REL to lwarx.
2943         (__arch_atomic_exchange_val_32_acq): Add MUTEX_HINT_ACQ to lwarx.
2944         (__arch_atomic_exchange_rel_32_rel): Add MUTEX_HINT_REL to lwarx.
2945         * sysdeps/powerpc/powerpc32/bits/atomic.h [_ARCH_PWR6 || _ARCH_PWR6X]:
2946         Define MUTEX_HINT_ACQ as ",1" and MUTEX_HINT_REL as ",0".
2947         (__arch_compare_and_exchange_bool_32_acq): Add MUTEX_HINT_ACQ to lwarx.
2948         (__arch_compare_and_exchange_bool_32_rel): Add MUTEX_HINT_REL to lwarx.
2949         * sysdeps/powerpc/powerpc64/bits/atomic.h [_ARCH_PWR6 || _ARCH_PWR6D]:
2950         Define MUTEX_HINT_ACQ as ",1" and MUTEX_HINT_REL as ",0".
2951         (__arch_compare_and_exchange_bool_32_acq): Add MUTEX_HINT_ACQ to lwarx.
2952         (__arch_compare_and_exchange_bool_32_rel): Add MUTEX_HINT_REL to lwarx.
2953         (__arch_compare_and_exchange_bool_64_acq): Add MUTEX_HINT_ACQ to lwarx.
2954         (__arch_compare_and_exchange_bool_64_rel): Add MUTEX_HINT_REL to lwarx.
2955         (__arch_compare_and_exchange_val_64_acq): Add MUTEX_HINT_ACQ to lwarx.
2956         (__arch_compare_and_exchange_val_64_rel): Add MUTEX_HINT_REL to lwarx.
2957         (__arch_atomic_exchange_val_64_acq): Add MUTEX_HINT_ACQ to lwarx.
2958         (__arch_atomic_exchange_rel_64_rel): Add MUTEX_HINT_REL to lwarx.
2959
2960 2007-03-20  Jakub Jelinek  <jakub@redhat.com>
2961
2962         * sysdeps/unix/sysv/linux/powerpc/libc-start.c
2963         (__cache_line_size): Define the variable here.  Add
2964         attribute_hidden, remove weak_extern.
2965         (__libc_start_main): Set __cache_line_size
2966         unconditionally.
2967         * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
2968         (__cache_line_size): Define the variable here.  Add
2969         attribute_hidden, remove weak_extern.
2970         (DL_PLATFORM_AUXV): Set __cache_line_size
2971         unconditionally.
2972         * sysdeps/powerpc/powerpc32/dl-machine.c (__cache_line_size): Remove
2973         weak_extern, add attribute_hidden.
2974         (__elf_machine_runtime_setup): Assume __cache_line_size is always
2975         defined in ld.so.
2976         * sysdeps/powerpc/powerpc32/memset.S (__cache_line_size): Remove
2977         definition.
2978         * sysdeps/powerpc/powerpc64/memset.S (__cache_line_size): Likewise.
2979
2980 2007-03-26  Jakub Jelinek  <jakub@redhat.com>
2981
2982         [BZ #4276]
2983         * timezone/africa: Update from tzdata2007d.
2984         * timezone/asia: Likewise.
2985         * timezone/australasia: Likewise.
2986         * timezone/backward: Likewise.
2987         * timezone/europe: Likewise.
2988         * timezone/iso3166.tab: Likewise.
2989         * timezone/leapseconds: Likewise.
2990         * timezone/northamerica: Likewise.
2991         * timezone/southamerica: Likewise.
2992         * timezone/zone.tab: Likewise.
2993
2994         * timezone/private.h: Update from tzcode2007d.
2995         * timezone/zdump.c: Likewise.
2996         * timezone/zic.c: Likewise.
2997
2998 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
2999
3000         * nis/nis_call.c: Include bits/libc-lock.h, sys/stat.h, unistd.h.
3001         (nis_server_cache, nis_server_cache_lock, nis_cold_start_mtime): New
3002         variables.
3003         (nis_server_cache_search, nis_server_cache_add): New functions.
3004         (__nisfind_server): Use them.  Add dbp and flags argument, if
3005         call __nisbind_create.
3006         (__nisbind_create): Add server_used and current_ep arguments,
3007         only call __nis_findfastest if server_used is ~0.
3008         (__do_niscall2, __prepare_niscall): Adjust callers.
3009         (ckey_cache, ckey_cache_size, ckey_cache_allocated, ckey_cache_pid,
3010         ckey_cache_euid, ckey_cache_lock): New variables.
3011         (get_ckey): New function.
3012         (__nisbind_connect): If not dbp->use_udp, pass IPPROTO_TCP to
3013         __pmap_getnisport.  Save __pmap_getnisport result in
3014         dbp->addr.sin_port if non-zero.  Use get_ckey to create conversation
3015         key.
3016         * nis/nis_lookup.c (nis_lookup): Likewise.
3017         * nis/nis_table.c (nis_list): Likewise.
3018         * nis/rpcsvc/nislib.h (__nisbind_create, __nisfind_server): Adjust
3019         prototypes.
3020
3021         * nis/nss_nisplus/nisplus-pwd.c (_nss_nisplus_getpwnam_r,
3022         _nss_nisplus_getpwuid_r): Pass USE_DGRAM flag to nis_list.
3023         * nis/nss_nisplus/nisplus-service.c (_nss_nisplus_getservbyname_r,
3024         _nss_nisplus_getservbyport_r): Likewise.
3025         * nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyname_r,
3026         _nss_nisplus_getnetbyaddr_r): Likewise.
3027         * nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_getspnam_r): Likewise.
3028         * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r,
3029         _nss_nisplus_getntohost_r): Likewise.
3030         * nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbyname_r,
3031         _nss_nisplus_getrpcbynumber_r): Likewise.
3032
3033 2007-03-20  Jakub Jelinek  <jakub@redhat.com>
3034
3035         * configure.in (libc_cv_gnu89_inline): Only do compile test.
3036         * configure: Rebuilt.
3037
3038         * soft-fp/double.h (_FP_UNION_D): Use _FP_W_TYPE for frac
3039         bit-fields.
3040         * soft-fp/extended.h (_FP_UNION_E): Likewise.
3041
3042 2006-06-07  Joseph Myers  <joseph@codesourcery.com>
3043
3044         [BZ #2831]
3045         * soft-fp/quad.h (_FP_UNION_Q): Use _FP_W_TYPE for frac
3046         bit-fields.
3047
3048 2007-03-18  Jakub Jelinek  <jakub@redhat.com>
3049
3050         * nscd/gai.c: Include alloca.h.
3051         (__libc_use_alloca): Define.
3052
3053 2007-03-16  Jakub Jelinek  <jakub@redhat.com>
3054
3055         * elf/dl-open.c (dl_open_worker): Declare l in 2 different
3056         smaller scopes.
3057         * elf/dl-dst.h (DL_DST_REQ_STATIC): Add l as macro argument.
3058         (DL_DST_REQUIRED): Adjust user.
3059
3060         * include/dlfcn.h (struct link_map): New forward decl.
3061
3062         * inet/getnameinfo.c: Include stddef.h.
3063         (getnameinfo): Use offsetof.
3064
3065         * time/tst-mktime2.c (do_test): Don't rely on signed wrap.
3066
3067         * stdio-common/vfprintf.c (_itoa): Undef before redefining.
3068
3069         * string/strerror_l.c: Include stdlib.h.
3070
3071         * configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.
3072         * config.make.in (gnu89-inline-CFLAGS): New variable.
3073         * Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with
3074         -std=gnu99.
3075         * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define.
3076         * argp/argp.h: Use it.
3077         * bits/mathinline.h: Likewise.
3078         * bits/sigset.h: Likewise.
3079         * bits/string.h: Likewise.
3080         * ctype/ctype.h: Likewise.
3081         * hurd/hurd.h: Likewise.
3082         * hurd/hurd/fd.h: Likewise.
3083         * hurd/hurd/port.h: Likewise.
3084         * hurd/hurd/signal.h: Likewise.
3085         * hurd/hurd/threadvar.h: Likewise.
3086         * hurd/hurd/userlink.h: Likewise.
3087         * io/sys/stat.h: Likewise.
3088         * libio/bits/stdio.h: Likewise.
3089         * libio/bits/stdio2.h: Likewise.
3090         * mach/lock-intern.h: Likewise.
3091         * mach/mach/mig_support.h: Likewise.
3092         * math/bits/cmathcalls.h: Likewise.
3093         * posix/bits/unistd.h: Likewise.
3094         * socket/bits/socket2.h: Likewise.
3095         * stdlib/bits/stdlib.h: Likewise.
3096         * stdlib/stdlib.h: Likewise.
3097         * string/argz.h: Likewise.
3098         * string/bits/string2.h: Likewise.
3099         * string/bits/string3.h: Likewise.
3100         * sysdeps/alpha/fpu/bits/mathinline.h: Likewise.
3101         * sysdeps/generic/inttypes.h: Likewise.
3102         * sysdeps/generic/machine-lock.h: Likewise.
3103         * sysdeps/generic/machine-sp.h: Likewise.
3104         * sysdeps/i386/fpu/bits/mathinline.h: Likewise.
3105         * sysdeps/i386/i486/bits/string.h: Likewise.
3106         * sysdeps/ia64/fpu/bits/mathinline.h: Likewise.
3107         * sysdeps/mach/alpha/machine-lock.h: Likewise.
3108         * sysdeps/mach/alpha/machine-sp.h: Likewise.
3109         * sysdeps/mach/i386/machine-lock.h: Likewise.
3110         * sysdeps/mach/powerpc/machine-lock.h: Likewise.
3111         * sysdeps/mach/powerpc/machine-sp.h: Likewise.
3112         * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
3113         * sysdeps/s390/bits/string.h: Likewise.
3114         * sysdeps/s390/fpu/bits/mathinline.h: Likewise.
3115         * sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
3116         * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
3117         * sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
3118         * sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
3119         * sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise.
3120         * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
3121         * wcsmbs/bits/wchar2.h: Likewise.
3122         * wcsmbs/wchar.h: Likewise.
3123         * stdlib/gmp.h: Likewise.  Include <features.h> to get
3124         __extern_inline definition.
3125
3126 2007-03-15  Jakub Jelinek  <jakub@redhat.com>
3127
3128         * locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is
3129         NULL.
3130
3131         [BZ #3919]
3132         * math/libm-test.inc (log_test): Test -Inf and NaN.
3133         (log10_test, log1p_test, log2_test): Test -Inf.
3134         * sysdeps/i386/fpu/e_log.S (__ieee754_log): Don't raise
3135         FE_INVALID when argument is qNaN.
3136         * sysdeps/i386/fpu/e_logl.S (__ieee754_logl): Likewise.
3137         * sysdeps/i386/fpu/e_logf.S (__ieee754_logf): Likewise.
3138         * sysdeps/x86_64/fpu/e_logl.S (__ieee754_logl): Likewise.
3139         * sysdeps/x86_64/fpu/e_log10l.S (__ieee754_log10l): Replace
3140         andb $1, %ah with testb $1, %ah, don't test for parity, instead
3141         testb $4, %ah and jump if non-zero.
3142         * sysdeps/x86_64/fpu/e_log2l.S (__ieee754_log2l): Likewise.
3143         * sysdeps/x86_64/fpu/s_log1pl.S (__log1pl): Likewise.
3144
3145         [BZ #4101]
3146         * argp/argp-help.c (hol_cluster_cmp): Fix comparisons used to find
3147         ancestors with the same depths.
3148         Patch by Niels Moeller <nisse@lysator.liu.se>.
3149         (filter_doc): Don't crash if argp is NULL.
3150         * argp/Makefile (tests): Add tst-argp2.
3151         * argp/tst-argp2.c: New test.
3152
3153         [BZ #4130]
3154         * login/utmp_file.c (setutent_file): Use O_LARGEFILE for
3155         open_not_cancel_2.
3156         (updwtmp_file): Likewise.
3157
3158         [BZ #4181]
3159         * inet/inet6_opt.c (add_padding): Only insert padding if npad > 0.
3160         (inet6_opt_append): Don't check extlen is big enough if extbuf
3161         is NULL.
3162         (inet6_opt_finish): Likewise.
3163         * inet/Makefile (tests): Add test-inet6_opt.
3164         * inet/test-inet6_opt.c: New test.
3165
3166         * sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_request): Never
3167         reallocate the buffer, instead fail for MSG_TRUNC or for EBUSY
3168         NLMSG_ERR.  Instead use a page sized buffer.
3169         * sysdeps/unix/sysv/linux/check_pf.c (make_request): Use page sized
3170         buffer.
3171
3172 2007-03-14  Richard Henderson  <rth@redhat.com>
3173
3174         * sysdeps/alpha/fpu/s_llround.c: New file.
3175         * sysdeps/alpha/fpu/s_llroundf.c: New file.
3176         * sysdeps/alpha/fpu/s_lround.c: New file.
3177         * sysdeps/alpha/fpu/s_lroundf.c: New file.
3178         * sysdeps/alpha/fpu/s_round.c: New file.
3179         * sysdeps/alpha/fpu/s_roundf.c: New file.
3180         * sysdeps/alpha/fpu/s_trunc.c: New file.
3181         * sysdeps/alpha/fpu/s_truncf.c: New file.
3182
3183         * sysdeps/alpha/fpu/s_ceil.c: Rewrite without branches.
3184         * sysdeps/alpha/fpu/s_ceilf.c: Likewise.
3185         * sysdeps/alpha/fpu/s_floor.c: Likewise.
3186         * sysdeps/alpha/fpu/s_floorf.c: Likewise.
3187         * sysdeps/alpha/fpu/s_rint.c: Likewise.
3188         * sysdeps/alpha/fpu/s_rintf.c: Likewise.
3189
3190         * sysdeps/alpha/fpu/s_fmax.S: New file.
3191         * sysdeps/alpha/fpu/s_fmaxf.S: New file.
3192         * sysdeps/alpha/fpu/s_fmin.S: New file.
3193         * sysdeps/alpha/fpu/s_fminf.S: New file.
3194         * sysdeps/alpha/fpu/s_isnan.c: New file.
3195         * sysdeps/alpha/fpu/s_isnanf.c: New file.
3196         * sysdeps/alpha/fpu/s_llrint.c: New file.
3197         * sysdeps/alpha/fpu/s_llrintf.c: New file.
3198         * sysdeps/alpha/fpu/s_lrint.c: New file.
3199         * sysdeps/alpha/fpu/s_lrintf.c: New file.
3200         * sysdeps/alpha/fpu/s_nearbyint.c: New file.
3201         * sysdeps/alpha/fpu/s_nearbyintf.c: New file.
3202
3203         * sysdeps/alpha/fpu/bits/mathinline.h (__floorf, __floor): Remove.
3204         (__fdimf, fdimf, __fdim, fdim): Remove.
3205         (__signbitf, __signbit, __signbitl): Use gcc builtin if available.
3206         (__isnanf, __isnan, __isnanl): New.
3207
3208 2007-03-13  Richard Henderson  <rth@redhat.com>
3209
3210         * sysdeps/ieee754/ldbl-128/Makefile: New file.
3211
3212 2007-03-13  Richard Henderson  <rth@redhat.com>
3213
3214         * sysdeps/alpha/Makefile (sysdep-CFLAGS): Force dynamic rounding.
3215         * sysdeps/alpha/fpu/bits/mathinline.h (__signbitl): New.
3216         * sysdeps/alpha/fpu/libm-test-ulps: Regenerate.
3217         * sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies: New file.
3218         * sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies: New file.
3219         * sysdeps/unix/sysv/linux/alpha/fpu/Implies: New file.
3220
3221 2007-03-13  Richard Henderson  <rth@redhat.com>
3222
3223         * elf/dl-support.c (_dl_aux_init): Honor DL_PLATFORM_AUXV.
3224         * sysdeps/unix/sysv/linux/alpha/dl-auxv.h: New file.
3225         * sysdeps/unix/sysv/linux/alpha/dl-support.c: New file.
3226         * sysdeps/unix/sysv/linux/alpha/dl-sysdep.c (__libc_alpha_cache_shape):
3227         Move to dl-auxv.h; initialize instead of extern weak.
3228         (DL_PLATFORM_AUXV): Move to dl-auxv.h; don't test for undef
3229         weak symbol.
3230         * sysdeps/unix/sysv/linux/alpha/sysconf.c (__libc_alpha_cache_shape):
3231         Extern instead of initialized.
3232
3233 2007-03-13  Richard Henderson  <rth@redhat.com>
3234
3235         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add support for
3236         __sigsuspend_nocancel.
3237
3238 2007-03-06  Ulrich Drepper  <drepper@redhat.com>
3239
3240         * sysdeps/posix/getaddrinfo.c (get_scope): Correct test for
3241         172.16/12 address range.
3242
3243 2007-03-02  Jakub Jelinek  <jakub@redhat.com>
3244
3245         * sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_request): Retry with
3246         a new netlink socket if NLMSG_ERR -EBUSY is seen after some MSG_TRUNC
3247         message.
3248
3249 2007-03-01  Jakub Jelinek  <jakub@redhat.com>
3250
3251         [BZ #4069]
3252         * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Check for NaN
3253         earlier.
3254         * math/libm-test.inc (pow_test): Add more tests involving NaNs.
3255
3256         * sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Avoid invalid exception
3257         for x qNaN and y either +-inf or non-integer value.
3258         * sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Likewise.
3259         * sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise.
3260         * sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise.
3261
3262 2007-02-10  Mike Frysinger  <vapier@gentoo.org>
3263
3264         * sysdeps/unix/sysv/linux/sh/Makefile: Remove sys/io.h
3265         from sysdep_headers.
3266
3267 2007-02-28  Jakub Jelinek  <jakub@redhat.com>
3268
3269         * time/tzfile.c (find_transition): Instead of a linear search try to
3270         guess the transition index, use a linear search if the result is at
3271         most 10 transitions away from the guess or binary search otherwise.
3272
3273 2007-02-27  Jakub Jelinek  <jakub@redhat.com>
3274
3275         * sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_request): Fix
3276         memory reallocation.
3277
3278 2007-02-21  Ulrich Drepper  <drepper@redhat.com>
3279
3280         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Add branch predictions
3281         and fix some typos.
3282         Optimize use of TOLOWER.
3283
3284         [BZ #3325]
3285         * sysdeps/i386/fpu/e_fmodf.S: Revert last changes, keep using fprem.
3286         * sysdeps/i386/fpu/e_fmodl.c: Likewise.
3287         * sysdeps/i386/fpu/e_fmod.S: Likewise.
3288
3289         [BZ #3458]
3290         * sysdeps/unix/sysv/linux/posix_madvise.c: New file.
3291         * sysdeps/unix/sysv/linux/syscalls.list: Remove posix_madvise entry.
3292
3293         [BZ #4076]
3294         * io/ftw.c (ftw_startup): Handle special case of FTW_CHDIR in /.
3295         (open_dir_stream): Likewise.
3296         * io/Makefile (tests): Add bug-ftw5.
3297         * io/bug-ftw5.c: New file.
3298
3299         * nscd/hstcache.c (cache_addhst): Remove unnecessary conditional.
3300         * nscd/servicescache.c (cache_addserv): Likewise.
3301
3302         * nscd/grpcache.c (cache_addgr): In case a record changed on
3303         refresh, adjust key_copy.
3304
3305         [BZ #4074]
3306         * nscd/pwdcache.c (cache_addpw): In case a record changed on
3307         refresh, adjust key_copy.
3308
3309         [BZ #4070]
3310         * stdio-common/printf_fp.c (___printf_fp): Handle a few more
3311         special cases.
3312         * stdio-common/tfformat.c (sprint_doubles): Some more tests.
3313
3314 2007-02-19  Ulrich Drepper  <drepper@redhat.com>
3315
3316         * stdio-common/printf_fp.c (___printf_fp): Cleanups and minor
3317         optimization.
3318
3319         * stdio-common/vfscanf.c: Small cleanups throughout.
3320
3321 2007-02-18  Ulrich Drepper  <drepper@redhat.com>
3322
3323         [BZ #3325]
3324         * sysdeps/i386/fpu/e_fmodf.S: Use fprem1 instead of fprem.
3325         * sysdeps/i386/fpu/e_fmodl.c: Likewise.
3326         * sysdeps/i386/fpu/e_fmod.S: Likewise.
3327         Patch by Jared Casper <jaredcasper@gmail.com>.
3328
3329         * sysdeps/unix/closedir.c: Outside libc don't use locking.
3330         * sysdeps/unix/opendir.c: Likewise.
3331         * sysdeps/unix/readdir.c: Likewise.
3332
3333         [BZ #2211]
3334         * stdio-common/vfscanf.c: Handle localized digits etc for floating
3335         point numbers.
3336         Patch mostly by Hamed Malek <hamed@farsiweb.info>.
3337
3338         * stdio-common/vfscanf.c: Fix problems in width accounting.
3339         * stdio-common/tst-sscanf.c (double_tests): New tests.
3340         (main): Hook them up.
3341
3342         * stdio-common/vfscanf.c: Remove unused WIDTH handling.
3343         More simplifications of floating-point reader.
3344
3345         * stdio-common/Makefile (tests): Add tst-swscanf.
3346         * stdio-common/tst-sscanf.c: Make tests usable for swscanf
3347         testing.
3348         * stdio-common/tst-swscanf.c: New file.
3349
3350 2007-02-17  Ulrich Drepper  <drepper@redhat.com>
3351
3352         [BZ #2633]
3353         * libio/stdio.h: Define struct _IO_FILE in global namespace.
3354         * setjmp/setjmp.h: Define __jmp_buf_tag in global namespace.
3355         Remove using for __jmp_buf_tag.
3356         * locale/locale.h (struct lconv): Also define in std namespace.
3357         * wcsmbs/wchar.h: Move using declaration for tm out of namespace.
3358
3359         [BZ #3842]
3360         * sysdeps/posix/euidaccess.c [_LIBC] (euidaccess): Remove shortcut
3361         using __libc_enable_secure.
3362
3363         [BZ #3818]
3364         * sysdeps/unix/sysv/linux/sys/acct.h (struct acct_v3): Define.
3365
3366         [BZ #3745]
3367         * locale/programs/ld-collate.c (handle_ellipsis): Fix generation
3368         of names for ellipsises.
3369
3370         [BZ #3348]
3371         * malloc/memusage.sh: Cleanups.
3372         * debug/xtrace.sh: Quoting and trap changes.
3373
3374 2007-02-16  Ulrich Drepper  <drepper@redhat.com>
3375
3376         * locale/iso-3166.def: Add Jersey, Guernsey, and Isle Of Man entries.
3377
3378         * locale/iso-3166.def: Update entry for Serbia.
3379         * locale/iso-4217.def: Define RSD, remove CSD.
3380
3381         * sysdeps/x86_64/bits/atomic.h: One more change, this time for 16-
3382         and 64-bit operations.
3383
3384         [BZ #4040]
3385         * sysdeps/i386/i486/bits/atomic.h: One more change, this time for
3386         16-bit operations.
3387
3388         * nscd/nscd.c (parse_opt): One more conversion to use send instead
3389         of writev.
3390
3391 2007-02-15  Ulrich Drepper  <drepper@redhat.com>
3392
3393         [BZ #3991]
3394         * assert/assert.h (assert): Simplify.
3395         (assert_perror): Likewise.
3396         Patch by Israel G. Lugo <ilugo@bridonsecurity.com>.
3397
3398         * nscd/nscd_helper.c (open_socket): Don't send padding bytes from
3399         reqdata.
3400
3401         * sysdeps/unix/sysv/linux/x86_64/send.c (__libc_send): Cosmetic
3402         change: don't pass NULL in place of an integer.
3403
3404 2007-02-02  Bruno Haible  <bruno@clisp.org>
3405
3406         [BZ #3954]
3407         * iconvdata/ksc5601.c (__ksc5601_sym_to_ucs, __ksc5601_sym_from_ucs):
3408         Add mapping for U+327E.
3409         * iconvdata/ksc5601.h (KSC5601_SYMBOL): Increment.
3410         * iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable
3411         mapping of 0xD9 0xE8.
3412         * iconvdata/uhc.c (BODY for FROM_LOOP, BODY for TO_LOOP): Disable
3413         mapping of U+327E.
3414         Reported by Jungshik Shin <jungshik@google.com>.
3415
3416         [BZ #3955]
3417         * iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable
3418         mapping of 0xD9 0xE6 and of 0xD9 0xE7.
3419         Reported by Jungshik Shin <jungshik@google.com>.
3420
3421 2007-02-14  Ulrich Drepper  <drepper@redhat.com>
3422
3423         * sysdeps/x86_64/bits/atomic;h: Fix asm parameters for some
3424         byte variants.
3425
3426         [BZ #4040]
3427         * sysdeps/i386/i486/bits/atomic.h: Fix asm parameters for some
3428         byte variants.  Patch mostly be tom@tommay.net.
3429
3430 2007-02-14  Jakub Jelinek  <jakub@redhat.com>
3431
3432         [BZ #3996]
3433         * posix/glob.c (attribute_hidden): Define if not defined.
3434         (glob): Unescape dirname, filename or username when needed and not
3435         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
3436         is NULL.  Handle unescaped [ in pattern without closing ].
3437         Don't pass GLOB_CHECK down to recursive glob for directories.
3438         (__glob_pattern_type): New function.
3439         (__glob_pattern_p): Implement using __glob_pattern_type.
3440         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
3441         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
3442         Remove unreachable code.
3443         * posix/globtest.sh: Add a couple of new tests.
3444
3445 2007-02-13  Ulrich Drepper  <drepper@redhat.com>
3446
3447         * po/ru.po: Update from translation team.
3448
3449 2007-02-12  Jakub Jelinek  <jakub@redhat.com>
3450
3451         * sysdeps/i386/bits/byteswap.h (__bswap_32): Add __amdfam10__
3452         to the list of i486+ CPUs.
3453         * sysdeps/x86_64/bits/byteswap.h (__bswap_32): Likewise.
3454
3455 2007-02-12  Ulrich Drepper  <drepper@redhat.com>
3456
3457         * elf/rtld.c (RESOLVE_MAP): Always return bootstrap_map reference.
3458         * elf/Makefile ($(objpfx)ld.so): Check that ld.so has no undefined
3459         references.
3460
3461 2007-02-09  Ulrich Drepper  <drepper@redhat.com>
3462
3463         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Remove incorrect comment.
3464
3465         * resolv/res_init.c (res_setoptions): Recognize edns0 option.
3466         * resolv/res_mkquery.c: Define __res_nopt.
3467         * resolv/res_query.c (__libc_res_nquery): If RES_USE_EDNS0 is set
3468         try adding EDNS0 record.
3469         * resolv/res_send.c (send_dg): If request failed with FORMERR and
3470         EDNS0 record was send make sure we don't try it again.
3471         * resolv/resolv.h: Define RES_F_EDNS0ERR and RES_USE_EDNS0.
3472         * include/resolv.h: Declare __res_nopt.
3473
3474 2007-02-08  Jakub Jelinek  <jakub@redhat.com>
3475
3476         [BZ #3944]
3477         * time/strptime_l.c (__strptime_internal): Set have_mon for
3478         %b/%B/%h.  Set have_mon and have_mday if tm_mon and tm_mday
3479         have been computed from tm_yday and tm_year.  Don't crash
3480         in day_of_the_week or day_of_the_year if not have_mon
3481         and tm_mon contains bogus value.
3482         * time/Makefile (tests): Add tst-strptime3.
3483         * time/tst-strptime3.c: New test.
3484
3485 2007-02-05  Jakub Jelinek  <jakub@redhat.com>
3486
3487         [BZ #3957]
3488         * posix/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
3489         bit for RE_HAT_LISTS_NOT_NEWLINE.
3490         (build_charclass_op): Remove bogus comment.
3491         * posix/Makefile (tests): Add bug-regex27 and bug-regex28.
3492         * posix/bug-regex27.c: New test.
3493         * posix/bug-regex28.c: New test.
3494
3495 2007-02-03  Ulrich Drepper  <drepper@redhat.com>
3496
3497         * po/sv.po: Update from translation team.
3498
3499 2007-02-02  Ulrich Drepper  <drepper@redhat.com>
3500
3501         * nscd/nscd_helper.c (open_socket): Minor size optimization.
3502
3503 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
3504
3505         * include/locale.h (__uselocale): Add libc_hidden_proto.
3506         * locale/uselocale.c (__uselocale): Add libc_hidden_def.
3507
3508         * nscd/nscd_helper.c (open_socket): Use __gettimeofday instead of
3509         gettimeofday.
3510
3511 2007-02-01  Ulrich Drepper  <drepper@redhat.com>
3512
3513         * sysdeps/unix/sysv/linux/i386/sysdep.h (PTR_MANGLE): Roll value before
3514         returning.
3515         (PTR_DEMANGLE): Real definition now that it's not the same as
3516         PRT_MANGLE anymore.
3517         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
3518
3519         * string/strerror_l.c: New file.
3520         * string/Makefile (routines): Add strerror_l.
3521         * string/string.h: Declare strerror_l.
3522         * string/Versions: Export strerror_l for GLIBC_2.6.
3523
3524 2007-01-31  Ulrich Drepper  <drepper@redhat.com>
3525
3526         * nscd/nscd_helper.c (open_socket): Now takes request type and key
3527         as parameter.  Construct request record.  Try sending request
3528         before the first poll use, it usually succeeds.  Adjust all
3529         callers.
3530         * nscd/nscd-client.h: Define MAXKEYLEN.
3531         * nscd/connections.c (nscd_run): Don't define MAXKEYLEN here.
3532
3533 2007-01-31  Jakub Jelinek  <jakub@redhat.com>
3534
3535         * nscd/nscd-client.h (__nscd_cache_search): Remove const qualifier
3536         from return value.
3537         * nscd/nscd_helper.c: Include string.h.
3538         (__nscd_cache_search): Remove const qualifier from return value.
3539         On strict alignment architectures check hash entry and data head
3540         alignment.
3541         * nscd/nscd_getpw_r.c (nscd_getpw_r): Don't crash or fail because
3542         mmapped data during GC cycle contains garbage.  If
3543         __nscd_drop_map_ref fails, decrement mapped->counter when returning
3544         error or if retrying with NO_MAPPING, only __nscd_unmap if counter
3545         dropped to 0.
3546         * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
3547         * nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
3548         * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
3549         * nscd/nscd_getai.c (__nscd_getai): Likewise.
3550         * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
3551
3552 2007-01-30  Ulrich Drepper  <drepper@redhat.com>
3553
3554         * misc/hsearch_r.c (hdestroy_r): Remove unnecessary test.
3555
3556 2007-01-26  Ulrich Drepper  <drepper@redhat.com>
3557
3558         * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Use register
3559         names not numbers in cfi_*.
3560
3561 2007-01-26  Andreas Jaeger  <aj@suse.de>
3562
3563         * sysdeps/unix/sysv/linux/sys/personality.h (ADDR_NO_RANDOMIZE,
3564         ADDR_LIMIT_3GB, PER_LINUX_32BIT, PER_LINUX32_3GB): Add.
3565         Correct values of PER_HPUX and PER_OSF4.
3566
3567 2007-01-24  Ulrich Drepper  <drepper@redhat.com>
3568
3569         * elf/dl-minimal.c: Undefine _itoa first.
3570         * stdio-common/_itoa.h: Define _itoa and _fitoa for 64-bit platforms.
3571         * malloc/mtrace.c: Revert last change.
3572         * posix/wordexp.c: Likewise.
3573
3574 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
3575
3576         * sysdeps/i386/bits/byteswap.h (__bswap_32): Add __nocona__, __core2__
3577         and __geode__ to the list of i486+ CPUs.
3578         * sysdeps/x86_64/bits/byteswap.h (__bswap_32): Likewise.
3579
3580 2007-01-23  Ulrich Drepper  <drepper@redhat.com>
3581
3582         * stdio-common/_itoa.c: Include <limits.h>.
3583         * stdio-common/_itowa.c: Likewise.
3584
3585 2007-01-22  Ulrich Drepper  <drepper@redhat.com>
3586
3587         * stdio-common/_itowa.c: Don't compile _itowa for 64-bit
3588         platforms.
3589         * stdio-common/_itoa.c: Don't compile in _itoa and _fitoa for
3590         64-bit platforms.
3591         * malloc/mtrace.c (tr_where): Use _fitoa_word instead of _fitoa if
3592         possible.
3593         * posix/wordexp.c (parse_arith): Use _itoa_word instead of _itoa
3594         if possible.
3595
3596         [BZ #3902]
3597         * stdio-common/_itoa.c (_itoa): Make sure at least a zero is emitted.
3598         * stdio-common/Makefile (tests): Add bug17.
3599         * stdio-common/bug17.c: New file.
3600
3601 2007-01-19  Ulrich Drepper  <drepper@redhat.com>
3602
3603         * iconvdata/brf.c: New file.
3604         * iconvdata/testdata/BRF: New file.
3605         * iconvdata/testdata/BRF..UTF8: New file.
3606         Contributed by Samuel Thibault <samuel.thibault@ens-lyon.org>.
3607         * iconvdata/Makefile: Add rules to build BRF.
3608         * iconvdata/TESTS: Add BRF entry.
3609         * iconvdata/gconv-modules: Likewise.
3610         * iconvdata/tst-tables.sh: Likewise.
3611
3612 2007-01-18  Anton Nikishaev  <anton.nik@gmail.com>
3613
3614         * wcsmbs/wchar.h (wcstoll): Fix comment, function returns value of
3615         type `long long int', not `long int'.
3616         (wcstoq): Likewise.
3617
3618 2007-01-18  Ulrich Drepper  <drepper@redhat.com>
3619
3620         * scripts/gen-as-const.awk: Add cast to long to avoid int promotion
3621         of values on 64-bit platforms which are too large.
3622
3623 2007-01-12  Steven Munroe  <sjmunroe@us.ibm.com>
3624             Joe Kerian  <jkerian@us.us.ibm.com>
3625
3626         [BZ #2749]
3627         * sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Include
3628         <math_ldbl_opt.h>.  Remove weak_alias.  Use long_double_symbol macro.
3629         (__copysignl): Use signbit() for comparison.
3630         * sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Correct parms for
3631         SET_LDOUBLE_WORDS64.
3632
3633         [BZ #2423, #2749]
3634         * sysdeps/ieee754/ldbl-128ibm/s_ceill.c: Don't include <fenv_libc.h>.
3635         (__ceill): Remove calls to fegetround(), fesetround().
3636         * sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise.
3637         * sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise.
3638         * sysdeps/ieee754/ldbl-128ibm/s_truncl.c: Likewise.
3639
3640 2007-01-17  Jakub Jelinek  <jakub@redhat.com>
3641
3642         * nscd/nscd_getserv_r.c (nscd_getserv_r): Fix pastos.
3643
3644         * sysdeps/unix/sysv/linux/getdents.c (offsetof): Remove.
3645
3646 2007-01-17  Ulrich Drepper  <drepper@redhat.com>
3647
3648         * sysdeps/unix/sysv/linux/fatal-prepare.h: Use PTHFCT_CALL to
3649         demangle pointer.
3650         * csu/libc-start.c: Likewise.
3651
3652 2007-01-16  Ulrich Drepper  <drepper@redhat.com>
3653
3654         * sysdeps/posix/system.c: Remove NO_WAITPID support, it cannot
3655         really work anyway.
3656
3657 2007-01-15  Ulrich Drepper  <drepper@redhat.com>
3658
3659         * nscd/connections.c (servinfo): Renamed to reqinfo.  Change all
3660         users.
3661         (handle_request): Remove unnecessary tests.
3662
3663         * nscd/cache.c (cache_add): Record the failure to add to the cache.
3664
3665 2007-01-15  Jakub Jelinek  <jakub@redhat.com>
3666
3667         * soft-fp/op-common.h (FP_TRUNC): When truncating a NaN, clear
3668         workbits in semi-raw fraction.
3669
3670         * math/test-misc.c: Add new tests.
3671
3672 2007-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
3673
3674         * math/basic-test.c: Include test-skeleton.c.
3675         (TEST_TRUNC): Define.
3676         (truncdfsf_test, trunctfsf_test, trunctfdf_test): New.
3677         (main): Rename to ...
3678         (do_test): ...this.  Run new tests.
3679         (TEST_FUNCTION): Define.
3680
3681 2006-10-05  Steven Munroe  <sjmunroe@us.ibm.com>
3682             Joe Kerian  <jkerian@us.us.ibm.com>
3683
3684         [BZ #2749]
3685         * soft-fp/op-4.h (__FP_FRAC_SUB_3, __FP_FRAC_SUB_4): Correct borrow
3686         handling for high words.
3687         * soft-fp/op-common.h (_FP_OVERFLOW_SEMIRAW): Always set inexact
3688         and overflow for infinity.
3689
3690 2007-01-15  Ulrich Drepper  <drepper@redhat.com>
3691
3692         * nscd/connections.c (handle_request): Add a __builtin_expect.
3693
3694         * nscd/connections.c (serv2db): Change type into structure which
3695         also says whether this is a request for data.  Renamed to
3696         servinfo.  All users changed.
3697         (handle_request): Much simpler test whether we should search the cache.
3698
3699         * nscd/connections.c (handle_request): Fix thinko in selinux test
3700         invocation.
3701
3702         * sysdeps/generic/ldsodefs.h: Define DL_LOOKUP_SCOPE_LOCK.
3703         * elf/dl-lookup.c (add_dependency): If scope map is locked, unlock
3704         it before getting dl_load_lock and then relock.
3705         (_dl_lookup_symbol_x): Pass flags to add_dependency.
3706         When rerunning _dl_lookup_symbol_x, compute symbol_scope again in
3707         case we unlocked the scope.
3708         * elf/dl-runtime.c (_dl_fixup): Pass DL_LOOKUP_SCOPE_LOCK to
3709         _dl_lookup_symbol_x in case we locked the scope.
3710         (_dl_profile_fixup): Likewise.
3711         * elf/dl-sym.c (do_sym): In flags passed to call_dl_lookup, also
3712         set DL_LOOKUP_SCOPE_LOCK.
3713
3714 2007-01-13  Ulrich Drepper  <drepper@redhat.com>
3715
3716         * inet/Makefile: Define CFLAGS-getsrvbynm_r.c and
3717         CFLAGS-getsrvbynpt_r.c.
3718         * nscd/getsrvbynm_r.c: New file.
3719         * nscd/getsrvbypt_r.c: New file.
3720         * nscd/nscd_getserv_r.c: New file.
3721         * nscd/servicescache.c: New file.
3722         * nscd/Makefile (routines): Add nscd_getserv_r.
3723         (nscd-modules): Add getsrvbynm_r, getsrvbypt_r, and servicescache.
3724         Define CFLAGS-servicescache.c, CFLAGS-getsrvbynm_r.c, and
3725         CFLAGS-getsrvbypt_r.c.
3726         * nscd/cache.c (prune_cache): Rewrite to get re-add function from
3727         table.  Add entries for services database.
3728         * nscd/connections.c (serv2str): Mark as const.  Add entries for
3729         services database.
3730         (dbs): Add .reset_res and servdb initialization.
3731         (serv2db): Add entries for services database.
3732         (verify_persistent_db): Accept dbnr == servdb.
3733         (invalidate_cache): Rewrite database name recognition to use a table.
3734         Call res_init() if .reset_res is set for database.
3735         (handle_request): Add code to handle services database.
3736         * nscd/gai.c: Don't define __getservbyname_r.
3737         * nscd/nscd-client.h (request_type): Remove LASTDBREQ, add
3738         GETSERVBYNAME, GETSERVBYPORT, GETFDSERV.
3739         (serv_response_header): Define.
3740         (struct datahead): Add serv_response_header member.
3741         * nscd/nscd.c (parse_opt): Rewrite parsing of -i parameter value
3742         using table.
3743         * nscd/nscd.conf: Add entries for services database.
3744         * nscd/nscd.h: Adjust declaration of dbnames and serv2str.
3745         Declare serv_iov_disabled.
3746         Declare addservbyname, readdservbyname, addservbyport, and
3747         readdservbyport.
3748         * nscd/nscd_conf.c (dbnames): Mark as const.  Add services entry.
3749         (find_db): Fix error message.
3750         * nscd/nscd_proto.h: Declare __nss_not_use_nscd_services,
3751         __nscd_getservbyname_r, and __nscd_getservbyport_r.
3752         * nscd/selinux.c (perms): Add entries for services database.
3753         * nss/Versions: Export __nss_services_lookup with GLIBC_PRIVATE.
3754         * nss/nsswitch.c (__nss_disable_nscd): Also disable services database.
3755
3756         * nscd/grpcache.c: Remove obsolete code.  Cleanups.
3757         * nscd/hstcache.c: Likewise.
3758         * nscd/pwdcache.c: Likewise.
3759
3760         * nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): Correct
3761         computation of keylen.
3762
3763         * include/string.h: Only redefine strndupa if this is really for
3764         libc code.
3765
3766 2007-01-12  Ulrich Drepper  <drepper@redhat.com>
3767
3768         * nscd/nscd_gethst_r.c: Minor cleanups.
3769
3770         * nscd/connections.c (handle_request): Check selinux permissions
3771         for all non-admin commands.
3772
3773         * sysdeps/i386/i486/bits/atomic.h: Define
3774         atomic_compare_and_exchange_val_acq,
3775         atomic_compare_and_exchange_bool_acq, and atomic_exchange_and_add
3776         using __sync_* built-ins for gcc >= 4.1.
3777         * sysdeps/x86_64/bits/atomic.h: Likewise.
3778
3779         [BZ #3840]
3780         * scripts/check-local-headers.sh: Restrict to testing .o.d, .os.d,
3781         and .oS.d files.
3782
3783 2007-01-05  Steven Munroe  <sjmunroe@us.ibm.com>
3784
3785         * stdlib/tst-makecontext.c: Include errno.h.  Change main()
3786         to do_test().  Define TEST_FUNCTION. Include test-skeleton.c.
3787         (do_test): Check errno and exit(0) if ENOSYS.
3788
3789 2007-01-11  Jakub Jelinek  <jakub@redhat.com>
3790
3791         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix handling of multi-byte
3792         thousands separators.
3793         * stdlib/Makefile: Add rules to build and run tst-strtod4.
3794         * stdlib/tst-strtod4.c: New test.
3795
3796         [BZ #3855]
3797         * stdlib/strtod_l.c (____STRTOF_INTERNAL): 0x. not followed by
3798         hexadecimal digit should accept just the initial 0.
3799         * stdlib/tst-strtod2.c (tests): New variable.
3800         (do_test): Run several tests rather than just one.
3801
3802 2007-01-11  Jakub Jelinek  <jakub@redhat.com>
3803
3804         * sysdeps/i386/soft-fp/sfp-machine.h: Remove.
3805         * sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.
3806
3807 2007-01-10  Ulrich Drepper  <drepper@redhat.com>
3808
3809         * io/fts.c: Make sure fts_cur is always valid after return from
3810         fts_read.
3811         Patch by Miloslav Trmac <mitr@redhat.com>.
3812
3813 2006-10-27  Richard Sandiford  <richard@codesourcery.com>
3814
3815         * elf/elf.h (R_MIPS_GLOB_DAT): Define.
3816         (R_MIPS_NUM): Bump by 1.
3817
3818 2007-01-03  Jakub Jelinek  <jakub@redhat.com>
3819
3820         * posix/execvp.c: Include alloca.h.
3821         (allocate_scripts_argv): Renamed to...
3822         (scripts_argv): ... this.  Don't allocate buffer here nor count
3823         arguments.
3824         (execvp): Use alloca if possible.
3825         * posix/Makefile: Add rules to build and run tst-vfork3 test.
3826         * posix/tst-vfork3.c: New test.
3827
3828 2007-01-03  Ulrich Drepper  <drepper@redhat.com>
3829
3830         * string/Makefile (tst-strxfrm2-ENV): Define.
3831         * stdlib/Makefile (tst-strtod3-ENV): Define.
3832
3833 2007-01-02  Ulrich Drepper  <drepper@redhat.com>
3834
3835         * posix/getconf.c: Update copyright year.
3836         * nss/getent.c: Likewise.
3837         * iconv/iconvconfig.c: Likewise.
3838         * iconv/iconv_prog.c: Likewise.
3839         * elf/ldconfig.c: Likewise.
3840         * catgets/gencat.c: Likewise.
3841         * csu/version.c: Likewise.
3842         * elf/ldd.bash.in: Likewise.
3843         * elf/sprof.c (print_version): Likewise.
3844         * locale/programs/locale.c: Likewise.
3845         * locale/programs/localedef.c: Likewise.
3846         * nscd/nscd.c (print_version): Likewise.
3847         * debug/xtrace.sh: Likewise.
3848         * malloc/memusage.sh: Likewise.
3849         * malloc/mtrace.pl: Likewise.
3850         * debug/catchsegv.sh: Likewise.
3851
3852 2006-12-24  Ulrich Drepper  <drepper@redhat.com>
3853
3854         * malloc/malloc.c (sYSMALLOc): Remove some unnecessary alignment
3855         attempts.
3856
3857 2006-12-23  Ulrich Drepper  <drepper@redhat.com>
3858
3859         * posix/wordexp.c: Remove some unnecessary tests.
3860
3861 2006-12-22  Gavin Romig-Koch  <gavin@redhat.com>
3862
3863         * nis/nss_compat/compat-grp.c (internal_getgrgid_r): Don't
3864         blacklist the group till after we look it up.
3865
3866 2006-12-21  Ulrich Drepper  <drepper@redhat.com>
3867
3868         * include/atomic.h (atomic_forced_read): New macro.
3869
3870 2006-12-20  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
3871
3872         * sysdeps/unix/sysv/linux/sh/bits/shm.h: New file.
3873
3874 2006-12-19  Jakub Jelinek  <jakub@redhat.com>
3875
3876         * nss/getXXbyYY_r.c: Include atomic.h.
3877         (INTERNAL (REENTRANT_NAME)): Write startp after start_fct,
3878         add atomic_write_barrier () in between.
3879
3880         * stdlib/Makefile (tests): Add tst-makecontext.
3881         * stdlib/tst-makecontext.c: New test.
3882
3883         * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
3884         (__makecontext): Don't realign uc_mcontext.uc_regs.
3885
3886 2006-11-28  Jakub Jelinek  <jakub@redhat.com>
3887
3888         * elf/dl-support.c: Include dl-procinfo.h.
3889         * sysdeps/powerpc/dl-procinfo.h (PPC_PLATFORM_POWER4,
3890         PPC_PLATFORM_PPC970, PPC_PLATFORM_POWER5, PPC_PLATFORM_POWER5_PLUS,
3891         PPC_PLATFORM_POWER6, PPC_PLATFORM_CELL_BE, PPC_PLATFORM_POWER6X):
3892         Define.
3893         (_dl_string_platform): Use PPC_PLATFORM_* macros instead of
3894         hardcoded constants.
3895         * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platform): Use
3896         PPC_PLATFORM_* macros for array designators.
3897
3898 2006-11-11  Steven Munroe  <sjmunroe@us.ibm.com>
3899
3900         * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 3 new cap
3901         names to the beginning.
3902         (_dl_powerpc_platforms): Add "power6x".
3903         * sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
3904         (HWCAP_IMPORTANT): Add PPC_FEATURE_HAS_DFP.
3905         (_DL_PLATFORMS_COUNT): Increase.
3906         (_dl_string_platform): Handle power6x case.
3907         * sysdeps/powerpc/sysdep.h (PPC_FEATURE_PA6T, PPC_FEATURE_HAS_DFP,
3908         PPC_FEATURE_POWER6_EXT): Define.
3909         (PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS): Correct Comment.
3910
3911 2006-12-18  Jakub Jelinek  <jakub@redhat.com>
3912
3913         [BZ #3747]
3914         * stdlib/jrand48_r.c (__jrand48_r): Make sure result is in the
3915         [-2^31 .. 2^31) range.
3916         * stdlib/tst-rand48.c (main): Fix expected values for 64-bit
3917         targets.
3918         * stdlib/tst-rand48-2.c: New test.
3919         * stdlib/Makefile (tests): Add tst-rand48-2.
3920
3921 2006-12-14  Jakub Jelinek  <jakub@redhat.com>
3922
3923         * misc/tst-pselect.c (do_test): Fix sigblock argument.
3924
3925 2006-12-14  Ulrich Drepper  <drepper@redhat.com>
3926
3927         * misc/tst-pselect.c (do_test): Make sure the helper process is
3928         terminating when the test is aborted.
3929
3930 2006-12-13  Ulrich Drepper  <drepper@redhat.com>
3931
3932         * sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_RELATIME.
3933         * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
3934         Handle relatime mount option.
3935
3936         [BZ #2337]
3937         * libio/Makefile (tests): Add tst-setvbuf1.
3938         * libio/tst-setvbuf1.c: New file.
3939
3940 2006-12-08  Jakub Jelinek  <jakub@redhat.com>
3941
3942         [BZ #2337]
3943         * libio/genops.c (__uflow): Fix a typo.
3944         * libio/wfiledoalloc.c (_IO_wfile_doallocate): Don't stat
3945         nor set _IO_LINE_BUF bit here.  Size the wide buffer based on
3946         the narrow buffer size.
3947
3948 2006-11-24  Jakub Jelinek  <jakub@redhat.com>
3949
3950         [BZ #2337]
3951         * libio/libio.h (_IO_FLAGS2_USER_WBUF): Define.
3952         * libio/wgenops.c (_IO_wsetb, _IO_wdefault_finish): Test and set
3953         _IO_FLAGS2_USER_WBUF bit in _flags2 instead of _IO_USER_BUF bit
3954         in _flags.
3955         * libio/wstrops.c (_IO_wstr_overflow, enlarge_userbuf,
3956         _IO_wstr_finish): Likewise.
3957         * libio/wmemstream.c (open_wmemstream): Likewise.
3958         * libio/fileops.c (_IO_new_file_close_it): Call _IO_set[bgp]
3959         even for wide streams.
3960
3961 2006-12-13  Jakub Jelinek  <jakub@redhat.com>
3962
3963         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Include
3964         kernel-features.h.
3965
3966 2006-12-11  Ulrich Drepper  <drepper@redhat.com>
3967
3968         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand
3969         separators also if no non-zero digits found.
3970         * stdlib/Makefile (tests): Add tst-strtod3.
3971
3972 2006-12-09  Ulrich Drepper  <drepper@redhat.com>
3973
3974         [BZ #3632]
3975         * include/features.h: Fix comment about default value for
3976         _POSIX_C_SOURCE.
3977
3978         [BZ #3664]
3979         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix test to recognize
3980         empty parsed strings.
3981         * stdlib/Makefile (tests): Add tst-strtod2.
3982         * stdlib/tst-strtod2.c: New file.
3983
3984         [BZ #3673]
3985         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix exp_limit
3986         computation.
3987         * stdlib/Makefile (tests): Add tst-atof2.
3988         * stdlib/tst-atof2.c: New file.
3989
3990         [BZ #3674]
3991         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Adjust exponent value
3992         correctly if removing trailing zero of hex-float.
3993         * stdlib/Makefile (tests): Add tst-atof1.
3994         * stdlib/tst-atof1.c: New file.
3995
3996 2006-12-09  Jakub Jelinek  <jakub@redhat.com>
3997
3998         * misc/mntent_r.c (__hasmntopt): Check p[optlen] even when p == rest.
3999         Start searching for next comma at p rather than rest.
4000         * misc/Makefile (tests): Add tst-mntent2.
4001         * misc/tst-mntent2.c: New test.
4002
4003         * misc/getusershell.c (initshells): Check for integer overflows.
4004         Make strings buffer one bigger as fgets always succeeds when second
4005         argument is 1.  Don't use calloc for shells array.  Disallow
4006         / as shell.
4007
4008 2006-12-08  Ulrich Drepper  <drepper@redhat.com>
4009
4010         * malloc/memusage.c: Handle realloc with new size of zero and
4011         non-NULL pointer correctly.
4012         (me): Really write first record twice.
4013         (struct entry): Make format bi-arch safe.
4014         (dest): Write out more realloc statistics.
4015         * malloc/memusagestat.c (struct entry): Make format bi-arch safe.
4016
4017 2006-12-05  Jakub Jelinek  <jakub@redhat.com>
4018
4019         * nis/nis_subr.c (nis_getnames): Revert last change.
4020
4021 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
4022
4023         * sysdeps/unix/sysv/linux/ttyname.c: Include termios.h.
4024         (ttyname): Use tcgetattr instead of isatty, don't set errno to ENOTTY.
4025         * sysdeps/unix/sysv/linux/ttyname_r.c: Include termios.h.
4026         (__ttyname_r): Use tcgetattr instead of isatty, don't set errno to
4027         ENOTTY.
4028         * io/Makefile: Add rules to build and run tst-ttyname_r test.
4029         * io/tst-ttyname_r.c: New test.
4030
4031 2006-12-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
4032
4033         * sysdeps/unix/sysv/linux/sh/sys/io.h: Removed.
4034
4035 2006-11-30  H.J. Lu  <hongjiu.lu@intel.com>
4036
4037         * sysdeps/i386/i686/memcmp.S: Use jump table as the base of
4038         jump table entries.
4039
4040 2006-11-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
4041
4042         * sysdeps/unix/sysv/linux/i386/clone.S: Provide CFI for the outermost
4043         `clone' function to ensure proper unwinding stop of gdb.
4044         * sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
4045
4046 2006-12-01  Ulrich Drepper  <drepper@redhat.com>
4047
4048         * nscd/nscd.init: Remove obsolete and commented-out -S option
4049         handling.
4050
4051 2006-11-23  Jakub Jelinek  <jakub@redhat.com>
4052
4053         [BZ #3514]
4054         * manual/string.texi (strncmp): Fix pastos from wcscmp description.
4055
4056         [BZ #3515]
4057         * manual/string.texi (strtok): Remove duplicate paragraph.
4058
4059 2006-12-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
4060
4061         * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix compatibility with
4062         libgcc not supporting `rflags' unwinding (register # >= 17).
4063
4064 2006-11-30  Jakub Jelinek  <jakub@redhat.com>
4065
4066         * sunrpc/svc_run.c (svc_run): Set my_pollfd to new_pollfd if realloc
4067         succeeded.
4068
4069 2006-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
4070             Jakub Jelinek  <jakub@redhat.com>
4071             Jan Kratochvil  <jan.kratochvil@redhat.com>
4072
4073         * sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add correct
4074         unwind information.
4075         * sysdeps/unix/sysv/linux/x86_64/Makefile: Provide symbols for
4076         'restore_rt' even in the 'signal' directory.
4077         * sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: Extend the regs list.
4078
4079 2006-11-27  Jakub Jelinek  <jakub@redhat.com>
4080
4081         [BZ #3559]
4082         * sunrpc/svc_run.c (svc_run): Fail instead of segfaulting if
4083         malloc crashed.  Don't allocate memory unnecessarily in each
4084         loop.
4085
4086 2006-10-21  Jakub Jelinek  <jakub@redhat.com>
4087
4088         * resolv/mapv4v6addr.h (map_v4v6_address): Fix last change.
4089
4090 2006-11-20  Ulrich Drepper  <drepper@redhat.com>
4091
4092         * resolv/mapv4v6addr.h (map_v4v6_address): Optimize a bit.
4093
4094 2006-11-18  Bruno Haible  <bruno@clisp.org>
4095
4096         * sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Invoke
4097         __sysconf only after having tried to call getgroups32.
4098
4099 2006-11-19  Ulrich Drepper  <drepper@redhat.com>
4100
4101         * nss/nss_files/files-hosts.c (LINE_PARSER): Support IPv6-style
4102         addresses for IPv4 queries if they can be mapped.
4103
4104 2006-11-16  Jakub Jelinek  <jakub@redhat.com>
4105
4106         * sysdeps/x86_64/fpu/s_copysignf.S (__copysignf): Switch to .text.
4107         * sysdeps/x86_64/fpu/s_copysign.S (__copysign): Likewise.
4108         (signmask): Add .size directive.
4109         (othermask): Add .type directive.
4110
4111 2006-11-14  Ulrich Drepper  <drepper@redhat.com>
4112
4113         * po/nl.po: Update from translation team.
4114
4115         * timezone/zdump.c: Redo fix for BZ #3137.